From 2747cb49ae63218090259e1d3e4b2b0d6b39ebd3 Mon Sep 17 00:00:00 2001 From: jinhhanhan <1683105490@qq.com> Date: Wed, 8 Apr 2026 18:20:03 +0800 Subject: [PATCH 1/6] =?UTF-8?q?chore=EF=BC=9A=E5=BC=B9=E5=87=BA=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E9=9A=90=E7=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .local.config.js | 8 +++++-- pages/index/public/js/index.js | 41 +++++++++++++++++++++------------- 2 files changed, 32 insertions(+), 17 deletions(-) diff --git a/.local.config.js b/.local.config.js index 6386cb0..33e9652 100644 --- a/.local.config.js +++ b/.local.config.js @@ -41,7 +41,11 @@ const localDevConfig = ({ 'local-2': { // 测试平台 uniacid: 2, domain: 'http://localhost:8050/', - }, -})['2811']; // 选择要使用的环境配置 + }, + '47': { + uniacid: 47, + domain: 'https://5g.aigc-quickapp.com/', + }, +})['47']; // 选择要使用的环境配置 export default localDevConfig; \ No newline at end of file diff --git a/pages/index/public/js/index.js b/pages/index/public/js/index.js index 71f7513..f8896df 100644 --- a/pages/index/public/js/index.js +++ b/pages/index/public/js/index.js @@ -1,27 +1,25 @@ export default { data() { return { - minScrollTop: 100, // 设置回到顶端按钮显示要求,最小页面滚动距离 - wechatQrcode: '', // 公众号二维码 + minScrollTop: 100, + wechatQrcode: '', diyRoute: '/pages/index/index' }; }, onLoad(option) { // #ifdef H5 - // H5地图选择位置回调数据 if (option.module && option.module == 'locationPicker') { - option.name = ''; // 清空地址 + option.name = ''; } // #endif - this.name = option.name || 'DIY_VIEW_INDEX'; // 根据店铺运营模式,打开平台(shop)或者连锁门店(stroe)页面,接口会自行判断 - + this.name = option.name || 'DIY_VIEW_INDEX'; }, onShow() { - // 获取关注公众号二维码 this.getFollowQrcode(); + // 页面显示时,检查是否需要弹窗 + this.checkAndShowPrivacy(); }, mounted() { - // 监听图片、文字、商品列表等组件的点击事件 this.unsubscribe = this.$eventBus?.onMany([ 'rubik-cube-tap', 'picture-tap', @@ -37,10 +35,29 @@ export default { ], this._handleDiyGroupInteractionEvent); }, beforeDestroy() { - // 移除图片点击事件监听 if (this.unsubscribe) this.unsubscribe(); }, methods: { + // --- 新增:检查并显示隐私弹窗 --- + checkAndShowPrivacy() { + // 1. 为了测试,先强制清除缓存(正式发布时请删除下面这行) + uni.removeStorageSync('privacyAgreed'); + + // 2. 获取缓存状态 + const hasAgreed = uni.getStorageSync('privacyAgreed'); + + // 3. 如果没有同意过,且组件已加载,强制调用组件的 popUp 方法 + if (!hasAgreed) { + this.$nextTick(() => { + if (this.$refs.privacyPopup) { + console.log('强制调用 privacyPopup.popUp()'); + // 直接调用组件里的 popUp 方法,把 showPop 设为 true + this.$refs.privacyPopup.popUp(); + } + }); + } + }, + // 关注公众号 getFollowQrcode() { if (!this.$util.isWeiXin()) return; @@ -62,20 +79,14 @@ export default { // 统一处理点击及触摸事件 _handleDiyGroupInteractionEvent(payload) { // #ifdef H5 - // 如果是 H5 环境,直接返回 true 继续传播 return true; // #endif - // 如果已登录,直接返回 true 继续传播 if (this.storeToken) { return true; } - // 打开登录弹窗 - // console.log('==> _handleDiyGroupInteractionEvent, 未登录,打开登录弹窗', { payload }) this.$refs.login?.open(); - - // 阻止事件继续传播 return false; } } -- 2.49.1 From 61ab9f11bd6ccec65fc43dfd6c7327c2b4f51532 Mon Sep 17 00:00:00 2001 From: jinhhanhan <1683105490@qq.com> Date: Thu, 9 Apr 2026 09:35:08 +0800 Subject: [PATCH 2/6] =?UTF-8?q?chore=EF=BC=9AH5=E5=8F=AA=E5=BC=B9=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=EF=BC=8C=E7=82=B9=E5=87=BB=E5=90=8C=E6=84=8F=E5=90=8E?= =?UTF-8?q?=E5=B0=B1=E4=B8=8D=E5=BC=B9=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/index/public/js/index.js | 190 ++++++++++++++++++--------------- 1 file changed, 104 insertions(+), 86 deletions(-) diff --git a/pages/index/public/js/index.js b/pages/index/public/js/index.js index f8896df..76bce50 100644 --- a/pages/index/public/js/index.js +++ b/pages/index/public/js/index.js @@ -1,93 +1,111 @@ export default { - data() { - return { - minScrollTop: 100, - wechatQrcode: '', - diyRoute: '/pages/index/index' - }; - }, - onLoad(option) { - // #ifdef H5 - if (option.module && option.module == 'locationPicker') { - option.name = ''; - } - // #endif - this.name = option.name || 'DIY_VIEW_INDEX'; - }, - onShow() { - this.getFollowQrcode(); - // 页面显示时,检查是否需要弹窗 - this.checkAndShowPrivacy(); - }, - mounted() { - this.unsubscribe = this.$eventBus?.onMany([ - 'rubik-cube-tap', - 'picture-tap', - 'text-tap', - 'goods-list-tap', - 'presale-tap', - 'notes-tap', - 'merch-list-tap', - 'map-tap', - 'img-ads-tap', - 'many-goods-list-tap', - 'search-tap', - ], this._handleDiyGroupInteractionEvent); - }, - beforeDestroy() { - if (this.unsubscribe) this.unsubscribe(); - }, - methods: { - // --- 新增:检查并显示隐私弹窗 --- - checkAndShowPrivacy() { - // 1. 为了测试,先强制清除缓存(正式发布时请删除下面这行) - uni.removeStorageSync('privacyAgreed'); + data() { + return { + minScrollTop: 100, + wechatQrcode: '', + diyRoute: '/pages/index/index', + // 新增一个标记,用于记录当前页面是否已经处理过隐私协议 + hasCheckedPrivacy: false + }; + }, + onLoad(option) { + // #ifdef H5 + if (option.module && option.module == 'locationPicker') { + option.name = ''; + } + // #endif + this.name = option.name || 'DIY_VIEW_INDEX'; - // 2. 获取缓存状态 - const hasAgreed = uni.getStorageSync('privacyAgreed'); + // 调试用:强制清除缓存(上线前请删除!) + // uni.removeStorageSync('privacyAgreed'); - // 3. 如果没有同意过,且组件已加载,强制调用组件的 popUp 方法 - if (!hasAgreed) { - this.$nextTick(() => { - if (this.$refs.privacyPopup) { - console.log('强制调用 privacyPopup.popUp()'); - // 直接调用组件里的 popUp 方法,把 showPop 设为 true - this.$refs.privacyPopup.popUp(); - } - }); - } - }, + // 页面加载时检查 + this.checkPrivacy(); + }, + onShow() { + this.getFollowQrcode(); + // 注意:这里不再调用 checkPrivacy,完全依赖 onLoad 和 用户交互 + }, + mounted() { + this.unsubscribe = this.$eventBus?.onMany( + [ + 'rubik-cube-tap', + 'picture-tap', + 'text-tap', + 'goods-list-tap', + 'presale-tap', + 'notes-tap', + 'merch-list-tap', + 'map-tap', + 'img-ads-tap', + 'many-goods-list-tap', + 'search-tap' + ], + this.handleTap + ); + }, + methods: { + handleTap(type, item) { + // ... 你的原有逻辑 ... + }, + getFollowQrcode() { + // ... 你的原有逻辑 ... + }, - // 关注公众号 - getFollowQrcode() { - if (!this.$util.isWeiXin()) return; - this.$api.sendRequest({ - url: '/wechat/api/wechat/followqrcode', - success: res => { - if (res.code >= 0 && res.data) { - this.wechatQrcode = res.data.qrcode; - } - } - }); - }, - officialAccountsOpen() { - this.$refs.officialAccountsPopup.open(); - }, - officialAccountsClose() { - this.$refs.officialAccountsPopup.close(); - }, - // 统一处理点击及触摸事件 - _handleDiyGroupInteractionEvent(payload) { - // #ifdef H5 - return true; - // #endif + // --- 核心修改区域 --- - if (this.storeToken) { - return true; - } + /** + * 检查隐私协议 + * 逻辑:只有当 hasCheckedPrivacy 为 false 且 本地没有缓存时,才弹窗 + */ + checkPrivacy() { + // 1. 如果已经检查过了,直接返回,绝不再弹 + if (this.hasCheckedPrivacy) { + return; + } - this.$refs.login?.open(); - return false; - } - } + // 2. 检查本地缓存 + const agreed = uni.getStorageSync('privacyAgreed'); + + if (agreed) { + // 如果有缓存,标记为已检查,不弹窗 + this.hasCheckedPrivacy = true; + console.log('✅ 隐私协议已同意,不再弹出'); + } else { + // 3. 如果没有缓存,标记为已检查(防止 onShow 重复触发),并强制弹窗 + this.hasCheckedPrivacy = true; + console.log('⚠️ 未同意隐私协议,强制弹窗'); + + // 使用 $nextTick 确保 DOM 渲染完成后再操作组件 + this.$nextTick(() => { + const privacyPopup = this.$refs.privacyPopup; + if (privacyPopup) { + // 强制调用组件的 popUp 方法 + privacyPopup.popUp(); + } else { + console.error('❌ 找不到 privacyPopup 组件引用'); + } + }); + } + }, + + /** + * 处理同意隐私协议 + * 逻辑:用户点击同意后,我们**主动**写入缓存 + */ + onAgreePrivacy() { + console.log('🎉 用户点击了同意'); + + // 【关键修复】不管组件内部有没有写,我们在这里强制写入缓存 + uni.setStorageSync('privacyAgreed', true); + + // 标记状态 + this.hasCheckedPrivacy = true; + }, + + onDisagreePrivacy() { + console.log('🚫 用户拒绝了隐私协议'); + // 可以在这里处理退出的逻辑 + } + } } \ No newline at end of file -- 2.49.1 From 0ce929f8a17521d41dc2fcc55914a27413b97520 Mon Sep 17 00:00:00 2001 From: jinhhanhan <1683105490@qq.com> Date: Thu, 9 Apr 2026 10:04:29 +0800 Subject: [PATCH 3/6] =?UTF-8?q?chore=EF=BC=9A=E7=82=B9=E5=87=BB=E5=90=8C?= =?UTF-8?q?=E6=84=8F=E5=90=8E=EF=BC=8C=E7=94=A8=E6=88=B7=E9=9A=90=E7=A7=81?= =?UTF-8?q?=E4=B8=8D=E5=9C=A8=E5=BC=B9=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/privacy-popup/privacy-popup.vue | 38 +++++++++++++---- pages/index/public/js/index.js | 47 +++++----------------- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/components/privacy-popup/privacy-popup.vue b/components/privacy-popup/privacy-popup.vue index 0a53959..11c4544 100644 --- a/components/privacy-popup/privacy-popup.vue +++ b/components/privacy-popup/privacy-popup.vue @@ -158,22 +158,48 @@ export default { success: (res) => { // console.log(res) if (res.needAuthorization) { - this.popUp() - // 额外逻辑:当前页面的隐私弹窗弹起的时候,关掉其他页面的隐私弹窗 - this.closeOtherPagePopUp(this.disPopUp) + // 检查本地存储中是否已经同意过隐私政策 + const privacyAgreed = uni.getStorageSync('privacyAgreed'); + if (!privacyAgreed) { + this.popUp() + // 额外逻辑:当前页面的隐私弹窗弹起的时候,关掉其他页面的隐私弹窗 + this.closeOtherPagePopUp(this.disPopUp) + } else { + this.$emit('agree') + } } else { this.$emit('agree') } }, }); } else { - this.$emit('agree') + // 检查本地存储中是否已经同意过隐私政策 + const privacyAgreed = uni.getStorageSync('privacyAgreed'); + if (privacyAgreed) { + this.$emit('agree'); + } else { + this.popUp() + // 额外逻辑:当前页面的隐私弹窗弹起的时候,关掉其他页面的隐私弹窗 + this.closeOtherPagePopUp(this.disPopUp) + } } // #endif // #ifdef QUICKAPP-WEBVIEW this.getPrivacySettingByQuickApp(); // #endif + + // #ifdef H5 || WEB + // 检查本地存储中是否已经同意过隐私政策 + const privacyAgreed = uni.getStorageSync('privacyAgreed'); + if (privacyAgreed) { + this.$emit('agree'); + } else { + this.popUp() + // 额外逻辑:当前页面的隐私弹窗弹起的时候,关掉其他页面的隐私弹窗 + this.closeOtherPagePopUp(this.disPopUp) + } + // #endif }, //初始化监听程序 curPageShow() { @@ -281,10 +307,8 @@ export default { //关闭弹窗 this.disPopUp() - // #ifdef QUICKAPP-WEBVIEW || H5 || WEB - // 保存用户授权状态到本地存储,用于快应用Webview组件中的H5方式处理 + // 保存用户授权状态到本地存储,用于所有环境 uni.setStorageSync('privacyAgreed', true); - // #endif this.$emit('agree') }, //打开弹窗 diff --git a/pages/index/public/js/index.js b/pages/index/public/js/index.js index 76bce50..0c7242c 100644 --- a/pages/index/public/js/index.js +++ b/pages/index/public/js/index.js @@ -4,7 +4,6 @@ export default { minScrollTop: 100, wechatQrcode: '', diyRoute: '/pages/index/index', - // 新增一个标记,用于记录当前页面是否已经处理过隐私协议 hasCheckedPrivacy: false }; }, @@ -16,15 +15,11 @@ export default { // #endif this.name = option.name || 'DIY_VIEW_INDEX'; - // 调试用:强制清除缓存(上线前请删除!) - // uni.removeStorageSync('privacyAgreed'); - // 页面加载时检查 this.checkPrivacy(); }, onShow() { this.getFollowQrcode(); - // 注意:这里不再调用 checkPrivacy,完全依赖 onLoad 和 用户交互 }, mounted() { this.unsubscribe = this.$eventBus?.onMany( @@ -46,66 +41,46 @@ export default { }, methods: { handleTap(type, item) { - // ... 你的原有逻辑 ... }, getFollowQrcode() { - // ... 你的原有逻辑 ... }, - - // --- 核心修改区域 --- - - /** - * 检查隐私协议 - * 逻辑:只有当 hasCheckedPrivacy 为 false 且 本地没有缓存时,才弹窗 - */ checkPrivacy() { - // 1. 如果已经检查过了,直接返回,绝不再弹 + if (this.hasCheckedPrivacy) { return; } - // 2. 检查本地缓存 + const agreed = uni.getStorageSync('privacyAgreed'); if (agreed) { - // 如果有缓存,标记为已检查,不弹窗 - this.hasCheckedPrivacy = true; - console.log('✅ 隐私协议已同意,不再弹出'); - } else { - // 3. 如果没有缓存,标记为已检查(防止 onShow 重复触发),并强制弹窗 - this.hasCheckedPrivacy = true; - console.log('⚠️ 未同意隐私协议,强制弹窗'); - // 使用 $nextTick 确保 DOM 渲染完成后再操作组件 + this.hasCheckedPrivacy = true; + console.log(' 隐私协议已同意,不再弹出'); + } else { + + this.hasCheckedPrivacy = true; + console.log(' 未同意隐私协议,强制弹窗'); this.$nextTick(() => { const privacyPopup = this.$refs.privacyPopup; if (privacyPopup) { - // 强制调用组件的 popUp 方法 privacyPopup.popUp(); } else { - console.error('❌ 找不到 privacyPopup 组件引用'); + console.error(' 找不到 privacyPopup 组件引用'); } }); } }, - /** - * 处理同意隐私协议 - * 逻辑:用户点击同意后,我们**主动**写入缓存 - */ onAgreePrivacy() { - console.log('🎉 用户点击了同意'); + console.log(' 用户点击了同意'); - // 【关键修复】不管组件内部有没有写,我们在这里强制写入缓存 uni.setStorageSync('privacyAgreed', true); - - // 标记状态 this.hasCheckedPrivacy = true; }, onDisagreePrivacy() { - console.log('🚫 用户拒绝了隐私协议'); - // 可以在这里处理退出的逻辑 + console.log(' 用户拒绝了隐私协议'); } } } \ No newline at end of file -- 2.49.1 From 9c04c031ab8fe835a02682332e1a404e95b7ff0e Mon Sep 17 00:00:00 2001 From: jinhhanhan <1683105490@qq.com> Date: Thu, 9 Apr 2026 10:40:43 +0800 Subject: [PATCH 4/6] =?UTF-8?q?chore=EF=BC=9A=E5=88=A0=E9=99=A4=E5=8E=9F?= =?UTF-8?q?=E6=9D=A5=E7=9A=84=E5=A4=9A=E4=BD=99=E7=9A=84=E8=B0=83=E5=8A=A8?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/index/public/js/index.js | 171 +++++++++++++++++---------------- 1 file changed, 89 insertions(+), 82 deletions(-) diff --git a/pages/index/public/js/index.js b/pages/index/public/js/index.js index 0c7242c..be26fbb 100644 --- a/pages/index/public/js/index.js +++ b/pages/index/public/js/index.js @@ -1,86 +1,93 @@ -export default { - data() { - return { - minScrollTop: 100, - wechatQrcode: '', - diyRoute: '/pages/index/index', - hasCheckedPrivacy: false - }; - }, - onLoad(option) { - // #ifdef H5 - if (option.module && option.module == 'locationPicker') { - option.name = ''; - } - // #endif - this.name = option.name || 'DIY_VIEW_INDEX'; +export default { + data() { + return { + minScrollTop: 100, // 设置回到顶端按钮显示要求,最小页面滚动距离 + wechatQrcode: '', // 公众号二维码 + diyRoute: '/pages/index/index' + }; + }, + onLoad(option) { + // #ifdef H5 + // H5地图选择位置回调数据 + if (option.module && option.module == 'locationPicker') { + option.name = ''; // 清空地址 + } + // #endif + this.name = option.name || 'DIY_VIEW_INDEX'; // 根据店铺运营模式,打开平台(shop)或者连锁门店(stroe)页面,接口会自行判断 - // 页面加载时检查 - this.checkPrivacy(); - }, - onShow() { - this.getFollowQrcode(); - }, - mounted() { - this.unsubscribe = this.$eventBus?.onMany( - [ - 'rubik-cube-tap', - 'picture-tap', - 'text-tap', - 'goods-list-tap', - 'presale-tap', - 'notes-tap', - 'merch-list-tap', - 'map-tap', - 'img-ads-tap', - 'many-goods-list-tap', - 'search-tap' - ], - this.handleTap - ); - }, - methods: { - handleTap(type, item) { - }, - getFollowQrcode() { - }, - checkPrivacy() { - - if (this.hasCheckedPrivacy) { - return; - } + }, + onShow() { + // 获取关注公众号二维码 + this.getFollowQrcode(); + // 检查隐私设置并显示弹窗 + this.checkPrivacySetting(); + }, + mounted() { + // 监听图片、文字、商品列表等组件的点击事件 + this.unsubscribe = this.$eventBus?.onMany([ + 'rubik-cube-tap', + 'picture-tap', + 'text-tap', + 'goods-list-tap', + 'presale-tap', + 'notes-tap', + 'merch-list-tap', + 'map-tap', + 'img-ads-tap', + 'many-goods-list-tap', + 'search-tap', + ], this._handleDiyGroupInteractionEvent); + }, + beforeDestroy() { + // 移除图片点击事件监听 + if (this.unsubscribe) this.unsubscribe(); + }, + methods: { + // 检查隐私设置 + checkPrivacySetting() { + // 延迟执行,确保组件已经挂载 + setTimeout(() => { + if (this.$refs.privacyPopup) { + this.$refs.privacyPopup.proactive(); + } + }, 100); + }, + // 关注公众号 + getFollowQrcode() { + if (!this.$util.isWeiXin()) return; + this.$api.sendRequest({ + url: '/wechat/api/wechat/followqrcode', + success: res => { + if (res.code >= 0 && res.data) { + this.wechatQrcode = res.data.qrcode; + } + } + }); + }, + officialAccountsOpen() { + this.$refs.officialAccountsPopup.open(); + }, + officialAccountsClose() { + this.$refs.officialAccountsPopup.close(); + }, + // 统一处理点击及触摸事件 + _handleDiyGroupInteractionEvent(payload) { + // #ifdef H5 + // 如果是 H5 环境,直接返回 true 继续传播 + return true; + // #endif - - const agreed = uni.getStorageSync('privacyAgreed'); + // 如果已登录,直接返回 true 继续传播 + if (this.storeToken) { + return true; + } - if (agreed) { + // 打开登录弹窗 + // console.log('==> _handleDiyGroupInteractionEvent, 未登录,打开登录弹窗', { payload }) + this.$refs.login?.open(); - this.hasCheckedPrivacy = true; - console.log(' 隐私协议已同意,不再弹出'); - } else { - - this.hasCheckedPrivacy = true; - console.log(' 未同意隐私协议,强制弹窗'); - this.$nextTick(() => { - const privacyPopup = this.$refs.privacyPopup; - if (privacyPopup) { - privacyPopup.popUp(); - } else { - console.error(' 找不到 privacyPopup 组件引用'); - } - }); - } - }, - - onAgreePrivacy() { - console.log(' 用户点击了同意'); - - uni.setStorageSync('privacyAgreed', true); - this.hasCheckedPrivacy = true; - }, - - onDisagreePrivacy() { - console.log(' 用户拒绝了隐私协议'); - } - } -} \ No newline at end of file + // 阻止事件继续传播 + return false; + } + } + } \ No newline at end of file -- 2.49.1 From a285706112bf4b4b70d5f0cb51856aa7ad79f896 Mon Sep 17 00:00:00 2001 From: jinhhanhan <1683105490@qq.com> Date: Thu, 9 Apr 2026 14:56:49 +0800 Subject: [PATCH 5/6] =?UTF-8?q?chore=EF=BC=9A=E7=94=A8=E6=88=B7=E9=9A=90?= =?UTF-8?q?=E7=A7=81=E5=8D=8F=E8=AE=AE=E7=82=B9=E5=87=BB=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E6=84=8F=E5=90=8E=E4=B8=8D=E4=BC=9A=E5=9C=A8=E5=BC=B9=E5=87=BA?= =?UTF-8?q?=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/privacy-popup/privacy-popup.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/privacy-popup/privacy-popup.vue b/components/privacy-popup/privacy-popup.vue index 11c4544..35fb347 100644 --- a/components/privacy-popup/privacy-popup.vue +++ b/components/privacy-popup/privacy-popup.vue @@ -287,6 +287,8 @@ export default { this.privacyResolves.clear() //关闭弹窗 this.disPopUp() + // 保存用户授权状态到本地存储,无论同意还是不同意,都不再重复弹出 + uni.setStorageSync('privacyAgreed', true); //退出小程序 uni.showModal({ content: '未同意隐私协议,无法使用相关功能', -- 2.49.1 From bc6d243362284e694f8eec94b92312212a8f6c1e Mon Sep 17 00:00:00 2001 From: jinhhanhan <1683105490@qq.com> Date: Thu, 9 Apr 2026 15:30:32 +0800 Subject: [PATCH 6/6] chore: --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 4beada8..6a72520 100644 --- a/manifest.json +++ b/manifest.json @@ -104,7 +104,7 @@ }, "router" : { "mode" : "history", - "base" : "/hwappx/2811/" + "base" : "/hwappx/common/" }, "title" : "", "devServer" : { -- 2.49.1