From ef32ecbf7bc9f4e41860df66b0b1aac96c9d9e8f Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 5 Jun 2026 18:35:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E9=A4=90=E5=9B=BE=E6=A0=87=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 5 +++-- src/pages/canteen/detail.vue | 34 +++++++++++++++++++++++++++--- src/sheep/scss/font/iconfont.scss | 4 ++-- src/static/page/baocan.png | Bin 0 -> 3587 bytes 4 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 src/static/page/baocan.png diff --git a/.env b/.env index 2f7d214..6ebe883 100644 --- a/.env +++ b/.env @@ -18,8 +18,9 @@ VITE_OAUTH2_APP_CLIENT='mini:mini' # 是否开启websocket 消息接受, VITE_WEBSOCKET_ENABLE = true # --------------------------- start 开发环境 start ---------------------------------- -# VITE_APP_DEV_SERVICE = https://www.zianxin.com/api -VITE_APP_DEV_SERVICE = https://dzc-test-1.fy.takin.cc + VITE_APP_DEV_SERVICE = https://www.zianxin.com/api +#VITE_APP_DEV_SERVICE = https://dzc-test-1.fy.takin.cc +#VITE_APP_DEV_SERVICE = http://127.0.0.1:9999 VITE_IMAGE_DEV_PATH = https://www.zianxin.com/api # VITE_IMAGE_DEV_PATH = https://dzc-test-1.fy.takin.cc diff --git a/src/pages/canteen/detail.vue b/src/pages/canteen/detail.vue index 1c624f5..c2d3b31 100644 --- a/src/pages/canteen/detail.vue +++ b/src/pages/canteen/detail.vue @@ -130,6 +130,23 @@ const getHeight = () => { return `calc(100vh - ${uni.upx2px(rpx)}px)` } +/** functionScope 在部分接口/端上可能是 JSON 字符串 */ +const normalizeFunctionScope = (raw: unknown): Record => { + if (!raw) return {} + if (typeof raw === "string") { + try { + const parsed = JSON.parse(raw) + return parsed && typeof parsed === "object" ? parsed : {} + } catch { + return {} + } + } + if (typeof raw === "object") return { ...(raw as Record) } + return {} +} + +const isTruthyFlag = (v: unknown) => v === true || v === 1 || v === "1" || v === "true" + // 获取食堂详情信息 const getDetail = async () => { if (isEmpty(state.detailId)) { @@ -138,7 +155,12 @@ const getDetail = async () => { } uni.showLoading({ title: "加载中...", mask: true }) const { code, data } = await merchantApi.detail({ id: state.detailId }) - if (code == 0) state.canteenDetail = data + if (code == 0 && data) { + state.canteenDetail = { + ...data, + functionScope: normalizeFunctionScope(data.functionScope), + } + } await getTakeOutDetail() uni.hideLoading() } @@ -443,7 +465,7 @@ const doFood = () => { } const orderingFoodEnabled = computed(() => - Boolean(state.canteenDetail?.functionScope?.orderingFoodEnable), + isTruthyFlag(state.canteenDetail?.functionScope?.orderingFoodEnable), ) const doOrderingFood = () => { @@ -524,7 +546,7 @@ const doOrderingFood = () => { - + 报餐 @@ -689,6 +711,12 @@ const doOrderingFood = () => { flex-shrink: 0; } +.mch-actions__icon-img { + width: 28rpx; + height: 28rpx; + filter: brightness(0) invert(1); +} + .mch-actions__label { margin-top: 8rpx; font-size: 22rpx; diff --git a/src/sheep/scss/font/iconfont.scss b/src/sheep/scss/font/iconfont.scss index 7f428d6..5f50b74 100644 --- a/src/sheep/scss/font/iconfont.scss +++ b/src/sheep/scss/font/iconfont.scss @@ -118,7 +118,7 @@ content: "\e928"; } -/* 报餐登记 */ +/* 报餐登记(复用 jilu 字形;e631 在 CDN 字体中无对应图标) */ .icon-baocan:before { - content: "\e631"; + content: "\e664"; } \ No newline at end of file diff --git a/src/static/page/baocan.png b/src/static/page/baocan.png new file mode 100644 index 0000000000000000000000000000000000000000..802f52c89686a09bdefcaccd18239462f9b682bb GIT binary patch literal 3587 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 literal 0 HcmV?d00001