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 @@
-
-
-
-
-
??
-
-
-
-
![]()
-
-
-
-
-
-
-
-
????
-
-
-
-
-
-
-
????
-
-
![]()
-
-
- ????
- {{ item.size }}
-
-
-
- ????
-
-
-
-
-
-
-
-
??????
-
-
- {{ result.pageShow === "OPEN" ? "??" : "??" }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
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 @@
-
-
-
-
-
首页
-
-
-
-
![]()
-
-
-
-
-
-
-
弹窗广告
-
-
-
-
-
-
-
-
选择图片
-
-
![]()
-
-
- 建议尺寸
- {{ item.size }}
-
-
-
- 选择链接
-
-
-
-
-
-
-
-
当前页面状态
-
-
- {{ result.pageShow === "OPEN" ? "开启" : "关闭" }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
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: {