From 03e031ac81c9b01b636ce531618697d845fdcf7b Mon Sep 17 00:00:00 2001 From: chenghuan Date: Tue, 24 Mar 2026 18:46:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=AE=A2=E5=8D=95):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=A2=84=E5=94=AE=E5=95=86=E5=93=81=E6=8F=90=E7=A4=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在订单提交组件中添加预售商品提示弹窗 - 新增预售商品备注接口调用 - 修改VIP购买提示文本,明确不包含论坛权益 - 调整开发环境API配置 --- config/baseUrl.js | 5 +- manifest.json | 4 +- .../commonComponents/orderSubmit.vue | 77 +- pages/course/courseDetail.vue | 2 +- pages/goods/order/index.vue | 1 + pages/medicaldes/medicaldes.vue | 1595 +++++++++-------- 6 files changed, 977 insertions(+), 707 deletions(-) diff --git a/config/baseUrl.js b/config/baseUrl.js index fbdb4ce..5d6c175 100644 --- a/config/baseUrl.js +++ b/config/baseUrl.js @@ -2,8 +2,9 @@ let baseUrl = ""; let socketUrl = ""; if (process.env.NODE_ENV === 'development') { // 开发环境 - baseUrl = "https://api.nuttyreading.com/"; //线上正式' - // baseUrl = "http://192.168.110.100:9200/pb/"; //张川川 + // baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试 + // baseUrl = "https://api.nuttyreading.com/"; //线上正式' + baseUrl = "http://192.168.110.100:9200/pb/"; //张川川 } else if (process.env.NODE_ENV === 'production') { // 生产环境11 baseUrl = "https://api.nuttyreading.com/"; //线上正式 diff --git a/manifest.json b/manifest.json index 754ff17..8c5ef9a 100644 --- a/manifest.json +++ b/manifest.json @@ -12,8 +12,8 @@ "src" : "图片路径" } ], - "versionName" : "2.0.45", - "versionCode" : 2045, + "versionName" : "2.0.46", + "versionCode" : 2046, "sassImplementationName" : "node-sass", "app-plus" : { "nvueCompiler" : "uni-app", diff --git a/pages/component/commonComponents/orderSubmit.vue b/pages/component/commonComponents/orderSubmit.vue index cd8c42c..b1044f4 100644 --- a/pages/component/commonComponents/orderSubmit.vue +++ b/pages/component/commonComponents/orderSubmit.vue @@ -519,6 +519,17 @@ + @@ -616,6 +627,9 @@ orderModalShowInfo: {}, orderModalShow: false, + presaleRemarkModalShow: false, + presaleRemarkModalContent: "", + presaleRemarkModalResolve: null, payType: 1, freightNum: 0, addressData: { @@ -1350,6 +1364,62 @@ this.content = this.remark; } }, + openPresaleRemarkModal(content) { + this.presaleRemarkModalContent = content; + this.presaleRemarkModalShow = true; + return new Promise((resolve) => { + this.presaleRemarkModalResolve = resolve; + }); + }, + handlePresaleRemarkConfirm() { + this.presaleRemarkModalShow = false; + if (this.presaleRemarkModalResolve) { + const resolve = this.presaleRemarkModalResolve; + this.presaleRemarkModalResolve = null; + resolve(true); + } + }, + handlePresaleRemarkCancel() { + this.presaleRemarkModalShow = false; + if (this.presaleRemarkModalResolve) { + const resolve = this.presaleRemarkModalResolve; + this.presaleRemarkModalResolve = null; + resolve(false); + } + }, + async checkPresaleRemark() { + if (this.pageType != "goods") { + return true; + } + const productIds = this.goodsDataList + .map((e) => e.productId) + .filter((id) => id) + .join(","); + if (!productIds || !this.urlList.presaleRemark) { + return true; + } + try { + const res = await this.$http.request({ + url: `${this.urlList.presaleRemark}`, + method: "POST", + data: { + productIds, + }, + header: { + "Content-Type": "application/json", + }, + }); + const remark = + res && typeof res.remark == "string" ? res.remark.trim() : ""; + if (!remark) { + return true; + } + return await this.openPresaleRemarkModal(remark); + } catch (error) { + console.log("presaleRemark error:", error); + return true; + } + }, async goBuyJie() { if (this.pageType == "vip") { if (this.radioValue != "1") { @@ -1457,6 +1527,11 @@ }); thisproduct = thisproduct.join(","); } + const passPresaleRemark = await this.checkPresaleRemark(); + if (!passPresaleRemark) { + this.buyingFlag = false; + return; + } if ( this.historyOrderInfo && thisproduct == this.historyOrderInfo.product && @@ -2437,4 +2512,4 @@ font-size: 24rpx; } - \ No newline at end of file + diff --git a/pages/course/courseDetail.vue b/pages/course/courseDetail.vue index e69eb90..4353c4f 100644 --- a/pages/course/courseDetail.vue +++ b/pages/course/courseDetail.vue @@ -1308,7 +1308,7 @@ }); const joinedText = this.textList.join('/'); - this.goBuyTitle = '购买'+joinedText+'VIP,即可畅享更多专属权益'; + this.goBuyTitle = '购买'+joinedText+'VIP,即可畅享更多专属权益(不包含论坛)'; } }) }, diff --git a/pages/goods/order/index.vue b/pages/goods/order/index.vue index 5fbd643..d829868 100644 --- a/pages/goods/order/index.vue +++ b/pages/goods/order/index.vue @@ -132,6 +132,7 @@ export default { list: "app/phone.do?getCourseDetail_new", initPrepareOrder: "common/buyOrder/initPrepareOrder", buyOrder: "book/buyOrder/placeOrder", + presaleRemark: "book/buyOrder/presaleRemark", curriculumInfo: "app/phone.do?getCourseInfo", detailInfo: "app/phoneDoctor.do?getTaiHuClassInfo_new", userInfo: "common/user/getUserInfo", diff --git a/pages/medicaldes/medicaldes.vue b/pages/medicaldes/medicaldes.vue index eaae000..fb8978b 100644 --- a/pages/medicaldes/medicaldes.vue +++ b/pages/medicaldes/medicaldes.vue @@ -1,23 +1,32 @@