diff --git a/App.vue b/App.vue index 90fcdf4..caf4b61 100644 --- a/App.vue +++ b/App.vue @@ -33,34 +33,8 @@ import { /** - * 监听返回 + * 监听返回(页面级 onBackPress 在 App.vue 不生效,保留空实现避免误导) */ - onBackPress(e) { - console.log("onBackPress-APP", e); - if (e.from == "backbutton") { - let routes = getCurrentPages(); - let curRoute = routes[routes.length - 1].options; - routes.forEach((item) => { - if ( - item.route == "pages/tabbar/cart/cartList" || - item.route.indexOf("pages/product/goods") != -1 - ) { - uni.redirectTo({ - url: item.route, - }); - } - }); - - if (curRoute.addId) { - uni.reLaunch({ - url: "/pages/tabbar/cart/cartList", - }); - } else { - uni.navigateBack(); - } - return true; //阻止默认返回行为 - } - }, onLaunch: function(val) { if(val.query.inviter){ storage.setInviter(val.query.inviter) diff --git a/README.md b/README.md index e6ad5a3..6ec9b08 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ LILISHOP 是基于 Spring Boot / Spring Cloud / Vue / Uniapp 开发的 Java 开 ### 1. 项目简介 **Lilishop** 是一款功能完善的B2B2C多商户商城系统,采用前后端分离架构,全端代码开源。 -后端基于 **SpringBoot3** 构建,具备高内聚、低耦合的特性,支持分布式部署。 +后端基于 **SpringBoot4** 构建,具备高内聚、低耦合的特性,支持分布式部署。 前端覆盖PC、H5、小程序和APP,基于 **Vue** 和 **uni-app** 开发。 - **官方网站**: diff --git a/components/m-airbtn/index.vue b/components/m-airbtn/index.vue index 72e40df..00566e1 100644 --- a/components/m-airbtn/index.vue +++ b/components/m-airbtn/index.vue @@ -15,12 +15,13 @@ + + diff --git a/pages/mine/set/editionIntro.vue b/pages/mine/set/editionIntro.vue index 5f60ca1..0fe7edb 100644 --- a/pages/mine/set/editionIntro.vue +++ b/pages/mine/set/editionIntro.vue @@ -14,17 +14,17 @@ - + - - - + + + - - - - + + + + @@ -131,21 +131,25 @@ export default { + diff --git a/pages/mine/set/feedBack.vue b/pages/mine/set/feedBack.vue index 09a0350..51b50c7 100644 --- a/pages/mine/set/feedBack.vue +++ b/pages/mine/set/feedBack.vue @@ -1,36 +1,55 @@ @@ -45,7 +64,15 @@ export default { storage, config, feedBack: { - type: "FUNCTION", //默认反馈问题为 '功能相关' + type: "FUNCTION", + context: "", + mobile: "", + }, + inputStyle: { + background: "#fafafa", + borderRadius: "12rpx", + padding: "0 24rpx", + height: "80rpx", }, uploadFileList: [], list: [ @@ -116,49 +143,86 @@ export default { diff --git a/pages/mine/set/setUp.vue b/pages/mine/set/setUp.vue index 3ee6382..1fa442e 100644 --- a/pages/mine/set/setUp.vue +++ b/pages/mine/set/setUp.vue @@ -14,21 +14,21 @@ - + - + - - + + @@ -148,12 +148,14 @@ export default { + diff --git a/pages/order/fillorder.vue b/pages/order/fillorder.vue index f4da841..5257ebd 100644 --- a/pages/order/fillorder.vue +++ b/pages/order/fillorder.vue @@ -342,9 +342,8 @@
@@ -443,7 +442,7 @@ export default { masterWay: "", //团长信息 pintuanFlage: true, //是开团还是拼团 notSupportFreight: [], //不支持运费 - notSupportFreightGoodsList: ["以下商品超出配送范围:"], + notSupportFreightNoticeText: "", storeAddress: "", originOrderData:"", // 原始订单数据 @@ -466,29 +465,20 @@ export default { * 监听返回 */ onBackPress(e) { - console.log("onBackPress", e); if (e.from == "backbutton") { - let routes = getCurrentPages(); - let curRoute = routes[routes.length - 1].options; - routes.forEach((item) => { - if ( - item.route == "pages/tabbar/cart/cartList" || - item.route.indexOf("pages/product/goods") != -1 - ) { - uni.navigateTo({ - url: item.route, - }); - } - }); - console.log("curRoute.addId",curRoute.addId) + const curRoute = getCurrentPages().slice(-1)[0]?.options || {}; if (curRoute.addId) { uni.reLaunch({ url: "/pages/tabbar/cart/cartList", }); + } else if (this.routerVal?.way === "CART") { + uni.switchTab({ + url: "/pages/tabbar/cart/cartList", + }); } else { uni.navigateBack(); } - return true; //阻止默认返回行为 + return true; } }, @@ -500,18 +490,19 @@ export default { uni.showLoading({ mask: true, }); - await this.getOrderList(); - await this.getDistribution(); - if (this.$store.state.isShowToast) { + try { + await this.getOrderList(); + await this.getDistribution(); + if (this.routerVal.way == "PINTUAN") { + this.isAssemble = true; + this.routerVal.parentOrder = JSON.parse( + decodeURIComponent(this.routerVal.parentOrder) + ); + this.pintuanWay(); + } + } finally { uni.hideLoading(); } - if (this.routerVal.way == "PINTUAN") { - this.isAssemble = true; - this.routerVal.parentOrder = JSON.parse( - decodeURIComponent(this.routerVal.parentOrder) - ); - this.pintuanWay(); - } }, mounted() {}, @@ -780,33 +771,31 @@ export default { }, // 获取结算参数 - async getOrderList() { + getOrderList() { this.notSupportFreight = []; - // 获取结算参数 - API_Trade.getCheckoutParams(this.routerVal.way).then((res) => { + this.notSupportFreightNoticeText = ""; + return API_Trade.getCheckoutParams(this.routerVal.way).then((res) => { // 获取结算参数 进行首次判断 - this.originOrderData = this.orderMessage ? JSON.parse(JSON.stringify(this.orderMessage)) : "" - + this.originOrderData = this.orderMessage + ? JSON.parse(JSON.stringify(this.orderMessage)) + : null; + if ( !res.data.result.checkedSkuList || res.data.result.checkedSkuList.length === 0 ) { - - if(!this.originOrderData.checkedSkuList.length){ + if (!this.originOrderData?.checkedSkuList?.length) { uni.switchTab({ url: "/pages/tabbar/cart/cartList", }); } - } if (res.data.result.skuList.length <= 0) { - - if(!this.originOrderData.skuList.length){ + if (!this.originOrderData?.skuList?.length) { uni.navigateTo({ url: "/pages/order/myOrder?status=0", }); } - } let repeatData; @@ -849,9 +838,9 @@ export default { res.data.result.notSupportFreight.length != 0 ) { this.notSupportFreight = res.data.result.notSupportFreight; - + this.notSupportFreightNoticeText = "以下商品超出配送范围:"; res.data.result.notSupportFreight.forEach((item) => { - this.notSupportFreightGoodsList[0] += item.goodsSku.goodsName; + this.notSupportFreightNoticeText += item.goodsSku.goodsName; }); } }); diff --git a/pages/order/orderDetail.vue b/pages/order/orderDetail.vue index f5c54a1..90f2281 100644 --- a/pages/order/orderDetail.vue +++ b/pages/order/orderDetail.vue @@ -3,8 +3,8 @@
- {{ orderStatusMap[order.orderStatus].title }} -
{{ orderStatusMap[order.orderStatus].value }}
+ {{ orderStatusMap[order.orderStatus].title }} + {{ orderStatusMap[order.orderStatus].value }}
@@ -573,11 +573,14 @@ export default { color: #fff; width: 100%; text-align: center; - font-size: 30rpx; - font-weight: 500; margin-top: 36rpx; - >div { + .order-status-title { + font-size: 44rpx; + font-weight: 600; + } + + .order-status-desc { font-size: 22rpx; font-weight: normal; margin-top: 8rpx; diff --git a/pages/passport/login.vue b/pages/passport/login.vue index 0a72add..42a0b20 100644 --- a/pages/passport/login.vue +++ b/pages/passport/login.vue @@ -1,6 +1,6 @@ @@ -80,11 +134,14 @@ export default { }, onLoad() {}, async onPullDownRefresh() { + // #ifndef H5 this.categoryIndexData[this.tabIndex].goods = []; this.categoryIndexData[this.tabIndex].params.pageNumber = 1; this.categoryIndexData[this.tabIndex].loadStatus = "more"; this.loadGoods(); + // #endif }, + // #ifndef H5 onPageScroll(e) { if (e.scrollTop < -40 && this.flag) { this.flag = false; @@ -95,6 +152,7 @@ export default { this.loadGoods(); } }, + // #endif watch: { tabIndex(val) { if ( @@ -175,7 +233,9 @@ export default { }, 3000); } + // #ifndef H5 uni.stopPullDownRefresh(); + // #endif }, setCat(type) { this.tabIndex = type; @@ -189,12 +249,21 @@ export default { } }, loadMore() { - if (this.categoryIndexData[this.tabIndex].loadStatus == "more") { - this.categoryIndexData[this.tabIndex].params.pageNumber++; - this.loadGoods(); + if (this.categoryIndexData[this.tabIndex].loadStatus !== "more") { + return; } + this.categoryIndexData[this.tabIndex].params.pageNumber++; + this.loadGoods(); }, }, + // #ifdef H5 + onReachBottom() { + if (this.categoryIndexData[this.tabIndex].loadStatus !== 'more') { + return; + } + this.loadMore(); + }, + // #endif }; + diff --git a/pages/promotion/point/user.vue b/pages/promotion/point/user.vue index b10a8fb..20040ff 100644 --- a/pages/promotion/point/user.vue +++ b/pages/promotion/point/user.vue @@ -35,6 +35,7 @@ export default { .user-point { padding: 0 20rpx; height: 300rpx; + flex-shrink: 0; background: url("/static/point-bg.png") no-repeat; background-size: 100%; display: flex; diff --git a/pages/tabbar/cart/cartList.vue b/pages/tabbar/cart/cartList.vue index 98fb353..1f8c0d1 100644 --- a/pages/tabbar/cart/cartList.vue +++ b/pages/tabbar/cart/cartList.vue @@ -119,24 +119,24 @@ - -
-
- - 总计: - ¥{{ goodsFormatPrice(cartDetail.priceDetailDTO.flowPrice)[0] }}.{{ goodsFormatPrice(cartDetail.priceDetailDTO.flowPrice)[1] }} - - 总计:0.00 -
-
- 优惠减:¥{{(cartDetail.priceDetailDTO.goodsPrice -unitPrice(cartDetail.priceDetailDTO.flowPrice))}} - - 优惠明细 -
-
-
+ + + 总计: + + ¥ + {{ goodsFormatPrice(cartDetail.priceDetailDTO.flowPrice)[0] }} + .{{ goodsFormatPrice(cartDetail.priceDetailDTO.flowPrice)[1] }} + + ¥0.00 + + + 优惠减:¥{{ cartDetail.priceDetailDTO.goodsPrice - unitPrice(cartDetail.priceDetailDTO.flowPrice) }} + 优惠明细 + + @@ -851,7 +851,50 @@ page { } .checkout-total { - margin-left: 8rpx; + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + justify-content: center; + } + + .checkout-total-main { + display: flex; + align-items: baseline; + line-height: 1.2; + } + + .checkout-total-label { + font-size: 28rpx; + color: #333; + flex-shrink: 0; + } + + .checkout-total-price { + margin-left: 4rpx; + font-size: 30rpx; + font-weight: bold; + color: $main-color; + line-height: 1.2; + } + + .checkout-total-int { + font-size: 38rpx; + font-weight: bold; + } + + .checkout-total-dec { + font-size: 24rpx; + font-weight: bold; + } + + .checkout-total-discount { + display: flex; + align-items: center; + margin-top: 4rpx; + font-size: 24rpx; + color: #c9c7c7; + line-height: 1.2; } } @@ -889,17 +932,6 @@ page { } } -.prices { - display: flex; - flex-direction: column; - - > .discountPrice { - align-items: center; - display: flex; - font-size: 24rpx; - color: rgb(201, 199, 199); - } -} .discount-details { margin-left: 10px; color: #666;