Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
m0_68066342
uni-app
提交
25bd2558
U
uni-app
项目概览
m0_68066342
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
25bd2558
编写于
11月 26, 2021
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(i18n): custom locale
上级
2d998b28
变更
9
展开全部
显示空白变更内容
内联
并排
Showing
9 changed file
with
256 addition
and
76 deletion
+256
-76
build/webpack.config.js
build/webpack.config.js
+5
-0
packages/uni-app-plus/dist/index.v3.js
packages/uni-app-plus/dist/index.v3.js
+209
-47
packages/uni-h5/dist/index.umd.min.js
packages/uni-h5/dist/index.umd.min.js
+1
-1
packages/uni-h5/manifest.json
packages/uni-h5/manifest.json
+4
-0
src/core/helpers/constants.js
src/core/helpers/constants.js
+1
-1
src/core/helpers/i18n/index.js
src/core/helpers/i18n/index.js
+34
-14
src/core/service/api/ui/locale.js
src/core/service/api/ui/locale.js
+2
-2
src/platforms/app-plus/service/index.js
src/platforms/app-plus/service/index.js
+0
-6
src/platforms/h5/service/index.js
src/platforms/h5/service/index.js
+0
-5
未找到文件。
build/webpack.config.js
浏览文件 @
25bd2558
...
...
@@ -18,6 +18,11 @@ if (process.env.UNI_VIEW !== 'true') {
commonjs2
:
'
vue-router
'
,
root
:
'
VueRouter
'
}
externals
[
'
@dcloudio/uni-i18n
'
]
=
{
commonjs
:
'
@dcloudio/uni-i18n
'
,
commonjs2
:
'
@dcloudio/uni-i18n
'
,
root
:
'
@dcloudio/uni-i18n
'
}
}
const
alias
=
{
...
...
packages/uni-app-plus/dist/index.v3.js
浏览文件 @
25bd2558
...
...
@@ -64,6 +64,7 @@ var serviceContext = (function () {
'chooseImage',
'chooseFile',
'previewImage',
'closePreviewImage',
'getImageInfo',
'getVideoInfo',
'saveImageToPhotosAlbum',
...
...
@@ -234,6 +235,7 @@ var serviceContext = (function () {
'preLogin',
'closeAuthView',
'getCheckBoxState',
'getUniverifyManager',
'share',
'shareWithSystem',
'showShareMenu',
...
...
@@ -253,7 +255,8 @@ var serviceContext = (function () {
'sendNativeEvent',
'preloadPage',
'unPreloadPage',
'loadSubPackage'
'loadSubPackage',
'sendHostEvent'
];
const ad = [
...
...
@@ -1534,7 +1537,7 @@ var serviceContext = (function () {
"uni.chooseVideo.cancel": "Cancel",
"uni.chooseVideo.sourceType.album": "Album",
"uni.chooseVideo.sourceType.camera": "Camera",
"uni.
previewImage.cancel": "Cancel
",
"uni.
chooseFile.notUserActivation": "File chooser dialog can only be shown with a user activation
",
"uni.previewImage.button.save": "Save Image",
"uni.previewImage.save.success": "Saved successfully",
"uni.previewImage.save.fail": "Save failed",
...
...
@@ -1569,6 +1572,7 @@ var serviceContext = (function () {
"uni.chooseVideo.cancel": "Cancelar",
"uni.chooseVideo.sourceType.album": "Álbum",
"uni.chooseVideo.sourceType.camera": "Cámara",
"uni.chooseFile.notUserActivation": "El cuadro de diálogo del selector de archivos solo se puede mostrar con la activación del usuario",
"uni.previewImage.cancel": "Cancelar",
"uni.previewImage.button.save": "Guardar imagen",
"uni.previewImage.save.success": "Guardado exitosamente",
...
...
@@ -1604,6 +1608,7 @@ var serviceContext = (function () {
"uni.chooseVideo.cancel": "Annuler",
"uni.chooseVideo.sourceType.album": "Album",
"uni.chooseVideo.sourceType.camera": "Caméra",
"uni.chooseFile.notUserActivation": "La boîte de dialogue du sélecteur de fichier ne peut être affichée qu'avec une activation par l'utilisateur",
"uni.previewImage.cancel": "Annuler",
"uni.previewImage.button.save": "Guardar imagen",
"uni.previewImage.save.success": "Enregistré avec succès",
...
...
@@ -1639,6 +1644,7 @@ var serviceContext = (function () {
"uni.chooseVideo.cancel": "取消",
"uni.chooseVideo.sourceType.album": "从相册选择",
"uni.chooseVideo.sourceType.camera": "拍摄",
"uni.chooseFile.notUserActivation": "文件选择器对话框只能在由用户激活时显示",
"uni.previewImage.cancel": "取消",
"uni.previewImage.button.save": "保存图像",
"uni.previewImage.save.success": "保存图像到相册成功",
...
...
@@ -1674,6 +1680,7 @@ var serviceContext = (function () {
"uni.chooseVideo.cancel": "取消",
"uni.chooseVideo.sourceType.album": "從相冊選擇",
"uni.chooseVideo.sourceType.camera": "拍攝",
"uni.chooseFile.notUserActivation": "文件選擇器對話框只能在由用戶激活時顯示",
"uni.previewImage.cancel": "取消",
"uni.previewImage.button.save": "保存圖像",
"uni.previewImage.save.success": "保存圖像到相冊成功",
...
...
@@ -1713,6 +1720,26 @@ var serviceContext = (function () {
}
}
function initI18nMessages () {
if (!isEnableLocale()) {
return
}
const localeKeys = Object.keys(__uniConfig.locales);
if (localeKeys.length) {
localeKeys.forEach((locale) => {
const curMessages = messages[locale];
const userMessages = __uniConfig.locales[locale];
if (curMessages) {
Object.assign(curMessages, userMessages);
} else {
messages[locale] = userMessages;
}
});
}
}
initI18nMessages();
const i18n = initVueI18n(
locale,
messages
...
...
@@ -1808,7 +1835,7 @@ var serviceContext = (function () {
}
function isEnableLocale () {
return __uniConfig.locales && !!Object.keys(__uniConfig.locales).length
return
typeof __uniConfig !== 'undefined' &&
__uniConfig.locales && !!Object.keys(__uniConfig.locales).length
}
function initNavigationBarI18n (navigationBar) {
...
...
@@ -1820,21 +1847,30 @@ var serviceContext = (function () {
}
}
function initI18n
() {
const localeKeys = Object.keys(__uniConfig.locales || {});
if (localeKeys.length) {
localeKeys.forEach((locale) =>
i18n.add(locale, __uniConfig.locales[locale])
);
}
}
// export function initI18n
() {
// const localeKeys = Object.keys(__uniConfig.locales || {})
//
if (localeKeys.length) {
//
localeKeys.forEach((locale) =>
//
i18n.add(locale, __uniConfig.locales[locale])
// )
//
}
//
}
const setClipboardData = {
beforeSuccess () {
data: {
type: String,
required: true
},
showToast: {
type: Boolean,
default: true
},
beforeSuccess (res, params) {
if (!params.showToast) return
const title = t('uni.setClipboardData.success');
if (title) {
uni.showToast({
title
: t('uni.setClipboardData.success')
,
title,
icon: 'success',
mask: false,
style: {
...
...
@@ -2348,7 +2384,8 @@ var serviceContext = (function () {
PUT: 'PUT',
DELETE: 'DELETE',
TRACE: 'TRACE',
CONNECT: 'CONNECT'
CONNECT: 'CONNECT',
PATCH: 'PATCH'
};
const dataType = {
JSON: 'json'
...
...
@@ -3604,7 +3641,7 @@ var serviceContext = (function () {
const errMsg = res.errMsg;
if (errMsg.indexOf(apiName + ':ok') === 0) {
isFn(beforeSuccess) && beforeSuccess(res);
isFn(beforeSuccess) && beforeSuccess(res
, params
);
hasSuccess && success(res);
...
...
@@ -4325,6 +4362,8 @@ var serviceContext = (function () {
return array.length > 1 ? '.' + array[array.length - 1] : ''
}
const AUDIO_DEFAULT_CATEGORY = 'ambient';
const audios = {};
const evts = ['play', 'canplay', 'ended', 'stop', 'waiting', 'seeking', 'seeked', 'pause'];
...
...
@@ -4371,6 +4410,7 @@ var serviceContext = (function () {
audio.src = '';
audio.volume = 1;
audio.startTime = 0;
audio.setSessionCategory(AUDIO_DEFAULT_CATEGORY);
return {
errMsg: 'createAudioInstance:ok',
audioId
...
...
@@ -4397,7 +4437,8 @@ var serviceContext = (function () {
autoplay = false,
loop = false,
obeyMuteSwitch,
volume
volume,
category = AUDIO_DEFAULT_CATEGORY
}) {
const audio = audios[audioId];
if (audio) {
...
...
@@ -4415,6 +4456,9 @@ var serviceContext = (function () {
audio.volume = style.volume = volume;
}
audio.setStyles(style);
if (category) {
audio.setSessionCategory(category);
}
initStateChage(audioId);
}
return {
...
...
@@ -6293,7 +6337,7 @@ var serviceContext = (function () {
let deviceId;
function deviceId$1 () {
deviceId = deviceId || plus.
runtime.getDCloudId()
;
deviceId = deviceId || plus.
device.uuid
;
return deviceId
}
...
...
@@ -6710,7 +6754,8 @@ var serviceContext = (function () {
function getLocation$1 ({
type = 'wgs84',
geocode = false,
altitude = false
altitude = false,
highAccuracyExpireTime
} = {}, callbackId) {
const errorCallback = warpPlusErrorCallback(callbackId, 'getLocation');
plus.geolocation.getCurrentPosition(
...
...
@@ -6726,7 +6771,8 @@ var serviceContext = (function () {
errorCallback(e);
}, {
geocode: geocode,
enableHighAccuracy: altitude
enableHighAccuracy: altitude,
timeout: highAccuracyExpireTime
}
);
}
...
...
@@ -7206,6 +7252,19 @@ var serviceContext = (function () {
}
}
function closePreviewImagePlus () {
try {
plus.nativeUI.closePreviewImage();
return {
errMsg: 'closePreviewImagePlus:ok'
}
} catch (error) {
return {
errMsg: 'closePreviewImagePlus:fail'
}
}
}
let recorder$1;
let recordTimeout$1;
...
...
@@ -7876,6 +7935,8 @@ var serviceContext = (function () {
}
}
let univerifyManager;
function getService (provider) {
return new Promise((resolve, reject) => {
plus.oauth.getServices(services => {
...
...
@@ -7888,20 +7949,21 @@ var serviceContext = (function () {
/**
* 微信登录
*/
function login (params, callbackId) {
function login (params, callbackId
, plus = true
) {
const provider = params.provider || 'weixin';
const errorCallback = warp
PlusErrorCallback(callbackId, 'login'
);
const errorCallback = warp
ErrorCallback(callbackId, 'login', plus
);
const authOptions = provider === 'apple'
? { scope: 'email' }
: params.univerifyStyle
? { univerifyStyle: univerifyButtonsClickHandling(params.univerifyStyle, errorCallback) }
: {};
const _invoke = plus ? invoke$1 : callback.invoke;
getService(provider).then(service => {
function login () {
if (params.onlyAuthorize && provider === 'weixin') {
service.authorize(({ code }) => {
invoke$1
(callbackId, {
_invoke
(callbackId, {
code,
authResult: '',
errMsg: 'login:ok'
...
...
@@ -7911,7 +7973,7 @@ var serviceContext = (function () {
}
service.login(res => {
const authResult = res.target.authResult;
invoke$1
(callbackId, {
_invoke
(callbackId, {
code: authResult.code,
authResult: authResult,
errMsg: 'login:ok'
...
...
@@ -8006,9 +8068,9 @@ var serviceContext = (function () {
}
}
function preLogin$1 (params, callbackId) {
const successCallback = warp
PlusSuccessCallback(callbackId, 'preLogin'
);
const errorCallback = warp
PlusErrorCallback(callbackId, 'preLogin'
);
function preLogin$1 (params, callbackId
, plus
) {
const successCallback = warp
SuccessCallback(callbackId, 'preLogin', plus
);
const errorCallback = warp
ErrorCallback(callbackId, 'preLogin', plus
);
getService(params.provider).then(service => service.preLogin(successCallback, errorCallback)).catch(errorCallback);
}
...
...
@@ -8016,9 +8078,9 @@ var serviceContext = (function () {
return getService('univerify').then(service => service.closeAuthView())
}
function getCheckBoxState (params, callbackId) {
const successCallback = warp
PlusSuccessCallback(callbackId, 'getCheckBoxState'
);
const errorCallback = warp
PlusErrorCallback(callbackId, 'getCheckBoxState'
);
function getCheckBoxState (params, callbackId
, plus
) {
const successCallback = warp
SuccessCallback(callbackId, 'getCheckBoxState', plus
);
const errorCallback = warp
ErrorCallback(callbackId, 'getCheckBoxState', plus
);
try {
getService('univerify').then(service => {
const state = service.getCheckBoxState();
...
...
@@ -8033,19 +8095,19 @@ var serviceContext = (function () {
* 一键登录自定义登陆按钮点击处理
*/
function univerifyButtonsClickHandling (univerifyStyle, errorCallback) {
if (univerifyStyle && isPlainObject(univerifyStyle) && univerifyStyle.buttons &&
Object.prototype.toString.call(univerifyStyle.buttons.list) === '[object Array]' &&
univerifyStyle.buttons.list.length > 0
) {
if (isPlainObject(univerifyStyle) && isPlainObject(univerifyStyle.buttons) && toRawType(univerifyStyle.buttons.list) === 'Array') {
univerifyStyle.buttons.list.forEach((button, index) => {
univerifyStyle.buttons.list[index].onclick = function () {
closeAuthView().then(() => {
errorCallback({
const res = {
code: '30008',
message: '用户点击了自定义按钮',
index,
provider: button.provider
});
};
isPlainObject(univerifyManager)
? univerifyManager._triggerUniverifyButtonsClick(res)
: closeAuthView().then(() => {
errorCallback(res);
});
};
});
...
...
@@ -8053,6 +8115,76 @@ var serviceContext = (function () {
return univerifyStyle
}
class UniverifyManager {
constructor () {
this.provider = 'univerify';
this.eventName = 'api.univerifyButtonsClick';
}
close () {
closeAuthView();
}
login (options) {
this._warp((data, callbackId) => login(data, callbackId, false), this._getOptions(options));
}
getCheckBoxState (options) {
this._warp((_, callbackId) => getCheckBoxState(_, callbackId, false), options);
}
preLogin (options) {
this._warp((data, callbackId) => preLogin$1(data, callbackId, false), this._getOptions(options));
}
onButtonsClick (callback) {
UniServiceJSBridge.on(this.eventName, callback);
}
offButtonsClick (callback) {
UniServiceJSBridge.off(this.eventName, callback);
}
_triggerUniverifyButtonsClick (res) {
UniServiceJSBridge.emit(this.eventName, res);
}
_warp (fn, options) {
return callback.warp(fn)(this._getOptions(options))
}
_getOptions (options = {}) {
return Object.assign({}, options, { provider: this.provider })
}
}
function getUniverifyManager () {
return univerifyManager || (univerifyManager = new UniverifyManager())
}
function warpSuccessCallback (callbackId, name, plus = true) {
return plus
? warpPlusSuccessCallback(callbackId, name)
: (options) => {
callback.invoke(callbackId, Object.assign({}, options, {
errMsg: `${name}:ok`
}));
}
}
function warpErrorCallback (callbackId, name, plus = true) {
return plus
? warpPlusErrorCallback(callbackId, name)
: (error) => {
const { code = 0, message: errorMessage } = error;
callback.invoke(callbackId, {
errMsg: `${name}:fail ${errorMessage || ''}`,
errCode: code,
code
});
}
}
function requestPayment (params, callbackId) {
const provider = params.provider;
const errorCallback = warpPlusErrorCallback(callbackId, 'requestPayment');
...
...
@@ -8579,6 +8711,25 @@ var serviceContext = (function () {
});
}
const sendHostEvent = sendNativeEvent;
function navigateToMiniProgram (data, callbackId) {
sendHostEvent(
'navigateToUniMP',
data,
(res) => {
if (res.errMsg && res.errMsg.indexOf(':ok') === -1) {
return invoke$1(callbackId, {
errMsg: res.errMsg
})
}
invoke$1(callbackId, {
errMsg: 'navigateToMiniProgram:ok'
});
}
);
}
const VD_SYNC_VERSION = 2;
const PAGE_CREATE = 2;
...
...
@@ -10630,7 +10781,6 @@ var serviceContext = (function () {
editable = false,
placeholderText = ''
} = {}, callbackId) {
// TODO 在 editable 为 true 时,content 应该是输入框中可修改内容。后续找客户端商量。
const buttons = showCancel ? [cancelText, confirmText] : [confirmText];
const tip = editable ? placeholderText : buttons;
...
...
@@ -10751,6 +10901,11 @@ var serviceContext = (function () {
pagePath,
visible
}) {
if (!isTabBarPage()) {
return {
errMsg: 'setTabBarItem:fail not TabBar page'
}
}
tabBar$1.setTabBarItem(index, text, iconPath, selectedIconPath, visible);
const route = pagePath && __uniRoutes.find(({ path }) => path === pagePath);
if (route) {
...
...
@@ -11654,6 +11809,7 @@ var serviceContext = (function () {
getImageInfo: getImageInfo$1,
getVideoInfo: getVideoInfo$1,
previewImagePlus: previewImagePlus,
closePreviewImagePlus: closePreviewImagePlus,
operateRecorder: operateRecorder,
saveImageToPhotosAlbum: saveImageToPhotosAlbum$1,
saveVideoToPhotosAlbum: saveVideoToPhotosAlbum,
...
...
@@ -11675,6 +11831,7 @@ var serviceContext = (function () {
preLogin: preLogin$1,
closeAuthView: closeAuthView,
getCheckBoxState: getCheckBoxState,
getUniverifyManager: getUniverifyManager,
requestPayment: requestPayment,
subscribePush: subscribePush,
unsubscribePush: unsubscribePush,
...
...
@@ -11690,6 +11847,8 @@ var serviceContext = (function () {
onNativeEventReceive: onNativeEventReceive,
sendNativeEvent: sendNativeEvent,
loadSubPackage: loadSubPackage$2,
sendHostEvent: sendHostEvent,
navigateToMiniProgram: navigateToMiniProgram,
navigateBack: navigateBack$1,
navigateTo: navigateTo$1,
reLaunch: reLaunch$1,
...
...
@@ -20130,9 +20289,14 @@ var serviceContext = (function () {
return invokeMethod('previewImagePlus', args)
}
function closePreviewImage (args = {}) {
return invokeMethod('closePreviewImagePlus', args)
}
var require_context_module_1_15 = /*#__PURE__*/Object.freeze({
__proto__: null,
previewImage: previewImage$1
previewImage: previewImage$1,
closePreviewImage: closePreviewImage
});
const callbacks$8 = {
...
...
@@ -22880,8 +23044,6 @@ var serviceContext = (function () {
}
};
initI18n();
// 挂靠在uni上,暂不做全局导出
uni$1.__$wx__ = wx;
...
...
packages/uni-h5/dist/index.umd.min.js
浏览文件 @
25bd2558
此差异已折叠。
点击以展开。
packages/uni-h5/manifest.json
浏览文件 @
25bd2558
...
...
@@ -364,6 +364,10 @@
]
]
],
"closePreviewImage"
:
[
"/platforms/h5/service/api/media/preview-image.js"
,
[]
],
"getImageInfo"
:
[
"/platforms/h5/service/api/media/get-image-info.js"
,
[
...
...
src/core/helpers/constants.js
浏览文件 @
25bd2558
...
...
@@ -2,4 +2,4 @@ export const NAVBAR_HEIGHT = 44
export
const
TABBAR_HEIGHT
=
50
// 576:landscape phones,768:tablets,992:desktops,1200:large desktops
export
const
RESPONSIVE_MIN_WIDTH
=
768
export
const
DC_LOCALE
=
'
__DC
_LOCALE
'
export
const
UNI_STORAGE_LOCALE
=
'
UNI
_LOCALE
'
src/core/helpers/i18n/index.js
浏览文件 @
25bd2558
...
...
@@ -7,7 +7,7 @@ import {
}
from
'
uni-shared
'
import
{
DC_LOCALE
UNI_STORAGE_LOCALE
}
from
'
../constants
'
import
en
from
'
./en.json
'
...
...
@@ -27,7 +27,7 @@ const messages = {
let
locale
if
(
__PLATFORM__
===
'
h5
'
)
{
locale
=
(
window
.
localStorage
&&
localStorage
[
DC
_LOCALE
])
||
__uniConfig
.
locale
||
navigator
.
language
locale
=
(
window
.
localStorage
&&
localStorage
[
UNI_STORAGE
_LOCALE
])
||
__uniConfig
.
locale
||
navigator
.
language
}
else
if
(
__PLATFORM__
===
'
app-plus
'
)
{
if
(
typeof
weex
===
'
object
'
)
{
locale
=
weex
.
requireModule
(
'
plus
'
).
getLanguage
()
...
...
@@ -38,6 +38,26 @@ if (__PLATFORM__ === 'h5') {
locale
=
__GLOBAL__
.
getSystemInfoSync
().
language
}
function
initI18nMessages
()
{
if
(
!
isEnableLocale
())
{
return
}
const
localeKeys
=
Object
.
keys
(
__uniConfig
.
locales
)
if
(
localeKeys
.
length
)
{
localeKeys
.
forEach
((
locale
)
=>
{
const
curMessages
=
messages
[
locale
]
const
userMessages
=
__uniConfig
.
locales
[
locale
]
if
(
curMessages
)
{
Object
.
assign
(
curMessages
,
userMessages
)
}
else
{
messages
[
locale
]
=
userMessages
}
})
}
}
initI18nMessages
()
export
const
i18n
=
initVueI18n
(
locale
,
__PLATFORM__
===
'
app-plus
'
||
__PLATFORM__
===
'
h5
'
?
messages
:
{}
...
...
@@ -134,7 +154,7 @@ export function defineI18nProperty (obj, names) {
}
function
isEnableLocale
()
{
return
__uniConfig
.
locales
&&
!!
Object
.
keys
(
__uniConfig
.
locales
).
length
return
typeof
__uniConfig
!==
'
undefined
'
&&
__uniConfig
.
locales
&&
!!
Object
.
keys
(
__uniConfig
.
locales
).
length
}
export
function
initNavigationBarI18n
(
navigationBar
)
{
...
...
@@ -166,11 +186,11 @@ export function initTabBarI18n (tabBar) {
return
tabBar
}
export
function
initI18n
()
{
const
localeKeys
=
Object
.
keys
(
__uniConfig
.
locales
||
{})
if
(
localeKeys
.
length
)
{
localeKeys
.
forEach
((
locale
)
=>
i18n
.
add
(
locale
,
__uniConfig
.
locales
[
locale
])
)
}
}
// export function initI18n
() {
//
const localeKeys = Object.keys(__uniConfig.locales || {})
//
if (localeKeys.length) {
//
localeKeys.forEach((locale) =>
//
i18n.add(locale, __uniConfig.locales[locale])
//
)
//
}
//
}
src/core/service/api/ui/locale.js
浏览文件 @
25bd2558
...
...
@@ -5,7 +5,7 @@ import {
i18n
}
from
'
uni-helpers/i18n
'
import
{
DC
_LOCALE
UNI_STORAGE
_LOCALE
}
from
'
uni-helpers/constants
'
export
function
getLocale
()
{
...
...
@@ -35,7 +35,7 @@ export function setLocale (locale) {
weex
.
requireModule
(
'
plus
'
).
setLanguage
(
locale
)
}
if
(
__PLATFORM__
===
'
h5
'
)
{
window
.
localStorage
&&
(
localStorage
[
DC
_LOCALE
]
=
locale
)
window
.
localStorage
&&
(
localStorage
[
UNI_STORAGE
_LOCALE
]
=
locale
)
}
callbacks
.
forEach
(
callbackId
=>
{
invoke
(
callbackId
,
{
locale
})
...
...
src/platforms/app-plus/service/index.js
浏览文件 @
25bd2558
...
...
@@ -31,12 +31,6 @@ import {
import
vuePlugin
from
'
./framework/plugins
'
import
{
initI18n
}
from
'
uni-helpers/i18n
'
initI18n
()
// 挂靠在uni上,暂不做全局导出
uni
.
__$wx__
=
wx
...
...
src/platforms/h5/service/index.js
浏览文件 @
25bd2558
...
...
@@ -10,11 +10,6 @@ import {
getCurrentPages
}
from
'
uni-core/service/plugins/app
'
import
{
initI18n
}
from
'
uni-helpers/i18n
'
initI18n
()
initOn
(
UniServiceJSBridge
.
on
,
{
getApp
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录