| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /* 请求的错误不应该被调用方被catch
- 把错误的请求当成请求正常返回的结果
- 由调用方根据状态码来判断是否成功 */
- var base64 = require('/base64');
- const app = getApp();
- const config = require('../config/config.js');
- /* 服务端IP+端口 */
- export const API_URI = config.server_add+':'+config.server_port
- /* 调用的请求方法 */
- function request(url, requestType, params) {
- return new Promise((resolve, reject) => {
- wxRequest(url, requestType, params).then(res => {
- console.log('[请求地址]:', url,
- '\n[请求参数]:', params,
- '\n[响应状态]:', res.data.code,
- '\n[响应数据]:', res.data.data,
- '\n[响应信息]:', res.data.message,
- '\n[异常信息]:', res.data.exception )
- switch (res.data.code) {
- case 200:
- break;
- case 99999://99999 数据重复 到各自的前台页面去处理 2022年11月14日
- break;
- case -2:case -4:case 233:
- wx.showModal({ title: '提示', content: res.data.message, showCancel: false,
- success: function (res) {
- wx.navigateTo({
- url: '/pages/login/login',
- })
- }
- });
- break;
- default:
- if (res.data.exception){
- wx.showModal({
- title: '提示', content: res.data.message, cancelText: '日志',
- success(res_model) {
- if (res_model.cancel) {
- wx.showModal({ title: '异常信息', content: res.data.exception, showCancel: false });
- }
- }
- });
- }else{
- wx.showModal({ title: '提示', content: res.data.message, showCancel: false });
- }
- break;
- }
- resolve(res)
- }).catch(err => {
- resolve({ code: -200, message: "请求失败", data: err });
- })
- })
- }
- /* 封装wx.request */
- function wxRequest(url, requestType, params) {
- return new Promise((resolve, reject) => {
- let app = getApp(), header = {
- 'content-type': 'application/json'
- }
- var openId =app.globalData.open_id
- if (app.globalData.user) {
- app.globalData.user.openId = openId
- // 请求的Authorization
- header['Authorization'] = "Bearer " + app.globalData.token
- }
- wx.request({
- url: `${API_URI}/${url}`,
- header: header,
- data: params ? params : null,
- method: requestType ? requestType : 'POST',
- success: function (res) {
- resolve(res);
- },
- fail: function (err) {
- reject(err);
- }
- })
- })
- }
- /* 暴露方法给外部 */
- module.exports = {
- request
- }
|