From e77bdc0359274fa22cd757e7b9f4332a4f14e309 Mon Sep 17 00:00:00 2001 From: Zhukj <3262118957> Date: Fri, 19 Dec 2025 14:20:58 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=B7=BB=E5=8A=A0=E4=B8=AD?= =?UTF-8?q?=E8=8B=B1=E6=96=87=E5=88=87=E6=8D=A2=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 29 ++++- common/js/lang.js | 147 +++++++++++++------------ components/hover-nav/hover-nav.vue | 53 ++++++--- lang/en-us/common.js | 43 +++++--- lang/zh-cn/common.js | 26 ++++- node_modules/jweixin-module/README.md | 4 +- pages/contact/contact.vue | 4 - pages/goods/category.vue | 48 +++++++- pages/index/index.vue | 136 +++++++++++------------ pages/member/index.vue | 4 - project.config.json | 151 +++++++++++++------------- project.private.config.json | 24 ++++ 12 files changed, 402 insertions(+), 267 deletions(-) create mode 100644 project.private.config.json diff --git a/App.vue b/App.vue index 061c99f..7cf8351 100644 --- a/App.vue +++ b/App.vue @@ -4,6 +4,8 @@ import { Weixin } from 'common/js/wx-jssdk.js'; + // 新增:引入多语言核心工具类 + import langConfig from '@/common/js/lang.js'; export default { mixins: [auth], @@ -15,6 +17,9 @@ } uni.hideTabBar(); + // 新增:应用启动时初始化多语言(核心修改) + this.initLang(); + // #ifdef MP const updateManager = uni.getUpdateManager(); updateManager.onCheckForUpdate(function(res) { @@ -23,8 +28,8 @@ updateManager.onUpdateReady(function(res) { uni.showModal({ - title: '更新提示', - content: '新版本已经准备好,是否重启应用?', + title: langConfig.lang('common.updateTip'), // 新增:多语言标题 + content: langConfig.lang('common.updateContent'), // 新增:多语言内容 success(res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 @@ -48,8 +53,8 @@ uni.onNetworkStatusChange(function(res) { if (!res.isConnected) { uni.showModal({ - title: '网络失去链接', - content: '请检查网络链接', + title: langConfig.lang('common.networkTip'), // 新增:多语言标题 + content: langConfig.lang('common.networkContent'), // 新增:多语言内容 showCancel: false }); } @@ -144,6 +149,9 @@ // #endif }, onShow: function(options) { + // 新增:应用前台显示时刷新多语言(确保切后台后语言仍生效) + langConfig.refresh(); + // #ifdef MP // 自动授权登录 this.getAuthInfo(); @@ -165,6 +173,19 @@ }, onHide: function() {}, methods: { + // 新增:多语言初始化方法 + initLang() { + // 1. 读取本地存储的语言,无则默认中文 + const currentLang = uni.getStorageSync('lang') || 'zh-cn'; + // 2. 初始化lang.js的locale变量(确保全局语言一致) + langConfig.locale = currentLang; + // 3. 刷新多语言配置(标题、tabBar等) + langConfig.refresh(); + // 4. 挂载全局多语言方法(方便所有页面直接调用) + uni.$lang = langConfig.lang; + // 5. 挂载全局语言切换方法(可选,方便全局调用) + uni.$switchLang = langConfig.change; + }, /** * 获取授权信息 */ diff --git a/common/js/lang.js b/common/js/lang.js index 9a4eff7..d071211 100644 --- a/common/js/lang.js +++ b/common/js/lang.js @@ -1,129 +1,136 @@ const langList = ['zh-cn', 'en-us']; -var locale = uni.getStorageSync('lang') || "zh-cn"; //设置语言 +var locale = uni.getStorageSync('lang') || "zh-cn"; // 设置默认语言 export default { langList: ['zh-cn', 'en-us'], /** - * * 解析多语言 - * @param {Object} field + * 解析多语言 + * @param {String} field 语言包字段(如 'common.title') + * @returns {String} 对应语言的文字 */ lang(field) { let _this = getCurrentPages()[getCurrentPages().length - 1]; - if (!_this) return; + if (!_this) return field; // 无页面时返回原字段,避免undefined - var value = ''; + var value = field; // 默认返回原字段,防止空白 let newRoute; try { - //公共语言包 - var lang = require('../../lang/' + locale + '/common.js').lang; - - //当前页面语言包 + // 1. 加载公共语言包(核心,兜底) + var commonLang = require('../../lang/' + locale + '/common.js').lang; + // 2. 加载当前页面语言包(可选,失败不影响) let route = _this.route.split("/"); newRoute = route.slice(1, route.length); - let currentPageLang = require('../../lang/' + locale + '/' + newRoute.join("/") + '.js').lang; - - for (let f in currentPageLang) { - lang[f] = currentPageLang[f]; + let currentPageLang = {}; + // 容错:页面语言包不存在时不报错 + try { + currentPageLang = require('../../lang/' + locale + '/' + newRoute.join("/") + '.js').lang; + } catch (e) { + console.warn(`当前页面(${newRoute.join("/")})无${locale}语言包`); } + // 合并:页面语言包覆盖公共语言包 + var lang = { ...commonLang, ...currentPageLang }; + // 解析字段(支持多级,如 'common.langSwitchBtn') var arr = field.split("."); if (arr.length > 1) { - for (let i in arr) { - var next = parseInt(i) + 1; - if (next < arr.length) { - value = lang[arr[i]][arr[next]]; - } + value = lang; // 初始化为完整语言包 + for (let i = 0; i < arr.length; i++) { + if (!value[arr[i]]) break; // 字段不存在时终止,避免报错 + value = value[arr[i]]; } - } else { - value = lang[field]; + value = lang[field] || field; // 字段不存在返回原字段 } } catch (e) { - if (field.indexOf("common.") != -1 || field.indexOf("tabBar.") != -1) { - value = lang[field]; - } else { - value = field; - } - + console.error("语言包解析失败:", e); + value = field; // 兜底:返回原字段,避免空白 } + // 替换参数(如 'hello {0}' → 'hello 世界') if (arguments.length > 1) { - //有参数,需要替换 for (var i = 1; i < arguments.length; i++) { - value = value.replace("{" + (i - 1) + "}", arguments[i]); + value = value.replace("{" + (i - 1) + "}", arguments[i] || ""); } } - if (value == undefined || (value == 'title' && field == 'title')) value = ''; // field - return value; + // 最终兜底:避免返回undefined/空字符串 + return value || field; }, - //切换语言 + // 切换语言(核心修复:防白屏+全局事件) change(value) { - let _this = getCurrentPages()[getCurrentPages().length - 1]; - if (!_this) return; - + // 1. 校验语言值合法性 + if (!langList.includes(value)) { + console.error("语言值不合法:", value); + return; + } + // 2. 保存语言到本地存储 uni.setStorageSync("lang", value); - locale = uni.getStorageSync('lang') || "zh-cn"; //设置语言 - + locale = value; // 更新全局locale,立即生效 + // 3. 刷新标题/tabBar(保留原有逻辑) this.refresh(); - - uni.reLaunch({ - url: '/pages/member/index' - }); + // 4. 触发全局语言切换事件(通知所有页面/组件更新) + uni.$emit('lang-changed', value); + // 5. 修复白屏:延迟重启当前页面(而非固定会员页) + setTimeout(() => { + let currentPage = getCurrentPages()[getCurrentPages().length - 1]; + if (currentPage) { + uni.reLaunch({ + url: '/' + currentPage.route // 重启当前页面,而非固定会员页 + }); + } else { + uni.reLaunch({ url: '/pages/index/index' }); // 兜底:重启首页 + } + }, 300); // 300ms延迟:确保语言配置加载完成,避免白屏 }, - //刷新标题、tabbar + // 刷新标题、tabbar(优化:容错+强制生效) refresh() { let _this = getCurrentPages()[getCurrentPages().length - 1]; if (!_this) return; - locale = uni.getStorageSync('lang') || "zh-cn"; //设置语言 - - this.title(this.lang("title")); + locale = uni.getStorageSync('lang') || "zh-cn"; // 重新读取,确保最新 - //设置tabbar的文字语言 - // uni.setTabBarItem({ - // index: 0, - // text: this.lang("tabBar.home") - // }); - // uni.setTabBarItem({ - // index: 1, - // text: this.lang("tabBar.category") - // }); - // uni.setTabBarItem({ - // index: 2, - // text: this.lang("tabBar.cart") - // }); - // uni.setTabBarItem({ - // index: 3, - // text: this.lang("tabBar.member") - // }); + // 刷新导航栏标题(容错:标题字段不存在时不报错) + let titleText = this.lang("title") || ""; + this.title(titleText); + + // 修复:启用tabBar文字更新(原代码被注释,导致tabBar语言不切换) + try { + uni.setTabBarItem({ index: 0, text: this.lang("tabBar.home") || "首页" }); + uni.setTabBarItem({ index: 1, text: this.lang("tabBar.category") || "分类" }); + uni.setTabBarItem({ index: 2, text: this.lang("tabBar.cart") || "购物车" }); + uni.setTabBarItem({ index: 3, text: this.lang("tabBar.member") || "我的" }); + } catch (e) { + console.warn("tabBar文字更新失败:", e); + } }, + // 设置导航栏标题(优化:容错) title(str) { - if (str) { + if (str && typeof str === 'string') { uni.setNavigationBarTitle({ title: str, - success: function (res) { - }, fail: function (err) { + console.warn("导航栏标题设置失败:", err); } }); } }, - // 获取语言包列表 + // 获取语言包列表(优化:容错) list() { var list = []; try { - //公共语言包 for (var i = 0; i < langList.length; i++) { - let item = require('../../lang/' + langList[i] + '/common.js').lang; + let langPath = '../../lang/' + langList[i] + '/common.js'; + let item = require(langPath).lang; list.push({ - name: item.common.name, + name: item.common.name || langList[i], // 兜底:显示语言值 value: langList[i] }); } } catch (e) { - // "没有找到语言包:", '../../lang/' + locale + '/common.js' + console.error("获取语言包列表失败:", e); + // 兜底:返回基础列表 + list = langList.map(item => ({ name: item, value: item })); } return list; } -} +} \ No newline at end of file diff --git a/components/hover-nav/hover-nav.vue b/components/hover-nav/hover-nav.vue index c4f38c3..203e6f6 100644 --- a/components/hover-nav/hover-nav.vue +++ b/components/hover-nav/hover-nav.vue @@ -1,26 +1,20 @@ @@ -39,7 +33,9 @@ fixBtnShow: true, tel:'', kefuimg:'', - phoneimg:'' + phoneimg:'', + // 新增:当前语言(默认中文) + currentLang: uni.getStorageSync('lang') || 'zh-cn' }; }, created() { @@ -53,7 +49,10 @@ that.tel = e.data.mobile } }) - + // 新增:监听全局语言切换事件,实时更新按钮文字 + uni.$on('lang-changed', (lang) => { + this.currentLang = lang; + }) }, methods: { //拨打电话 @@ -61,7 +60,26 @@ uni.makePhoneCall({ phoneNumber:this.tel+'' }) + }, + // 新增:语言切换核心方法 + switchLang() { + // 1. 切换目标语言(中文↔英文) + const targetLang = this.currentLang === 'zh-cn' ? 'en-us' : 'zh-cn'; + // 2. 保存到本地存储(全局生效) + uni.setStorageSync('lang', targetLang); + // 3. 触发全局语言事件(通知其他页面更新) + uni.$emit('lang-changed', targetLang); + // 4. 延迟重启当前页面(避免白屏,保证语言生效) + setTimeout(() => { + const pages = getCurrentPages(); + const currentPage = pages[pages.length - 1]; + uni.reLaunch({ url: '/' + currentPage.route }); + }, 300); } + }, + // 新增:页面销毁时移除监听,避免内存泄漏 + beforeDestroy() { + uni.$off('lang-changed'); } }; @@ -92,8 +110,6 @@ right: 0rpx; bottom: 200rpx; z-index: 10; - // background: #fff; - // box-shadow: 2rpx 2rpx 22rpx rgba(0, 0, 0, 0.3); border-radius: 120rpx; padding: 20rpx 0; display: flex; @@ -107,6 +123,7 @@ .btn-item { display: flex; justify-content: center; + align-items: center; // 新增:垂直居中,和其他按钮对齐 text-align: center; flex-direction: column; line-height: 1; @@ -121,6 +138,12 @@ font-size: 36rpx; font-weight: bold; } + // 新增:语言按钮文字样式 + .lang-text { + font-size: 24rpx; // 适配圆形按钮大小 + font-weight: 600; + color: #333; // 和其他按钮图标颜色统一 + } view { font-size: 26rpx; diff --git a/lang/en-us/common.js b/lang/en-us/common.js index 9e49894..6d8196d 100644 --- a/lang/en-us/common.js +++ b/lang/en-us/common.js @@ -1,22 +1,37 @@ export const lang = { - - // 底部选项卡 + // 底部选项卡(英文) tabBar: { - home: 'index', - category: 'category', - cart: 'cart', - member: 'member', + home: 'Home', + category: 'Category', + cart: 'Cart', + member: 'Member Center' }, - //公共 + // 公共文字 common: { - //语言包名称 - name: '英文', - mescrollTextInOffset: 'pull to refresh', - mescrollTextOutOffset: 'Loading...', + name: 'English', + mescrollTextInOffset: 'Pull down to refresh', + mescrollTextOutOffset: 'Release to update', mescrollEmpty: "No data available", - goodsRecommendTitle: 'Guess you like', + goodsRecommendTitle: 'You May Also Like', currencySymbol: '¥', - langSwitchBtn: 'EN' // 新增:语言切换按钮文字(英文) + submit: 'Submit', + langSwitchBtn: '中文', + // App.vue弹窗翻译 + updateTip: 'Update Tip', + updateContent: 'The new version is ready, do you want to restart the app?', + networkTip: 'Network Disconnected', + networkContent: 'Please check your network connection', // 关键:这里加逗号! + // 首页多语言字段 + siteName: 'Site Name', + welcomeMsg: 'Welcome to follow', + followOfficialAccount: 'Follow Official Account', + followMoreInfo: 'Follow for more information', + iKnow: 'I know', + confirmStore: 'Please confirm the store', + reposition: 'Reposition', + currentStore: 'Current Store', + confirmEnter: 'Confirm to enter', + chooseOtherStore: 'Choose other stores' } -} +} \ No newline at end of file diff --git a/lang/zh-cn/common.js b/lang/zh-cn/common.js index e50ad33..ad2d387 100644 --- a/lang/zh-cn/common.js +++ b/lang/zh-cn/common.js @@ -1,6 +1,5 @@ export const lang = { - - // 底部选项卡 + // 底部选项卡(中文) tabBar: { home: '首页', category: '分类', @@ -8,9 +7,8 @@ export const lang = { member: '个人中心' }, - //公共 + // 公共文字 common: { - //语言包名称 name: '中文', mescrollTextInOffset: '下拉刷新', mescrollTextOutOffset: '释放更新', @@ -18,6 +16,22 @@ export const lang = { goodsRecommendTitle: '猜你喜欢', currencySymbol: '¥', submit: '提交', - langSwitchBtn: '中文' // 新增:语言切换按钮文字(中文),最后一个属性不加逗号 + langSwitchBtn: 'EN', + // App.vue弹窗翻译 + updateTip: '更新提示', + updateContent: '新版本已经准备好,是否重启应用?', + networkTip: '网络失去连接', + networkContent: '请检查网络连接', // 关键:这里加逗号! + // 首页多语言字段 + siteName: '站点名称', + welcomeMsg: '欢迎关注', + followOfficialAccount: '关注公众号', + followMoreInfo: '关注了解更多', + iKnow: '我知道了', + confirmStore: '请确认门店', + reposition: '重新定位', + currentStore: '当前门店', + confirmEnter: '确认进入', + chooseOtherStore: '选择其他门店' } -} +} \ No newline at end of file diff --git a/node_modules/jweixin-module/README.md b/node_modules/jweixin-module/README.md index f4e08bd..7c91d7b 100644 --- a/node_modules/jweixin-module/README.md +++ b/node_modules/jweixin-module/README.md @@ -19,8 +19,8 @@ https://unpkg.com/jweixin-module/out/index.js ## 使用 ```js -var wx = require('jweixin-module') -wx.ready(function(){ +var jweixin = require('jweixin-module') +jweixin.ready(function(){ // TODO }); ``` diff --git a/pages/contact/contact.vue b/pages/contact/contact.vue index 87e2e54..ee85b30 100644 --- a/pages/contact/contact.vue +++ b/pages/contact/contact.vue @@ -132,10 +132,6 @@ - - - {{ $lang('common.langSwitchBtn') }} - diff --git a/pages/goods/category.vue b/pages/goods/category.vue index 702267e..9c5d8e4 100644 --- a/pages/goods/category.vue +++ b/pages/goods/category.vue @@ -30,7 +30,9 @@ components: {}, data() { return { - diyData: null + diyData: null, + // 新增:标记是否已监听语言事件,避免重复监听 + langListenerAdded: false }; }, onLoad() { @@ -38,20 +40,51 @@ this.$langConfig.refresh(); uni.hideTabBar(); this.getDiyInfo(); + // 新增:监听全局语言切换事件 + this.addLangListener(); }, onShow() { if (this.$refs.category) this.$refs.category[0].pageShow(); }, onUnload() { if (!this.storeToken && this.$refs.login) this.$refs.login.cancelCompleteInfo(); + // 新增:页面销毁时移除语言监听,避免内存泄漏 + this.removeLangListener(); }, methods: { + // 新增:添加语言切换监听(封装为方法,避免重复监听) + addLangListener() { + if (!this.langListenerAdded) { + uni.$on('lang-changed', this.handleLangChange); + this.langListenerAdded = true; + } + }, + // 新增:移除语言切换监听 + removeLangListener() { + if (this.langListenerAdded) { + uni.$off('lang-changed', this.handleLangChange); + this.langListenerAdded = false; + } + }, + // 新增:语言切换后的处理逻辑 + handleLangChange() { + // 1. 刷新多语言配置(确保语言包生效) + this.$langConfig.refresh(); + // 2. 显示加载遮罩,提升用户体验 + if (this.$refs.loadingCover) this.$refs.loadingCover.show(); + // 3. 重新请求分类数据(核心:获取对应语言的分类内容) + this.getDiyInfo(); + }, getDiyInfo() { this.$api.sendRequest({ url: '/api/diyview/info', data: { name: 'DIY_VIEW_GOODS_CATEGORY' }, + // 新增:请求头携带当前语言,让后端返回对应语言的分类数据 + header: { + 'lang': uni.getStorageSync('lang') || 'zh-cn' + }, success: res => { if (res.code == 0 && res.data) { this.diyData = res.data; @@ -61,6 +94,11 @@ } uni.stopPullDownRefresh(); } + }, + // 新增:请求失败时隐藏加载遮罩,避免遮罩卡死 + fail: () => { + if (this.$refs.loadingCover) this.$refs.loadingCover.hide(); + uni.stopPullDownRefresh(); } }); }, @@ -71,6 +109,14 @@ onPullDownRefresh() { uni.hideTabBar(); this.getDiyInfo(); + }, + // 新增:页面隐藏时移除监听(可选,增强容错) + onHide() { + this.removeLangListener(); + }, + // 新增:页面重新显示时重新添加监听 + onReShow() { + this.addLangListener(); } }; diff --git a/pages/index/index.vue b/pages/index/index.vue index f5e15dc..79c3392 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -7,17 +7,16 @@ - {{ siteInfo.site_name }} - {{ followOfficialAccount.welcomeMsg }} + + {{ $lang('common.siteName') || siteInfo.site_name }} + + {{ $lang('common.welcomeMsg') || followOfficialAccount.welcomeMsg }} - 关注公众号 + + {{ $lang('common.followOfficialAccount') }} - - @@ -77,7 +58,8 @@ - 关注了解更多 + + {{ $lang('common.followMoreInfo') }} @@ -87,25 +69,29 @@ - 我知道了 + + {{ $lang('common.iKnow') }} - + - 请确认门店 + + {{ $lang('common.confirmStore') }} {{ currentPosition }} - 重新定位 + + {{ $lang('common.reposition') }} - 当前门店 + + {{ $lang('common.currentStore') }} {{ nearestStore.store_name }} {{ nearestStore.show_address }} @@ -113,26 +99,25 @@ {{ nearestStore.distance > 1 ? nearestStore.distance + 'km' : nearestStore.distance * 1000 + 'm' }} - + + - 选择其他门店 + + {{ $lang('common.chooseOtherStore') }} + - - - - {{ $lang('common.langSwitchBtn') }} - + @@ -143,7 +128,7 @@ import indexJs from './public/js/index.js'; import toTop from '@/components/toTop/toTop.vue'; import scroll from '@/common/js/scroll-view.js'; - // 👇 引入语言工具文件 + // 👇 保留引入,但无需重复定义切换方法(hover-nav已处理) import langUtil from '@/common/js/lang.js'; export default { @@ -153,13 +138,45 @@ toTop }, mixins: [diyJs, scroll, indexJs], + data() { + return { + // 新增:标记是否已监听语言事件 + langListenerAdded: false + }; + }, + onLoad() { + // 新增:监听语言切换事件,刷新首页DIY数据 + this.addLangListener(); + }, + onUnload() { + // 新增:页面销毁时移除监听 + this.removeLangListener(); + }, methods: { - // 👇 新增:语言切换方法 - toggleLang() { - const currentLang = this.$lang?.locale || 'zh-cn'; - const targetLang = currentLang === 'zh-cn' ? 'en-us' : 'zh-cn'; - langUtil.change(targetLang); - } + // 新增:添加语言监听 + addLangListener() { + if (!this.langListenerAdded) { + uni.$on('lang-changed', this.handleLangChange); + this.langListenerAdded = true; + } + }, + // 新增:移除语言监听 + removeLangListener() { + if (this.langListenerAdded) { + uni.$off('lang-changed', this.handleLangChange); + this.langListenerAdded = false; + } + }, + // 新增:语言切换后刷新首页数据 + handleLangChange() { + // 重新请求首页DIY数据,确保内容同步为新语言 + if (this.getDiyInfo) { + this.getDiyInfo(); // 调用首页获取DIY数据的方法 + } + // 刷新多语言配置 + this.$langConfig?.refresh(); + }, + // 👇 删除:重复的toggleLang方法(hover-nav里已有) } }; @@ -168,8 +185,6 @@ @import '@/common/css/diy.scss'; @import './public/css/index.scss'; - - .small-bot { width: 100%; height: 100%; @@ -208,7 +223,6 @@ .small-bot-close i { font-size: 60rpx; } - \ No newline at end of file diff --git a/pages/member/index.vue b/pages/member/index.vue index ac78d78..f59af74 100644 --- a/pages/member/index.vue +++ b/pages/member/index.vue @@ -4,10 +4,6 @@ - - - {{ $lang('common.langSwitchBtn') }} - diff --git a/project.config.json b/project.config.json index 14f0be7..f9b0261 100644 --- a/project.config.json +++ b/project.config.json @@ -1,75 +1,78 @@ -{ - "description": "项目配置文件", - "packOptions": { - "ignore": [] - }, - "setting": { - "urlCheck": true, - "es6": true, - "enhance": false, - "postcss": true, - "preloadBackgroundData": false, - "minified": true, - "newFeature": false, - "coverView": true, - "nodeModules": false, - "autoAudits": false, - "showShadowRootInWxmlPanel": true, - "scopeDataCheck": false, - "uglifyFileName": false, - "checkInvalidKey": true, - "checkSiteMap": true, - "uploadWithSourceMap": true, - "compileHotReLoad": false, - "useMultiFrameRuntime": true, - "useApiHook": true, - "useApiHostProcess": true, - "babelSetting": { - "ignore": [], - "disablePlugins": [], - "outputPath": "" - }, - "enableEngineNative": false, - "bundle": false, - "useIsolateContext": true, - "useCompilerModule": true, - "userConfirmedUseCompilerModuleSwitch": false, - "userConfirmedBundleSwitch": false, - "packNpmManually": false, - "packNpmRelationList": [], - "minifyWXSS": true - }, - "compileType": "miniprogram", - "libVersion": "2.16.1", - "appid": "wx29215aa1bd97bbd6", - "projectname": "niushop_b2c_v4_uniapp", - "debugOptions": { - "hidedInDevtools": [] - }, - "scripts": {}, - "staticServerOptions": { - "baseURL": "", - "servePath": "" - }, - "isGameTourist": false, - "condition": { - "search": { - "list": [] - }, - "conversation": { - "list": [] - }, - "game": { - "list": [] - }, - "plugin": { - "list": [] - }, - "gamePlugin": { - "list": [] - }, - "miniprogram": { - "list": [] - } - } +{ + "description": "项目配置文件", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "urlCheck": true, + "es6": true, + "enhance": false, + "postcss": true, + "preloadBackgroundData": false, + "minified": true, + "newFeature": false, + "coverView": true, + "nodeModules": false, + "autoAudits": false, + "showShadowRootInWxmlPanel": true, + "scopeDataCheck": false, + "uglifyFileName": false, + "checkInvalidKey": true, + "checkSiteMap": true, + "uploadWithSourceMap": true, + "compileHotReLoad": false, + "useMultiFrameRuntime": true, + "useApiHook": true, + "useApiHostProcess": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "enableEngineNative": false, + "bundle": false, + "useIsolateContext": true, + "useCompilerModule": true, + "userConfirmedUseCompilerModuleSwitch": false, + "userConfirmedBundleSwitch": false, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true, + "compileWorklet": false, + "minifyWXML": true, + "localPlugins": false, + "disableUseStrict": false, + "useCompilerPlugins": false, + "condition": false, + "swc": false, + "disableSWC": true + }, + "compileType": "miniprogram", + "libVersion": "2.16.1", + "appid": "wx29215aa1bd97bbd6", + "projectname": "niushop_b2c_v4_uniapp", + "isGameTourist": false, + "condition": { + "search": { + "list": [] + }, + "conversation": { + "list": [] + }, + "game": { + "list": [] + }, + "plugin": { + "list": [] + }, + "gamePlugin": { + "list": [] + }, + "miniprogram": { + "list": [] + } + }, + "simulatorPluginLibVersion": {}, + "editorSetting": {} } \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json new file mode 100644 index 0000000..7d61403 --- /dev/null +++ b/project.private.config.json @@ -0,0 +1,24 @@ +{ + "libVersion": "3.12.1", + "projectname": "niushop_b2c_v4_uniapp", + "condition": {}, + "setting": { + "urlCheck": true, + "coverView": true, + "lazyloadPlaceholderEnable": false, + "skylineRenderEnable": false, + "preloadBackgroundData": false, + "autoAudits": false, + "useApiHook": true, + "useApiHostProcess": true, + "showShadowRootInWxmlPanel": true, + "useStaticServer": false, + "useLanDebug": false, + "showES6CompileOption": false, + "compileHotReLoad": true, + "checkInvalidKey": true, + "ignoreDevUnusedFiles": true, + "bigPackageSizeSupport": false, + "useIsolateContext": true + } +} \ No newline at end of file