123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- import {
- baseUrl
- } from "@/config"
- import {
- wipeNulish
- } from '@/utils/utils.js'
- import {
- getWxUserInfo
- } from "../utils/wxAuth";
- function requestHandle(obj) {
- const reqData = wipeNulish(obj.data) || {}
- const token = uni.getStorageSync('token') || 'no-login'
- let base = baseUrl
- const BASE_URL = obj.url.indexOf("http") > -1 || obj.url.indexOf("https://") > -1 ? obj.url : base + obj.url;
- return new Promise((resolve, reject) => {
- uni.request({
- method: obj.method,
- url: BASE_URL,
- data: reqData,
- header: {
- token,
- },
- success: (resReq) => {
- // 判断请求状态码是否为 200
- if (resReq.statusCode === 200) {
- // 状态码为 200 时,将响应数据传递给 resolve 函数
- if (resReq.data.code === 0 && resReq.data.msg) {
- uni.showToast({
- title: resReq.data.msg,
- icon: 'success'
- })
- }
- if (resReq.data.code === 500) {
- uni.showToast({
- title: resReq.data.msg || '服务器开小差',
- icon: 'none'
- })
- }
- if (resReq.data.code === 10021) {
- uni.removeStorageSync('token')
- getWxUserInfo()
- return
- }
- resolve(resReq.data.data);
- } else {
- // 状态码不为 200 时,将错误信息传递给 reject 函数
- reject(new Error(`Request failed with status code ${resReq.statusCode}`));
- }
- },
- })
- })
- }
- // customRes 用于自定义反参状态处理,凡是未加此参数 都当作反参code是0处理
- const request = {
- get: (obj) => {
- return new Promise((resolve, reject) => {
- requestHandle({
- method: 'GET',
- url: obj.url,
- data: obj.data,
- header: obj.header,
- customRes: obj.customRes
- })
- .then((res) => {
- resolve(res)
- })
- .catch((err) => {
- reject(err)
- })
- });
- },
- post: (obj) => {
- return new Promise((resolve, reject) => {
- requestHandle({
- method: 'POST',
- url: obj.url,
- data: obj.data,
- header: obj.header,
- customRes: obj.customRes
- })
- .then((res) => {
- resolve(res)
- })
- .catch((err) => {
- reject(err)
- })
- })
- },
- put: (obj) => {
- return new Promise((resolve, reject) => {
- requestHandle({
- method: 'PUT',
- url: obj.url,
- data: obj.data,
- header: obj.header,
- customRes: obj.customRes
- })
- .then((res) => {
- resolve(res)
- })
- .catch((err) => {
- reject(err)
- })
- })
- },
- del: (obj) => {
- return new Promise((resolve, reject) => {
- requestHandle({
- method: 'DELETE',
- url: obj.url,
- data: obj.data,
- header: obj.header,
- customRes: obj.customRes
- })
- .then((res) => {
- resolve(res)
- })
- .catch((err) => {
- reject(err)
- })
- })
- }
- }
- export default request
|