From c7c0570dd9867d368d4f9d1ea070fc287dcb3fb1 Mon Sep 17 00:00:00 2001 From: wangdongbo <> Date: Tue, 22 Sep 2026 17:49:53 +0800 Subject: [PATCH] no message --- store/account.js | 11 +++++++++-- utils/http.js | 21 ++++++++++++++------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/store/account.js b/store/account.js index b727525..437f4de 100644 --- a/store/account.js +++ b/store/account.js @@ -60,13 +60,18 @@ export default defineStore("accountStore", () => { corpId, }); if (res.success && res.data) { + const { sessionToken, sessionExpiresAt, sessionKey, ...safeAccount } = res.data; + if (sessionToken) { + uni.setStorageSync("miniappSessionToken", sessionToken); + uni.setStorageSync("miniappSessionExpiresAt", sessionExpiresAt || 0); + } // if (!res.data.mobile) { // const target = '/pages/login/login'; // uni.redirectTo({ url: target }); // return; // } - account.value = { ...res.data, corpId }; - openid.value = res.data.openid; + account.value = { ...safeAccount, corpId }; + openid.value = safeAccount.openid; // 持久化账户信息 // cache.set(CACHE_KEYS.ACCOUNT, res.data); // cache.set(CACHE_KEYS.OPENID, res.data.openid); @@ -155,6 +160,8 @@ export default defineStore("accountStore", () => { // 清空账户信息 account.value = null; + uni.removeStorageSync("miniappSessionToken"); + uni.removeStorageSync("miniappSessionExpiresAt"); openid.value = ""; isIMInitialized.value = false; doctorInfo.value = null; diff --git a/utils/http.js b/utils/http.js index 6a77cd2..2294b7c 100644 --- a/utils/http.js +++ b/utils/http.js @@ -1,6 +1,7 @@ import { loading, hideLoading } from "./widget"; const env = __VITE_ENV__; const baseUrl = env.MP_API_BASE_URL; +const SH6_CORP_ID = "wpLgjyawAAxKtBH5GVT5DVhLefg246Ag"; const defaultOptions = { header: { @@ -100,6 +101,7 @@ const request = async (options = {}, showLoading = true) => { if (!options.data.corpId) { options.data.corpId = env.MP_CORP_ID; } + const requiresMiniappSession = options.data.corpId === SH6_CORP_ID; const config = { @@ -108,12 +110,10 @@ const request = async (options = {}, showLoading = true) => { url: baseUrl + options.url, }; - // 添加 token 到请求头 - // const accessToken = uni.getStorageSync("accessToken"); - // if (accessToken) { - // if (!config.header) config.header = {}; - // config.header.Authorization = `Bearer ${accessToken}`; - // } + const sessionToken = uni.getStorageSync("miniappSessionToken"); + if (requiresMiniappSession && sessionToken) { + config.header = { ...(config.header || {}), "X-Miniapp-Session": sessionToken }; + } const key = `${JSON.stringify(config)}_${Date.now()}`; if (showLoading) { @@ -127,6 +127,10 @@ const request = async (options = {}, showLoading = true) => { removeTask(key) } + if (requiresMiniappSession && res.statusCode === 401) { + uni.removeStorageSync("miniappSessionToken"); + uni.removeStorageSync("miniappSessionExpiresAt"); + } // 如果返回 401,尝试刷新 token // if (res.statusCode === 401) { // if (showLoading) { @@ -210,9 +214,13 @@ export function getFullPath(path) { } export function upload(path) { + const sessionToken = uni.getStorageSync("miniappSessionToken"); return new Promise((resolve) => { uni.uploadFile({ url: uploadUrl, // 替换为你的上传接口地址 + header: env.MP_CORP_ID === SH6_CORP_ID && sessionToken + ? { "X-Miniapp-Session": sessionToken } + : {}, filePath: path, name: 'file', fileType: 'image', @@ -230,4 +238,3 @@ export function upload(path) { }) }) } -