From f5742048d1086100b5408c29701192a5a4b6d477 Mon Sep 17 00:00:00 2001 From: ISFP_T <68358856@qq.com> Date: Sat, 4 Oct 2025 16:57:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E6=B7=BB=E5=8A=A0=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E8=B0=83=E8=AF=95=E5=9C=B0=E5=9D=80=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 `config/url.js` 中新增了本地调试地址 `"http://127.0.0.1:8080"` 的注释配置,便于开发人员快速切换调试环境。 fix(device): 修复设备详情页费用配置解析逻辑 在 `pages/device/detail.vue` 中增强了对 `feeConfig` 字段的判断,防止因字段不存在导致页面报错,并设置默认值以提升用户体验。同时调整了订单创建后的套餐信息更新逻辑,暂时将其注释以便后续排查问题。 refactor(device): 调整订单金额计算方式 修改订单金额计算逻辑,从原来的押金加套餐价改为仅使用押金部分作为总价展示,并修正跳转支付页面时传递的价格参数为实际单位价格。 feat(feedback): 反馈页面增加联系方式输入框 在 `pages/feedback/index.vue` 表单中添加了联系方式输入框,支持用户填写手机号码用于后续客服联系,并将图片上传功能临时隐藏待优化。 chore(build): 更新构建产物中的 JS 文件内容 同步更新了打包目录下相关 JS 构建文件的内容,包括 `user.js` 和 `detail.js` 等,确保与源代码变更一致。 --- config/url.js | 1 + config/user.js | 1 - pages/device/detail.vue | 74 +++++++++-------- pages/feedback/index.vue | 82 ++++++++++--------- unpackage/dist/build/mp-weixin/config/user.js | 2 +- .../build/mp-weixin/pages/device/detail.js | 2 +- .../build/mp-weixin/pages/device/detail.wxml | 2 +- .../build/mp-weixin/pages/device/detail.wxss | 2 +- .../build/mp-weixin/pages/feedback/index.js | 2 +- .../build/mp-weixin/pages/feedback/index.wxml | 2 +- .../build/mp-weixin/pages/feedback/index.wxss | 2 +- .../.sourcemap/mp-weixin/config/url.js.map | 2 +- .../.sourcemap/mp-weixin/config/user.js.map | 2 +- .../mp-weixin/pages/device/detail.js.map | 2 +- .../mp-weixin/pages/feedback/index.js.map | 2 +- unpackage/dist/dev/mp-weixin/common/vendor.js | 4 +- unpackage/dist/dev/mp-weixin/config/url.js | 2 +- .../dist/dev/mp-weixin/pages/device/detail.js | 45 +++++----- .../dev/mp-weixin/pages/feedback/index.js | 38 ++------- .../dev/mp-weixin/pages/feedback/index.wxml | 2 +- 20 files changed, 133 insertions(+), 138 deletions(-) diff --git a/config/url.js b/config/url.js index 49e687f..62a5ac5 100644 --- a/config/url.js +++ b/config/url.js @@ -1,5 +1,6 @@ export const URL = "https://my.gxfs123.com/api" //正式服务器 // export const URL = "https://fansdev.gxfs123.com/api" //测试服务器 // export const URL = "http://192.168.5.22:8080" //本地调试 +// export const URL = "http://127.0.0.1:8080" //本地调试 export const appid = "wx2165f0be356ae7a9" //小程序appid \ No newline at end of file diff --git a/config/user.js b/config/user.js index 4cc8a34..e9e36bb 100644 --- a/config/user.js +++ b/config/user.js @@ -194,7 +194,6 @@ export const updateUserBalance = (orderId) => { } /* - * *弃用 */ export const getPotionsDetail = (data) => { diff --git a/pages/device/detail.vue b/pages/device/detail.vue index b34c31d..97944a6 100644 --- a/pages/device/detail.vue +++ b/pages/device/detail.vue @@ -195,13 +195,13 @@ const showPhoneAuthPopup = ref(false) // 生命周期 onLoad 钩子 - onLoad(async(options) => { + onLoad(async (options) => { if (options.deviceNo != uni.getStorageSync('deviceId') || !uni.getStorageSync('deviceId')) { deviceId.value = options.deviceNo uni.setStorageSync('deviceId', options.deviceNo) } else { deviceId.value = uni.getStorageSync('deviceId') - // uni.removeStorageSync('deviceId') + // uni.removeStorageSync('deviceId') } await checkOrderStatus() await fetchDeviceInfo() @@ -209,6 +209,7 @@ onMounted(async () => { await checkUserPhone() + await fetchDeviceInfo() }) // onShow(async () => { @@ -344,9 +345,15 @@ deviceStatus.class = 'offline' } } - console.log('feeconfig', deviceInfo.value.feeConfig); + if (deviceInfo.value.feeConfig) { + deviceFeeConfig.value = JSON.parse(deviceInfo.value.feeConfig)[0] || {} + } else { + deviceFeeConfig.value = { + maxHourPrice: '5.00', + } + discount.value = '99.00' + } - deviceFeeConfig.value = JSON.parse(deviceInfo.value.feeConfig)[0] || {} } } @@ -434,33 +441,34 @@ // 获取后端返回的订单信息 const order = rentResult.data + console.log('订单信息',order); - // --- 统一:先更新订单套餐信息 --- - try { - let packageTimeMinutes = 0; - if (selectedPkg.time.includes('小时')) { - packageTimeMinutes = parseInt(selectedPkg.time) * 60; - } else if (selectedPkg.time.includes('分钟')) { - packageTimeMinutes = parseInt(selectedPkg.time); - } else { - packageTimeMinutes = parseInt(selectedPkg.time) * 60; // 默认按小时处理 - } + // // --- 统一:先更新订单套餐信息 --- + // try { + // let packageTimeMinutes = 0; + // if (selectedPkg.time.includes('小时')) { + // packageTimeMinutes = parseInt(selectedPkg.time) * 60; + // } else if (selectedPkg.time.includes('分钟')) { + // packageTimeMinutes = parseInt(selectedPkg.time); + // } else { + // packageTimeMinutes = parseInt(selectedPkg.time) * 60; // 默认按小时处理 + // } - const updateRes = await updateOrderPackage({ - orderId: order.orderId, - packageTime: packageTimeMinutes, - packagePrice: parseFloat(selectedPkg.price) - }); - if (updateRes.code !== 200) { - console.warn("更新订单套餐信息失败:", updateRes.msg); - // 这里可以选择是否提示用户或阻止流程,当前不阻止 - } else { - console.log("订单套餐信息已提前更新"); - } - } catch (updateError) { - console.error("更新订单套餐信息时出错:", updateError); - // 即使更新失败,也继续流程 - } + // const updateRes = await updateOrderPackage({ + // orderId: order.orderId, + // packageTime: packageTimeMinutes, + // packagePrice: parseFloat(selectedPkg.price) + // }); + // if (updateRes.code !== 200) { + // console.warn("更新订单套餐信息失败:", updateRes.msg); + // // 这里可以选择是否提示用户或阻止流程,当前不阻止 + // } else { + // console.log("订单套餐信息已提前更新"); + // } + // } catch (updateError) { + // console.error("更新订单套餐信息时出错:", updateError); + // // 即使更新失败,也继续流程 + // } // --- 套餐信息更新结束 --- if (payWay == 'wx-pay') { @@ -469,16 +477,16 @@ const res = await getOrderByOrderNo(order.orderNo); console.log(res); // --- 新增:计算总金额 --- - const deposit = parseFloat(deviceInfo.value.depositAmount); - const packagePrice = parseFloat(selectedPkg.price); - const totalAmount = (deposit + packagePrice).toFixed(2); + const deposit = parseFloat(order.depositAmount); + const packagePrice = parseFloat(order.unitPrice); + const totalAmount = deposit.toFixed(2); // --- 计算结束 --- uni.hideLoading() // 跳转到订单支付页面,传递订单ID、套餐信息和总金额 uni.redirectTo({ - url: `/pages/order/payment?orderId=${order.orderId}&packageTimeHours=${selectedPkg.time.replace('小时', '')}&packagePrice=${selectedPkg.price}&totalAmount=${totalAmount}&depositAmount=${depositAmount.value}${deviceInfo.value && deviceInfo.value.feeConfig ? '&feeConfig=' + encodeURIComponent(deviceInfo.value.feeConfig) : ''}` + url: `/pages/order/payment?orderId=${order.orderId}&packageTimeHours=${selectedPkg.time.replace('小时', '')}&packagePrice=${packagePrice}&totalAmount=${totalAmount}&depositAmount=${depositAmount.value}${deviceInfo.value && deviceInfo.value.feeConfig ? '&feeConfig=' + encodeURIComponent(deviceInfo.value.feeConfig) : ''}` }) } else if (payWay == 'wx-score-pay') { diff --git a/pages/feedback/index.vue b/pages/feedback/index.vue index d8d5477..351390b 100644 --- a/pages/feedback/index.vue +++ b/pages/feedback/index.vue @@ -1,50 +1,52 @@