import Taro from '@tarojs/taro'; import ttappid from '../../project.tt.json'; // 抖音 import wxappid from '../../project.config.json'; // 微信 import { baseUrl } from './config'; const getAppId = () => { if (process.env.TARO_ENV === 'weapp') { return wxappid.appid; } else if (process.env.TARO_ENV === 'tt') { return ttappid.appid; } return ''; }; export default async (options = { method: 'GET', data: {} }) => { const request_data = { session_key: Taro.getStorageSync('session_key') || '', // 缓存取值 appid: getAppId(), channel_name: 'WeChat' }; // 如果是登录接口,移除 session_key if (options.url.includes('/user/login_applet')) { delete request_data.session_key; } try { const res = await Taro.request({ url: baseUrl + options.url, data: { ...request_data, ...options.data, }, header: { 'Content-Type': 'application/json', accept: 'application/json', }, method: options.method.toUpperCase(), }); const { code,data, msg } = res.data; console.log('==========',options.url); console.log('options',options.data); console.log('res',res); switch (code) { case 200: return data; case 400: // Taro.showToast({ // title: '传参有误', // icon: 'none', // mask: true, // }); throw new Error('传参有误'); case 422: // Taro.showToast({ // title: 'Validation Error', // icon: 'none', // mask: true, // }); throw new Error('Validation Error'); case 500: Taro.showToast({ title: '需要登录', icon: 'none', mask: true, }); // 获取当前跳转到登录的页面路径 const currentPages = Taro.getCurrentPages(); const currentPage = currentPages[currentPages.length - 1]; if (currentPage) { // 储存当前页面路径 Taro.setStorageSync('currentPage', currentPage.route); global.globalData.optionsData = currentPage.options || {}; } Taro.reLaunch({ url: '/pages/login/index', }); // throw new Error('需要登录'); return default: Taro.showToast({ title: `${msg || '请求失败'}`, icon: 'none', mask: true, }); // throw new Error(msg || '请求失败'); } } catch (error) { console.error('请求错误:', error); return Promise.reject(error); } };