@ibiz-template/runtime 0.7.12 → 0.7.13

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.
Files changed (56) hide show
  1. package/dist/index.esm.js +317 -51
  2. package/dist/index.system.min.js +1 -1
  3. package/out/app-hub.d.ts.map +1 -1
  4. package/out/app-hub.js +8 -1
  5. package/out/controller/common/index.d.ts +1 -0
  6. package/out/controller/common/index.d.ts.map +1 -1
  7. package/out/controller/common/index.js +1 -0
  8. package/out/controller/common/view/app-login-view.controller.d.ts +54 -0
  9. package/out/controller/common/view/app-login-view.controller.d.ts.map +1 -0
  10. package/out/controller/common/view/app-login-view.controller.js +62 -0
  11. package/out/controller/hub.controller.d.ts +73 -2
  12. package/out/controller/hub.controller.d.ts.map +1 -1
  13. package/out/controller/hub.controller.js +88 -12
  14. package/out/controller/notification/internal-message.controller.js +1 -1
  15. package/out/engine/view-base.engine.d.ts +8 -1
  16. package/out/engine/view-base.engine.d.ts.map +1 -1
  17. package/out/engine/view-base.engine.js +14 -3
  18. package/out/interface/controller/app.d.ts +55 -7
  19. package/out/interface/controller/app.d.ts.map +1 -1
  20. package/out/interface/controller/controller/view/i-app-login-view.controller.d.ts +40 -0
  21. package/out/interface/controller/controller/view/i-app-login-view.controller.d.ts.map +1 -0
  22. package/out/interface/controller/controller/view/i-app-login-view.controller.js +1 -0
  23. package/out/interface/controller/controller/view/index.d.ts +1 -0
  24. package/out/interface/controller/controller/view/index.d.ts.map +1 -1
  25. package/out/interface/service/service/i-auth.service.d.ts +11 -0
  26. package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
  27. package/out/interface/util/i-app-util/i-app-util.d.ts +77 -0
  28. package/out/interface/util/i-app-util/i-app-util.d.ts.map +1 -0
  29. package/out/interface/util/i-app-util/i-app-util.js +1 -0
  30. package/out/interface/util/i-short-cut/i-short-cut.d.ts +11 -3
  31. package/out/interface/util/i-short-cut/i-short-cut.d.ts.map +1 -1
  32. package/out/interface/util/index.d.ts +1 -0
  33. package/out/interface/util/index.d.ts.map +1 -1
  34. package/out/service/service/auth/v7-auth.service.d.ts +64 -0
  35. package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
  36. package/out/service/service/auth/v7-auth.service.js +85 -7
  37. package/out/service/service/authority/authority.service.d.ts.map +1 -1
  38. package/out/service/service/authority/authority.service.js +5 -3
  39. package/out/service/service/internal-message/internal-message.service.js +2 -2
  40. package/out/types.d.ts +9 -1
  41. package/out/types.d.ts.map +1 -1
  42. package/out/ui-action/provider/loginout-ui-action-provider.d.ts.map +1 -1
  43. package/out/ui-action/provider/loginout-ui-action-provider.js +1 -4
  44. package/out/utils/file-util/file-util.d.ts +1 -1
  45. package/out/utils/file-util/file-util.d.ts.map +1 -1
  46. package/out/utils/file-util/file-util.js +14 -1
  47. package/out/utils/index.d.ts +1 -1
  48. package/out/utils/index.d.ts.map +1 -1
  49. package/out/utils/index.js +1 -1
  50. package/out/utils/short-cut/short-cut-util.d.ts +24 -0
  51. package/out/utils/short-cut/short-cut-util.d.ts.map +1 -1
  52. package/out/utils/short-cut/short-cut-util.js +27 -0
  53. package/package.json +1 -1
  54. package/out/utils/short-cut/index.d.ts +0 -2
  55. package/out/utils/short-cut/index.d.ts.map +0 -1
  56. package/out/utils/short-cut/index.js +0 -1
@@ -0,0 +1,77 @@
1
+ /**
2
+ * 应用级功能接口定义,承载应用级功能实现,包含登录、注册、修改密码、切换主题等功能
3
+ *
4
+ * @author tony001
5
+ * @date 2024-05-14 15:05:10
6
+ * @export
7
+ * @interface IAppUtil
8
+ */
9
+ export interface IAppUtil {
10
+ /**
11
+ * 登录(包含调用登录逻辑,及跳转应用界面)
12
+ *
13
+ * @author tony001
14
+ * @date 2024-05-14 15:05:07
15
+ * @param {string} loginName
16
+ * @param {string} password
17
+ * @param {boolean} [remember]
18
+ * @param {IData} [headers]
19
+ * @param {IData} [opts]
20
+ * @return {*} {Promise<boolean>}
21
+ */
22
+ login(loginName: string, password: string, remember?: boolean, headers?: IData, opts?: IData): Promise<boolean>;
23
+ /**
24
+ * 登出(包含调用登录逻辑,及跳转登录页)
25
+ *
26
+ * @author tony001
27
+ * @date 2024-05-14 15:05:24
28
+ * @param {IData} [opts]
29
+ * @return {*} {Promise<boolean>}
30
+ */
31
+ logout(opts?: IData): Promise<boolean>;
32
+ /**
33
+ * 变更密码
34
+ *
35
+ * @author tony001
36
+ * @date 2024-05-14 15:05:33
37
+ * @param {string} oldPwd
38
+ * @param {string} newPwd
39
+ * @param {IData} [opts]
40
+ * @return {*} {Promise<boolean>}
41
+ */
42
+ changePwd(oldPwd: string, newPwd: string, opts?: IData): Promise<boolean>;
43
+ /**
44
+ * 切换组织
45
+ *
46
+ * @author tony001
47
+ * @date 2024-05-14 15:05:51
48
+ * @param {string} oldOrgId
49
+ * @param {string} newOrgId
50
+ * @param {IData} [opts]
51
+ * @return {*} {Promise<boolean>}
52
+ */
53
+ switchOrg(oldOrgId: string, newOrgId: string, opts?: IData): Promise<boolean>;
54
+ /**
55
+ * 切换主题
56
+ *
57
+ * @author tony001
58
+ * @date 2024-05-14 16:05:06
59
+ * @param {string} oldTheme
60
+ * @param {string} newTheme
61
+ * @param {IData} [opts]
62
+ * @return {*} {Promise<boolean>}
63
+ */
64
+ switchTheme(oldTheme: string, newTheme: string, opts?: IData): Promise<boolean>;
65
+ /**
66
+ * 切换语言
67
+ *
68
+ * @author tony001
69
+ * @date 2024-05-14 16:05:20
70
+ * @param {string} oldLanguage
71
+ * @param {string} newLanguage
72
+ * @param {IData} [opts]
73
+ * @return {*} {Promise<boolean>}
74
+ */
75
+ switchLanguage(oldLanguage: string, newLanguage: string, opts?: IData): Promise<boolean>;
76
+ }
77
+ //# sourceMappingURL=i-app-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-app-util.d.ts","sourceRoot":"","sources":["../../../../src/interface/util/i-app-util/i-app-util.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;;OAWG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,KAAK,EACf,IAAI,CAAC,EAAE,KAAK,GACX,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC;;;;;;;;;OASG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1E;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9E;;;;;;;;;OASG;IACH,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,KAAK,GACX,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;;;OASG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,KAAK,GACX,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,4 @@
1
+ import { ISysImage } from '@ibiz/model-core';
1
2
  /**
2
3
  * 快捷方式数据
3
4
  *
@@ -13,12 +14,12 @@ export interface IShortCut {
13
14
  */
14
15
  key: string;
15
16
  /**
16
- * 快捷方式名称
17
+ * 快捷方式标题
17
18
  *
18
19
  * @type {string}
19
20
  * @memberof IShortCut
20
21
  */
21
- name: string;
22
+ caption: string;
22
23
  /**
23
24
  * 视图标识
24
25
  *
@@ -47,12 +48,19 @@ export interface IShortCut {
47
48
  * @memberof IShortCut
48
49
  */
49
50
  openMode: string;
51
+ /**
52
+ * 全路径
53
+ *
54
+ * @type {string}
55
+ * @memberof IShortCut
56
+ */
57
+ fullPath: string;
50
58
  /**
51
59
  * 快捷图标
52
60
  *
53
61
  * @type {string}
54
62
  * @memberof IShortCut
55
63
  */
56
- icon?: string;
64
+ icon?: ISysImage;
57
65
  }
58
66
  //# sourceMappingURL=i-short-cut.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-short-cut.d.ts","sourceRoot":"","sources":["../../../../src/interface/util/i-short-cut/i-short-cut.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,OAAO,EAAE,QAAQ,CAAC;IAClB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"i-short-cut.d.ts","sourceRoot":"","sources":["../../../../src/interface/util/i-short-cut/i-short-cut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,OAAO,EAAE,QAAQ,CAAC;IAClB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
@@ -14,4 +14,5 @@ export type { IAnimationOptions } from './i-animation-util/i-animation-options';
14
14
  export type { INoticeUtil } from './i-notice-util/i-notice-util';
15
15
  export type { IRenderUtil } from './i-render-util/i-render-util';
16
16
  export type { IShortCut } from './i-short-cut/i-short-cut';
17
+ export type { IAppUtil } from './i-app-util/i-app-util';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interface/util/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EACV,YAAY,EACZ,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC3E,YAAY,EACV,YAAY,EACZ,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,YAAY,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtF,YAAY,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAC1G,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interface/util/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EACV,YAAY,EACZ,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC3E,YAAY,EACV,YAAY,EACZ,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,YAAY,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtF,YAAY,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAC1G,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
@@ -9,11 +9,67 @@ import { IAuthService, IAuthInfo } from '../../../interface';
9
9
  */
10
10
  export declare class V7AuthService implements IAuthService {
11
11
  get isAnonymous(): boolean;
12
+ /**
13
+ * 使用匿名账号登录
14
+ *
15
+ * @author tony001
16
+ * @date 2024-05-14 17:05:47
17
+ * @return {*} {Promise<boolean>}
18
+ */
12
19
  anonymousLogin(): Promise<boolean>;
20
+ /**
21
+ * 登录
22
+ *
23
+ * @author tony001
24
+ * @date 2024-05-14 17:05:54
25
+ * @param {string} loginName
26
+ * @param {string} password
27
+ * @param {boolean} [remember]
28
+ * @param {IData} [headers]
29
+ * @return {*} {Promise<boolean>}
30
+ */
13
31
  login(loginName: string, password: string, remember?: boolean, headers?: IData): Promise<boolean>;
32
+ /**
33
+ * 登出
34
+ *
35
+ * @author tony001
36
+ * @date 2024-05-14 17:05:04
37
+ * @return {*} {Promise<boolean>}
38
+ */
14
39
  logout(): Promise<boolean>;
40
+ /**
41
+ * 变更密码
42
+ *
43
+ * @author tony001
44
+ * @date 2024-05-14 17:05:22
45
+ * @param {string} oldPwd
46
+ * @param {string} newPwd
47
+ * @return {*} {Promise<boolean>}
48
+ */
49
+ changePwd(oldPwd: string, newPwd: string): Promise<boolean>;
50
+ /**
51
+ * 页面未关闭情况下,自动延长登录时间
52
+ *
53
+ * @author tony001
54
+ * @date 2024-05-14 17:05:38
55
+ * @return {*} {Promise<void>}
56
+ */
15
57
  extendLogin(): Promise<void>;
58
+ /**
59
+ * 通过refreshToken换算token
60
+ *
61
+ * @author tony001
62
+ * @date 2024-05-14 17:05:45
63
+ * @return {*} {Promise<void>}
64
+ */
16
65
  refreshToken(): Promise<void>;
66
+ /**
67
+ * 获取当前环境的权限信息(无登录则返回undefined)
68
+ *
69
+ * @author tony001
70
+ * @date 2024-05-14 17:05:57
71
+ * @return {*} {(IAuthInfo | undefined)}
72
+ */
17
73
  getAuthInfo(): IAuthInfo | undefined;
18
74
  /**
19
75
  * 加载应用数据
@@ -23,5 +79,13 @@ export declare class V7AuthService implements IAuthService {
23
79
  * @return {*} {Promise<void>}
24
80
  */
25
81
  protected loadAppData(): Promise<void>;
82
+ /**
83
+ * 清空权限数据
84
+ *
85
+ * @author tony001
86
+ * @date 2024-05-14 17:05:18
87
+ * @protected
88
+ */
89
+ protected clearAuthData(): void;
26
90
  }
27
91
  //# sourceMappingURL=v7-auth.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v7-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/auth/v7-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBlC,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,KAAK,GACd,OAAO,CAAC,OAAO,CAAC;IA2Cb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BnC,WAAW,IAAI,SAAS,GAAG,SAAS;IAWpC;;;;;;OAMG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7C"}
1
+ {"version":3,"file":"v7-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/auth/v7-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;;;OAMG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBxC;;;;;;;;;;OAUG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,KAAK,GACd,OAAO,CAAC,OAAO,CAAC;IA4CnB;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAchC;;;;;;;;OAQG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYjE;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDlC;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BnC;;;;;;OAMG;IACH,WAAW,IAAI,SAAS,GAAG,SAAS;IAWpC;;;;;;OAMG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5C;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;CAShC"}
@@ -12,6 +12,13 @@ export class V7AuthService {
12
12
  get isAnonymous() {
13
13
  return getCookie(CoreConst.IS_ANONYMOUS) === '1';
14
14
  }
15
+ /**
16
+ * 使用匿名账号登录
17
+ *
18
+ * @author tony001
19
+ * @date 2024-05-14 17:05:47
20
+ * @return {*} {Promise<boolean>}
21
+ */
15
22
  async anonymousLogin() {
16
23
  const { anonymousUser, anonymousPwd } = ibiz.env;
17
24
  if (!anonymousUser || !anonymousPwd) {
@@ -35,9 +42,21 @@ export class V7AuthService {
35
42
  }
36
43
  return result;
37
44
  }
45
+ /**
46
+ * 登录
47
+ *
48
+ * @author tony001
49
+ * @date 2024-05-14 17:05:54
50
+ * @param {string} loginName
51
+ * @param {string} password
52
+ * @param {boolean} [remember]
53
+ * @param {IData} [headers]
54
+ * @return {*} {Promise<boolean>}
55
+ */
38
56
  async login(loginName, password, remember, headers) {
39
57
  // eslint-disable-next-line no-useless-catch
40
58
  try {
59
+ this.clearAuthData();
41
60
  const res = await ibiz.net.post('/v7/login', {
42
61
  loginname: loginName,
43
62
  password,
@@ -67,16 +86,17 @@ export class V7AuthService {
67
86
  }
68
87
  return false;
69
88
  }
89
+ /**
90
+ * 登出
91
+ *
92
+ * @author tony001
93
+ * @date 2024-05-14 17:05:04
94
+ * @return {*} {Promise<boolean>}
95
+ */
70
96
  async logout() {
71
97
  try {
72
98
  await ibiz.net.get('/v7/logout');
73
- clearCookie(CoreConst.TOKEN);
74
- clearCookie(CoreConst.TOKEN_EXPIRES);
75
- clearCookie(CoreConst.TOKEN_REMEMBER);
76
- clearCookie(CoreConst.REFRESH_TOKEN);
77
- clearCookie(CoreConst.IS_ANONYMOUS);
78
- ibiz.appData = undefined;
79
- ibiz.orgData = undefined;
99
+ this.clearAuthData();
80
100
  return true;
81
101
  }
82
102
  catch (err) {
@@ -87,6 +107,34 @@ export class V7AuthService {
87
107
  }
88
108
  return false;
89
109
  }
110
+ /**
111
+ * 变更密码
112
+ *
113
+ * @author tony001
114
+ * @date 2024-05-14 17:05:22
115
+ * @param {string} oldPwd
116
+ * @param {string} newPwd
117
+ * @return {*} {Promise<boolean>}
118
+ */
119
+ async changePwd(oldPwd, newPwd) {
120
+ try {
121
+ await ibiz.net.post('/uaa/changepwd', {
122
+ oldPwd,
123
+ newPwd,
124
+ });
125
+ return true;
126
+ }
127
+ catch (err) {
128
+ return false;
129
+ }
130
+ }
131
+ /**
132
+ * 页面未关闭情况下,自动延长登录时间
133
+ *
134
+ * @author tony001
135
+ * @date 2024-05-14 17:05:38
136
+ * @return {*} {Promise<void>}
137
+ */
90
138
  async extendLogin() {
91
139
  if (this.isAnonymous) {
92
140
  // 匿名登录不需要延长都是会话级的
@@ -132,6 +180,13 @@ export class V7AuthService {
132
180
  }, wait);
133
181
  }
134
182
  }
183
+ /**
184
+ * 通过refreshToken换算token
185
+ *
186
+ * @author tony001
187
+ * @date 2024-05-14 17:05:45
188
+ * @return {*} {Promise<void>}
189
+ */
135
190
  async refreshToken() {
136
191
  const remember = getCookie(CoreConst.TOKEN_REMEMBER);
137
192
  const refreshToken = getCookie(CoreConst.REFRESH_TOKEN);
@@ -152,6 +207,13 @@ export class V7AuthService {
152
207
  }
153
208
  }
154
209
  }
210
+ /**
211
+ * 获取当前环境的权限信息(无登录则返回undefined)
212
+ *
213
+ * @author tony001
214
+ * @date 2024-05-14 17:05:57
215
+ * @return {*} {(IAuthInfo | undefined)}
216
+ */
155
217
  getAuthInfo() {
156
218
  const token = getCookie(CoreConst.TOKEN);
157
219
  const isAnonymous = !!getCookie(CoreConst.IS_ANONYMOUS);
@@ -175,4 +237,20 @@ export class V7AuthService {
175
237
  ibiz.appData = res.data;
176
238
  }
177
239
  }
240
+ /**
241
+ * 清空权限数据
242
+ *
243
+ * @author tony001
244
+ * @date 2024-05-14 17:05:18
245
+ * @protected
246
+ */
247
+ clearAuthData() {
248
+ clearCookie(CoreConst.TOKEN);
249
+ clearCookie(CoreConst.TOKEN_EXPIRES);
250
+ clearCookie(CoreConst.TOKEN_REMEMBER);
251
+ clearCookie(CoreConst.REFRESH_TOKEN);
252
+ clearCookie(CoreConst.IS_ANONYMOUS);
253
+ ibiz.appData = undefined;
254
+ ibiz.orgData = undefined;
255
+ }
178
256
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authority.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/authority/authority.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IA2Cf,SAAS,CAAC,QAAQ,EAAE,YAAY;IA1C5C;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAa;IAEjE;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAC7B,MAAM,EACN,CAAC,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,sBAAsB,CAAC,CACjE,CAAa;IAEd;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;gBAEtB,QAAQ,EAAE,YAAY;IAE5C;;;;;;;;;OASG;IACH,QAAQ,CACN,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,CACX,WAAW,EAAE,cAAc,KACxB,OAAO,CAAC,sBAAsB,CAAC,GACnC,IAAI;IAIP;;;;;;;;OAQG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsB7D;;;;;;;OAOG;IACG,IAAI,CAAC,OAAO,oBAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;CA2BpB"}
1
+ {"version":3,"file":"authority.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/authority/authority.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IA2Cf,SAAS,CAAC,QAAQ,EAAE,YAAY;IA1C5C;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAa;IAEjE;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAC7B,MAAM,EACN,CAAC,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,sBAAsB,CAAC,CACjE,CAAa;IAEd;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;gBAEtB,QAAQ,EAAE,YAAY;IAE5C;;;;;;;;;OASG;IACH,QAAQ,CACN,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,CACX,WAAW,EAAE,cAAc,KACxB,OAAO,CAAC,sBAAsB,CAAC,GACnC,IAAI;IAIP;;;;;;;;OAQG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsB7D;;;;;;;OAOG;IACG,IAAI,CAAC,OAAO,oBAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;CA+BpB"}
@@ -135,9 +135,11 @@ export class AuthorityService {
135
135
  if (this.enablePermission) {
136
136
  const app = await ibiz.hub.getApp(this.appModel.appId);
137
137
  const opPriv = await app.getOPPriv(dataAccessAction, appDeId);
138
- // 存在映射统一资源并且校验统一资源,通过为true,不通过为false,无需走实体级权限
139
- if (opPriv && opPriv.mapSysUniResMode && opPriv.mapSysUniResCode) {
140
- return !!this.calcByResCode(opPriv.mapSysUniResCode);
138
+ // 存在映射统一资源并且校验统一资源不通过时,返回false
139
+ if (this.enablePermission &&
140
+ (opPriv === null || opPriv === void 0 ? void 0 : opPriv.mapSysUniResCode) &&
141
+ !this.calcByResCode(opPriv.mapSysUniResCode)) {
142
+ return false;
141
143
  }
142
144
  }
143
145
  // 有实体标识走实体权限的校验(不一定需要数据,可以使用附属主实体的操作标识)
@@ -20,7 +20,7 @@ export class InternalMessageService {
20
20
  const fetchParams = {
21
21
  page: 0,
22
22
  size: 20,
23
- sort: 'update_time,desc',
23
+ sort: 'timestamp,desc',
24
24
  };
25
25
  Object.assign(fetchParams, params);
26
26
  const res = await ibiz.net.post(`${this.baseUrl}/fetch_cur_receiver`, fetchParams);
@@ -81,7 +81,7 @@ export class InternalMessageService {
81
81
  const res = await ibiz.net.post(`${this.baseUrl}/fetch_cur_receiver`, {
82
82
  page: 0,
83
83
  size: 1,
84
- sort: 'update_time,desc',
84
+ sort: 'timestamp,desc',
85
85
  searchconds: [
86
86
  {
87
87
  condtype: 'GROUP',
package/out/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { I18n } from '@ibiz-template/core';
2
2
  import { EngineFactory } from './engine';
3
3
  import { GlobalUtil } from './global';
4
- import { IMessageUtil, INotificationUtil, IOpenViewUtil, IModalUtil, IConfirmUtil, ILoadingUtil, IPluginFactory, IOverlayController, IGlobalConfig, IAppHubService, IAuthService, IPlatformProvider, INoticeUtil, IMarkOpenDataService, IRenderUtil } from './interface';
4
+ import { IMessageUtil, INotificationUtil, IOpenViewUtil, IModalUtil, IConfirmUtil, ILoadingUtil, IPluginFactory, IOverlayController, IGlobalConfig, IAppHubService, IAuthService, IPlatformProvider, INoticeUtil, IMarkOpenDataService, IRenderUtil, IAppUtil } from './interface';
5
5
  import { LogicSchedulerCenter } from './logic-scheduler';
6
6
  import { RegisterCenter } from './register/register-center';
7
7
  import { UIDomainManager } from './utils';
@@ -84,6 +84,14 @@ declare module '@ibiz-template/core' {
84
84
  * @type {IRenderUtil}
85
85
  */
86
86
  render: IRenderUtil;
87
+ /**
88
+ * 应用级功能接口定义,承载应用级功能实现,包含登录、注册、修改密码、切换主题等功能
89
+ *
90
+ * @author tony001
91
+ * @date 2024-05-14 16:05:17
92
+ * @type {IAppUtil}
93
+ */
94
+ appUtil: IAppUtil;
87
95
  /**
88
96
  * 全局多种组件呈现工具类
89
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf;;;;;;WAMG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;WAMG;QACH,GAAG,EAAE,cAAc,CAAC;QAEpB;;;;;;;WAOG;QACH,KAAK,EAAE,UAAU,CAAC;QAElB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,YAAY,EAAE,iBAAiB,CAAC;QAEhC;;;;;WAKG;QACH,MAAM,EAAE,WAAW,CAAC;QAEpB;;;;;;;WAOG;QACH,QAAQ,EAAE,aAAa,CAAC;QAExB;;;;;;;WAOG;QACH,MAAM,EAAE,WAAW,CAAC;QAEpB;;;;;;WAMG;QACH,OAAO,EAAE,kBAAkB,CAAC;QAE5B;;;;;;WAMG;QACH,MAAM,EAAE,cAAc,CAAC;QAEvB;;;;;;WAMG;QACH,QAAQ,EAAE,cAAc,CAAC;QAEzB;;;;;;WAMG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,YAAY,CAAC;QAEnB;;;;;WAKG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,UAAU,CAAC;QAEjB;;;;;;WAMG;QACH,IAAI,EAAE,IAAI,CAAC;QAEX;;;;;WAKG;QACH,SAAS,EAAE,oBAAoB,CAAC;QAEhC;;;;;;;WAOG;QACH,QAAQ,EAAE,iBAAiB,CAAC;QAE5B;;;;;;WAMG;QACH,eAAe,EAAE,eAAe,CAAC;QAEjC;;;;;WAKG;QACH,YAAY,EAAE,oBAAoB,CAAC;KACpC;IAED,UAAU,YAAY;QACpB;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf;;;;;;WAMG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;WAMG;QACH,GAAG,EAAE,cAAc,CAAC;QAEpB;;;;;;;WAOG;QACH,KAAK,EAAE,UAAU,CAAC;QAElB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,YAAY,EAAE,iBAAiB,CAAC;QAEhC;;;;;WAKG;QACH,MAAM,EAAE,WAAW,CAAC;QAEpB;;;;;;;WAOG;QACH,QAAQ,EAAE,aAAa,CAAC;QAExB;;;;;;;WAOG;QACH,MAAM,EAAE,WAAW,CAAC;QAEpB;;;;;;WAMG;QACH,OAAO,EAAE,QAAQ,CAAC;QAElB;;;;;;WAMG;QACH,OAAO,EAAE,kBAAkB,CAAC;QAE5B;;;;;;WAMG;QACH,MAAM,EAAE,cAAc,CAAC;QAEvB;;;;;;WAMG;QACH,QAAQ,EAAE,cAAc,CAAC;QAEzB;;;;;;WAMG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,YAAY,CAAC;QAEnB;;;;;WAKG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,UAAU,CAAC;QAEjB;;;;;;WAMG;QACH,IAAI,EAAE,IAAI,CAAC;QAEX;;;;;WAKG;QACH,SAAS,EAAE,oBAAoB,CAAC;QAEhC;;;;;;;WAOG;QACH,QAAQ,EAAE,iBAAiB,CAAC;QAE5B;;;;;;WAMG;QACH,eAAe,EAAE,eAAe,CAAC;QAEjC;;;;;WAKG;QACH,YAAY,EAAE,oBAAoB,CAAC;KACpC;IAED,UAAU,YAAY;QACpB;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"loginout-ui-action-provider.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/loginout-ui-action-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,SAAQ,oBAAoB;IAC1D,UAAU,CACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC;CAa5B"}
1
+ {"version":3,"file":"loginout-ui-action-provider.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/loginout-ui-action-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,SAAQ,oBAAoB;IAC1D,UAAU,CACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC;CAU5B"}
@@ -15,10 +15,7 @@ export class LoginOutUIActionProvider extends UIActionProviderBase {
15
15
  desc: ibiz.i18n.t('runtime.uiAction.wantLogout'),
16
16
  });
17
17
  if (confirm) {
18
- const bol = await ibiz.hub.controller.logout();
19
- if (bol) {
20
- window.location.reload();
21
- }
18
+ await ibiz.hub.controller.logout();
22
19
  }
23
20
  return {};
24
21
  }
@@ -40,7 +40,7 @@ export declare class FileUtil {
40
40
  * @param {{ url: string; name: string }} file
41
41
  * @memberof FileUtil
42
42
  */
43
- fileDownload(url: string, name: string): Promise<void>;
43
+ fileDownload(url: string, name?: string): Promise<void>;
44
44
  /**
45
45
  * 文件上传
46
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../../src/utils/file-util/file-util.ts"],"names":[],"mappings":"AAIA,qBAAa,QAAQ;IACnB;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM;IAWT;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CACf,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,KAAU,EAChB,WAAW,GAAE,KAAU,GACtB;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB;IA0BD;;;;;;;OAOG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5D;;;;;;;;;;OAUG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,KAAK,GACb,OAAO,CAAC,KAAK,CAAC;CAgBlB"}
1
+ {"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../../src/utils/file-util/file-util.ts"],"names":[],"mappings":"AAIA,qBAAa,QAAQ;IACnB;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM;IAWT;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CACf,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,KAAU,EAChB,WAAW,GAAE,KAAU,GACtB;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB;IA0BD;;;;;;;OAOG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7D;;;;;;;;;;OAUG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,KAAK,GACb,OAAO,CAAC,KAAK,CAAC;CAgBlB"}
@@ -66,6 +66,7 @@ export class FileUtil {
66
66
  * @memberof FileUtil
67
67
  */
68
68
  async fileDownload(url, name) {
69
+ var _a;
69
70
  // 发送get请求
70
71
  const response = await ibiz.net.request(url, {
71
72
  method: 'get',
@@ -81,7 +82,19 @@ export class FileUtil {
81
82
  }
82
83
  else {
83
84
  // 获取文件名
84
- const fileName = name;
85
+ let fileName = '';
86
+ const disposition = (_a = qs.parse(response.headers['content-disposition'], {
87
+ delimiter: ';',
88
+ })) === null || _a === void 0 ? void 0 : _a.filename;
89
+ if (disposition) {
90
+ // 特殊处理返回的文件名带有双引号
91
+ if (disposition.startsWith('"') && disposition.endsWith('"')) {
92
+ fileName = disposition.substring(1, disposition.length - 1);
93
+ }
94
+ }
95
+ // 外部传名称以外部为准,需要带文件后缀名
96
+ if (name)
97
+ fileName = name;
85
98
  downloadFileFromBlob(response.data, fileName);
86
99
  }
87
100
  }
@@ -18,5 +18,5 @@ export { ViewStack } from './view-stack/view-stack';
18
18
  export { handleAllSettled } from './promise/promise';
19
19
  export { AnimeUtil } from './anime';
20
20
  export { FileUtil } from './file-util';
21
- export { ShortCutUtil } from './short-cut';
21
+ export { ShortCutUtil } from './short-cut/short-cut-util';
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
@@ -18,4 +18,4 @@ export { ViewStack } from './view-stack/view-stack';
18
18
  export { handleAllSettled } from './promise/promise';
19
19
  export { AnimeUtil } from './anime';
20
20
  export { FileUtil } from './file-util';
21
- export { ShortCutUtil } from './short-cut';
21
+ export { ShortCutUtil } from './short-cut/short-cut-util';
@@ -1,3 +1,4 @@
1
+ import { QXEvent } from 'qx-util';
1
2
  import { IShortCut } from '../../interface';
2
3
  /**
3
4
  * 快捷方式全局工具类
@@ -14,6 +15,15 @@ export declare class ShortCutUtil {
14
15
  * @memberof ShortCutUtil
15
16
  */
16
17
  private $ShortCut;
18
+ /**
19
+ * 事件监听器
20
+ *
21
+ * @protected
22
+ * @memberof ShortCutUtil
23
+ */
24
+ protected evt: QXEvent<{
25
+ change: (data: IShortCut[]) => void;
26
+ }>;
17
27
  /**
18
28
  * 快捷方式数据
19
29
  *
@@ -38,6 +48,20 @@ export declare class ShortCutUtil {
38
48
  * @memberof ShortCutUtil
39
49
  */
40
50
  private saveShortCut;
51
+ /**
52
+ * 订阅数据改变事件
53
+ *
54
+ * @param {(data: IShortCut) => void} callback 回调
55
+ * @memberof ShortCutUtil
56
+ */
57
+ onChange(callback: (data: IShortCut[]) => void): void;
58
+ /**
59
+ * 取消订阅
60
+ *
61
+ * @param {(data: IShortCut) => void} callback
62
+ * @memberof ShortCutUtil
63
+ */
64
+ offChange(callback: (data: IShortCut[]) => void): void;
41
65
  /**
42
66
  * 计算快捷方式key
43
67
  *
@@ -1 +1 @@
1
- {"version":3,"file":"short-cut-util.d.ts","sourceRoot":"","sources":["../../../src/utils/short-cut/short-cut-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;;OAIG;IACH,IAAI,IAAI,IAAI,SAAS,EAAE,CAEtB;IAED;;;OAGG;;IAKH;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;;;;;;OAYG;IACG,eAAe,CAAC,EACpB,OAAO,EACP,SAAS,GACV,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnB;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAUtC;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAsBrD;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAO9B"}
1
+ {"version":3,"file":"short-cut-util.d.ts","sourceRoot":"","sources":["../../../src/utils/short-cut/short-cut-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAC/C;IAEhB;;;;OAIG;IACH,IAAI,IAAI,IAAI,SAAS,EAAE,CAEtB;IAED;;;OAGG;;IAKH;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,GAAG,IAAI;IAItD;;;;;;;;;;;;OAYG;IACG,eAAe,CAAC,EACpB,OAAO,EACP,SAAS,GACV,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnB;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAUtC;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAsBrD;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAO9B"}
@@ -1,3 +1,4 @@
1
+ import { QXEvent } from 'qx-util';
1
2
  import { calcDeCodeNameById } from '../../model';
2
3
  /**
3
4
  * 快捷方式全局工具类
@@ -27,6 +28,13 @@ export class ShortCutUtil {
27
28
  * @memberof ShortCutUtil
28
29
  */
29
30
  this.$ShortCut = [];
31
+ /**
32
+ * 事件监听器
33
+ *
34
+ * @protected
35
+ * @memberof ShortCutUtil
36
+ */
37
+ this.evt = new QXEvent();
30
38
  this.initShortCut();
31
39
  }
32
40
  /**
@@ -47,8 +55,27 @@ export class ShortCutUtil {
47
55
  * @memberof ShortCutUtil
48
56
  */
49
57
  saveShortCut() {
58
+ this.evt.emit('change', this.$ShortCut);
50
59
  window.localStorage.setItem('IbizShortCut', JSON.stringify(this.$ShortCut));
51
60
  }
61
+ /**
62
+ * 订阅数据改变事件
63
+ *
64
+ * @param {(data: IShortCut) => void} callback 回调
65
+ * @memberof ShortCutUtil
66
+ */
67
+ onChange(callback) {
68
+ this.evt.on('change', callback);
69
+ }
70
+ /**
71
+ * 取消订阅
72
+ *
73
+ * @param {(data: IShortCut) => void} callback
74
+ * @memberof ShortCutUtil
75
+ */
76
+ offChange(callback) {
77
+ this.evt.off('change', callback);
78
+ }
52
79
  /**
53
80
  * 计算快捷方式key
54
81
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.7.12",
3
+ "version": "0.7.13",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -1,2 +0,0 @@
1
- export { ShortCutUtil } from './short-cut-util';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/short-cut/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}