From 9bced0c8e99096fb32cce286b5131dc5ff8d6b24 Mon Sep 17 00:00:00 2001 From: liyuhua <15626451870@163.com> Date: Wed, 10 Apr 2024 17:39:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8B=B1=E6=96=87=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CocoaHttpServer/Web/images/button-ar.png | Bin 0 -> 3186 bytes .../CocoaHttpServer/Web/images/button-en.png | Bin 0 -> 3872 bytes .../CocoaHttpServer/Web/images/button-id.png | Bin 0 -> 3722 bytes .../CocoaHttpServer/Web/images/button-tr.png | Bin 0 -> 3211 bytes .../CocoaHttpServer/Web/images/header-ar.png | Bin 0 -> 4028 bytes .../CocoaHttpServer/Web/images/header-en.png | Bin 0 -> 3951 bytes .../CocoaHttpServer/Web/images/header-id.png | Bin 0 -> 4411 bytes .../CocoaHttpServer/Web/images/header-tr.png | Bin 0 -> 27928 bytes .../CocoaHttpServer/Web/js/getLanguage.js | 164 ++++++++++++++++++ .../CocoaHttpServer/Web/js/langHandler.js | 49 ++++++ YuMi/Tools/CocoaHttpServer/Web/local/ar.js | 10 ++ YuMi/Tools/CocoaHttpServer/Web/local/en.js | 10 ++ YuMi/Tools/CocoaHttpServer/Web/local/id.js | 10 ++ YuMi/Tools/CocoaHttpServer/Web/local/tr.js | 10 ++ YuMi/Tools/CocoaHttpServer/Web/local/zh.js | 10 ++ 15 files changed, 263 insertions(+) create mode 100644 YuMi/Tools/CocoaHttpServer/Web/images/button-ar.png create mode 100644 YuMi/Tools/CocoaHttpServer/Web/images/button-en.png create mode 100644 YuMi/Tools/CocoaHttpServer/Web/images/button-id.png create mode 100644 YuMi/Tools/CocoaHttpServer/Web/images/button-tr.png create mode 100644 YuMi/Tools/CocoaHttpServer/Web/images/header-ar.png create mode 100644 YuMi/Tools/CocoaHttpServer/Web/images/header-en.png create mode 100644 YuMi/Tools/CocoaHttpServer/Web/images/header-id.png create mode 100644 YuMi/Tools/CocoaHttpServer/Web/images/header-tr.png create mode 100644 YuMi/Tools/CocoaHttpServer/Web/js/getLanguage.js create mode 100644 YuMi/Tools/CocoaHttpServer/Web/js/langHandler.js create mode 100644 YuMi/Tools/CocoaHttpServer/Web/local/ar.js create mode 100644 YuMi/Tools/CocoaHttpServer/Web/local/en.js create mode 100644 YuMi/Tools/CocoaHttpServer/Web/local/id.js create mode 100644 YuMi/Tools/CocoaHttpServer/Web/local/tr.js create mode 100644 YuMi/Tools/CocoaHttpServer/Web/local/zh.js diff --git a/YuMi/Tools/CocoaHttpServer/Web/images/button-ar.png b/YuMi/Tools/CocoaHttpServer/Web/images/button-ar.png new file mode 100644 index 0000000000000000000000000000000000000000..71b93c6b1811b432cd1787f3a41aed679c8731c8 GIT binary patch literal 3186 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 YA7bGO+KP)j+_)Bl1)|Fe|;(ZBzlZvW!e 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 literal 0 HcmV?d00001 diff --git a/YuMi/Tools/CocoaHttpServer/Web/images/header-ar.png b/YuMi/Tools/CocoaHttpServer/Web/images/header-ar.png new file mode 100644 index 0000000000000000000000000000000000000000..48bdea29618f105fadf3eba3f83745dd8abc8e8d GIT binary patch literal 4028 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 literal 0 HcmV?d00001 diff --git a/YuMi/Tools/CocoaHttpServer/Web/images/header-id.png b/YuMi/Tools/CocoaHttpServer/Web/images/header-id.png new file mode 100644 index 0000000000000000000000000000000000000000..659e319ebbb2bcabc0b30e1fee08df101a13bf6b GIT binary patch literal 4411 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 TB5dH400000NkvXXu0mjfOr&~O literal 0 HcmV?d00001 diff --git a/YuMi/Tools/CocoaHttpServer/Web/js/getLanguage.js b/YuMi/Tools/CocoaHttpServer/Web/js/getLanguage.js new file mode 100644 index 00000000..eea23041 --- /dev/null +++ b/YuMi/Tools/CocoaHttpServer/Web/js/getLanguage.js @@ -0,0 +1,164 @@ +const checkVersion = () => { + var u = navigator.userAgent, app = navigator.appVersion; + return { + trident: u.indexOf('Trident') > -1, //IE内核 + presto: u.indexOf('Presto') > -1, //opera内核 + webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 + gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核 + mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 + ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 + android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端 + iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器 + iPad: u.indexOf('iPad') > -1, //是否iPad + webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部 + weixin: u.indexOf('MicroMessenger') > -1, //是否微信 + qq: u.match(/\sQQ/i) == " qq", //是否QQ + app: u.match('pekoApp') == 'pekoApp' //是否在app内 + }; +} + +// 根据域名适配环境 +function EnvCheck() { + if (window.location.href) { + var _url = window.location.href; + var res = _url.match(/uat/); + var res1 = _url.match(/120.79.211.243/); + var res2 = _url.match(/192.168./) + var res3 = _url.match(/127.0/) + var res4 = _url.match(/beta/) + if (res || res1 || res2 || res3 || res4) { + return 'test'; + } else { + return 'live'; + } + } +} + +// 封装 获取公共参数的方法(客户端提供) +// written by zxfxiong +const methodsFromClient = { + // 注意:ios 提供的方法属异步操作 + "uid": { + android: () => window.androidJsObj.getUid(), + ios: function () { + window.webkit.messageHandlers.getUid.postMessage(null); + // let allcookies = document.cookie; + // let $uid = allcookies.match(/\d+/); + // console.log($uid[0]); + } + }, + "ticket": { + android: () => window.androidJsObj.getTicket(), + ios: function () { + window.webkit.messageHandlers.getTicket.postMessage(null); + } + }, + "roomUid": { + android: () => window.androidJsObj.getRoomUid(), + ios: function () { + window.webkit.messageHandlers.getRoomUid.postMessage(null); + } + }, + "deviceId": { + android: () => window.androidJsObj.getDeviceId(), + ios: function () { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + } + }, + "deviceInfo": { + android: () => window.androidJsObj.getDeviceInfo(), + ios: function () { + window.webkit.messageHandlers.getDeviceInfo.postMessage(null); + } + }, + "encryptPwd": { + android: (data) => window.androidJsObj.encryptPwd(data), + ios: function (data) { + window.webkit.messageHandlers.encryptPwd.postMessage(data); + } + } + +} +// 封装 在ios环境中 配置公共参数的回调函数 +// 配合 methodsFromClient[infoName].ios 方法 +// written by zxfxiong +function getMessage(key, value) { + pubInfo[key] = value; +} +// 全局获取并配置公共参数 +const pubInfo = {}; +function getInfoFromClient() { + const browser = checkVersion(); + if (browser.app) { + console.log('从客户端获取了用户信息(设备信息),此信息来源:common2.js'); + if (browser.android) { + pubInfo.uid = methodsFromClient.uid.android(); + pubInfo.ticket = methodsFromClient.ticket.android(); + pubInfo.deviceId = methodsFromClient.deviceId.android(); + pubInfo.deviceInfo = methodsFromClient.deviceInfo.android(); + } else { + methodsFromClient.uid.ios(); + methodsFromClient.ticket.ios(); + methodsFromClient.deviceId.ios(); + methodsFromClient.deviceInfo.ios(); + } + + } else { + // 非app环境调试参数 + pubInfo.uid = 0; + pubInfo.ticket = ""; + pubInfo.deviceId = "0"; + pubInfo.deviceInfo = { + 'Accept-Language':'en', + app: 'peko', + appVersion: '0.0.0', + os: '0.0.0', + osVersion: '0.0.0', + channel: 'browser', + client: 'h5' + }; + } +}; + +// 设定语言 fuzzy模糊查询客户端返回的语言 +const languageMap = [ + { name: '简体中文', code: 'zh', fuzzy: ['zh', 'zh-Hans', 'zh-'] }, + { name: '繁体中文', code: 'zh', fuzzy: ['zh', 'zh-Hant', 'zh-'] }, + { name: '英语', code: 'en', fuzzy: ['en'] }, + { name: '阿拉伯语', code: 'ar', fuzzy: ['ar', 'ar-'] }, + { name: '印尼语', code: 'id', fuzzy: ['id', 'in', 'id-', 'in-'] }, + { name: '土耳其语', code: 'tr', fuzzy: ['tr', 'tr-'] }, +]; +// 判断当前语言环境 +function getLanguageCode(language) { + if (language) { + // language = language.toLowerCase(); + for (const item of languageMap) { + for (const list of item.fuzzy) { + if (language.indexOf(list) != -1) { + window.sessionStorage.setItem('language', item.code); + } + } + } + } else { + window.sessionStorage.setItem('language', 'zh'); + } +} +// 判断国际化参数路径 +function fuzzyMatchUpdateQueryStringParameterFun() { + const browser = checkVersion(); + if (browser.app) { + if (browser.android) { + console.log('and deviceInfo', JSON.parse(pubInfo.deviceInfo)); + getLanguageCode(JSON.parse(pubInfo.deviceInfo)["Accept-Language"]); + + } else { + setTimeout(function () { + console.log('ios deviceInfo', pubInfo.deviceInfo); + getLanguageCode(pubInfo.deviceInfo["Accept-Language"]); + }, 40) + } + } else { + getLanguageCode(); + } +} diff --git a/YuMi/Tools/CocoaHttpServer/Web/js/langHandler.js b/YuMi/Tools/CocoaHttpServer/Web/js/langHandler.js new file mode 100644 index 00000000..2cdeafc4 --- /dev/null +++ b/YuMi/Tools/CocoaHttpServer/Web/js/langHandler.js @@ -0,0 +1,49 @@ +/** + * 初始化当前语言 + */ +function initLocalLang () { + const lang = sessionStorage.getItem('language') + console.log('getSessionLang',lang); + if (lang === 'zh' || window.location.href.match('=zh')) { + console.log("langHandler" + '繁体') + window.lang = langZh + window.lang.code = 'zh' + window.lang.defaults = false + } else if (lang === 'ar' || window.location.href.match('=ar')) { + // 阿拉伯 + console.log("langHandler" + '阿拉伯') + window.lang = langAr + window.lang.code = 'ar' + window.lang.defaults = false + } else if (lang === 'en' || window.location.href.match('=en')) { + // 英语 + console.log("langHandler" + '英语') + window.lang = langEn + window.lang.code = 'en' + window.lang.defaults = false + } else if (lang === 'id' || window.location.href.match('=id')) { + // 印度尼西亚 + console.log("langHandler" + '印尼') + window.lang = langId + window.lang.code = 'Id' + window.lang.defaults = false + }else if (lang === 'tr' || window.location.href.match('=tr')) { + // 土耳其 + console.log("langHandler" + '土耳其') + window.lang = langTr + window.lang.code = 'Tr' + window.lang.defaults = false + } else { + console.log("langHandler" + '默认') + window.lang = langZh + window.lang.code = null + window.lang.defaults = true + } + + window.lang.replace = (Lang, defaultText) => { + if (Lang) { + return Lang + } + return defaultText + } +} \ No newline at end of file diff --git a/YuMi/Tools/CocoaHttpServer/Web/local/ar.js b/YuMi/Tools/CocoaHttpServer/Web/local/ar.js new file mode 100644 index 00000000..394741d1 --- /dev/null +++ b/YuMi/Tools/CocoaHttpServer/Web/local/ar.js @@ -0,0 +1,10 @@ +// 阿拉伯 +langAr = { + demoModule: { + // ===============index============ + song_title:'بنقرة واحدة تحميل الأغاني', + song_list: 'قائمة الأغاني', + headerImg:'images/header-ar.png', + btnImg:'images/button-ar.png', + } +} \ No newline at end of file diff --git a/YuMi/Tools/CocoaHttpServer/Web/local/en.js b/YuMi/Tools/CocoaHttpServer/Web/local/en.js new file mode 100644 index 00000000..fbd919f5 --- /dev/null +++ b/YuMi/Tools/CocoaHttpServer/Web/local/en.js @@ -0,0 +1,10 @@ +// 英文 +langEn = { + demoModule: { + // ===============index============ + song_title:'One-click upload of songs', + song_list: 'Song list', + headerImg:'images/header-en.png', + btnImg:'images/button-en.png', + } +} \ No newline at end of file diff --git a/YuMi/Tools/CocoaHttpServer/Web/local/id.js b/YuMi/Tools/CocoaHttpServer/Web/local/id.js new file mode 100644 index 00000000..741f18e7 --- /dev/null +++ b/YuMi/Tools/CocoaHttpServer/Web/local/id.js @@ -0,0 +1,10 @@ +// 印尼语 +langId = { + demoModule: { + // ===============index============ + song_title:'Unggah lagu dengan satu klik', + song_list: 'Daftar lagu', + headerImg:'images/header-id.png', + btnImg:'images/button-id.png', + } +} \ No newline at end of file diff --git a/YuMi/Tools/CocoaHttpServer/Web/local/tr.js b/YuMi/Tools/CocoaHttpServer/Web/local/tr.js new file mode 100644 index 00000000..16209e61 --- /dev/null +++ b/YuMi/Tools/CocoaHttpServer/Web/local/tr.js @@ -0,0 +1,10 @@ +// 土耳其语 +langTr = { + demoModule: { + // ===============index============ + song_title:'Tek tıklamayla şarkı yükleyin', + song_list: 'şarkı listesi', + headerImg:'images/header-tr.png', + btnImg:'images/button-tr.png', + } +} \ No newline at end of file diff --git a/YuMi/Tools/CocoaHttpServer/Web/local/zh.js b/YuMi/Tools/CocoaHttpServer/Web/local/zh.js new file mode 100644 index 00000000..ba957076 --- /dev/null +++ b/YuMi/Tools/CocoaHttpServer/Web/local/zh.js @@ -0,0 +1,10 @@ +// 繁体中文 +langZh = { + demoModule: { + // ===============index============ + song_title:'一鍵上傳歌曲', + song_list: '歌曲列表', + headerImg:'images/header.png', + btnImg:'images/button.png', + } +} \ No newline at end of file