From d648855533329ecb717d36ada69f4b689fa458ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B0=E9=A6=99=E7=90=AA?= <624506849@qq.com> Date: Fri, 10 Jul 2026 13:31:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=BC=BA=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E4=BD=93=E9=AA=8C=E4=B8=8E=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=20-=20=E5=9C=A8=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E7=BB=84=E4=BB=B6=E4=B8=AD=E6=B7=BB=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=99=BB=E5=BD=95=E7=8A=B6=E6=80=81=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=EF=BC=8C=E7=A1=AE=E4=BF=9D=E7=94=A8=E6=88=B7=E5=9C=A8=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E7=89=B9=E5=AE=9A=E6=93=8D=E4=BD=9C=E5=89=8D=E5=B7=B2?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E3=80=82=20-=20=E6=9B=B4=E6=96=B0=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=BD=A6=E3=80=81=E6=B6=88=E6=81=AF=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E7=AD=89=E7=BB=84=E4=BB=B6=E7=9A=84=E7=82=B9=E5=87=BB=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E6=9C=AA=E7=99=BB=E5=BD=95=E6=97=B6=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E3=80=82=20-=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=98=E6=83=A0=E5=88=B8=E9=A2=86=E5=8F=96?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E6=9C=AA=E7=99=BB=E5=BD=95=E6=97=B6?= =?UTF-8?q?=E5=BC=95=E5=AF=BC=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E3=80=82?= =?UTF-8?q?=20-=20=E8=B0=83=E6=95=B4=E6=A0=B7=E5=BC=8F=E4=BB=A5=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E7=BB=84=E4=BB=B6=E4=B8=80=E8=87=B4=E6=80=A7=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E7=94=A8=E6=88=B7=E7=95=8C=E9=9D=A2=E5=8F=8B?= =?UTF-8?q?=E5=A5=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buyer/src/components/fixed/index.vue | 49 +++- buyer/src/components/header/Header.vue | 47 +++- .../indexDecorate/modelList/Carousel.vue | 36 ++- buyer/src/pages/CouponCenter.vue | 21 ++ buyer/src/pages/SignUp.vue | 17 +- buyer/src/pages/home/memberCenter/Profile.vue | 38 ++- buyer/src/pages/payment/Pay.vue | 13 +- buyer/vue.config.js | 8 +- manager/src/api/member.js | 7 + manager/src/components/affix-time.vue | 4 +- manager/src/styles/element.scss | 10 + manager/src/views/member/list/index.vue | 24 +- .../template/statisticsHotWords.vue | 2 +- .../goods/goods-seller/goodsOperationSec.vue | 48 +++- .../src/views/lili-components/affix-time.vue | 4 +- .../views/promotion/seckill/seckill-setup.vue | 133 ---------- seller/src/views/shop/wap/advertising.vue | 216 ---------------- .../src/views/shop/wap/alertAdvertising.vue | 233 ------------------ seller/src/views/shop/wap/index.js | 18 +- seller/src/views/shop/wap/index.vue | 86 +------ seller/src/views/shop/wap/main.vue | 8 +- seller/src/views/shop/wap/navbar.vue | 29 +-- seller/vue.config.js | 11 + 23 files changed, 302 insertions(+), 760 deletions(-) delete mode 100644 seller/src/views/promotion/seckill/seckill-setup.vue delete mode 100644 seller/src/views/shop/wap/advertising.vue delete mode 100644 seller/src/views/shop/wap/alertAdvertising.vue diff --git a/buyer/src/components/fixed/index.vue b/buyer/src/components/fixed/index.vue index c0221dfc..aa4cb442 100644 --- a/buyer/src/components/fixed/index.vue +++ b/buyer/src/components/fixed/index.vue @@ -10,6 +10,7 @@ diff --git a/buyer/src/components/header/Header.vue b/buyer/src/components/header/Header.vue index e3e65679..31662b75 100644 --- a/buyer/src/components/header/Header.vue +++ b/buyer/src/components/header/Header.vue @@ -124,9 +124,27 @@ export default { } }, methods: { - goToPay() { // 跳转购物车 - let url = this.$router.resolve({ - path: '/cart' + goToPay() { + if (!this.userInfo.username) { + Modal.confirm({ + title: '温馨提示', + content: '请登录后执行此操作', + okText: '立即登录', + cancelText: '取消', + onOk: () => { + this.$router.push({ + path: '/login', + query: { + rePath: '/cart', + query: JSON.stringify(this.$route.query || {}), + }, + }); + }, + }); + return; + } + const url = this.$router.resolve({ + path: '/cart', }); window.open(url.href, '_blank'); }, @@ -169,16 +187,29 @@ export default { } }, shopEntry() { - // 店铺入驻 if (storage.getItem('accessToken')) { - let routeUrl = this.$router.resolve({ + const routeUrl = this.$router.resolve({ path: '/shopEntry', - query: {id: 1} + query: { id: 1 }, }); window.open(routeUrl.href, '_blank'); - } else { - this.$router.push('login'); + return; } + Modal.confirm({ + title: '温馨提示', + content: '请登录后执行此操作', + okText: '立即登录', + cancelText: '取消', + onOk: () => { + this.$router.push({ + path: '/login', + query: { + rePath: '/shopEntry', + query: JSON.stringify({ id: 1 }), + }, + }); + }, + }); }, handleCartDropdownVisible(visible) { if (visible) { diff --git a/buyer/src/components/indexDecorate/modelList/Carousel.vue b/buyer/src/components/indexDecorate/modelList/Carousel.vue index fb4fe430..16f08125 100644 --- a/buyer/src/components/indexDecorate/modelList/Carousel.vue +++ b/buyer/src/components/indexDecorate/modelList/Carousel.vue @@ -51,7 +51,7 @@ -->
-
登录
+
登录
注册
@@ -84,6 +84,7 @@ - - diff --git a/seller/src/views/shop/wap/advertising.vue b/seller/src/views/shop/wap/advertising.vue deleted file mode 100644 index 43679a3d..00000000 --- a/seller/src/views/shop/wap/advertising.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - diff --git a/seller/src/views/shop/wap/alertAdvertising.vue b/seller/src/views/shop/wap/alertAdvertising.vue deleted file mode 100644 index eb3823ad..00000000 --- a/seller/src/views/shop/wap/alertAdvertising.vue +++ /dev/null @@ -1,233 +0,0 @@ - - - diff --git a/seller/src/views/shop/wap/index.js b/seller/src/views/shop/wap/index.js index 37aa9768..37dca4b2 100644 --- a/seller/src/views/shop/wap/index.js +++ b/seller/src/views/shop/wap/index.js @@ -1,17 +1,7 @@ -import index from './index.vue' //首页 - -import advertising from './advertising.vue' //全屏活动 -import alertAdvertising from './alertAdvertising.vue' //弹窗活动 - - +import index from "./index.vue"; const templates = { - index, + index, +}; - advertising, - alertAdvertising -} - - - -export default templates +export default templates; diff --git a/seller/src/views/shop/wap/index.vue b/seller/src/views/shop/wap/index.vue index e97219de..bf52b77e 100644 --- a/seller/src/views/shop/wap/index.vue +++ b/seller/src/views/shop/wap/index.vue @@ -81,7 +81,6 @@ import Draggable from "vuedraggable"; import { modelData } from "./config"; import decorate from "./decorate"; import * as API_Other from "@/api/other"; -import * as API_Promotions from "@/api/promotion"; export default { components: { Draggable, @@ -192,80 +191,17 @@ export default { }, // 右侧栏回调 handleDrawer(val) { - let newIndex = this.selected; - if (val.promotionsType) { - if (this.contentData.list[newIndex].options.list.length >= 2) { - this.$Message.error("最多只能展示两个活动"); - return; - } - if (val.promotionsType === "LIVE") { - API_Promotions.getLiveList({ - status: "START", - pageSize: 1, - pageNumber: 1, - }).then((listRes) => { - const records = listRes.result?.records || []; - if (!listRes.success || records.length === 0) { - this.$Message.warning("暂无进行中的直播活动"); - return; - } - API_Promotions.getLiveInfo(records[0].id).then((infoRes) => { - if (infoRes.success) { - this.contentData.list[newIndex].options.list.push({ - type: val.promotionsType, - title: val.name, - title1: val.subName, - color1: val.subColor, - bk_color: val.subBkColor, - data: infoRes.result.commodityList - ? infoRes.result.commodityList.splice(0, 2) - : [], - }); - } - }); - }); - } else { - API_Promotions.getAllPromotion().then((res) => { - let exist = this.contentData.list[newIndex].options.list.find( - (i) => i.type === val.promotionsType - ); - - if (res.success && !exist) { - this.contentData.list[newIndex].options.list.push({ - data: res.result[val.promotionsType] - ? res.result[val.promotionsType].splice(0, 2) - : [], - type: val.promotionsType, - title1: val.subName, - color1: val.subColor, - bk_color: val.subBkColor, - title: val.name, - }); - } - }); - } - this.contentData.list[newIndex] = { - ...val, - options: { - ...this.contentData.list[newIndex].options, - }, - model: val.type, - }; - } else { - this.decorateData = ""; - - this.contentData.list[newIndex] = { - ...val, - options: { - ...val.options, - }, - model: val.type, - }; - this.contentData.list = JSON.parse( - JSON.stringify(this.contentData.list) - ); - this["decorateData"] = this.contentData.list[newIndex]; - } + const newIndex = this.selected; + this.decorateData = ""; + this.contentData.list[newIndex] = { + ...val, + options: { + ...val.options, + }, + model: val.type, + }; + this.contentData.list = JSON.parse(JSON.stringify(this.contentData.list)); + this.decorateData = this.contentData.list[newIndex]; }, // 封装拖拽参数 diff --git a/seller/src/views/shop/wap/main.vue b/seller/src/views/shop/wap/main.vue index 9b3ea637..60ddf2eb 100644 --- a/seller/src/views/shop/wap/main.vue +++ b/seller/src/views/shop/wap/main.vue @@ -22,13 +22,7 @@ export default { }; }, mounted() { - if (this.$route.query.pagetype == "ALERT") { - this.name = "alertAdvertising"; - } - if (this.$route.query.pagetype == "OPEN_SCREEN_ANIMATION") { - this.name = "advertising"; - } - this.pagetype = this.$route.query.pagetype; + this.pagetype = this.$route.query.pagetype || "INDEX"; }, methods: { selected(val) { diff --git a/seller/src/views/shop/wap/navbar.vue b/seller/src/views/shop/wap/navbar.vue index cfd6bb24..d0d5c6ac 100644 --- a/seller/src/views/shop/wap/navbar.vue +++ b/seller/src/views/shop/wap/navbar.vue @@ -68,22 +68,11 @@ export default { num: 20, // 提交进度 saveDialog: false, // 加载状态 way: [ - // 装修tab栏切换 { title: "首页", name: "index", selected: true, }, - { - title: "全屏广告", - name: "advertising", - selected: false, - }, - { - title: "弹窗广告", - name: "ALERT", - selected: false, - }, ], submitWay: { @@ -102,10 +91,6 @@ export default { this.way.push({ title: "首页", name: "index", selected: true }); } else if (val == "SPECIAL") { this.way.push({ title: "专题", name: "special", selected: true }); - } else if (val == "ALERT") { - this.way.push({ title: "开屏广告", name: "alert", selected: true }); - }else if (val == "OPEN_SCREEN_ANIMATION") { - this.way.push({ title: "app开屏页面", name: "OPEN_SCREEN_ANIMATION", selected: true }); } }, immediate: true, @@ -144,7 +129,7 @@ export default { save() { if ( this.$store.state.styleStore == void 0 && - (this.$route.query.pagetype && this.$route.query.pagetype != 'ALERT' && this.$route.query.pagetype != 'OPEN_SCREEN_ANIMATION') + this.$route.query.pagetype != 'SPECIAL' ) { this.$Message.error("请装修楼层"); return false; @@ -155,17 +140,9 @@ export default { : (this.submitWay.pageShow = "CLOSE"); this.submitWay.pageData = JSON.stringify(this.$store.state.styleStore); - this.submitWay.pageType = "INDEX"; - this.submitWay.pageType = this.$route.query.pagetype || "INDEX"; - // this.submitWay.pageType = this.pagetype; + this.submitWay.pageType = this.$route.query.pagetype || "INDEX"; - if (this.$route.query.pagetype == 'ALERT' || this.$route.query.pagetype == 'OPEN_SCREEN_ANIMATION') { - this.update(this.submitWay); - } else { - this.$route.query.id ? this.updateHome() : this.submit(this.submitWay); - } - - // this.$route.query.id ? this.update() : this.submit(this.submitWay); + this.$route.query.id ? this.updateHome() : this.submit(this.submitWay); }, // 更新 diff --git a/seller/vue.config.js b/seller/vue.config.js index eb39840d..01ba27ae 100644 --- a/seller/vue.config.js +++ b/seller/vue.config.js @@ -31,6 +31,17 @@ module.exports = { }, devServer: { port: configs.port, + client: { + overlay: { + runtimeErrors: (error) => { + const message = error?.message || ""; + if (message.includes("ResizeObserver loop")) { + return false; + } + return true; + }, + }, + }, }, productionSourceMap: false, configureWebpack: {