import ext from "@/ext.json"; import { router } from "./router"; // 请求域名 var domain = "https://openwork.dfwy.tech/"; //var domain = 'http://saas.com/' // #ifdef MP-WEIXIN // 'http://127.0.0.1:8000/'; // domain = uni.getAccountInfoSync().miniProgram.envVersion == 'release' ? 'https://openwork.dfwy.tech/' : 'https://openwork.dfwy.tech/'; domain = uni.getAccountInfoSync().miniProgram.envVersion == "release" ? ext.ext.release_host_url : ext.ext.host_url; // var app_id = ext.getExtStoreId('app_id') ? ext.getExtStoreId('app_id') : ''; var app_id = ext.extAppid; // #endif // 发送网络请求的函数 export const request = (url, data = {}, method = "GET") => { // 获取登录标识 let userLogin = uni.getStorageSync("userLogin"); let shopId = uni.getStorageSync("shopId"); // 合并参数 if (userLogin && userLogin.authcode) data = Object.assign({ authcode: userLogin.authcode }, data); if (shopId) data = Object.assign({ shop_id: shopId }, data); if (app_id) data = Object.assign({ app_id: app_id }, data); // 封装 return new Promise((resolve, reject) => { uni.request({ url: domain + url, method: method, data: data, success: (res) => { // 登录提示 if (res.data.code == "no_login") { // 清空登录标识 uni.setStorageSync("userLogin", null); // 清空用户信息 uni.setStorageSync("userInfo", null); // 前去登录 uni.showModal({ title: "请登录", success(res) { if (res.confirm) { // 用户点击确定按钮 router.push({ url: "/pages/login/index", }); } }, }); reject("请登录"); } // 返回结果 resolve(res.data); }, fail: (err) => { reject(err); }, }); }); }; const fileupload = (url, filePath, data = {}) => { // 获取登录标识 let userLogin = uni.getStorageSync("userLogin"); // 合并参数 if (userLogin && userLogin.authcode) data = Object.assign({ authcode: userLogin.authcode }, data); if (app_id) data = Object.assign({ app_id: app_id }, data); // 封装 return new Promise((resolve, reject) => { uni.uploadFile({ url: domain + url, // 你的上传接口地址 filePath: filePath, name: "file", // 必须填写,为了后端接收文件流的参数名字 formData: data, // 其他要上传的参数 success: (res) => { // 登录提示 if (res.data.code == "no_login") { // 前去登录 uni.showModal({ title: "请登录", success(res) { if (res.confirm) { // 用户点击确定按钮 uni.navigateTo({ url: "/pages/login/index", }); } }, }); } // 转json,php返回可能会带bom头需要先替换 let resdata = JSON.parse(res.data.replace("\uFEFF", "")); resolve(resdata); }, fail: (err) => { reject(err); }, }); }); }; // 字符串键值对转参数对象 const strToParam = (str, separator = "&") => { // 先转码 str = decodeURIComponent(str); let pairs = str.split(separator); let result = {}; pairs.forEach((pair) => { let [key, value] = pair.split("="); result[key] = value; }); // 返回结果 return result; }; // 模块导出,{name:object} 为对象式,导出多个使用 // export default {request:request,request1:request1}; // 单个对象,直接导出如下 export default { request: request, fileupload: fileupload, strToParam: strToParam, };