@tuya-sat/sdf-main-sdk 2.0.0-alpha.13 → 2.0.0-alpha.130
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 +83 -2
- package/dist/{131.3adf1ea1.chunk.js → 131.726ec988.chunk.js} +1 -1
- package/dist/{131.3adf1ea1.chunk.js.map → 131.726ec988.chunk.js.map} +1 -1
- package/dist/api/index.d.ts +7 -7
- package/dist/api/urls.d.ts +7 -0
- package/dist/components/403/index.d.ts +4 -1
- package/dist/components/BLogin/component/VerifyCode/index.d.ts +1 -1
- package/dist/components/IconFont/index.d.ts +7 -0
- package/dist/components/Layout/antd/Header/index.d.ts +9 -1
- package/dist/components/Layout/antd/Menu/BaseMenu.d.ts +1 -1
- package/dist/components/Layout/antd/Menu/HorizontalMenu/index.d.ts +2 -0
- package/dist/components/Layout/antd/Menu/index.d.ts +1 -0
- package/dist/components/Layout/antd/Sider/index.d.ts +1 -0
- package/dist/components/Layout/antd/components/ProjectSelect/index.d.ts +4 -0
- package/dist/components/Layout/antd/components/ProjectSelect/useProjectInfo.d.ts +11 -0
- package/dist/components/Layout/antd/components/SwitchTheme/index.d.ts +8 -0
- package/dist/components/Layout/antd/index.d.ts +1 -0
- package/dist/components/Layout/interface.d.ts +5 -27
- package/dist/components/MicroComponent/Header/index.d.ts +14 -2
- package/dist/components/PEnterprise/EnterpriseList.d.ts +1 -0
- package/dist/components/PEnterprise/index.d.ts +1 -0
- package/dist/components/PSetting/AccountSetting.d.ts +2 -0
- package/dist/components/PSetting/index.d.ts +1 -2
- package/dist/en.json +23 -3
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useMultiLanguages.d.ts +8 -0
- package/dist/index.d.ts +15 -0
- package/dist/main.bundle.js +1 -1
- package/dist/main.bundle.js.LICENSE.txt +10 -15
- package/dist/main.bundle.js.map +1 -1
- package/dist/main.css +694 -195
- package/dist/main.css.map +1 -1
- package/dist/manifest.json +2 -2
- package/dist/pages/403.d.ts +4 -1
- package/dist/pages/home/enterprise/index.d.ts +5 -0
- package/dist/pages/home/notice/hooks.d.ts +2 -2
- package/dist/qiankun/globalState.d.ts +6 -5
- package/dist/qiankun/index.d.ts +1 -2
- package/dist/utils/checkPass.d.ts +4 -0
- package/dist/utils/common.d.ts +4 -0
- package/dist/utils/index.d.ts +6 -3
- package/dist/utils/theme/antd5/InjectCssVariable.d.ts +3 -1
- package/dist/utils/theme/antd5/index.d.ts +331 -50
- package/dist/utils/theme/antd5/token.d.ts +299 -4
- package/dist/utils/theme/base.d.ts +2 -2
- package/dist/utils/theme/changeMenuCssVariable.d.ts +1 -1
- package/dist/utils/theme/index.d.ts +12 -6
- package/dist/utils/theme/store.d.ts +662 -100
- package/dist/zh.json +20 -2
- package/package.json +7 -3
- package/webpack.config.js +1 -0
package/README.md
CHANGED
|
@@ -183,8 +183,31 @@ export default (props: RegisterPageProps) => {
|
|
|
183
183
|
}
|
|
184
184
|
```
|
|
185
185
|
|
|
186
|
+
#### 5. 自定义 `Layout`
|
|
187
|
+
构建工具会读取 `/src/layout` 目录下的文件,作为自定义布局的实现。其类型定义如下:
|
|
188
|
+
```tsx
|
|
189
|
+
interface LayoutProps {
|
|
190
|
+
// SaaS 标题
|
|
191
|
+
title: string;
|
|
192
|
+
// SaaS logo
|
|
193
|
+
logo: string;
|
|
194
|
+
bgImage: string;
|
|
195
|
+
currentLanguage: string;
|
|
196
|
+
supportLanguages: Array<{
|
|
197
|
+
label: string;
|
|
198
|
+
value: string;
|
|
199
|
+
}>;
|
|
200
|
+
// SaaS 菜单
|
|
201
|
+
menus: Array<IMenu>;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
interface Layout extends FC<LayoutProps> {
|
|
205
|
+
Login?: FC<Partial<LayoutProps>>;
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
186
209
|
### 头部自定义配置
|
|
187
|
-
|
|
210
|
+
#### 类型定义
|
|
188
211
|
```ts
|
|
189
212
|
type NavProps = {
|
|
190
213
|
extra?: {
|
|
@@ -209,7 +232,7 @@ type NavProps = {
|
|
|
209
232
|
};
|
|
210
233
|
```
|
|
211
234
|
|
|
212
|
-
|
|
235
|
+
#### 示例
|
|
213
236
|
```tsx
|
|
214
237
|
// ./src/nav/index.tsx
|
|
215
238
|
import { MNav } from "@tuya-sat/sdf-main-sdk";
|
|
@@ -219,7 +242,31 @@ export default (props: NavProps) => {
|
|
|
219
242
|
}
|
|
220
243
|
```
|
|
221
244
|
|
|
245
|
+
### 主题色
|
|
246
|
+
如果需要修改主题色,可以通过 `useTheme(initConfigs)`。如下:
|
|
247
|
+
```tsx
|
|
248
|
+
import { ConfigProviderProps } from 'antd';
|
|
249
|
+
import { initialTheme, useTheme } from "@tuya-sat/sdf-main-sdk";
|
|
250
|
+
|
|
251
|
+
// 初始化亮暗色、主题色配置
|
|
252
|
+
initialTheme({
|
|
253
|
+
dark: {},
|
|
254
|
+
light: {},
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
export default function Layout() {
|
|
258
|
+
const { theme, changeTheme } = useTheme();
|
|
259
|
+
|
|
260
|
+
return (
|
|
261
|
+
<>
|
|
262
|
+
{theme}: <button onClick={() => changeTheme()}>切换主题<button>
|
|
263
|
+
</>
|
|
264
|
+
);
|
|
265
|
+
};
|
|
266
|
+
```
|
|
267
|
+
|
|
222
268
|
### 多语言
|
|
269
|
+
#### 1. 新增词条 :bangbang:
|
|
223
270
|
如果新增了自定义组件,那其多语言需要存放到 `./src/lang` 目录下,并且在组件内部需要引用 sdk 暴露的 i18n 方法进行翻译。如下:
|
|
224
271
|
|
|
225
272
|
```tsx
|
|
@@ -232,3 +279,37 @@ export default function CustomComponent() {
|
|
|
232
279
|
)
|
|
233
280
|
}
|
|
234
281
|
```
|
|
282
|
+
|
|
283
|
+
#### 2. 语言切换下拉框
|
|
284
|
+
主应用 sdk 默认有导出语言下拉框,可以直接使用。方式如下:
|
|
285
|
+
```tsx
|
|
286
|
+
import { SwitchLangSelect } from "@tuya-sat/sdf-main-sdk";
|
|
287
|
+
|
|
288
|
+
export default function Demo() {
|
|
289
|
+
return (
|
|
290
|
+
<>
|
|
291
|
+
<SwitchLangSelect />
|
|
292
|
+
</>
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
如果该组件无法满足需求,还可以通过 hook 方式获取 saas 语言信息,自己编写组件实现逻辑。如下:
|
|
298
|
+
|
|
299
|
+
```tsx
|
|
300
|
+
import { useMultiLanguages } from "@tuya-sat/sdf-main-sdk";
|
|
301
|
+
|
|
302
|
+
export default function LanguageSelect() {
|
|
303
|
+
const {
|
|
304
|
+
currentLanguage,
|
|
305
|
+
supportLanguages,
|
|
306
|
+
switchLang,
|
|
307
|
+
} = useMultiLanguage();
|
|
308
|
+
|
|
309
|
+
return (
|
|
310
|
+
<>
|
|
311
|
+
{/* ......自定义业务逻辑 */}
|
|
312
|
+
</>
|
|
313
|
+
);
|
|
314
|
+
}
|
|
315
|
+
```
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_SDF=self.webpackChunk_SDF||[]).push([[131],{82131:function(e,t,n){n.r(t),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=131.
|
|
2
|
+
//# sourceMappingURL=131.726ec988.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"131.
|
|
1
|
+
{"version":3,"file":"131.726ec988.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/index.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ export interface ResData<T> {
|
|
|
7
7
|
[keys: string]: any;
|
|
8
8
|
}
|
|
9
9
|
export interface IAxiosInstance extends AxiosInstance {
|
|
10
|
-
request<T = any
|
|
11
|
-
get<T = any, R =
|
|
12
|
-
delete<T = any
|
|
13
|
-
head<T = any
|
|
14
|
-
post<T = any
|
|
15
|
-
put<T = any
|
|
16
|
-
patch<T = any
|
|
10
|
+
request<T = any>(config: AxiosRequestConfig): Promise<T>;
|
|
11
|
+
get<T = any, R = T>(url: string, config?: AxiosRequestConfig): Promise<T>;
|
|
12
|
+
delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
|
|
13
|
+
head<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
|
|
14
|
+
post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
|
|
15
|
+
put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
|
|
16
|
+
patch<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
|
|
17
17
|
}
|
|
18
18
|
export declare const api: IAxiosInstance;
|
package/dist/api/urls.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare const UNLOGIN_APIS: {
|
|
|
3
3
|
CODE: string;
|
|
4
4
|
TENANDCODE: string;
|
|
5
5
|
REGISTER: string;
|
|
6
|
+
LOGIN_CAPTCHA: string;
|
|
6
7
|
CAPTCHA: string;
|
|
7
8
|
SAAS: string;
|
|
8
9
|
};
|
|
@@ -11,6 +12,7 @@ export declare const URLS: {
|
|
|
11
12
|
CODE: string;
|
|
12
13
|
TENANDCODE: string;
|
|
13
14
|
REGISTER: string;
|
|
15
|
+
LOGIN_CAPTCHA: string;
|
|
14
16
|
CAPTCHA: string;
|
|
15
17
|
SAAS: string;
|
|
16
18
|
RESET_PWD: string;
|
|
@@ -27,6 +29,11 @@ export declare const URLS: {
|
|
|
27
29
|
MODIFY_MOBILE: string;
|
|
28
30
|
MODIFY_EMAIL: string;
|
|
29
31
|
SAAS_LOCALES: string;
|
|
32
|
+
ENTERPRISES_LIST: string;
|
|
33
|
+
ENTERPRISES_DEFAULT: string;
|
|
34
|
+
ENTERPRISES_SWITCHER: string;
|
|
35
|
+
PROJECT_LIST: string;
|
|
36
|
+
PROJECT_SWITCH: string;
|
|
30
37
|
LOGIN: string;
|
|
31
38
|
LOGOUT: string;
|
|
32
39
|
};
|
|
@@ -5,3 +5,10 @@ declare const IconFont: ({ type, className, style }: {
|
|
|
5
5
|
style?: {};
|
|
6
6
|
}) => JSX.Element;
|
|
7
7
|
export default IconFont;
|
|
8
|
+
export declare function IconUser(props: any): JSX.Element;
|
|
9
|
+
export declare function IconLock(props: any): JSX.Element;
|
|
10
|
+
export declare function IconBell(props: any): JSX.Element;
|
|
11
|
+
export declare function IconMobile(props: any): JSX.Element;
|
|
12
|
+
export declare function IconGlobal(props: any): JSX.Element;
|
|
13
|
+
export declare function IconFullscreenExit(props: any): JSX.Element;
|
|
14
|
+
export declare function IconFullscreenOut(props: any): JSX.Element;
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
export default function LayoutHeader(props: {
|
|
3
|
+
style: React.CSSProperties;
|
|
4
|
+
title: string;
|
|
5
|
+
logo: string;
|
|
6
|
+
menus: any[];
|
|
7
|
+
layoutMode: string;
|
|
8
|
+
requiredProject: boolean;
|
|
9
|
+
}): JSX.Element;
|
|
@@ -1,41 +1,19 @@
|
|
|
1
1
|
import { IMenu } from "@/components/BLayout/components/Menu";
|
|
2
2
|
export interface LayoutProps {
|
|
3
3
|
layoutConfig: {
|
|
4
|
-
mode: '
|
|
4
|
+
mode: 'LR' | 'TB' | 'TL';
|
|
5
5
|
hideSider: boolean;
|
|
6
6
|
hideHeader: boolean;
|
|
7
7
|
enableSubSider: boolean;
|
|
8
|
+
hideLayoutPadding: boolean;
|
|
8
9
|
};
|
|
9
|
-
layoutMode: 'LR' | 'TB' | 'FS';
|
|
10
10
|
title: string;
|
|
11
11
|
logo: string;
|
|
12
12
|
bgImage: string;
|
|
13
13
|
menus: Array<IMenu>;
|
|
14
|
-
|
|
15
|
-
dynamicNavs: Array<{
|
|
16
|
-
logo: string;
|
|
17
|
-
url: string;
|
|
18
|
-
text: string;
|
|
19
|
-
}>;
|
|
20
|
-
userInfo: {
|
|
21
|
-
email: string;
|
|
22
|
-
mobile: string;
|
|
23
|
-
tenant_code: string;
|
|
24
|
-
account_type: number;
|
|
25
|
-
user_id: string;
|
|
26
|
-
user_name: string;
|
|
27
|
-
user_nick_name: string;
|
|
28
|
-
roles: {
|
|
29
|
-
role_code: string;
|
|
30
|
-
role_name: string;
|
|
31
|
-
}[];
|
|
32
|
-
};
|
|
33
|
-
supportNotification: boolean;
|
|
14
|
+
currentLanguage: string;
|
|
34
15
|
supportLanguages: Array<{
|
|
35
|
-
|
|
36
|
-
|
|
16
|
+
label: string;
|
|
17
|
+
value: string;
|
|
37
18
|
}>;
|
|
38
|
-
showAppDownload: boolean;
|
|
39
|
-
currentLanguage: string;
|
|
40
|
-
currentPhoneRegion: string;
|
|
41
19
|
}
|
|
@@ -5,6 +5,7 @@ export interface BreadcrumbInfo {
|
|
|
5
5
|
type?: 'auto' | 'root' | 'menu' | 'c';
|
|
6
6
|
name?: string;
|
|
7
7
|
path?: string;
|
|
8
|
+
render?(eleTitle: HTMLDivElement): React.ReactNode;
|
|
8
9
|
}
|
|
9
10
|
export type BreadcrumbInfoInput = {
|
|
10
11
|
type: 'auto' | 'root';
|
|
@@ -19,6 +20,15 @@ export type BreadcrumbInfoInput = {
|
|
|
19
20
|
name: string;
|
|
20
21
|
path: string;
|
|
21
22
|
};
|
|
23
|
+
export type BreadcrumbActions = {
|
|
24
|
+
activeKey?: string;
|
|
25
|
+
onClick?(key: string): void;
|
|
26
|
+
options: Array<{
|
|
27
|
+
label: string;
|
|
28
|
+
value: string;
|
|
29
|
+
tooltip: string;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
22
32
|
interface MenuEntry {
|
|
23
33
|
micro_app_name: string;
|
|
24
34
|
oem_micro_app_id: string;
|
|
@@ -37,7 +47,8 @@ export declare function initHeaderInfoWithRouterChange(pathname: string, prevMic
|
|
|
37
47
|
export declare function useHeader(): {
|
|
38
48
|
prevMicroAppInfo: React.MutableRefObject<PrevMicroAppInfo>;
|
|
39
49
|
headerInfo: BreadcrumbInfo[];
|
|
40
|
-
|
|
50
|
+
actionsInfo: BreadcrumbActions;
|
|
51
|
+
setBreadcrumb: (breadcrumbInfos?: BreadcrumbInfoInput[], actions?: BreadcrumbActions) => void;
|
|
41
52
|
};
|
|
42
53
|
export type IBdbInfo = BreadcrumbInfo[];
|
|
43
54
|
/**
|
|
@@ -47,6 +58,7 @@ export interface IMdb {
|
|
|
47
58
|
bdbInfo: IBdbInfo;
|
|
48
59
|
bdbProps?: BreadcrumbProps;
|
|
49
60
|
itemBdbProps?: BreadcrumbItemProps;
|
|
61
|
+
actionsInfo?: BreadcrumbActions;
|
|
50
62
|
hooks?: {
|
|
51
63
|
/**
|
|
52
64
|
* 功能:修改面包屑数据
|
|
@@ -54,5 +66,5 @@ export interface IMdb {
|
|
|
54
66
|
modify: (bdbInfo: IBdbInfo) => void;
|
|
55
67
|
};
|
|
56
68
|
}
|
|
57
|
-
export default function Header(
|
|
69
|
+
export default function Header(props: IMdb): JSX.Element;
|
|
58
70
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function EnterpriseList(): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function PageEnterprise(props: any): JSX.Element;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export default SettingPage;
|
|
1
|
+
export default function SettingPage(props: any): JSX.Element;
|
package/dist/en.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"login.form.password.label": "Password",
|
|
13
13
|
"login.form.password.validate.require": "Please input password",
|
|
14
14
|
"login.form.password.validate.pattern": "Password length is 8-20 and contains at least three character types (numbers, uppercase letters, lowercase letters and English symbols)",
|
|
15
|
+
"login.form.password.validate.pattern2": "Password length is {{min}}-{{max}} and contains at least three character types (numbers, uppercase letters, lowercase letters and English symbols)",
|
|
15
16
|
"login.form.password.placeholder": "Please enter password",
|
|
16
17
|
"login.form.newPassword.label": "New Password",
|
|
17
18
|
"login.form.phone.label": "Phone number",
|
|
@@ -27,7 +28,7 @@
|
|
|
27
28
|
"login.form.tenantId.require": "Please enter tenant ID",
|
|
28
29
|
"login.form.tenantId.pattern": "The tenant ID is 4-16 characters long and must start with a lowercase letter (lowercase letters, numbers, and hyphens are supported)",
|
|
29
30
|
"login.signIn": "Sign In",
|
|
30
|
-
"login.forgot": "Forgot password
|
|
31
|
+
"login.forgot": "Forgot password",
|
|
31
32
|
"login.back2login": "Back to login",
|
|
32
33
|
"login.resetPwd": "Reset Password",
|
|
33
34
|
"login.resetPwdSuccess": "Password changed successfully, please use the new password to log in",
|
|
@@ -67,7 +68,7 @@
|
|
|
67
68
|
"setting.name": "Name",
|
|
68
69
|
"setting.username": "Username",
|
|
69
70
|
"setting.password": "Password",
|
|
70
|
-
"setting.role": "",
|
|
71
|
+
"setting.role": "Roles",
|
|
71
72
|
"setting.modifyPwd": "Change Password",
|
|
72
73
|
"setting.language": "Language",
|
|
73
74
|
"setting.form.oldPassword.label": "Old password",
|
|
@@ -97,6 +98,7 @@
|
|
|
97
98
|
"notice.StatusSelect.all": "All",
|
|
98
99
|
"notice.StatusSelect.readed": "Read",
|
|
99
100
|
"notice.StatusSelect.unread": "Unread",
|
|
101
|
+
"notice.buttons.read": "Mark as unread",
|
|
100
102
|
"notice.badge.title": "Message Notifications",
|
|
101
103
|
"notice.badge.type": "Notification Types",
|
|
102
104
|
"notice.badge.message": "View all messages",
|
|
@@ -146,6 +148,9 @@
|
|
|
146
148
|
"httpCodeText.timeout": "Request timed out",
|
|
147
149
|
"httpCodeText.abort": "Connection failed",
|
|
148
150
|
"httpCodeText.callBack": "Network exception",
|
|
151
|
+
"navItem.theme.light": "Light Mode",
|
|
152
|
+
"navItem.theme.dark": "Dark Mode",
|
|
153
|
+
"navItem.app.download": "Download APP",
|
|
149
154
|
"appHint1": "Scan the QR code with Smart Industry App",
|
|
150
155
|
"appHint2": "explorer more features",
|
|
151
156
|
"backLoginPage": "Back to Page Login",
|
|
@@ -159,6 +164,7 @@
|
|
|
159
164
|
"expirationPage": "The SaaS experience service has expired, please contact the developer to pay",
|
|
160
165
|
"trial": "Trial Version",
|
|
161
166
|
"admin": "Administrator",
|
|
167
|
+
"admin.enterprise": "Enterprise Administrator",
|
|
162
168
|
"forgot.title": "Retrive password",
|
|
163
169
|
"forgot.resetPwd": "Reset Password",
|
|
164
170
|
"forgot.tenantRole": "Tenant user",
|
|
@@ -175,6 +181,7 @@
|
|
|
175
181
|
"relogin.tip": "The account has been logged in on another device (browser) or has expired",
|
|
176
182
|
"relogin.btn": "Re-Login",
|
|
177
183
|
"relogin.pwd": "If it is not your operation, it is recommended to go to the account settings to change the password",
|
|
184
|
+
"etip": "Oops, there seems to be a problem. Please try again later.",
|
|
178
185
|
"microApp.expired.result.title1": "You have not purchased this micro-app.",
|
|
179
186
|
"microApp.expired.result.title2": "Micro-app has expired.",
|
|
180
187
|
"microApp.expired.result.title3": "SaaS has expired.",
|
|
@@ -189,6 +196,19 @@
|
|
|
189
196
|
"microApp.purchaseModal.product2.title": " Option Two",
|
|
190
197
|
"microApp.purchaseModal.title": "Solution selection",
|
|
191
198
|
"global.saas.expired.tips1": "Your SaaS service has expired. To continue using it, please visit the Tuya Developer Platform to renew your subscription.",
|
|
192
|
-
"global.saas.expired.tips2": "Your SaaS service will expire in {{day}} days. To continue using it, please visit the Tuya Developer Platform to renew your subscription."
|
|
199
|
+
"global.saas.expired.tips2": "Your SaaS service will expire in {{day}} days. To continue using it, please visit the Tuya Developer Platform to renew your subscription.",
|
|
200
|
+
"enterprise.meta.status.current": "Current",
|
|
201
|
+
"enterprise.meta.status.expired": "Expired",
|
|
202
|
+
"enterprise.meta.status.permanent": "Permanent",
|
|
203
|
+
"enterprise.meta.type.brander": "Industry Merchants",
|
|
204
|
+
"enterprise.meta.type.channel": "Channel Partners",
|
|
205
|
+
"enterprise.meta.type.operator": "Service Provider",
|
|
206
|
+
"enterprise.meta.type.other": "Other",
|
|
207
|
+
"enterprise.field.expireDate": "Expiration Date: ",
|
|
208
|
+
"enterprise.field.type": "Type: ",
|
|
209
|
+
"enterprise.field.role": "Roles: ",
|
|
210
|
+
"enterprise.field.loginDefault": "Default Login",
|
|
211
|
+
"yrule.closeTip": "Please complete verification first.",
|
|
212
|
+
"project.emptyTip": "You do not have any project permissions, please contact the administrator to authorize the project."
|
|
193
213
|
}
|
|
194
214
|
}
|
package/dist/hooks/index.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -2,10 +2,15 @@ import './index.css';
|
|
|
2
2
|
import './public-path.js';
|
|
3
3
|
import { FC } from 'react';
|
|
4
4
|
import * as _langUtils from './lang/utils';
|
|
5
|
+
import { LayoutProps } from "./components/Layout/interface";
|
|
6
|
+
export { initGlobalState, globalStateActions } from './qiankun/globalState';
|
|
7
|
+
export { LayoutProps } from "./components/Layout/interface";
|
|
5
8
|
export { api, URLS } from './api';
|
|
6
9
|
export { useYRule } from './utils/yrule';
|
|
10
|
+
export { initialTheme, useTheme } from "./utils/theme";
|
|
7
11
|
export { default as i18n } from './lang';
|
|
8
12
|
export declare const langUtils: typeof _langUtils;
|
|
13
|
+
export { default as useMultiLanguages } from './hooks/useMultiLanguages';
|
|
9
14
|
export interface IHooks {
|
|
10
15
|
/**
|
|
11
16
|
* 功能:SaaS 页面渲染前钩子,主应用生命周期中最早的钩子
|
|
@@ -57,6 +62,7 @@ export { default as RegisterPage } from './pages/register';
|
|
|
57
62
|
export { default as SettingPage } from './pages/home/setting';
|
|
58
63
|
export { default as MBdb } from './components/MicroComponent/Header';
|
|
59
64
|
export type { IBdbInfo } from './components/MicroComponent/Header';
|
|
65
|
+
export type { IMdb } from './components/MicroComponent/Header';
|
|
60
66
|
export type { IMenus } from './components/BLayout/components/Layout';
|
|
61
67
|
export { MMenu } from './components/BLayout/components/Layout';
|
|
62
68
|
export type { Dmenus, NavProps } from './components/BLayout/components/Header';
|
|
@@ -67,6 +73,11 @@ interface IPages {
|
|
|
67
73
|
isHideMultiLang?: boolean;
|
|
68
74
|
isHidePhoneRegionNum?: boolean;
|
|
69
75
|
showClauseInModal?: boolean;
|
|
76
|
+
disableReLogin?: boolean;
|
|
77
|
+
passwordRules?: {
|
|
78
|
+
min?: number;
|
|
79
|
+
max?: number;
|
|
80
|
+
};
|
|
70
81
|
};
|
|
71
82
|
Forget: FC;
|
|
72
83
|
Register: FC & {
|
|
@@ -77,11 +88,15 @@ interface IPages {
|
|
|
77
88
|
};
|
|
78
89
|
[key: string]: FC;
|
|
79
90
|
}
|
|
91
|
+
interface Layout extends FC<LayoutProps> {
|
|
92
|
+
Login?: FC<Partial<LayoutProps>>;
|
|
93
|
+
}
|
|
80
94
|
export interface IUI {
|
|
81
95
|
pages?: IPages;
|
|
82
96
|
nav?: FC;
|
|
83
97
|
menu?: FC;
|
|
84
98
|
mdb?: FC;
|
|
99
|
+
layout: Layout;
|
|
85
100
|
}
|
|
86
101
|
export interface IMainConfig {
|
|
87
102
|
ui?: IUI;
|