From b6bc62bd7a7934fc4b68feeba80c96295affca2f Mon Sep 17 00:00:00 2001 From: WindowBird <13870814+windows-bird@user.noreply.gitee.com> Date: Tue, 7 Oct 2025 13:46:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=ABsn=E7=A0=81=E8=B7=B3=E8=BD=AC=E5=BE=80?= =?UTF-8?q?=E7=94=9F=E5=A4=A7=E6=AE=BF=E7=95=8C=E9=9D=A2=EF=BC=8C=E4=BD=BF?= =?UTF-8?q?=E7=94=A8sn=E7=A0=81=E8=8E=B7=E5=8F=96id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/memorial/memorial.js | 8 ++++++ pages/memorial/memorialHall.vue | 30 +++++++++++++++++++---- pages/personalCenter/myPrayRecordList.vue | 2 +- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/api/memorial/memorial.js b/api/memorial/memorial.js index 00695b3..bdc83b6 100644 --- a/api/memorial/memorial.js +++ b/api/memorial/memorial.js @@ -70,3 +70,11 @@ export function getPackageList() { method: "get", }); } + +// 根据扫码获取的sn获取id +export function getIdBySN(sn) { + return request({ + url: `/app/memorial/sn/${encodeURIComponent(sn)}`, // 修复:正确拼接动态参数 + method: "get", + }); +} diff --git a/pages/memorial/memorialHall.vue b/pages/memorial/memorialHall.vue index b62b0e1..baeb1c6 100644 --- a/pages/memorial/memorialHall.vue +++ b/pages/memorial/memorialHall.vue @@ -144,7 +144,7 @@ import StatusBar from "./compositons/statusBar.vue"; import BottomButton from "../../components/bottom-button/bottom-button.vue"; import OfferingModal from "./compositons/offeringModal.vue"; -import { getPackageList } from "../../api/memorial/memorial"; +import { getIdBySN, getPackageList } from "../../api/memorial/memorial"; import { ordersEnshrined } from "../../api/order/order"; import { checkLogin } from "../../composables/goToLogin"; @@ -185,14 +185,26 @@ export default { PackageList: {}, }; }, - onLoad(options) { + async onLoad(options) { console.log("memorialHall页面接收到的参数:", options); - // 从路由参数获取往生殿ID if (options.id) { this.selectedUnitId = options.id; console.log("区域ID:", this.selectedUnitId); - } else { - console.warn("未接收到区域ID,使用默认ID:", this.selectedUnitId); + } + if (options.q) { + // 步骤1:从options.q获取完整URL + const encodedQ = options.q; // "https%3A%2F%2Fwx.ccttiot.com%2Fsm%2Fd%3Fs%3D100100" + const decodedQ = decodeURIComponent(encodedQ); + // 解码后: "https://wx.ccttiot.com/sm/d?s=100100" + console.log("decodedQ", decodedQ); + // 步骤2:解析嵌套的s参数 + const match = decodedQ.match(/[?&]s=([^&]*)/); + console.log("match", match); // 输出: "100100" + const sValue = match ? match[1] : null; + + console.log("sValue", sValue); // 输出: "100100" + // 等待获取ID完成后再初始化页面 + await this.getId(sValue); } this.initPage(); }, @@ -211,6 +223,7 @@ export default { await this.getMemorialDetail(); // 获取往生者列表 await this.getDeceasedList(); + // 检查收藏状态 await this.checkCollectionStatus(); //获取订单套餐 @@ -225,6 +238,13 @@ export default { this.loading = false; } }, + + async getId(sn) { + const response = await getIdBySN(sn); + this.selectedUnitId = response.data.id; + + console.log("SN->id", this.selectedUnitId); + }, //获取订单套餐 async fetchPackageList() { const response = await getPackageList(); diff --git a/pages/personalCenter/myPrayRecordList.vue b/pages/personalCenter/myPrayRecordList.vue index e6d03bf..4f9ecd0 100644 --- a/pages/personalCenter/myPrayRecordList.vue +++ b/pages/personalCenter/myPrayRecordList.vue @@ -467,7 +467,7 @@ page { display: flex; flex-direction: row; align-items: center; - margin: 10rpx 0 10rpx 0; + margin: 10rpx 0; padding: 0 35rpx; .search-filter-row search-box {