12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import {
- login, h5Login, LoginSuccess, LoginAlready
- } from '@/util/login.js'
- import squni from '@/util/squni.js'
- import gloablConfig from '@/common/config.js'
- import store from '@/store/index.js'
- import squ from './squ.js'
- export const get = (url, params, config) =>
- ajax(url, params, Object.assign({
- method: 'GET'
- }, config))
- export const post = (url, params, config) =>
- ajax(url, params, Object.assign({
- method: 'POST'
- }, config))
- const ajax = (url, params, config) => {
- const accessToken = squni.getStorageSync('token')
- return new Promise((resolve, reject) => {
- uni.request({
- method: config.method,
- url: (config.baseUrl || gloablConfig.baseUrl) + url,
- header: Object.assign({
- 'Content-Type': 'application/json',
- [gloablConfig.Authorization]: accessToken || '',
- platform: squni.getStorageSync('platform')
- }, config.header),
- data: params,
- success(resp) {
- resolve(resp.data)
- },
- fail(resp) {
- // resp.status !== 200
- if (config.toast !== false) {
- squni.toast('请求出错')
- }
- reject(resp)
- },
- complete(resp) {
- // console.log(resp)
- if (config.check !== false) {
- check(resp, config)
- }
- }
- })
- })
- }
- const check = (resp, config) => {
- let code = resp.data && Number(resp.data.code)
- if (!code) {
- console.error(resp)
- code = 50000
- }
- const message = (resp.data && resp.data.message) || '未知错误'
- // 如果是401则跳转到登录页面
- if (code >= 40100 && code <= 40199) {
- // #ifdef MP-WEIXIN
- login(true).then(async res => {
- if (res === LoginSuccess || res === LoginAlready) {
- await store.dispatch('GetUserInfo')
- let curPage = squni.getCurPage()
- curPage.$vm.$emitReady()
- uni.redirectTo({
- url: '/' + curPage.route + '?' + squ.objToUrlQuery(squni.getCurQueryAll())
- })
- }
- })
- // 微信小程序静默登录
- return
- // #endif
- // #ifdef H5
- // refresh token 逻辑(先直接跳转到登录页)
- h5Login()
- // #endif
- }
- // 如果请求为非200否者默认统一处理
- if (code !== 20000) {
- if (config.toast !== false) {
- squni.toast(message)
- }
- }
- }
|