@ray-js/api 1.4.50-beta.1 → 1.4.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/getCdnUrl/index.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export default function getCdnUrl(path: string): string;
|
2
|
-
export declare function getCdnUrlAsync(path: string): Promise<string>;
|
1
|
+
export default function getCdnUrl(path: string, cdnMap?: Record<string, string>, region?: string): string;
|
2
|
+
export declare function getCdnUrlAsync(path: string, cdnMap?: Record<string, string>, region?: string): Promise<string>;
|
package/lib/getCdnUrl/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export default function getCdnUrl(path: string): string;
|
2
|
-
export declare function getCdnUrlAsync(path: string): Promise<string>;
|
1
|
+
export default function getCdnUrl(path: string, cdnMap?: Record<string, string>, region?: string): string;
|
2
|
+
export declare function getCdnUrlAsync(path: string, cdnMap?: Record<string, string>, region?: string): Promise<string>;
|
@@ -1,27 +1,28 @@
|
|
1
1
|
type LanguageMap = {
|
2
2
|
[key: string]: Record<string, string>;
|
3
3
|
};
|
4
|
-
export
|
4
|
+
export declare const updateI18n: (data: LanguageMap) => void;
|
5
|
+
export default class I18N<LanMap extends LanguageMap, Lan extends LanMap[keyof LanMap] = LanMap[keyof LanMap]> {
|
5
6
|
[x: string]: any;
|
6
|
-
strings:
|
7
|
+
strings: LanMap;
|
7
8
|
defaultLang: string;
|
8
9
|
__language: string;
|
9
|
-
constructor(props:
|
10
|
+
constructor(props: LanMap);
|
10
11
|
forceUpdateNetworkLang(productId: string): void;
|
11
|
-
mergeLanguage(L1: LanguageMap, L2: LanguageMap):
|
12
|
+
mergeLanguage(L1: LanguageMap, L2: LanguageMap): any;
|
12
13
|
isZh(language: string): boolean;
|
13
14
|
setLanguage(language: string): void;
|
14
15
|
buildLanguage(language: string): void;
|
15
16
|
_getBestMatchingLanguage(language: string, props: LanguageMap): any;
|
16
17
|
formatString(str: string, ...values: any[]): string;
|
17
|
-
formatValue(key:
|
18
|
+
formatValue(key: keyof Lan, ...values: any[]): any;
|
18
19
|
_replaceAll(find: string, replace: string, str: string): string;
|
19
20
|
getDpLang(code: string | number, value?: undefined | boolean | string): any;
|
20
21
|
getDpName(code: string, defaultName: string): any;
|
21
22
|
getDpsLang(key: {
|
22
23
|
[key: string]: string;
|
23
24
|
}): {};
|
24
|
-
getLang(key:
|
25
|
+
getLang(key: keyof Lan, defaultString?: string): any;
|
25
26
|
/**
|
26
27
|
* 获取picker标题
|
27
28
|
* @param {*} dpCode
|
package/lib/panel/i18n/index.js
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
import "core-js/modules/es.string.replace.js";
|
2
2
|
import { requestCloud, getSystemInfoSync, THING } from '../..';
|
3
3
|
import { getBitValue } from '../utils';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* I18n 智能小程序中用来获取多语言的对象
|
7
|
+
* 文档: https://developer.tuya.com/cn/miniapp/framework/app/i18n
|
8
|
+
*/
|
9
|
+
|
10
|
+
export const updateI18n = () => {
|
11
|
+
// 微信小程序中使用的方法,这里不需要实现
|
12
|
+
};
|
13
|
+
function hasKey(key) {
|
14
|
+
if (typeof I18n.has === 'function') {
|
15
|
+
return I18n.has(key);
|
16
|
+
}
|
17
|
+
return I18n.t(key) !== key;
|
18
|
+
}
|
4
19
|
export default class I18N {
|
5
20
|
constructor(props) {
|
6
21
|
this.strings = this.mergeLanguage(props, {});
|
@@ -107,7 +122,7 @@ export default class I18N {
|
|
107
122
|
return res;
|
108
123
|
}
|
109
124
|
formatValue(key) {
|
110
|
-
let res =
|
125
|
+
let res = this.getLang(key);
|
111
126
|
for (let i = 0; i < (arguments.length <= 1 ? 0 : arguments.length - 1); i++) {
|
112
127
|
res = this._replaceAll("{".concat(i, "}"), i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1], res);
|
113
128
|
}
|
@@ -129,30 +144,30 @@ export default class I18N {
|
|
129
144
|
} else {
|
130
145
|
key = "dp_".concat(code, "_").concat(value).toLowerCase();
|
131
146
|
}
|
132
|
-
return
|
147
|
+
return hasKey(key) ? I18n.t(key) : typeof this[key] !== 'undefined' ? this[key] : I18n.t(key);
|
133
148
|
}
|
134
149
|
getDpName(code, defaultName) {
|
135
150
|
const key = "dp_".concat(code).toLowerCase();
|
136
|
-
return
|
151
|
+
return hasKey(key) ? I18n.t(key) : typeof this[key] !== 'undefined' ? this[key] : defaultName;
|
137
152
|
}
|
138
153
|
getDpsLang(key) {
|
139
154
|
let strs = {};
|
140
155
|
if (typeof key === 'object') {
|
141
156
|
if (typeof key.strKey === 'string') {
|
142
|
-
strs =
|
157
|
+
strs = hasKey(key.strKey) ? I18n.t(key.strKey) : typeof this[key.strKey] !== 'undefined' ? this[key.strKey] : I18n.t(key.strKey);
|
143
158
|
} else {
|
144
159
|
Object.keys(key).map(i => {
|
145
|
-
strs[key[i]] =
|
160
|
+
strs[key[i]] = hasKey(key[i]) ? I18n.t(key[i]) : typeof this[key[i]] !== 'undefined' ? this[key[i]] : I18n.t(key[i]);
|
146
161
|
return null;
|
147
162
|
});
|
148
163
|
}
|
149
164
|
} else {
|
150
|
-
strs =
|
165
|
+
strs = hasKey(key) ? I18n.t(key) : typeof this[key] !== 'undefined' ? this[key] : I18n.t(key);
|
151
166
|
}
|
152
167
|
return strs;
|
153
168
|
}
|
154
169
|
getLang(key, defaultString) {
|
155
|
-
return
|
170
|
+
return hasKey(key) ? I18n.t(key) : typeof this[key] !== 'undefined' ? this[key] : typeof defaultString !== 'undefined' ? defaultString : I18n.t(key);
|
156
171
|
}
|
157
172
|
|
158
173
|
/**
|
@@ -165,7 +180,7 @@ export default class I18N {
|
|
165
180
|
const lists = schema.range;
|
166
181
|
lists.map(v => {
|
167
182
|
const key = "dp_".concat(dpCode, "_").concat(v).toLowerCase();
|
168
|
-
result[v] =
|
183
|
+
result[v] = hasKey(key) ? I18n.t(key) : typeof this[key] !== 'undefined' ? this[key] : I18n.t(key);
|
169
184
|
return null;
|
170
185
|
});
|
171
186
|
return result;
|
@@ -180,11 +195,11 @@ export default class I18N {
|
|
180
195
|
parseCountdown(t, power) {
|
181
196
|
const h = parseFloat("".concat(t / 3600));
|
182
197
|
const m = parseFloat("".concat(t / 60 - h * 60));
|
183
|
-
const tHour =
|
184
|
-
const tMinute =
|
198
|
+
const tHour = hasKey('t_hour') ? I18n.t('t_hour') : typeof this.t_hour !== 'undefined' ? this.t_hour : I18n.t('t_hour');
|
199
|
+
const tMinute = hasKey('t_minute') ? I18n.t('t_minute') : typeof this.t_minute !== 'undefined' ? this.t_minute : I18n.t('t_minute');
|
185
200
|
const time = h >= 1.0 ? "".concat(Math.round(h)).concat(tHour) : "".concat(Math.round(m)).concat(tMinute);
|
186
201
|
const key = "countdown_".concat(power ? 'on' : 'off');
|
187
|
-
const str =
|
202
|
+
const str = hasKey(key) ? I18n.t(key) : typeof this[key] !== 'undefined' ? this[key] : I18n.t(key);
|
188
203
|
return this.formatString(str, time);
|
189
204
|
}
|
190
205
|
getFaultStrings(schema, faultCode, faultValue) {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ray-js/api",
|
3
|
-
"version": "1.4.
|
3
|
+
"version": "1.4.51",
|
4
4
|
"description": "Ray universal api",
|
5
5
|
"keywords": [
|
6
6
|
"ray"
|
@@ -29,14 +29,14 @@
|
|
29
29
|
"watch": "ray start --type=component"
|
30
30
|
},
|
31
31
|
"dependencies": {
|
32
|
-
"@ray-js/framework": "
|
33
|
-
"@ray-js/router": "
|
32
|
+
"@ray-js/framework": "1.4.51",
|
33
|
+
"@ray-js/router": "1.4.51",
|
34
34
|
"@ray-js/wechat": "^0.2.8",
|
35
35
|
"base64-browser": "^1.0.1",
|
36
36
|
"query-string": "^7.1.3"
|
37
37
|
},
|
38
38
|
"devDependencies": {
|
39
|
-
"@ray-js/cli": "
|
39
|
+
"@ray-js/cli": "1.4.51",
|
40
40
|
"art-template": "^4.13.2",
|
41
41
|
"fs-extra": "^10.1.0",
|
42
42
|
"miniprogram-api-typings": "^3.12.2",
|
@@ -46,5 +46,5 @@
|
|
46
46
|
"access": "public",
|
47
47
|
"registry": "https://registry.npmjs.org"
|
48
48
|
},
|
49
|
-
"gitHead": "
|
49
|
+
"gitHead": "ef52059911e6d19ffadedbcc1cebb2c1b8e843bc"
|
50
50
|
}
|