123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- import Vue from 'vue'
- import uni_request from './uni_request.js'
- import {
- wecatLogin
- } from '../api/index.js';
- const request = uni_request({
- timeout: 123456,
- baseURL: 'https://api.szy.jiuweiyun.cn/api', //线上
- // baseURL: 'http://192.168.0.6:8024/api', //本地
- // baseURL: 'https://apidemo.szy.jiuweiyun.cn/api', //本地
- header: {
- 'content-type': 'application/json'
- }
- })
- // 请求前拦截器
- request.interceptors.request.use(config => {
- uni.showLoading({
- title: '加载中',
- mask: true
- })
- config.header.Authorization = 'Bearer ' + uni.getStorageSync("token")
- return config
- })
- function doRequest(response, url) {
- return new Promise((resolve, reject) => {
- uni.login({
- success({
- code
- }) {
- wx.getLocation({
- success({
- latitude,
- longitude
- }) {
- wecatLogin({
- openid: '',
- avatar: uni.getStorageSync('userInfo').avatar,
- nickname: uni.getStorageSync('userInfo').nickname,
- code: code,
- longitude,
- latitude
- })
- .then(res => {
- if (res.code == 200) {
- uni.setStorageSync('token', res.data.token);
- request.get(url).then(res => {
- if (res.code == 200) {
- if (url == '/user/get_info') {
- uni.setStorageSync('userInfo', res.data);
- }
- resolve(res);
- }
- })
- }
- if (res.code == 300) {
- uni.switchTab({
- url: '../index/index?isPhone=' + true
- })
- }
- })
- .catch(e => {})
- },
- fail(e) {
- uni.showModal({
- content: '不授权将无法获取到您的位置信息',
- showCancel: false
- });
- }
- });
- }
- });
- })
- }
- // 请求后拦截器
- request.interceptors.response.use(async (response, ...args) => { // 拦截器
- uni.hideLoading()
- if (response.data.code === 50000 && uni.getStorageSync('userInfo')) { //token过期
- response = await doRequest(response, args[1]);
- return response
- } else if (response.data.code === 50000 && !uni.getStorageSync('userInfo')) {
- uni.removeStorageSync('token')
- uni.switchTab({
- url: '/pages/index/index'
- })
- } else if (response.data.code === 200 || response.data.code === 300) {
- return response
- } else {
- // uni.showModal({
- // content: response.data.message || '请求失败',
- // showCancel: false
- // })
- return response
- }
- });
- request.onerror = (...args) => { // 请求失败统一处理方法
- console.log(args)
- uni.hideLoading()
- uni.showModal({
- title: '请求失败',
- content: '网络出错',
- // content: JSON.stringify(args),
- showCancel: false
- })
- return Promise.reject(args)
- }
- export default request
|