import Vue from 'vue'; import store from '@/store'; // 定义 API URL // const DEV_API_URL = 'https://api.cloud.sz-trip.com'; // const DEV_API_URL = 'https://api.sutenong.com' // const PROD_API_URL = 'https://api.sutenong.com'; const DEV_API_URL = 'https://swsz.api.js-dyyj.com'; const PROD_API_URL = 'https://swsz.api.js-dyyj.com'; const NEWAPIURL = process.env.NODE_ENV === 'development' ? DEV_API_URL : PROD_API_URL; // 获取token const getToken = () => { const userInfoFromStorage = uni.getStorageSync('userInfo'); if (userInfoFromStorage) { const userInfo = JSON.parse(userInfoFromStorage); if (userInfo.token) { return userInfo.token; } } return store.state.user.userInfo.token; }; // 定义错误处理函数 const handleError = (res, reject, noForceLogin) => { setTimeout(() => { if (!noForceLogin) { uni.showToast({ title: res.data?.msg || res.msg, icon: 'none' }); } reject(res); }, 0); if (res.data?.code === 401 && !noForceLogin) { store.commit('changeLoginPath'); } }; // 挂载到 Vue 原型上 Vue.prototype.NEWAPIURL = NEWAPIURL; // #ifdef H5 Vue.prototype.NEWAPIURL = '/api'; // #endif Vue.prototype.Post = (params = {}, apiurl) => { // const token = getToken() || '0caa10fc-6d65-4d9c-8e57-b344be3fc526'; // 君到苏州 // const token = getToken() || 'a090644d-2bdb-4807-833b-bb5bc2182ac5' // 时味苏州测试token const token = getToken() if (token) { params.token = token; } return new Promise((resolve, reject) => { if (!params.noShowLoading) { uni.showLoading({ title: '加载中' }); } uni.request({ method: params.method || 'GET', url: Vue.prototype.NEWAPIURL + apiurl, data: params, header: { 'content-type': 'application/json', 'token': token || '' }, success: (res) => { console.log('success', res.data); uni.hideLoading() if (res.data.code === 200 || res.data.code === 1) { resolve(res.data); } else { handleError(res, reject,params.noForceLogin); } }, fail: (err) => { console.log('err', err); uni.hideLoading() handleError(err, reject,params.noForceLogin); } }); }); }; export default NEWAPIURL;