From 2be2227644a5e9f4edd4d5d1c40ce3f695008cd3 Mon Sep 17 00:00:00 2001 From: "pikachu1995@126.com" Date: Tue, 10 Nov 2026 15:36:19 +0800 Subject: [PATCH] =?UTF-8?q?fix(seller):=20=E8=A3=81=E5=89=AAuserInfoSeller?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E5=AD=97=E6=AE=B5=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?Cookie=E8=B6=85=E9=99=90=E5=AF=BC=E8=87=B4=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=8D=A1=E6=AD=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seller/src/libs/util.js | 21 +++++++++++++++++++++ seller/src/views/login.vue | 5 +++-- seller/src/views/shop/shopSetting.vue | 3 ++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/seller/src/libs/util.js b/seller/src/libs/util.js index 0575d0602..dc47b0bb8 100644 --- a/seller/src/libs/util.js +++ b/seller/src/libs/util.js @@ -30,6 +30,27 @@ const STATIC_ROUTE_NAMES = new Set([ util.dynamicRouteNames = []; +/** + * 提取商家端会话必需的基础展示字段,避免超长经营范围或入驻详情导致 Cookie 超限 + * + * @param {Object} raw 商家信息对象 + * @returns {Object} 核心会话档案对象 + */ +util.pickSellerProfile = function (raw) { + if (!raw) return {}; + return { + id: raw.id, + storeId: raw.storeId || raw.id, + storeName: raw.storeName, + storeLogo: raw.storeLogo, + nickName: raw.nickName, + storeDisable: raw.storeDisable, + serviceScore: raw.serviceScore, + deliveryScore: raw.deliveryScore, + descriptionScore: raw.descriptionScore, + }; +}; + util.clearDynamicRoutes = function () { util.dynamicRouteNames.forEach((name) => { if (STATIC_ROUTE_NAMES.has(name)) { diff --git a/seller/src/views/login.vue b/seller/src/views/login.vue index 6a408c47e..23df8ddb1 100644 --- a/seller/src/views/login.vue +++ b/seller/src/views/login.vue @@ -212,12 +212,13 @@ function afterLogin(res) { .then((res) => { if (res.success) { setStore("saveLogin", saveLogin.value); + const profile = util.pickSellerProfile(res.result); if (saveLogin.value) { - Cookies.set("userInfoSeller", JSON.stringify(res.result), { + Cookies.set("userInfoSeller", JSON.stringify(profile), { expires: 7, }); } else { - Cookies.set("userInfoSeller", JSON.stringify(res.result)); + Cookies.set("userInfoSeller", JSON.stringify(profile)); } util.initRouter(); diff --git a/seller/src/views/shop/shopSetting.vue b/seller/src/views/shop/shopSetting.vue index 9971880bf..0b3ed2e7c 100644 --- a/seller/src/views/shop/shopSetting.vue +++ b/seller/src/views/shop/shopSetting.vue @@ -48,6 +48,7 @@ import { validateMobile } from "@/libs/validate"; import uploadPicThumb from "@/views/my-components/lili/upload-pic-thumb"; import multipleMap from "@/views/my-components/map/multiple-map"; import Cookies from "js-cookie"; +import util from "@/libs/util.js"; import { Message } from "@/utils/message"; defineOptions({ name: "shopSetting" }); @@ -158,7 +159,7 @@ function getShopInfo() { form.value = res.result; storeName.value = res.result.storeName; form.value.storeCenter = res.result.storeCenter; - Cookies.set("userInfoSeller", JSON.stringify(res.result)); + Cookies.set("userInfoSeller", JSON.stringify(util.pickSellerProfile(res.result))); } }); }