From 701263e0dd52b4459d9338a69053b9f7125c8219 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E8=82=96=E7=A3=8A?= <18851179580@163.com> Date: Thu, 17 Apr 2025 11:14:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=9A=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 16 +++-- common/css/page.css | 3 + locale/en.json | 3 +- locale/zh.json | 3 +- pages/diy/components/diy/diy.vue | 34 ++++++++-- pages/diy/components/diy/float-window.vue | 7 +- pages/login/login.vue | 69 +++----------------- pages/setup/setup.vue | 79 ++++------------------- 8 files changed, 71 insertions(+), 143 deletions(-) diff --git a/App.vue b/App.vue index 5349dbde..f430ff1d 100644 --- a/App.vue +++ b/App.vue @@ -239,6 +239,7 @@ // 其他数据 // 公共数是否已初始化成功 common_data_loading_status: 0, + common_data_init_config_back_list: [], common_data_init_status: 0, common_data_init_back_timer: null, // 网络状态检查 @@ -1498,6 +1499,9 @@ */ init_config(num = 0, object, method, params) { var self = this; + if (num == 0) { + self.data.common_data_init_config_back_list.push({ object: object, method: method, params: params}) + } uni.getNetworkType({ success: function (res) { if (res.networkType != 'none') { @@ -1507,7 +1511,6 @@ // 公共配置初始化返回处理 self.init_config_result_handle(config, self); } - // 读取远程配置 if(self.data.common_data_loading_status == 0) { // 赋值在加载状态 @@ -1529,10 +1532,14 @@ // 公共配置初始化返回处理 self.init_config_result_handle(data, self); - // 回调 - if (typeof object === 'object' && (method || null) != null) { - object[method](params); + if (self.data.common_data_init_config_back_list.length > 0) { + self.data.common_data_init_config_back_list.forEach(item => { + if (typeof item.object === 'object' && (item.method || null) != null) { + item.object[item.method](item.params); + } + }) + self.data.common_data_init_config_back_list = []; } } else { self.showToast(res.data.msg); @@ -1540,7 +1547,6 @@ if (res.data.code == -10000) { self.data.common_data_init_status = 1; } - // 首次则再次初始化配置、站点关闭状态则不处理 if (parseInt(num || 0) <= 20 && self.data.common_data_init_status == 0) { self.init_config(num+1, object, method, params); diff --git a/common/css/page.css b/common/css/page.css index 8867a3f9..23a8fdbb 100644 --- a/common/css/page.css +++ b/common/css/page.css @@ -250,6 +250,9 @@ button:before { .z-i-deep { z-index: 2 !important; } +.z-i-deep-middle { + z-index: 100 !important; +} .z-i-deep-must { z-index: 999 !important; } diff --git a/locale/en.json b/locale/en.json index 06d54003..27e9ab1b 100644 --- a/locale/en.json +++ b/locale/en.json @@ -80,7 +80,8 @@ "verification_mobile_message": "Please enter the verification code or mobile number", "unique_message": "The unique identifier is empty", "not_supported_scan_tips": "H5 webpage does not support scanning codes", - "copy_link": "Copy link" + "copy_link": "Copy link", + "multilingual": "multilingual" }, "client": { "weixin": "WeChat", diff --git a/locale/zh.json b/locale/zh.json index 71f5abe6..55cd13bb 100644 --- a/locale/zh.json +++ b/locale/zh.json @@ -80,7 +80,8 @@ "verification_mobile_message": "请输入核销码或手机", "unique_message": "唯一标识为空", "not_supported_scan_tips": "H5网页不支持扫码", - "copy_link": "复制链接" + "copy_link": "复制链接", + "multilingual": "多语言" }, "client": { "weixin": "微信", diff --git a/pages/diy/components/diy/diy.vue b/pages/diy/components/diy/diy.vue index 0b3ae22a..e232a425 100644 --- a/pages/diy/components/diy/diy.vue +++ b/pages/diy/components/diy/diy.vue @@ -47,7 +47,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -87,6 +87,10 @@ + + + + @@ -95,7 +99,6 @@ - @@ -146,7 +149,8 @@ import componentBottomLine from '@/components/bottom-line/bottom-line'; import componentGoodsBuy from '@/components/goods-buy/goods-buy'; import componentSearch from '@/components/search/search'; - + import componentQuickNav from '@/components/quick-nav/quick-nav'; + import componentLangSwitch from '@/components/lang-switch/lang-switch'; var system = app.globalData.get_system_info(null, null, true); var sys_width = app.globalData.window_width_handle(system.windowWidth); @@ -212,6 +216,8 @@ componentBottomLine, componentGoodsBuy, componentSearch, + componentLangSwitch, + componentQuickNav }, data() { return { @@ -801,6 +807,26 @@ this.tabs_click_event(this.tabs_id, this.is_tabs_type); } }, + btn_event(name) { + switch(name) { + case 'quick_nav' : + if ((this.$refs.quick_nav || null) != null) { + this.$refs.quick_nav.quick_open_event(); + } + break; + case 'lang' : + if ((this.$refs.lang_switch || null) != null) { + this.$refs.lang_switch.lang_open_event(); + } + break; + } + }, + popup_sub_language_event(e) { + // 重新设置当前页面导航标题 + app.globalData.set_pages_navigation_bar_title(); + // 重新读取数据配置 + app.globalData.init_config(); + } }, }; diff --git a/pages/diy/components/diy/float-window.vue b/pages/diy/components/diy/float-window.vue index 5f995c2e..eaca0a25 100644 --- a/pages/diy/components/diy/float-window.vue +++ b/pages/diy/components/diy/float-window.vue @@ -98,9 +98,10 @@ break; // 快捷导航 case 'quick_nav' : - if ((this.$refs.quick_nav || null) != null) { - this.$refs.quick_nav.quick_open_event(); - } + this.$emit('btn_event', 'quick_nav'); + break; + case 'lang' : + this.$emit('btn_event', 'lang'); break; } }, diff --git a/pages/login/login.vue b/pages/login/login.vue index 825c9921..8705fea1 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -362,22 +362,7 @@ - - - - - - - {{ $t('common.confirm') }} - - - - {{ value }} - - - - - + @@ -414,18 +399,12 @@ import base64 from '@/common/js/lib/base64.js'; import componentCommon from '@/components/common/common'; import componentPopup from '@/components/popup/popup'; + import componentLangSwitch from '@/components/lang-switch/lang-switch'; let login_static_url = app.globalData.get_static_url('thirdpartylogin', true) + 'icon/'; export default { data() { return { - // 多语言 - system_locale: '', - application_locale: '', - // 语言选择 - popup_language_status: false, - language_list: '', - language_key: '', // 实际提交的语言字段 language: '', home_use_multilingual_status: 0, @@ -484,6 +463,7 @@ components: { componentCommon, componentPopup, + componentLangSwitch }, // 页面加载初始化 @@ -500,18 +480,10 @@ //#endif // 多语言 - let system_info = uni.getSystemInfoSync(); - this.system_locale = system_info.language; - this.application_locale = app.globalData.get_language_value(); - uni.onLocaleChange((e) => { - this.application_locale = e.locale; - }); var language_key = app.globalData.get_language_value(); var language_list = this.$t('language'); this.setData({ params: params, - language_list: language_list, - language_key: language_key, language: language_list[language_key], }); @@ -1679,33 +1651,14 @@ // 打开语言选择弹窗 open_language_event() { - this.setData({ - popup_language_status: !this.popup_language_status, - }); + if ((this.$refs.lang_switch || null) != null) { + this.$refs.lang_switch.lang_open_event(); + } }, - - // 关闭语言弹窗 - popup_language_close_event() { - this.setData({ - popup_language_status: false, - }); - }, - - // 选择语言 - checked_language_event(e) { - this.setData({ - language_key: e.currentTarget.dataset.key, - }); - }, - // 提交语言选择 - popup_sub_language_event() { - this.language_change(this.language_key); - var language_list = this.$t('language'); + popup_sub_language_event(e) { this.setData({ - language_list: language_list, - language: language_list[this.language_key], - popup_language_status: false, + language: e, }); // 重新设置当前页面标题 this.set_navigation_bar_title(); @@ -1713,12 +1666,6 @@ app.globalData.init_config(); }, - // 多语言切换 - language_change(key) { - uni.setLocale(key); - this.$i18n.locale = key; - }, - // 打开登录方式弹层 popup_login_open_event() { // 是否已同意协议 diff --git a/pages/setup/setup.vue b/pages/setup/setup.vue index baa5a865..b891773a 100644 --- a/pages/setup/setup.vue +++ b/pages/setup/setup.vue @@ -89,24 +89,8 @@ {{ $t('setup.setup.tghrf2') }} - - - - - - - - {{ $t('common.confirm') }} - - - - {{ value }} - - - - - + @@ -117,6 +101,7 @@ const app = getApp(); import componentCommon from '@/components/common/common'; import componentPopup from '@/components/popup/popup'; + import componentLangSwitch from '@/components/lang-switch/lang-switch'; export default { data() { return { @@ -128,14 +113,7 @@ home_user_login_type: [], common_user_is_mandatory_bind_mobile: 0, - // 多语言 - system_locale: '', - application_locale: '', home_use_multilingual_status: 0, - // 语言选择 - popup_language_status: false, - language_list: '', - language_key: '', // 实际提交的语言字段 language: '', @@ -146,24 +124,16 @@ components: { componentCommon, - componentPopup + componentPopup, + componentLangSwitch }, onLoad(params) { // 调用公共事件方法 app.globalData.page_event_onload_handle(params); - // 多语言 - let system_info = uni.getSystemInfoSync(); - this.system_locale = system_info.language; - this.application_locale = app.globalData.get_language_value(); - uni.onLocaleChange((e) => { - this.application_locale = e.locale; - }); var language_key = app.globalData.get_language_value(); var language_list = this.$t('language'); this.setData({ - language_list: language_list, - language_key: language_key, language: language_list[language_key], }); }, @@ -174,7 +144,7 @@ // 初始化配置 app.globalData.init_config(0, this, 'init_config'); - + // 数据加载 this.init(); @@ -286,48 +256,21 @@ remove_user_cache_event(e) { app.globalData.remove_user_cache_event(false); }, - - // 打开语言选择弹窗 - open_language_event() { - this.setData({ - popup_language_status: !this.popup_language_status, - }); + open_language_event () { + if ((this.$refs.lang_switch || null) != null) { + this.$refs.lang_switch.lang_open_event(); + } }, - - // 关闭语言弹窗 - popup_language_close_event() { - this.setData({ - popup_language_status: false, - }); - }, - - // 选择语言 - checked_language_event(e) { - this.setData({ - language_key: e.currentTarget.dataset.key, - }); - }, - // 提交语言选择 - popup_sub_language_event() { - this.language_change(this.language_key); - var language_list = this.$t('language'); + popup_sub_language_event(e) { this.setData({ - language_list: language_list, - language: language_list[this.language_key], - popup_language_status: false, + language: e, }); // 重新设置当前页面导航标题 app.globalData.set_pages_navigation_bar_title(); // 重新读取数据配置 app.globalData.init_config(); }, - - // 多语言切换 - language_change(key) { - uni.setLocale(key); - this.$i18n.locale = key; - }, }, };