// utils/request.js import { baseUrl } from "./config"; import store from "@/store"; export default function request(options = {}) { // 获取token(假设存储在本地storage) const token = uni.getStorageSync('token') || store.state.user.token; return new Promise((resolve, reject) => { uni.request({ url: baseUrl + options.url, method: options.method || "get", data: options.method === "post" ? options.data : options.params || {}, header: { "Content-Type": options.contentType || "application/json;charset=UTF-8", Authorization: token ? `Bearer ${token}` : "", ...options.header, }, success: (res) => { // 这里可根据后端返回结构统一处理 if (res.statusCode === 200) { resolve(res.data); } else if (res.statusCode === 401) { uni.redirectTo({ url: "/pages/login/login", }); reject(res); } else { uni.showToast({ title: res.data.msg || "请求失败", icon: "none" }); reject(res); } }, fail: (err) => { uni.showToast({ title: "网络异常", icon: "none" }); reject(err); }, }); }); } export function uploadFile(filePath, options = {}) { const token = uni.getStorageSync("token") || ""; console.log(filePath,'filePath'); return new Promise((resolve, reject) => { uni.uploadFile({ url: baseUrl + "/common/upload", filePath: filePath, name: "file", // 后端接收的参数名 header: { Authorization: token ? `Bearer ${token}` : "", ...options.header, }, formData: options.formData || {}, // 额外的表单数据 success: (res) => { console.log('res::',res) try { const data = JSON.parse(res.data); if (res.statusCode === 200) { console.log('data::',data) resolve(data); } else { uni.showToast({ title: data.msg || "上传失败", icon: "none" }); reject(data); } } catch (e) { uni.showToast({ title: "上传失败", icon: "none" }); reject(e); } }, fail: (err) => { uni.showToast({ title: "网络异常", icon: "none" }); reject(err); }, }); }); }