| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import util from './util.js';
- import authLogin from './autoLogin.js';
- import {
- HEADER,
- TOKENNAME
- } from './../config.js';
- /**
- * 发送请求
- */
- export default function request(api, method, data, {
- noAuth = false, // 是否不需要认证
- noVerify = false // 是否不需要验证返回状态码
- }) {
- let Url = getApp().globalData.url,
- header = HEADER;
- if (!noAuth) {
- //登录过期自动登录
- if (!util.isLoginValid()) {
- return authLogin().then(res => {
- return request(api, method, data, {
- noAuth,
- noVerify
- });
- });
- }
- }
- if (getApp().globalData.token) {
- header[TOKENNAME] = 'Bearer ' + getApp().globalData.token;
- }
- return new Promise((reslove, reject) => {
- wx.request({
- url: Url + '/api/' + api,
- method: method || 'GET',
- header: header,
- data: data || {},
- success: (res) => {
- if (noVerify) {
- reslove(res.data, res);
- } else if (res.data.status == 200) {
- reslove(res.data, res);
- } else if (res.data.status == 402) {
- reslove(res.data, res);
- } else if ([410000, 410001, 410002].indexOf(res.data.status) !== -1) {
- util.logout()
- return authLogin().then(res => {
- return request(api, method, data, {
- noAuth,
- noVerify
- });
- });
- } else {
- reject(res.data.msg || '系统错误');
- }
- },
- fail: (msg) => {
- reject('请求失败');
- }
- })
- });
- }
- ['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
- request[method] = (api, data, opt) => request(api, method, data, opt || {})
- });
|