@tuya-sat/micro-script 3.3.16 → 3.3.18
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.
|
@@ -211,7 +211,7 @@ function getCommonConfig({ isDev, isBuild, port, }) {
|
|
|
211
211
|
},
|
|
212
212
|
plugins: [
|
|
213
213
|
new webpack_1.default.ProvidePlugin({
|
|
214
|
-
process: 'process/browser',
|
|
214
|
+
process: 'process/browser.js',
|
|
215
215
|
Buffer: ['buffer', 'Buffer'],
|
|
216
216
|
}),
|
|
217
217
|
new html_webpack_plugin_1.default({
|
|
@@ -1,21 +1,75 @@
|
|
|
1
|
+
import { ConfigProviderProps } from 'antd';
|
|
1
2
|
import { CaptureContext, Event, Severity } from '@sentry/types';
|
|
2
3
|
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
type ThemeMode = 'light' | 'dark';
|
|
5
|
+
|
|
6
|
+
interface UserInfo {
|
|
7
|
+
user_nick_name: string;
|
|
8
|
+
user_name: string;
|
|
9
|
+
roles: Array<{
|
|
10
|
+
role_code: string;
|
|
11
|
+
role_name: string;
|
|
12
|
+
}>;
|
|
13
|
+
mobile?: string;
|
|
14
|
+
email?: string;
|
|
15
|
+
country_code?: string;
|
|
16
|
+
user_id?: string;
|
|
17
|
+
root_namespace?: string;
|
|
18
|
+
current_namespace?: string;
|
|
19
|
+
current_namespace_name?: string;
|
|
20
|
+
head_pic?: string
|
|
21
|
+
username?: string;
|
|
22
|
+
nickname?: string;
|
|
23
|
+
timezone_display_name?: string;
|
|
10
24
|
}
|
|
25
|
+
interface MainHistoryState {
|
|
26
|
+
/**
|
|
27
|
+
* 微应用唯一id(优先级最高)
|
|
28
|
+
*/
|
|
29
|
+
universal_id?: string;
|
|
30
|
+
/**
|
|
31
|
+
* 微应用代码
|
|
32
|
+
*/
|
|
33
|
+
app_code?: string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 是否在新的标签页中打开
|
|
37
|
+
*/
|
|
38
|
+
blank?: boolean;
|
|
11
39
|
|
|
12
|
-
|
|
13
|
-
|
|
40
|
+
/**
|
|
41
|
+
* 其他状态
|
|
42
|
+
*/
|
|
14
43
|
[key: string]: any;
|
|
15
|
-
}
|
|
44
|
+
};
|
|
45
|
+
interface MainHistory {
|
|
46
|
+
/**
|
|
47
|
+
* 跳转到一个新的路径
|
|
48
|
+
* @param path 路径
|
|
49
|
+
* @param state 状态
|
|
50
|
+
*/
|
|
51
|
+
push: (path: string, state?: MainHistoryState) => void;
|
|
52
|
+
/**
|
|
53
|
+
* 替换当前路径
|
|
54
|
+
* @param path 路径
|
|
55
|
+
* @param state 状态
|
|
56
|
+
*/
|
|
57
|
+
replace: (path: string, state?: MainHistoryState) => void;
|
|
16
58
|
|
|
17
|
-
|
|
18
|
-
|
|
59
|
+
/**
|
|
60
|
+
* 导航到历史记录中的上一个路径
|
|
61
|
+
*/
|
|
62
|
+
go: (n: number) => void;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* 导航到历史记录中的上一个路径
|
|
66
|
+
*/
|
|
67
|
+
goBack: () => void;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* 导航到历史记录中的下一个路径
|
|
71
|
+
*/
|
|
72
|
+
goForward: () => void;
|
|
19
73
|
}
|
|
20
74
|
|
|
21
75
|
type BreadcrumbInfoInput =
|
|
@@ -23,40 +77,422 @@ type BreadcrumbInfoInput =
|
|
|
23
77
|
type: 'auto' | 'root';
|
|
24
78
|
name?: never;
|
|
25
79
|
path?: never;
|
|
80
|
+
goBack?(): void;
|
|
26
81
|
}
|
|
27
82
|
| {
|
|
28
83
|
type: 'menu';
|
|
29
84
|
name?: never;
|
|
30
85
|
path: string;
|
|
86
|
+
goBack?(): void;
|
|
31
87
|
}
|
|
32
88
|
| {
|
|
33
89
|
type: 'c';
|
|
34
90
|
name: string;
|
|
35
91
|
path: string;
|
|
92
|
+
render?(eleTitle: HTMLDivElement): void;
|
|
93
|
+
goBack?(): void;
|
|
36
94
|
};
|
|
37
95
|
|
|
96
|
+
interface SetBreadcrumb {
|
|
97
|
+
(
|
|
98
|
+
breadcrumbInfos?: BreadcrumbInfoInput[],
|
|
99
|
+
/**
|
|
100
|
+
* 针对 v5/v6 版微应用的额外操作
|
|
101
|
+
*/
|
|
102
|
+
actions?: {
|
|
103
|
+
activeKey?: string;
|
|
104
|
+
hideFullScreen?: boolean;
|
|
105
|
+
options?: Array<{
|
|
106
|
+
label: string;
|
|
107
|
+
value: string;
|
|
108
|
+
tooltip: string;
|
|
109
|
+
}>;
|
|
110
|
+
onClick?(key: string): void;
|
|
111
|
+
renderExtra?(eleExtra: HTMLDivElement): void;
|
|
112
|
+
}
|
|
113
|
+
): void;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
type ThemeSubscribeGetValue =
|
|
117
|
+
| (
|
|
118
|
+
/**
|
|
119
|
+
* 获取当前主题(v4 版微应用)
|
|
120
|
+
* @example 'light' | 'dark'
|
|
121
|
+
*/
|
|
122
|
+
() => ThemeMode
|
|
123
|
+
)
|
|
124
|
+
| (
|
|
125
|
+
/**
|
|
126
|
+
* 获取当前主题(v5/v6 版微应用)
|
|
127
|
+
* @example { theme: { themeMode: 'light' | 'dark' }, ... }
|
|
128
|
+
*/
|
|
129
|
+
() => ConfigProviderProps & {
|
|
130
|
+
theme: ConfigProviderProps['theme'] & { themeMode: ThemeMode };
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
type MqttStatus = 'connected' | 'reconnecting' | 'reconnect_failed' | 'offline' | 'close' | 'error';
|
|
136
|
+
interface MqttStatusEvent {
|
|
137
|
+
status: MqttStatus;
|
|
138
|
+
remainingRetries?: number;
|
|
139
|
+
maxRetries?: number;
|
|
140
|
+
error?: any;
|
|
141
|
+
}
|
|
142
|
+
type MqttStatusListener = (event: MqttStatusEvent) => void;
|
|
143
|
+
export interface SubscribeTopicOption {
|
|
144
|
+
/** 为 true 时不记入 micTopics,卸载微应用时不会随 unsubscribeMicTopics 一起取消 */
|
|
145
|
+
isGlobal?: boolean;
|
|
146
|
+
/** 与 topic 一一对应;不传则仅按 topic 匹配,不校验 protocol */
|
|
147
|
+
protocol?: number;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
type MqttTopic = string | ((uid: string) => string);
|
|
151
|
+
|
|
152
|
+
interface PublishTopicOption {
|
|
153
|
+
protocol?: number; // 下发协议号
|
|
154
|
+
type?: string; // 消息类型,默认 ''
|
|
155
|
+
v?: number; // 协议版本,默认 1
|
|
156
|
+
qos?: 0 | 1 | 2; // MQTT QoS 等级,默认 0
|
|
157
|
+
retain?: boolean; // 是否保留消息
|
|
158
|
+
isRaw?: boolean; // true:跳过标准封装,直接发送 data
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* 数据模型类型
|
|
163
|
+
* basic: 基础数据模型。对应 v4 版微应用
|
|
164
|
+
* smart_space: 空间智能行业。对应 v5 版微应用
|
|
165
|
+
* smart_home: 空间智能。对应 v6 版微应用
|
|
166
|
+
*/
|
|
167
|
+
type DATA_MODEL = 'basic' | 'smart_space' | 'smart_home';
|
|
168
|
+
|
|
38
169
|
export interface IQiankunProps {
|
|
170
|
+
/**
|
|
171
|
+
* 微应用基础路径
|
|
172
|
+
* @example '/apps/2004417307740209166'
|
|
173
|
+
*/
|
|
39
174
|
base: string;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* 子应用所在容器
|
|
178
|
+
* @example document.querySelector('#root')
|
|
179
|
+
*/
|
|
180
|
+
container: HTMLElement;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* 微应用自定义配置
|
|
184
|
+
* @example '{"hello": "just for test"}'
|
|
185
|
+
*/
|
|
186
|
+
customConfig: string | null;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* 主应用 window 对象。
|
|
190
|
+
* 由于 qiankun 的沙箱机制,在使用三方包时,某些功能(比如 jsonp)无法将属性挂载到全局对象上
|
|
191
|
+
* 此时可以通过此属性获取主应用 window 对象,从而调用主应用的某些功能
|
|
192
|
+
*/
|
|
193
|
+
mWindow: Window;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* 用于微应用间跳转
|
|
197
|
+
*/
|
|
198
|
+
mainHistory: MainHistory;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* 当前家庭/项目ID(v5/v6 版微应用)
|
|
202
|
+
* @example '34808062'
|
|
203
|
+
*/
|
|
204
|
+
projectId: string;
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* 当前业务隔离类型(v5/v6 版微应用)
|
|
208
|
+
* @example 'homeId'
|
|
209
|
+
*/
|
|
210
|
+
isolationType: 'projectId' | 'homeId' | null;
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* SaaS 所属行业类型
|
|
214
|
+
* @example 'smart_home'
|
|
215
|
+
*/
|
|
216
|
+
industryType:
|
|
217
|
+
| 'smart_space' // 空间智能行业
|
|
218
|
+
| 'smart_home' // 空间智能
|
|
219
|
+
| 'smart_operation' // 智能运营
|
|
220
|
+
| 'ems_energy' // 能源管理
|
|
221
|
+
| 'appliance' // 家电
|
|
222
|
+
| 'light' // 照明
|
|
223
|
+
| 'content_manage' // 内容管理
|
|
224
|
+
| string;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* 是否支持移动端
|
|
228
|
+
* @example true
|
|
229
|
+
*/
|
|
230
|
+
isSupportMobile: boolean;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* 当前区域
|
|
234
|
+
* - tx: 中国大陆
|
|
235
|
+
* - us: 美国
|
|
236
|
+
* - eu: 欧洲
|
|
237
|
+
* - in: 印度
|
|
238
|
+
* - ueaz: 美东
|
|
239
|
+
* - we: 西欧
|
|
240
|
+
* - sg: 新加坡
|
|
241
|
+
* @example 'tx'
|
|
242
|
+
*/
|
|
243
|
+
region: 'tx' | 'us' | 'eu' | 'in' | 'ueaz' | 'we' | 'sg';
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* 微应用静态资源入口地址前缀
|
|
247
|
+
* @example 'https://static1.tuyacn.com/static/xxxxx/0.0.1'
|
|
248
|
+
*/
|
|
249
|
+
resourcePrefix: string;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* 获取当前菜单信息
|
|
253
|
+
* @example { entry_name: '首页', entry_name_en: 'Home' }
|
|
254
|
+
*/
|
|
255
|
+
getOwnMenu: () => {
|
|
256
|
+
entry_name: string;
|
|
257
|
+
entry_name_en: string;
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* 判断是否存在指定微应用
|
|
262
|
+
* @param appCodeOrUuid 微应用代码或 UUID
|
|
263
|
+
* @example (appCodeOrUuid: string) => true
|
|
264
|
+
*/
|
|
265
|
+
hasMicroApp?: (appCodeOrUuid: string) => boolean;
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* 是否拥有当前微应用的某个权限点
|
|
269
|
+
* @param permissionCode 权限点代码
|
|
270
|
+
* @example (permissionCode: string) => true
|
|
271
|
+
*/
|
|
43
272
|
hasPermission: (permissionCode: string) => boolean;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* 是否拥有指定微应用的某个权限点
|
|
276
|
+
* @param appCodeOrUuid 微应用代码或 UUID
|
|
277
|
+
* @param permissionCode 权限点代码
|
|
278
|
+
* @example (appCodeOrUuid: string, permissionCode: string) => true
|
|
279
|
+
*/
|
|
280
|
+
hasGPermission: (appCodeOrUuid: string, permissionCode: string) => boolean;
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* 动态属性
|
|
284
|
+
*/
|
|
285
|
+
dynamicProps: {
|
|
286
|
+
/**
|
|
287
|
+
* 自定义面包屑
|
|
288
|
+
*/
|
|
289
|
+
setBreadcrumb: SetBreadcrumb;
|
|
290
|
+
[key: string]: any;
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* 修改当前选中菜单(v4 版微应用)
|
|
295
|
+
*/
|
|
296
|
+
modifySelectedMenu: () => void;
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* v5/v6 版微应用 MQTT 相关接口
|
|
300
|
+
*/
|
|
301
|
+
mqtt: {
|
|
302
|
+
/**
|
|
303
|
+
* 订阅指定 topic,收到消息时调用 cbFn
|
|
304
|
+
* @param topic 主题
|
|
305
|
+
* @param cbFn 回调函数
|
|
306
|
+
* @param option 选项
|
|
307
|
+
* @example subscribeTopic((uid: string) => `topic/${uid}/test`, (msg) => { console.log(msg); })
|
|
308
|
+
*/
|
|
309
|
+
subscribeTopic: (
|
|
310
|
+
topic: MqttTopic,
|
|
311
|
+
cbFn?: (msg: any) => void,
|
|
312
|
+
option?: SubscribeTopicOption
|
|
313
|
+
) => void;
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* 向指定 topic 发布消息
|
|
317
|
+
* @param topic 主题
|
|
318
|
+
* @param data 消息
|
|
319
|
+
* @param option 选项
|
|
320
|
+
* @example publishTopic((uid: string) => `topic/${uid}/test`, { message: 'hello' }, { protocol: 201 })
|
|
321
|
+
*/
|
|
322
|
+
publishTopic: (
|
|
323
|
+
topic: MqttTopic,
|
|
324
|
+
data: any,
|
|
325
|
+
option?: PublishTopicOption
|
|
326
|
+
) => Promise<void>;
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* 取消订阅指定 topic
|
|
330
|
+
* @param topic 主题
|
|
331
|
+
* @example unsubscribeTopic((uid: string) => `topic/${uid}/test`)
|
|
332
|
+
*/
|
|
333
|
+
unsubscribeTopic: (topic?: MqttTopic) => void;
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* 监听 MQTT 连接状态变化
|
|
337
|
+
* @param listener 监听函数
|
|
338
|
+
* @example onStatusChange((evt) => { console.log(evt); })
|
|
339
|
+
*/
|
|
340
|
+
onStatusChange(listener: MqttStatusListener): () => void
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* v5/v6 版微应用使用旧版 mqtt 相关接口替代
|
|
345
|
+
* @deprecated 慎用,以后会移除
|
|
346
|
+
*/
|
|
347
|
+
mqttV4: {
|
|
348
|
+
/**
|
|
349
|
+
* 订阅指定 topic,收到消息时调用 cbFn
|
|
350
|
+
* @param bizType 业务类型
|
|
351
|
+
* @param cbFn 回调函数
|
|
352
|
+
* @param option 选项
|
|
353
|
+
* @example subscribeTopic('somebiztype', (msg) => { console.log(msg); })
|
|
354
|
+
*/
|
|
355
|
+
subscribeTopic(
|
|
356
|
+
bizType: string,
|
|
357
|
+
cbFn?: (msg: any) => void,
|
|
358
|
+
option?: {
|
|
359
|
+
isGlobal: boolean;
|
|
360
|
+
}
|
|
361
|
+
): void;
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* 取消订阅指定 topic
|
|
365
|
+
* @param bizType 业务类型
|
|
366
|
+
* @example unsubscribeTopic('somebiztype')
|
|
367
|
+
*/
|
|
368
|
+
unsubscribeTopic(bizType: string): void;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* sentry 错误上报
|
|
373
|
+
*/
|
|
49
374
|
sentry: {
|
|
50
375
|
captureEvent: (event: Event) => string;
|
|
51
|
-
captureMessage: (
|
|
52
|
-
|
|
53
|
-
captureContext?: CaptureContext | Severity
|
|
54
|
-
) => string;
|
|
55
|
-
captureException: (
|
|
56
|
-
exception: any,
|
|
57
|
-
captureContext?: CaptureContext
|
|
58
|
-
) => string;
|
|
376
|
+
captureMessage: (message: string, captureContext?: CaptureContext | Severity) => string;
|
|
377
|
+
captureException: (exception: any, captureContext?: CaptureContext) => string;
|
|
59
378
|
};
|
|
60
|
-
|
|
61
|
-
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* 设置微应用加载状态
|
|
382
|
+
* @param loading 是否加载中
|
|
383
|
+
*/
|
|
384
|
+
setLoading: (loading: boolean) => void;
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* 当前语言
|
|
388
|
+
* @example 'zh'
|
|
389
|
+
*/
|
|
390
|
+
tyLang: 'zh' | 'en' | string;
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* 微应用国际化语言资源
|
|
394
|
+
* @example { zh: { 'hello': '你好' }, en: { 'hello': 'Hello' } }
|
|
395
|
+
*/
|
|
396
|
+
langResource: {
|
|
397
|
+
zh: Record<string, string>;
|
|
398
|
+
en: Record<string, string>;
|
|
399
|
+
[key: string]: Record<string, string>;
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* 获取当前登录用户信息(v5/v6 版微应用)
|
|
404
|
+
* @example { user_nick_name: '张三', user_name: 'zhangsan', roles: [{ role_code: 'admin', role_name: '管理员' }], mobile: '13888888888', email: 'zhangsan@tuyacn.com', country_code: '86', user_id: '1234567890', root_namespace: 'root', current_namespace: 'current', current_namespace_name: '当前空间', head_pic: 'https://static1.tuyacn.com/static/xxxxx/0.0.1', username: 'zhangsan', nickname: '张三', timezone_display_name: 'Asia/Shanghai' }
|
|
405
|
+
*/
|
|
406
|
+
getCurrentUser: () => UserInfo | null;
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* 获取当前登录用户信息(v4 版微应用)
|
|
410
|
+
* @deprecated v5/v6 版使用 `getCurrentUser()` 替代
|
|
411
|
+
* @example { user_nick_name: '张三', user_name: 'zhangsan', roles: [{ role_code: 'admin', role_name: '管理员' }], mobile: '13888888888', email: 'zhangsan@tuyacn.com', country_code: '86', user_id: '1234567890', root_namespace: 'root', current_namespace: 'current', current_namespace_name: '当前空间', head_pic: 'https://static1.tuyacn.com/static/xxxxx/0.0.1', username: 'zhangsan', nickname: '张三', timezone_display_name: 'Asia/Shanghai' }
|
|
412
|
+
*/
|
|
413
|
+
user(): UserInfo | null;
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* 获取当前主题
|
|
417
|
+
* @example 'light' | 'dark'
|
|
418
|
+
*/
|
|
419
|
+
gTheme(): ThemeMode;
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* 订阅主题
|
|
423
|
+
*/
|
|
424
|
+
themeSubscribe: {
|
|
425
|
+
getValue: ThemeSubscribeGetValue;
|
|
426
|
+
subscribe: (cb: (type: ThemeMode, data: any) => void) => () => void;
|
|
427
|
+
};
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* 设置头部是否显示(v5/v6 版微应用)
|
|
431
|
+
* @param visible 是否显示头部
|
|
432
|
+
* @returns
|
|
433
|
+
*/
|
|
434
|
+
setHeaderVisible: (visible: boolean) => void;
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* 设置侧边栏是否显示(v5/v6 版微应用)
|
|
438
|
+
* @param visible 是否显示侧边栏
|
|
439
|
+
* @returns
|
|
440
|
+
*/
|
|
441
|
+
setSiderVisible: (visible: boolean) => void;
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* 设置侧边栏折叠状态(v5/v6 版微应用)
|
|
445
|
+
* @param collapsed 是否折叠侧边栏
|
|
446
|
+
* @returns
|
|
447
|
+
*/
|
|
448
|
+
setSiderCollapsed: (collapsed: boolean) => void;
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* 隐藏菜单
|
|
452
|
+
* @deprecated 使用 `setSiderVisible()` 替代
|
|
453
|
+
* @param hidden 是否隐藏菜单
|
|
454
|
+
* @returns
|
|
455
|
+
*/
|
|
456
|
+
hideMenus: (hidden?: boolean) => void;
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* 隐藏导航
|
|
460
|
+
* @deprecated 使用 `setHeaderVisible()`
|
|
461
|
+
* @param hidden 是否隐藏导航
|
|
462
|
+
* @returns
|
|
463
|
+
*/
|
|
464
|
+
hideNav: (hidden?: boolean) => void;
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* 切换语言(v6 版微应用)
|
|
468
|
+
* @param lang 语言代码
|
|
469
|
+
* @param reload 是否刷新页面,默认为 true
|
|
470
|
+
* @example switchLang('en')
|
|
471
|
+
*/
|
|
472
|
+
switchLang(lang: 'zh' | 'en' | string, reload?: boolean): void;
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* 切换家庭(v5/v6 版微应用)
|
|
476
|
+
* @param homeId 家庭ID
|
|
477
|
+
* @param autoRefresh 是否自动刷新,默认为 true
|
|
478
|
+
* @returns
|
|
479
|
+
*/
|
|
480
|
+
switchHome: (homeId: string) => void;
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* 上报 tpm 事件
|
|
484
|
+
* @param key 事件key
|
|
485
|
+
* @param params 事件参数
|
|
486
|
+
*/
|
|
487
|
+
tpmTrack: (key: string, params?: Record<string, any>) => void;
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* 由 qiankun 注入
|
|
491
|
+
*/
|
|
492
|
+
setGlobalState: (state: any) => void;
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* 由 qiankun 注入
|
|
496
|
+
*/
|
|
497
|
+
onGlobalStateChange: (func: (state: any, prev?: any) => void, watch?: boolean) => void;
|
|
62
498
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuya-sat/micro-script",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.18",
|
|
4
4
|
"bin": "./dist/bin/cli.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"license": "MIT",
|
|
@@ -23,12 +23,13 @@
|
|
|
23
23
|
"@babel/preset-typescript": "7.16.7",
|
|
24
24
|
"@babel/traverse": "^7.20.13",
|
|
25
25
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.4",
|
|
26
|
-
"@tuya-sat/micro-dev-loader": "3.3.
|
|
27
|
-
"@tuya-sat/micro-dev-proxy": "3.3.
|
|
28
|
-
"@tuya-sat/micro-utils": "3.3.
|
|
26
|
+
"@tuya-sat/micro-dev-loader": "3.3.18",
|
|
27
|
+
"@tuya-sat/micro-dev-proxy": "3.3.18",
|
|
28
|
+
"@tuya-sat/micro-utils": "3.3.18",
|
|
29
29
|
"@types/kill-port": "^2.0.0",
|
|
30
30
|
"babel-loader": "8.2.4",
|
|
31
31
|
"babel-plugin-import": "1.13.3",
|
|
32
|
+
"buffer": "^6.0.3",
|
|
32
33
|
"chalk": "4.1.2",
|
|
33
34
|
"cheerio": "1.0.0-rc.10",
|
|
34
35
|
"copy-webpack-plugin": "10.2.4",
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"postcss-loader": "6.2.1",
|
|
55
56
|
"postcss-preset-env": "7.4.3",
|
|
56
57
|
"prettier": "^2.8.8",
|
|
58
|
+
"process": "^0.11.10",
|
|
57
59
|
"react-refresh": "0.11.0",
|
|
58
60
|
"resolve-url-loader": "5.0.0",
|
|
59
61
|
"sass": "1.49.9",
|