123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- /* eslint-disable */
- import Request from './request';
- import {
- refreshToken
- } from '@/api/login';
- import indexConfig from '@/config/global.config.js';
- import mUtil from '@/common/util.js';
- import store from '@/store';
- const yghttp = new Request();
- const debug_token =
- "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ5Y184NjAzNDg2NyIsInVzZXJfaWQiOjEyLCJtb2JpbGUiOiIxMzQzNzEwNDgxMiIsIm5pY2tuYW1lIjoieWNfODYwMzQ4NjciLCJleHAiOjE3NDE0MDM3MDcsImlhdCI6MTcwOTg2NzcwN30.LwHRcGuKyUV9S4o_cW0QhqO9KYY6L-AW6d1nMzDLCCjDLyEsdHj1Us2EbVqEJgx1Wut-hjIDqZw0iwwszsW_Kw"
- // request全局参数设置
- yghttp.setConfig(config => {
- /* 设置全局配置 */
- config.baseUrl = indexConfig.baseUrl; /* 根域名不同 */
- const systemInfo = uni.getSystemInfoSync();
- const systemInfoHeaders = {
- 'device-name': systemInfo.brand, // 设备名称
- width: systemInfo.screenWidth, // 屏幕宽度
- height: systemInfo.screenHeight, // 屏幕高度
- os: systemInfo.platform, // 客户端平台
- 'os-version': systemInfo.system // 操作系统版本
- };
- config.header = {
- ...config.header,
- ...systemInfoHeaders
- };
- return config;
- });
- let isRefreshing = false;
- let requests = [];
- let goLogin = false;
- const onLogin = (msg) => {
- if (goLogin) return;
- goLogin = true
- const pages = getCurrentPages();
- const route = pages[pages.length - 1].route;
- console.log('ro = ', route)
- if (!route || route !== 'pages/login/index') {
- try {
- mUtil.toast(msg);
- uni.removeStorageSync('apiToken');
- // uni.removeStorageSync('shop')
- setTimeout(() => {
- uni.navigateTo({
- url: '/pages/login/index',
- success: res => {
- goLogin = false;
- }
- })
- }, 500)
- } catch (e) {
- //TODO handle the exception
- goLogin = false;
- }
- } else {
- goLogin = false;
- };
- }
- yghttp.interceptor.request(
- config => {
- if (config.url === '/activity/lottery') {
- // 设置点击抽奖的接口时间
- config.timeout = 5000
- }
- if (config.isToken == false) {
- } else {
- config.header['apiToken'] = uni.getStorageSync('apiToken');
- }
- /* 请求之前拦截器 */
- // config.header['client'] = 'applet';
- config.header['client'] = 'app';
- // 单商户
- // config.header['merchant-id'] = uni.getStorageSync('merchantId') || 1;
- return config;
- },
- error => {
- return Promise.reject(error);
- }
- );
- // 刷新refreshToken
- async function handleRefreshToken(refresh_token) {
- const params = {};
- params.group = mUtil.platformGroupFilter();
- params.refresh_token = refresh_token;
- await http.post(refreshToken, params).then(async r => {
- store.commit('login', r.data);
- isRefreshing = false;
- });
- }
- yghttp.interceptor.response(
- async response => {
- if (response.header['refresh_token']) {
- store.commit('login', response.header.refresh_token);
- uni.setStorageSync('apiToken', response.header.refresh_token);
- }
- /* 请求之后拦截器 */
- switch (response.data.code) {
- case 200:
- return response.data;
- case 400:
- mUtil.toast('错误的请求');
- return Promise.reject(response.data.message);
- break;
- case 500:
- mUtil.toast(response.data.msg);
- return Promise.reject(response.data.msg);
- break;
- case 5001:
- mUtil.toast(response.data.msg);
- return response.data;
- case 100001:
- onLogin(response.data.msg)
- // mUtil.toast(response.data.msg);
- // uni.removeStorageSync('apiToken');
- // // uni.removeStorageSync('shop')
- // setTimeout(() => {
- // uni.navigateTo({
- // url: '/pages/login/index'
- // })
- // }, 500)
- return false
- case 100004:
- onLogin(response.data.msg)
- // mUtil.toast(response.data.msg);
- // uni.removeStorageSync('apiToken');
- // // uni.removeStorageSync('shop')
- // setTimeout(() => {
- // uni.navigateTo({
- // url: '/pages/login/index'
- // })
- // }, 500)
- return false
- case 100007:
- mUtil.toast(response.data.msg);
- setTimeout(() => {
- let pages = getCurrentPages();
- let currentPage = pages[pages.length - 1];
- let url = currentPage.route; // 当前页面路径
- if (url != 'pages/government/realAttestation') {
- uni.navigateTo({
- url: '/pages/government/realAttestation'
- })
- }
- }, 500)
- return false
- default:
- mUtil.toast(response.data.msg);
- return Promise.reject(response.data.msg);
- }
- },
- error => {
- return Promise.reject(error);
- }
- );
- export {
- yghttp
- };
|