@tuya-sat/sdf-main-sdk 6.2.40-alpha.1 → 6.2.41
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/README.md +24 -7
- package/dist/{364.952e420f.chunk.js → 364.4bbe4f7d.chunk.js} +1 -1
- package/dist/{364.952e420f.chunk.js.map → 364.4bbe4f7d.chunk.js.map} +1 -1
- package/dist/api/urls.d.ts +1 -0
- package/dist/components/Layout/antd/components/HomeSelect/useHomeInfo.d.ts +3 -0
- package/dist/components/Layout/antd/components/HomeSelect/useTagColors.d.ts +17 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/main.bundle.js +1 -1
- package/dist/main.bundle.js.map +1 -1
- package/dist/manifest.json +2 -2
- package/dist/mqtt/index.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,15 +70,17 @@ SDK 默认导出 V6 版本 MQTT 能力,可用于订阅、发布消息,也可
|
|
|
70
70
|
|
|
71
71
|
#### 监听连接状态
|
|
72
72
|
|
|
73
|
-
`onStatusChange` 用于监听 MQTT
|
|
73
|
+
`onStatusChange` 用于监听 MQTT 连接状态变化。断连后主应用会自动尝试恢复:先用旧凭证重连最多 5 次,仍失败则刷新凭证重新建连(最多 2 轮,第 2 轮起冷却 30s)。**只有当凭证恢复也彻底失败时才触发 `reconnect_failed`**,业务侧应仅在该状态下执行兜底逻辑。
|
|
74
74
|
|
|
75
75
|
```ts
|
|
76
76
|
import { mqtt } from '@tuya-sat/sdf-main-sdk';
|
|
77
77
|
|
|
78
78
|
const offMqttStatus = mqtt.onStatusChange((event) => {
|
|
79
79
|
if (event.status === 'reconnect_failed') {
|
|
80
|
-
//
|
|
80
|
+
// 凭证恢复也彻底失败,执行业务兜底
|
|
81
81
|
}
|
|
82
|
+
// 若希望感知「正在恢复」,可监听 recovering:
|
|
83
|
+
// if (event.status === 'recovering') { /* 主应用正在自行恢复,无需兜底 */ }
|
|
82
84
|
});
|
|
83
85
|
|
|
84
86
|
// 不再需要监听时清理
|
|
@@ -90,7 +92,7 @@ offMqttStatus();
|
|
|
90
92
|
```ts
|
|
91
93
|
const offMqttStatus = props.mqtt.onStatusChange((event) => {
|
|
92
94
|
if (event.status === 'reconnect_failed') {
|
|
93
|
-
//
|
|
95
|
+
// 凭证恢复彻底失败,子应用业务兜底
|
|
94
96
|
}
|
|
95
97
|
});
|
|
96
98
|
|
|
@@ -106,6 +108,7 @@ offMqttStatus();
|
|
|
106
108
|
type MqttStatus =
|
|
107
109
|
| 'connected'
|
|
108
110
|
| 'reconnecting'
|
|
111
|
+
| 'recovering'
|
|
109
112
|
| 'reconnect_failed'
|
|
110
113
|
| 'offline'
|
|
111
114
|
| 'close'
|
|
@@ -119,11 +122,25 @@ interface MqttStatusEvent {
|
|
|
119
122
|
}
|
|
120
123
|
```
|
|
121
124
|
|
|
122
|
-
|
|
125
|
+
#### 可监听状态一览
|
|
123
126
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
+
`onStatusChange` 可监听到以下 7 种状态,按连接生命周期梳理:
|
|
128
|
+
|
|
129
|
+
| status | 含义 | `remainingRetries` / `maxRetries` | 业务建议 |
|
|
130
|
+
|---|---|---|---|
|
|
131
|
+
| `connected` | 连接成功 | 5 / 5 | 恢复订阅、刷新业务数据。**重试与恢复轮数都会重置为默认值**。 |
|
|
132
|
+
| `reconnecting` | 用旧凭证重连中 | 剩余次数 / 5 | 可选:展示弱网提示。无需兜底。 |
|
|
133
|
+
| `recovering` | 旧凭证重连耗尽,主应用已刷新凭证重新建连(最多 2 轮,第 2 轮起冷却 30s) | 0 / 5 | 过渡态,通常无需处理。可做轻度提示。 |
|
|
134
|
+
| `offline` | 底层连接离线 | 剩余次数 / 5 | 通常是 `reconnecting`/`close` 的伴随事件。 |
|
|
135
|
+
| `close` | 底层连接关闭 | 剩余次数 / 5 | 通常是断连的伴随事件。 |
|
|
136
|
+
| `error` | 底层错误(CONNACK 拒绝)或拉配置失败,`event.error` 携带原始错误 | 剩余次数 / 5(底层);剩余恢复轮数 / 2(拉配置失败) | 可选:记录日志。主应用可能据此自动恢复,无需兜底。 |
|
|
137
|
+
| `reconnect_failed` | **凭证恢复也彻底失败,主应用已停止自动重连** | 0 / 2 | **业务兜底的唯一时机**(如本地降级、提示用户检查网络)。 |
|
|
138
|
+
|
|
139
|
+
字段说明:
|
|
140
|
+
|
|
141
|
+
- `remainingRetries`:当前剩余次数。`connected` 时为最大值;`reconnecting` 时逐次递减;`recovering`/`reconnect_failed` 时为 0。
|
|
142
|
+
- `maxRetries`:区分两类上限——旧凭证重连上限 `5`(`connected`/`reconnecting`/`recovering`/`offline`/`close` 及底层 `error`),凭证恢复轮数上限 `2`(拉配置失败的 `error`、`reconnect_failed`)。可用此值区分事件来源。
|
|
143
|
+
- `error`:仅 `error` 状态携带原始错误对象。
|
|
127
144
|
|
|
128
145
|
### Hooks
|
|
129
146
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_SDF=self.webpackChunk_SDF||[]).push([[364],{364:function(e,t,n){n.d(t,{getCLS:function(){return v},getFCP:function(){return g},getFID:function(){return F},getLCP:function(){return k},getTTFB:function(){return C}});var i,a,r,o,u=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:"v1-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if("first-input"===e&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver(function(e){return e.getEntries().map(t)});return n.observe({type:e,buffered:!0}),n}}catch(e){}},f=function(e,t){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(e(i),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(e){addEventListener("pageshow",function(t){t.persisted&&e(t)},!0)},m="function"==typeof WeakSet?new WeakSet:new Set,p=function(e,t,n){var i;return function(){t.value>=0&&(n||m.has(t)||"hidden"===document.visibilityState)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},v=function(e,t){var n,i=u("CLS",0),a=function(e){e.hadRecentInput||(i.value+=e.value,i.entries.push(e),n())},r=c("layout-shift",a);r&&(n=p(e,i,t),f(function(){r.takeRecords().map(a),n()}),s(function(){i=u("CLS",0),n=p(e,i,t)}))},d=-1,l=function(){return"hidden"===document.visibilityState?0:1/0},h=function(){f(function(e){var t=e.timeStamp;d=t},!0)},S=function(){return d<0&&(d=l(),h(),s(function(){setTimeout(function(){d=l(),h()},0)})),{get timeStamp(){return d}}},g=function(e,t){var n,i=S(),a=u("FCP"),r=function(e){"first-contentful-paint"===e.name&&(f&&f.disconnect(),e.startTime<i.timeStamp&&(a.value=e.startTime,a.entries.push(e),m.add(a),n()))},o=performance.getEntriesByName("first-contentful-paint")[0],f=o?null:c("paint",r);(o||f)&&(n=p(e,a,t),o&&r(o),s(function(i){a=u("FCP"),n=p(e,a,t),requestAnimationFrame(function(){requestAnimationFrame(function(){a.value=performance.now()-i.timeStamp,m.add(a),n()})})}))},y={passive:!0,capture:!0},E=new Date,w=function(e,t){i||(i=t,a=e,r=new Date,b(removeEventListener),L())},L=function(){if(a>=0&&a<r-E){var e={entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+a};o.forEach(function(t){t(e)}),o=[]}},T=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){w(e,t),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,y),removeEventListener("pointercancel",i,y)};addEventListener("pointerup",n,y),addEventListener("pointercancel",i,y)}(t,e):w(t,e)}},b=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,T,y)})},F=function(e,t){var n,r=S(),v=u("FID"),d=function(e){e.startTime<r.timeStamp&&(v.value=e.processingStart-e.startTime,v.entries.push(e),m.add(v),n())},l=c("first-input",d);n=p(e,v,t),l&&f(function(){l.takeRecords().map(d),l.disconnect()},!0),l&&s(function(){var r;v=u("FID"),n=p(e,v,t),o=[],a=-1,i=null,b(addEventListener),r=d,o.push(r),L()})},k=function(e,t){var n,i=S(),a=u("LCP"),r=function(e){var t=e.startTime;t<i.timeStamp&&(a.value=t,a.entries.push(e)),n()},o=c("largest-contentful-paint",r);if(o){n=p(e,a,t);var v=function(){m.has(a)||(o.takeRecords().map(r),o.disconnect(),m.add(a),n())};["keydown","click"].forEach(function(e){addEventListener(e,v,{once:!0,capture:!0})}),f(v,!0),s(function(i){a=u("LCP"),n=p(e,a,t),requestAnimationFrame(function(){requestAnimationFrame(function(){a.value=performance.now()-i.timeStamp,m.add(a),n()})})})}},C=function(e){var t,n=u("TTFB");t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,t={entryType:"navigation",startTime:0};for(var n in e)"navigationStart"!==n&&"toJSON"!==n&&(t[n]=Math.max(e[n]-e.navigationStart,0));return t}();if(n.value=n.delta=t.responseStart,n.value<0)return;n.entries=[t],e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("pageshow",t)}}}]);
|
|
2
|
-
//# sourceMappingURL=364.
|
|
2
|
+
//# sourceMappingURL=364.4bbe4f7d.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"364.
|
|
1
|
+
{"version":3,"file":"364.4bbe4f7d.chunk.js","mappings":"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","sources":["webpack://_SDF/./node_modules/web-vitals/dist/web-vitals.js"],"sourcesContent":["var e,t,n,i,a=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:\"v1-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12)}},r=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if(\"first-input\"===e&&!(\"PerformanceEventTiming\"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},o=function(e,t){var n=function n(i){\"pagehide\"!==i.type&&\"hidden\"!==document.visibilityState||(e(i),t&&(removeEventListener(\"visibilitychange\",n,!0),removeEventListener(\"pagehide\",n,!0)))};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},c=function(e){addEventListener(\"pageshow\",(function(t){t.persisted&&e(t)}),!0)},u=\"function\"==typeof WeakSet?new WeakSet:new Set,f=function(e,t,n){var i;return function(){t.value>=0&&(n||u.has(t)||\"hidden\"===document.visibilityState)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},s=function(e,t){var n,i=a(\"CLS\",0),u=function(e){e.hadRecentInput||(i.value+=e.value,i.entries.push(e),n())},s=r(\"layout-shift\",u);s&&(n=f(e,i,t),o((function(){s.takeRecords().map(u),n()})),c((function(){i=a(\"CLS\",0),n=f(e,i,t)})))},m=-1,p=function(){return\"hidden\"===document.visibilityState?0:1/0},v=function(){o((function(e){var t=e.timeStamp;m=t}),!0)},d=function(){return m<0&&(m=p(),v(),c((function(){setTimeout((function(){m=p(),v()}),0)}))),{get timeStamp(){return m}}},l=function(e,t){var n,i=d(),o=a(\"FCP\"),s=function(e){\"first-contentful-paint\"===e.name&&(p&&p.disconnect(),e.startTime<i.timeStamp&&(o.value=e.startTime,o.entries.push(e),u.add(o),n()))},m=performance.getEntriesByName(\"first-contentful-paint\")[0],p=m?null:r(\"paint\",s);(m||p)&&(n=f(e,o,t),m&&s(m),c((function(i){o=a(\"FCP\"),n=f(e,o,t),requestAnimationFrame((function(){requestAnimationFrame((function(){o.value=performance.now()-i.timeStamp,u.add(o),n()}))}))})))},h={passive:!0,capture:!0},S=new Date,y=function(i,a){e||(e=a,t=i,n=new Date,w(removeEventListener),g())},g=function(){if(t>=0&&t<n-S){var a={entryType:\"first-input\",name:e.type,target:e.target,cancelable:e.cancelable,startTime:e.timeStamp,processingStart:e.timeStamp+t};i.forEach((function(e){e(a)})),i=[]}},E=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,t){var n=function(){y(e,t),a()},i=function(){a()},a=function(){removeEventListener(\"pointerup\",n,h),removeEventListener(\"pointercancel\",i,h)};addEventListener(\"pointerup\",n,h),addEventListener(\"pointercancel\",i,h)}(t,e):y(t,e)}},w=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(t){return e(t,E,h)}))},L=function(n,s){var m,p=d(),v=a(\"FID\"),l=function(e){e.startTime<p.timeStamp&&(v.value=e.processingStart-e.startTime,v.entries.push(e),u.add(v),m())},h=r(\"first-input\",l);m=f(n,v,s),h&&o((function(){h.takeRecords().map(l),h.disconnect()}),!0),h&&c((function(){var r;v=a(\"FID\"),m=f(n,v,s),i=[],t=-1,e=null,w(addEventListener),r=l,i.push(r),g()}))},T=function(e,t){var n,i=d(),s=a(\"LCP\"),m=function(e){var t=e.startTime;t<i.timeStamp&&(s.value=t,s.entries.push(e)),n()},p=r(\"largest-contentful-paint\",m);if(p){n=f(e,s,t);var v=function(){u.has(s)||(p.takeRecords().map(m),p.disconnect(),u.add(s),n())};[\"keydown\",\"click\"].forEach((function(e){addEventListener(e,v,{once:!0,capture:!0})})),o(v,!0),c((function(i){s=a(\"LCP\"),n=f(e,s,t),requestAnimationFrame((function(){requestAnimationFrame((function(){s.value=performance.now()-i.timeStamp,u.add(s),n()}))}))}))}},b=function(e){var t,n=a(\"TTFB\");t=function(){try{var t=performance.getEntriesByType(\"navigation\")[0]||function(){var e=performance.timing,t={entryType:\"navigation\",startTime:0};for(var n in e)\"navigationStart\"!==n&&\"toJSON\"!==n&&(t[n]=Math.max(e[n]-e.navigationStart,0));return t}();if(n.value=n.delta=t.responseStart,n.value<0)return;n.entries=[t],e(n)}catch(e){}},\"complete\"===document.readyState?setTimeout(t,0):addEventListener(\"pageshow\",t)};export{s as getCLS,l as getFCP,L as getFID,T as getLCP,b as getTTFB};\n"],"names":["e","t","n","i","a","name","value","delta","entries","id","concat","Date","now","Math","floor","random","r","PerformanceObserver","supportedEntryTypes","includes","self","getEntries","map","observe","type","buffered","o","document","visibilityState","removeEventListener","addEventListener","c","persisted","u","WeakSet","Set","f","has","s","hadRecentInput","push","takeRecords","m","p","v","timeStamp","d","setTimeout","l","disconnect","startTime","add","performance","getEntriesByName","requestAnimationFrame","h","passive","capture","S","y","w","g","entryType","target","cancelable","processingStart","forEach","E","L","T","once","b","getEntriesByType","timing","max","navigationStart","responseStart","readyState"],"sourceRoot":""}
|
package/dist/api/urls.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TagColorMap } from "./useTagColors";
|
|
1
2
|
export type SmartHomeIsolationType = "projectId" | "homeId";
|
|
2
3
|
export interface SmartHomeHomeRow {
|
|
3
4
|
home_id: string;
|
|
@@ -38,6 +39,8 @@ export type SmartHomeInfoState = {
|
|
|
38
39
|
projects?: SmartHomeProjectRow[];
|
|
39
40
|
/** 当前作用域 id:优先 last_chosen 的项目,否则家庭(与 qiankun 注入的 projectId 同源,存 SMART_HOME_ID) */
|
|
40
41
|
currentId?: string;
|
|
42
|
+
/** 标签 -> 背景色映射(含内置兜底色) */
|
|
43
|
+
tagColors: TagColorMap;
|
|
41
44
|
};
|
|
42
45
|
export declare const getHomeId: () => string;
|
|
43
46
|
/** 当前作用域隔离类型,与 `project-id` 头对应;无则 null */
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** 标签 -> 背景色(#xxx / #xxxxxx 16 进制)映射,key 统一大写 */
|
|
2
|
+
export type TagColorMap = Record<string, string>;
|
|
3
|
+
/** 接口未返回或颜色非法时的内置兜底色 */
|
|
4
|
+
export declare const DEFAULT_TAG_COLORS: TagColorMap;
|
|
5
|
+
/**
|
|
6
|
+
* 获取标签背景色:
|
|
7
|
+
* 1. tag 转大写后匹配接口返回的颜色;
|
|
8
|
+
* 2. 接口有对应 key 但无颜色值 / 格式校验失败时,用内置默认色(EMS/SMB)兜底;
|
|
9
|
+
* 3. 都命中不到则返回 undefined,交由 antd <Tag> 默认样式渲染。
|
|
10
|
+
*/
|
|
11
|
+
export declare const getTagColor: (tag: string, colors: TagColorMap) => string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* 请求标签颜色配置:等待 saas-info 上下文就绪后再发起,避免因 React
|
|
14
|
+
* 「子组件 effect 先于父组件」导致该请求早于 /api/saas-info 而无上下文失败。
|
|
15
|
+
* 请求失败静默降级为空对象,最终由 DEFAULT_TAG_COLORS 兜底。
|
|
16
|
+
*/
|
|
17
|
+
export declare const loadTagColors: () => Promise<TagColorMap>;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export declare let micApps: any;
|
|
|
2
2
|
export declare let permissions: any;
|
|
3
3
|
export declare const universalIds: any[];
|
|
4
4
|
export declare let apis: {};
|
|
5
|
+
export declare const whenSaasInfoReady: () => Promise<void>;
|
|
5
6
|
type TEntryInfo = Partial<Window["_SDF"]["saasInfo"]["entry_info"]>;
|
|
6
7
|
export declare const useSaasInfo: () => {
|
|
7
8
|
entryInfo: TEntryInfo;
|