123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- const util = require('../utils/util');
- const storeKeys = require('../utils/storageKeys');
- const app = getApp()
- let timer = null;
- let goLoginState = false; //是否已经触发跳转登录页面
- const http = {
- errorModel: (content, showCancel, confirmText, callback)=> {
- wx.showModal({
- title: '提示',
- content: content,
- showCancel: showCancel,
- confirmText: confirmText,
- confirmColor: '#E73E2D',
- success(res) {
- if (res.confirm) {
- callback();
- }
- }
- })
- },
- request: (model)=> {
- // if (model.data != null && url.indexOf("{") > 0 && url.indexOf("}") > 0) {
- // for (var key in model.data) {
- // if (url.indexOf("{" + key + "}") >= 0) {
- // url = url.replace("{" + key + "}", model.data[key]);
- // }
- // }
- // }
- // clearInterval(timer);
- // timer = null;
- // timer = setInterval(()=>{
- // wx.showLoading({
- // title: "加载中"
- // });
- // },3000);
- wx.request({
- url: model.url,
- data: model.data,
- header: {
- "Content-Type": "application/json",
- "Access-Token": model.token
- },
- method: model.method,
- success: (res)=> {
- // clearInterval(timer);
- // timer = null;
- let statusCode = res.data.status;
- // let pages = getCurrentPages(), currPage = null;
- // if (pages.length) {
- // currPage = pages[pages.length - 1];
- // }
- // let route = currPage.route;
- // 成功的请求状态
- if (statusCode == 200 || statusCode == 201) {
- model.success(res);
- } else {
- wx.hideLoading();
- // 未登录或者失效
- if (statusCode == 401 || statusCode == 444) {
- util.removeStorageSync(storeKeys.TOKEN);
- util.removeStorageSync(storeKeys.CARETOTAl);
- wx.removeTabBarBadge({
- index: 2,
- })
- if(!model.noLogin && !goLoginState){
- goLoginState = true;
- wx.navigateTo({
- url: "/pages/tabBar/login/login"
- })
- }
- } else {
- if (statusCode == 404) {
- wx.showToast({
- title: '资源404',
- icon: 'none',
- duration: 2000
- })
- }
- // if (statusCode == 500) {
- // if (!model.noToast) {
- // wx.showToast({
- // title: res.data.message,
- // icon: 'none',
- // duration: 1000
- // })
- // }
- // }
- else {
- if (res.data && res.data.message) {
- if (!model.noToast) {
- wx.showToast({
- title: res.data.message,
- icon: 'none',
- duration: 1500
- })
- }
- }
- }
- }
- model.error(res); //异常后可操作
- }
- },
- fail:()=>{
- wx.hideLoading();
- // util.toast("网络不佳,请求超时",3000)
- }
- })
- },
- getRequest: (model)=> {
- wx.request({
- url: model.url,
- data: model.data,
- header: {
- "Content-Type": "application/json",
- "Access-Token": model.token
- },
- method: model.method,
- success: function (res) {
- let statusCode = res.statusCode;
- let pages = getCurrentPages(),currPage = null;
- if (pages.length) {
- currPage = pages[pages.length - 1];
- }
- // 成功的请求状态
- if (statusCode == 200 || statusCode == 201) {
- model.success(res);
- } else {
- wx.hideLoading();
- // 未登录或者失效
- if (statusCode == 401 || statusCode == 444) {
- util.removeStorageSync(storeKeys.TOKEN);
- utils.removeStorageSync(storeKeys.CARETOTAl);
- } else {
- if (statusCode == 404) {
- wx.showToast({
- title: '资源404',
- icon: 'none',
- duration: 2000
- })
- }else if (statusCode == 500) {
- wx.showToast({
- title: '服务器开小差',
- icon: 'none',
- duration: 1000
- })
- } else {
- if (res.data.error && res.data.error.message) {
- if(!model.noToast){
- wx.showToast({
- title: res.data.error.message, icon: 'none', duration: 1000
- })
- }
- }
- }
- }
- model.error(res); //异常后可操作
- }
-
- }
- })
- },
- };
- module.exports = {
- request: http.request,
- getRequest: http.getRequest
- }
|