项目中有一个Activiy需要轮询多个接口,实时刷新数据。这里很多业务逻辑都需要依赖当前的状态,所以简单写了一个服务端,用于生成一些mock data,并且支持数据实时刷新。
项目地址:simple-mock-api
挂到腾讯云上就可以公网访问了。
Use json-server make this simple mock api server.
npm install
in terminal to install dependencesnode app.js
You can config
cgi,
default json file,
custom handle the request, modify json response
Create a get_match_detail.json
file in data
folder.
{
"state": 1,
"title":"NBA",
"time":"2017-01-01",
"homescore": "101",
"guestscore": "115"
}
In config.js
config you mock api
var config = [
{
"cgi":"/get_match_detail",
"filepath":"data/get_match_detail.json",
"need_cache":true,
"hookfunc":func_get_match_detail
},
{
"cgi":"/get_match_players",
"filepath":"data/get_match_players.json",
"need_cache":false,
"hookfunc":func_get_match_players
},
];
You can custom handle the request by define your custom “hookfunc”, like this:
var func_get_match_detail = function(defaultObj,req) {
//increase homescore every time
var homescore = parseInt(defaultObj.homescore)+1+"";
defaultObj.homescore = homescore;
}
The param defaultObj
means the parsed json object you defined in the key “filepath”.
If the key “need_cache” seted true, than your hookfunc can change the defaultObj in the cache forever.
$ node app.js
Now if you go to http://localhost:3000/get_match_detail, you’ll get
{
"state": 1,
"title":"NBA",
"time":"2017-01-01",
"homescore": "102",
"guestscore": "115"
}
and the homescore’s value changed every time when you go to the same link.