Files
weRequest/example/request.js

85 lines
3.4 KiB
JavaScript
Raw Normal View History

2017-07-31 17:03:04 +08:00
var weRequest = require('../src/weRequest');
weRequest.init({
2017-11-23 19:45:53 +08:00
// 存在localStorage的session名称且CGI请求的data中会自动带上以此为名称的session值可不配置默认为session
2017-07-31 17:03:04 +08:00
sessionName: "session",
2017-11-23 19:45:53 +08:00
// 请求URL的固定前缀可不配置默认为空
2017-07-31 17:23:46 +08:00
urlPerfix: "https://www.example.com/",
2017-07-31 17:03:04 +08:00
// 触发重新登录的条件res为CGI返回的数据
loginTrigger: function (res) {
2017-07-31 17:23:46 +08:00
// 此处例子当返回数据中的字段errcode等于-1会自动触发重新登录
return res.errcode == -1;
2017-07-31 17:03:04 +08:00
},
// 用code换取session的CGI配置
codeToSession: {
// CGI的URL
url: 'user/login',
2017-11-23 19:45:53 +08:00
// 调用改CGI的方法可不配置默认为GET
2017-07-31 17:03:04 +08:00
method: 'GET',
2017-11-23 19:45:53 +08:00
// CGI中传参时存放code的名称此处例子名称就是code可不配置默认值为code
2017-07-31 17:03:04 +08:00
codeName: 'code',
2017-11-23 19:45:53 +08:00
// 登录接口需要的其他参数;可不配置,默认为{}
2017-07-31 17:03:04 +08:00
data: {},
// CGI中返回的session值
success: function (res) {
// 此处例子CGI返回数据中的字段session即为session值
return res.session;
}
},
// 登录重试次数,当连续请求登录接口返回失败次数超过这个次数,将不再重试登录
reLoginLimit: 2,
// 触发请求成功的条件
successTrigger: function (res) {
// 此处例子当返回数据中的字段errcode等于0时代表请求成功其他情况都认为业务逻辑失败
return res.errcode == 0;
},
2017-11-23 19:45:53 +08:00
// 成功之后返回数据;可不配置
2017-07-31 17:03:04 +08:00
successData: function (res) {
// 此处例子返回数据中的字段data为业务接受到的数据
return res.data;
},
// 当CGI返回错误时弹框提示的标题文字
errorTitle: function(res) {
// 此处例子当返回数据中的字段errcode等于0x10040730时错误弹框的标题是“温馨提示”其他情况下则是“操作失败”
return res.errcode == 0x10040730 ? '温馨提示' : '操作失败'
},
// 当CGI返回错误时弹框提示的内容文字
errorContent: function(res) {
// 此处例子返回数据中的字段msg为错误弹框的提示内容文字
return res.msg
},
// 当出现CGI错误时统一的回调函数这里可以做统一的错误上报等处理
2017-11-23 19:45:53 +08:00
errorCallback: function(obj, res) {
// do some report
},
// 是否需要调用checkSession验证小程序的登录态过期可不配置默认为false
doNotCheckSession: true,
// 上报耗时的函数name为上报名称startTime为接口调用开始时的时间戳endTime为接口返回时的时间戳
reportCGI: function(name, startTime, endTime, request) {
//wx.reportAnalytics(name, {
// time: endTime - startTime
//});
//request({
// url: 'reportCGI',
// data: {
// name: name,
// cost: endTime - startTime
// },
// fail: function() {
//
// }
//})
console.log(name + ":" + (endTime - startTime));
},
// 提供接口的mock若不需使用请设置为false
mockJson: require("../../mock.json"),
// 所有请求都会自动带上globalData里的参数
globalData: function() {
return {
version: getApp().version
}
}
2017-07-31 17:03:04 +08:00
})
module.exports = weRequest;