123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- import {
- getStore,
- } from "./index.js"
- import RequestManager from "./requestManager.js"
- import {
- configObj
- } from "../config.js"
- import {
- repeatLogin
- } from "./etcReq.js"
-
-
- // 请求锁
- const manager = new RequestManager()
- let failNum = 0
- class RequestEtc {
- constructor() {}
- post(url, config = {}) {
- let requestId = manager.generateId('post', url, config.data)
- config.method = 'post'
- return this._request(url, config, requestId)
- }
- _request(url, config = {}, requestId) {
- return new Promise((resolve, reject) => {
- if (!requestId) {
- console.log("pss重复请求 " + params.filename)
- resolve({
- code: -1,
- msg: "pss重复请求 " + params.filename
- })
- return
- }
- const {
- method,
- header,
- data,
- } = config
- console.log("请求参数")
- console.log(data)
- console.log("请求地址\n" + url)
- wx.request({
- url: url,
- method,
- header: header,
- data,
- complete(response) {
- manager.deleteById(requestId)
- console.log("接口返回response", response)
- if (response.statusCode === 200) {
- getResponse(response, resolve, url, config)
- } else {
- wx.showModal({
- title: '提示',
- content: response.errMsg || "网络异常,请确认网络是否正常。",
- showCancel: false
- })
- resolve({
- code: -1,
- message: response.errMsg || "网络异常,请确认网络是否正常。",
- })
- }
- },
- })
- })
- }
- }
- let _request = new RequestEtc()
- export async function requestEtcFnc(url, config = {
- loading: true,
- isNeedAuth: true,
- isNeedFailPop: true,
- header: {},
- }) {
- let {
- method,
- header = {},
- isNeedAuth,
- } = config
- const accessToken = getStore("etc-accessToken")
-
- url = !url.includes("http") ? `${configObj.reqEtcUrl}${url}` : url;
- config.method = method || 'post'
- let auth = isNeedAuth || true
- console.log(auth)
- if (auth) {
- config.header = {
- ...header,
- "Access-Token": accessToken
- }
- } else {
- config.header = {
- ...header,
- }
- }
- console.log(config);
-
- const res = await _request.post(url, config)
- return res
- }
-
- // 处理回参
- async function getResponse(response, resolve, url, config = {}) {
- let res = response.data
- const {
- code,
- message
- } = res
- if (code == 401002) {
- failNum++
- if (failNum < 2) {
- // 登录过期,请重新登录
- const rp = await repeatLogin()
- if (rp.code == 0) {
- resolve(requestEtcFnc(url, config))
- } else {
- res = rp
- }
- }
- } else if (code == 403001 || code == 403004 || code == 403003) {
- if (config.isNeedFailPop) {
- wx.showModal({
- title: '提示',
- content: message,
- showCancel: false
- })
- }
-
- wx.hideLoading()
- }
-
- failNum = 0
- resolve(res)
- }
|