@ibiz-template/mob-vue3-components 0.7.41-alpha.7 → 0.7.41-alpha.9

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 (142) hide show
  1. package/dist/{index-O-XmMUt3.js → index-JSf84k9b.js} +2 -2
  2. package/dist/index-JSf84k9b.js.map +1 -0
  3. package/dist/{index-NP0RBfWK.js → index-OsiEgFnw.js} +2 -2
  4. package/dist/index-OsiEgFnw.js.map +1 -0
  5. package/dist/index-m5kpisiW.js +76 -0
  6. package/dist/index-m5kpisiW.js.map +1 -0
  7. package/dist/index.min.css +8 -8
  8. package/dist/index.system.min.js +1 -1
  9. package/dist/{quill-editor-preview-Dui7L0ne.js → quill-editor-preview-4GJgBqkz.js} +2 -2
  10. package/dist/{quill-editor-preview-Dui7L0ne.js.map → quill-editor-preview-4GJgBqkz.js.map} +1 -1
  11. package/dist/{quill-editor-BMC0diFC.js → quill-editor-wtClM5Dv.js} +2 -2
  12. package/dist/{quill-editor-BMC0diFC.js.map → quill-editor-wtClM5Dv.js.map} +1 -1
  13. package/dist/{quill-O7hIDmrl.js → quill-fQu2PNuh.js} +2 -2
  14. package/dist/{quill-O7hIDmrl.js.map → quill-fQu2PNuh.js.map} +1 -1
  15. package/es/common/button-list/button-list.d.ts +1 -0
  16. package/es/common/date-range-picker/components/range-picker/range-picker.d.ts +1 -1
  17. package/es/common/date-range-picker/date-range-picker.d.ts +2 -2
  18. package/es/common/emoji-select/components/emoji-list/emoji-list.d.ts +1 -1
  19. package/es/common/emoji-select/icons/search.d.ts +1 -0
  20. package/es/common/index.mjs +2 -1
  21. package/es/common/md-ctrl-setting/md-ctrl-setting.d.ts +3 -3
  22. package/es/control/app-menu/custom-menu-design/custom-menu-design.d.ts +1 -1
  23. package/es/control/dashboard/portlet/portlet-part/portlet-part.state.d.ts +1 -0
  24. package/es/control/dashboard/portlet/portlet-part/portlet-part.state.mjs +1 -0
  25. package/es/control/data-view/data-view.d.ts +2 -2
  26. package/es/control/data-view/data-view.mjs +2 -3
  27. package/es/control/data-view/index.d.ts +2 -2
  28. package/es/control/drbar/drbar.controller.d.ts +1 -0
  29. package/es/control/drbar/drbar.controller.mjs +3 -0
  30. package/es/control/drbar/drbar.d.ts +2 -2
  31. package/es/control/drbar/index.d.ts +2 -2
  32. package/es/control/drtab/drtab.controller.d.ts +1 -0
  33. package/es/control/drtab/drtab.controller.mjs +3 -0
  34. package/es/control/drtab/drtab.d.ts +2 -2
  35. package/es/control/drtab/index.d.ts +2 -2
  36. package/es/control/form/form-detail/form-group-panel/form-group-panel.css +1 -1
  37. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.d.ts +1 -1
  38. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.d.ts +1 -1
  39. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.d.ts +3 -3
  40. package/es/control/list/list/index.d.ts +2 -2
  41. package/es/control/list/list/list.d.ts +2 -2
  42. package/es/control/list/list-render-util.d.ts +1 -0
  43. package/es/control/list/md-ctrl/index.d.ts +2 -2
  44. package/es/control/list/md-ctrl/md-ctrl.d.ts +2 -2
  45. package/es/control/pickup-view-panel/pickup-view-panel.controller.d.ts +2 -0
  46. package/es/control/pickup-view-panel/pickup-view-panel.controller.mjs +3 -0
  47. package/es/control/search-bar/filter-tree/filter-tree.d.ts +2 -2
  48. package/es/control/toolbar/index.d.ts +2 -2
  49. package/es/control/toolbar/popper-toolbar/popper-toolbar.d.ts +1 -1
  50. package/es/control/toolbar/toolbar.d.ts +2 -2
  51. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +1 -1
  52. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +144 -26
  53. package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +2 -2
  54. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.d.ts +2 -2
  55. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +2 -2
  56. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +1 -0
  57. package/es/editor/index.mjs +7 -1
  58. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.d.ts +1 -1
  59. package/es/editor/text-box/index.d.ts +1 -0
  60. package/es/editor/text-box/index.mjs +1 -0
  61. package/es/editor/text-box/signature/signature.css +1 -0
  62. package/es/editor/text-box/signature/signature.d.ts +104 -0
  63. package/es/editor/text-box/signature/signature.mjs +256 -0
  64. package/es/editor/text-box/text-box-editor.provider.mjs +3 -0
  65. package/es/index.mjs +1 -0
  66. package/es/locale/en/index.d.ts +28 -5
  67. package/es/locale/en/index.mjs +14 -0
  68. package/es/locale/zh-CN/index.d.ts +28 -5
  69. package/es/locale/zh-CN/index.mjs +14 -0
  70. package/es/mob-app/App.mjs +17 -1
  71. package/es/mob-app/guard/auth-guard/auth-guard.mjs +95 -2
  72. package/es/mob-app/util/unauthorized-handler/unauthorized-handler.d.ts +13 -5
  73. package/es/mob-app/util/unauthorized-handler/unauthorized-handler.mjs +50 -15
  74. package/es/panel-component/auth-sso/auth-sso.css +1 -1
  75. package/es/panel-component/auth-sso/auth-sso.d.ts +8 -3
  76. package/es/panel-component/auth-sso/auth-sso.mjs +78 -6
  77. package/es/panel-component/auth-sso/index.d.ts +7 -1
  78. package/es/panel-component/user-message/index.d.ts +1 -1
  79. package/es/panel-component/user-message/user-message.d.ts +1 -1
  80. package/es/util/app-util/app-util.d.ts +59 -1
  81. package/es/util/app-util/app-util.mjs +56 -1
  82. package/es/view-engine/login-view.engine.d.ts +2 -2
  83. package/es/view-engine/login-view.engine.mjs +2 -0
  84. package/es/view-engine/mob-data-view-engine.d.ts +2 -2
  85. package/es/view-engine/mob-data-view-engine.mjs +0 -1
  86. package/es/view-engine/mob-edit-view.engine.d.ts +2 -2
  87. package/es/view-engine/mob-edit-view.engine.mjs +5 -1
  88. package/es/view-engine/mob-md-view-engine.d.ts +2 -2
  89. package/es/view-engine/mob-md-view-engine.mjs +0 -1
  90. package/es/view-engine/mob-mpickup-view-engine.d.ts +20 -14
  91. package/es/view-engine/mob-mpickup-view-engine.mjs +34 -26
  92. package/es/view-engine/mob-opt-view.engine.d.ts +2 -2
  93. package/es/view-engine/mob-pickup-md-view.engine.d.ts +2 -2
  94. package/es/view-engine/mob-pickup-md-view.engine.mjs +0 -1
  95. package/es/view-engine/mob-pickup-view.engine.d.ts +9 -2
  96. package/es/view-engine/mob-pickup-view.engine.mjs +15 -1
  97. package/es/view-engine/mob-tab-search-view.engine.d.ts +2 -2
  98. package/es/view-engine/mob-tab-search-view.engine.mjs +0 -1
  99. package/es/view-engine/mob-wf-dyna-action-view.engine.d.ts +2 -2
  100. package/es/view-engine/mob-wf-dyna-action-view.engine.mjs +0 -1
  101. package/es/view-engine/mob-wf-dyna-edit-view.engine.d.ts +2 -2
  102. package/es/view-engine/mob-wf-dyna-edit-view.engine.mjs +0 -1
  103. package/es/view-engine/mob-wf-dyna-start-view.engine.d.ts +2 -2
  104. package/es/view-engine/mob-wf-dyna-start-view.engine.mjs +0 -1
  105. package/lib/common/index.cjs +1 -0
  106. package/lib/control/dashboard/portlet/portlet-part/portlet-part.state.cjs +1 -0
  107. package/lib/control/data-view/data-view.cjs +2 -3
  108. package/lib/control/drbar/drbar.controller.cjs +3 -0
  109. package/lib/control/drtab/drtab.controller.cjs +3 -0
  110. package/lib/control/form/form-detail/form-group-panel/form-group-panel.css +1 -1
  111. package/lib/control/pickup-view-panel/pickup-view-panel.controller.cjs +3 -0
  112. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +144 -26
  113. package/lib/editor/index.cjs +7 -0
  114. package/lib/editor/text-box/index.cjs +2 -0
  115. package/lib/editor/text-box/signature/signature.cjs +258 -0
  116. package/lib/editor/text-box/signature/signature.css +1 -0
  117. package/lib/editor/text-box/text-box-editor.provider.cjs +3 -0
  118. package/lib/index.cjs +2 -0
  119. package/lib/locale/en/index.cjs +14 -0
  120. package/lib/locale/zh-CN/index.cjs +14 -0
  121. package/lib/mob-app/App.cjs +16 -0
  122. package/lib/mob-app/guard/auth-guard/auth-guard.cjs +95 -2
  123. package/lib/mob-app/util/unauthorized-handler/unauthorized-handler.cjs +50 -15
  124. package/lib/panel-component/auth-sso/auth-sso.cjs +77 -5
  125. package/lib/panel-component/auth-sso/auth-sso.css +1 -1
  126. package/lib/util/app-util/app-util.cjs +55 -0
  127. package/lib/view-engine/login-view.engine.cjs +2 -0
  128. package/lib/view-engine/mob-data-view-engine.cjs +0 -1
  129. package/lib/view-engine/mob-edit-view.engine.cjs +5 -1
  130. package/lib/view-engine/mob-md-view-engine.cjs +0 -1
  131. package/lib/view-engine/mob-mpickup-view-engine.cjs +34 -26
  132. package/lib/view-engine/mob-pickup-md-view.engine.cjs +0 -1
  133. package/lib/view-engine/mob-pickup-view.engine.cjs +15 -1
  134. package/lib/view-engine/mob-tab-search-view.engine.cjs +0 -1
  135. package/lib/view-engine/mob-wf-dyna-action-view.engine.cjs +0 -1
  136. package/lib/view-engine/mob-wf-dyna-edit-view.engine.cjs +0 -1
  137. package/lib/view-engine/mob-wf-dyna-start-view.engine.cjs +0 -1
  138. package/package.json +6 -6
  139. package/dist/index-NP0RBfWK.js.map +0 -1
  140. package/dist/index-O-XmMUt3.js.map +0 -1
  141. package/dist/index-komJV5bQ.js +0 -76
  142. package/dist/index-komJV5bQ.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { HttpError } from '@ibiz-template/core';
1
2
  import { IErrorHandler } from '@ibiz-template/runtime';
2
3
  /**
3
4
  * 没有权限的错误处理器
@@ -9,6 +10,13 @@ import { IErrorHandler } from '@ibiz-template/runtime';
9
10
  */
10
11
  export declare class UnauthorizedHandler implements IErrorHandler {
11
12
  match(error: unknown): boolean;
13
+ /**
14
+ * @description 是否存在403错误未处理
15
+ * @protected
16
+ * @type {boolean}
17
+ * @memberof UnauthorizedHandler
18
+ */
19
+ protected hasPermErrPending: boolean;
12
20
  /**
13
21
  * cas登录处理
14
22
  *
@@ -37,13 +45,13 @@ export declare class UnauthorizedHandler implements IErrorHandler {
37
45
  */
38
46
  protected normalLogin(): Promise<void>;
39
47
  /**
40
- * 处理403
41
- * @author lxm
42
- * @date 2023-12-06 10:19:12
48
+ * @description 处理403
43
49
  * @protected
44
- * @return {*} {Promise<void>}
50
+ * @param {HttpError} error
51
+ * @returns {*} {Promise<void>}
52
+ * @memberof UnauthorizedHandler
45
53
  */
46
- protected handle403(): Promise<void>;
54
+ protected handle403(error: HttpError): Promise<void>;
47
55
  /**
48
56
  * 没有权限处理
49
57
  *
@@ -2,7 +2,22 @@ import qs from 'qs';
2
2
  import { HttpError, RuntimeError, UrlHelper, LoginMode } from '@ibiz-template/core';
3
3
 
4
4
  "use strict";
5
+ var __defProp = Object.defineProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __publicField = (obj, key, value) => {
8
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
9
+ return value;
10
+ };
5
11
  class UnauthorizedHandler {
12
+ constructor() {
13
+ /**
14
+ * @description 是否存在403错误未处理
15
+ * @protected
16
+ * @type {boolean}
17
+ * @memberof UnauthorizedHandler
18
+ */
19
+ __publicField(this, "hasPermErrPending", false);
20
+ }
6
21
  match(error) {
7
22
  return error instanceof HttpError && (error.status === 401 || error.status === 403);
8
23
  }
@@ -67,6 +82,9 @@ class UnauthorizedHandler {
67
82
  */
68
83
  async normalLogin() {
69
84
  const ru = window.location.hash.replace("#", "");
85
+ if (ru.startsWith("/login")) {
86
+ return;
87
+ }
70
88
  const targetUrl = `${UrlHelper.routeBase}/login?ru=${encodeURIComponent(
71
89
  ru
72
90
  )}`;
@@ -75,22 +93,31 @@ class UnauthorizedHandler {
75
93
  window.location.reload();
76
94
  }
77
95
  /**
78
- * 处理403
79
- * @author lxm
80
- * @date 2023-12-06 10:19:12
96
+ * @description 处理403
81
97
  * @protected
82
- * @return {*} {Promise<void>}
98
+ * @param {HttpError} error
99
+ * @returns {*} {Promise<void>}
100
+ * @memberof UnauthorizedHandler
83
101
  */
84
- async handle403() {
85
- const result = await ibiz.modal.confirm({
86
- title: ibiz.i18n.t("mobApp.unauthorizedHandler.prohibitAccessPrompt"),
87
- desc: ibiz.i18n.t("mobApp.unauthorizedHandler.exitPrompt")
88
- });
89
- if (result) {
90
- const bol = await ibiz.auth.logout();
91
- if (bol) {
92
- window.location.reload();
102
+ async handle403(error) {
103
+ if (error.tag === "APPINIT") {
104
+ if (this.hasPermErrPending) {
105
+ return;
106
+ }
107
+ this.hasPermErrPending = true;
108
+ const result = await ibiz.modal.confirm({
109
+ title: ibiz.i18n.t("mobApp.unauthorizedHandler.prohibitAccessPrompt"),
110
+ desc: ibiz.i18n.t("mobApp.unauthorizedHandler.exitPrompt")
111
+ });
112
+ this.hasPermErrPending = false;
113
+ if (result) {
114
+ const bol = await ibiz.auth.logout();
115
+ if (bol) {
116
+ window.location.reload();
117
+ }
93
118
  }
119
+ } else {
120
+ ibiz.mc.error.send(error);
94
121
  }
95
122
  }
96
123
  /**
@@ -103,7 +130,15 @@ class UnauthorizedHandler {
103
130
  handle(error) {
104
131
  if (error instanceof HttpError) {
105
132
  if (error.status === 401) {
106
- if (ibiz.env.loginMode === LoginMode.CAS) {
133
+ const search = qs.parse(window.location.search.replace("?", ""));
134
+ if ((search.isAnonymous || ibiz.env.enableAnonymous) && // 匿名登录获取视图模型发生异常,走普通登录,防止循环执行
135
+ error.tag !== "APPINIT") {
136
+ ibiz.auth.anonymousLogin().then((bol) => {
137
+ if (bol) {
138
+ window.location.reload();
139
+ }
140
+ });
141
+ } else if (ibiz.env.loginMode === LoginMode.CAS) {
107
142
  this.casLogin();
108
143
  } else if (ibiz.env.loginMode === LoginMode.OAUTH) {
109
144
  this.oauthLogin();
@@ -113,7 +148,7 @@ class UnauthorizedHandler {
113
148
  return true;
114
149
  }
115
150
  if (error.status === 403) {
116
- this.handle403();
151
+ this.handle403(error);
117
152
  return true;
118
153
  }
119
154
  }
@@ -1 +1 @@
1
- .ibiz-auth-sso{--ibiz-auth-sso-icon-width:var(--ibiz-editor-default-line-height);--ibiz-auth-sso-icon-height:var(--ibiz-editor-default-line-height);--ibiz-auth-sso-gap:var(--ibiz-spacing-base);display:flex;gap:var(--ibiz-auth-sso-gap);justify-content:center;width:100%}.ibiz-auth-sso__sign-btn{width:var(--ibiz-auth-sso-icon-width);height:var(--ibiz-auth-sso-icon-height);cursor:pointer}.ibiz-auth-sso__sign-btn svg{width:100%;height:100%}
1
+ .ibiz-auth-sso{--ibiz-auth-sso-icon-width:var(--ibiz-editor-default-line-height);--ibiz-auth-sso-icon-height:var(--ibiz-editor-default-line-height);--ibiz-auth-sso-gap:var(--ibiz-spacing-base);display:flex;gap:var(--ibiz-auth-sso-gap);justify-content:center;width:100%}.ibiz-auth-sso__sign-btn{width:var(--ibiz-auth-sso-icon-width);height:var(--ibiz-auth-sso-icon-height);cursor:pointer}.ibiz-auth-sso__sign-btn svg{width:100%;height:100%}.ibiz-auth-sso__sign-btn .ibiz-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
@@ -5,8 +5,7 @@ import './auth-sso.scss';
5
5
  /**
6
6
  * 第三方登录
7
7
  * @primary
8
- * @description 提供了钉钉和企业微信的第三方授权登录功能入口。
9
- *
8
+ * @description 使用第三方方式进行登录,默认预置了钉钉(DINGDING)和企业微信(WXWORK)两种登录方式。可通过自定义补充参数,灵活指定其他所需的第三方登录方式。
10
9
  */
11
10
  export declare const AuthSso: import("vue").DefineComponent<{
12
11
  /**
@@ -25,7 +24,13 @@ export declare const AuthSso: import("vue").DefineComponent<{
25
24
  };
26
25
  }, {
27
26
  ns: import("@ibiz-template/core").Namespace;
28
- handleThridLogin: (type: string) => void;
27
+ items: {
28
+ key: string | undefined;
29
+ sysImage: import("@ibiz/model-core").ISysImage | undefined;
30
+ title: any;
31
+ params: any;
32
+ }[] | undefined;
33
+ handleThridLogin: (type: string, params?: IData) => void;
29
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
30
35
  /**
31
36
  * @description 第三方登录组件模型数据
@@ -1,4 +1,4 @@
1
- import { createVNode, defineComponent } from 'vue';
1
+ import { resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { PanelItemController } from '@ibiz-template/runtime';
3
3
  import { useNamespace } from '@ibiz-template/vue3-util';
4
4
  import './auth-sso.css';
@@ -22,15 +22,30 @@ const AuthSso = /* @__PURE__ */ defineComponent({
22
22
  required: true
23
23
  }
24
24
  },
25
- setup() {
25
+ setup(props) {
26
+ var _a;
26
27
  const ns = useNamespace("auth-sso");
28
+ const model = props.controller.model;
29
+ const rawItemParams = (_a = model.rawItem) == null ? void 0 : _a.rawItemParams;
30
+ const items = rawItemParams == null ? void 0 : rawItemParams.map((item) => {
31
+ const params = item.value ? JSON.parse(item.value) : {};
32
+ return {
33
+ key: item.key,
34
+ sysImage: item.sysImage,
35
+ title: params.title,
36
+ params
37
+ };
38
+ });
27
39
  const dingtalkHandleClick = async () => {
28
40
  ibiz.thirdAuth.auth("DINGTALK", "THIRD");
29
41
  };
30
42
  const wxWorkHandleClick = async () => {
31
43
  ibiz.thirdAuth.auth("WXWORK", "THIRD");
32
44
  };
33
- const handleThridLogin = (type) => {
45
+ const oauthHandleClick = async (params) => {
46
+ ibiz.thirdAuth.auth("OAUTH", "THIRD", params);
47
+ };
48
+ const handleThridLogin = (type, params) => {
34
49
  if (!type)
35
50
  return;
36
51
  switch (type) {
@@ -41,18 +56,75 @@ const AuthSso = /* @__PURE__ */ defineComponent({
41
56
  wxWorkHandleClick();
42
57
  break;
43
58
  default:
44
- console.log(ibiz.i18n.t("panelComponent.authSsO.noSupported", {
45
- type
46
- }));
59
+ oauthHandleClick(params);
47
60
  break;
48
61
  }
49
62
  };
50
63
  return {
51
64
  ns,
65
+ items,
52
66
  handleThridLogin
53
67
  };
54
68
  },
55
69
  render() {
70
+ if (this.items && this.items.length) {
71
+ return createVNode("div", {
72
+ "class": this.ns.b()
73
+ }, [this.items.map((item) => {
74
+ var _a;
75
+ let icon;
76
+ if (item.sysImage) {
77
+ icon = createVNode(resolveComponent("iBizIcon"), {
78
+ "icon": item.sysImage
79
+ }, null);
80
+ } else if (item.key === "DINGDING") {
81
+ icon = createVNode("svg", {
82
+ "class": "icon",
83
+ "viewBox": "0 0 1024 1024",
84
+ "version": "1.1",
85
+ "xmlns": "http://www.w3.org/2000/svg",
86
+ "p-id": "651",
87
+ "width": "48",
88
+ "height": "48"
89
+ }, [createVNode("defs", null, [createVNode("style", {
90
+ "type": "text/css"
91
+ }, null)]), createVNode("path", {
92
+ "d": "M512 2C230.2 2 2 230.2 2 512s228.2 510 510 510 510-228.2 510-510S793.3 2 512 2z m235.9 442c-1 4.6-3.6 10.8-7.2 19.1l-0.5 0.5c-21.6 45.8-77.3 135.5-77.3 135.5l-0.5-0.5-16.5 28.3h78.8L574.3 826.8l34-136h-61.8l21.6-90.2c-17.5 4.1-38.1 9.8-62.3 18 0 0-33 19.1-94.8-37.1 0 0-41.7-37.1-17.5-45.8 10.3-4.1 50-8.8 81.4-12.9 42.2-5.7 68.5-8.8 68.5-8.8s-130.3 2.1-161.2-3.1c-30.9-4.6-70.1-56.7-78.3-102 0 0-12.9-24.7 27.8-12.9 40.2 11.8 209.2 45.8 209.2 45.8S321.4 375 307 358.5c-14.4-16.5-42.8-89.6-39.2-134.5 0 0 1.5-11.3 12.9-8.2 0 0 161.8 74.2 272.5 114.4C664.5 371.4 760.8 392 747.9 444z",
93
+ "fill": "#3296FA",
94
+ "p-id": "652"
95
+ }, null)]);
96
+ } else if (item.key === "WXWORK") {
97
+ icon = createVNode("svg", {
98
+ "class": "icon",
99
+ "width": "200px",
100
+ "height": "200.00px",
101
+ "viewBox": "0 0 1024 1024",
102
+ "version": "1.1",
103
+ "xmlns": "http://www.w3.org/2000/svg"
104
+ }, [createVNode("path", {
105
+ "fill": "#36ab60",
106
+ "d": "M352.814545 385.396364m-33.512727 0a33.512727 33.512727 0 1 0 67.025455 0 33.512727 33.512727 0 1 0-67.025455 0Z"
107
+ }, null), createVNode("path", {
108
+ "fill": "#36ab60",
109
+ "d": "M502.690909 384.465455m-33.512727 0a33.512727 33.512727 0 1 0 67.025454 0 33.512727 33.512727 0 1 0-67.025454 0Z"
110
+ }, null), createVNode("path", {
111
+ "fill": "#36ab60",
112
+ "d": "M576.232727 534.341818m-23.272727 0a23.272727 23.272727 0 1 0 46.545455 0 23.272727 23.272727 0 1 0-46.545455 0Z"
113
+ }, null), createVNode("path", {
114
+ "fill": "#36ab60",
115
+ "d": "M694.458182 536.203636m-23.272727 0a23.272727 23.272727 0 1 0 46.545454 0 23.272727 23.272727 0 1 0-46.545454 0Z"
116
+ }, null), createVNode("path", {
117
+ "fill": "#36ab60",
118
+ "d": "M512 0C229.003636 0 0 229.003636 0 512s229.003636 512 512 512 512-229.003636 512-512S794.996364 0 512 0z m-87.505455 630.225455c-26.996364 0-48.407273-5.585455-75.403636-11.17091l-75.403636 37.236364 21.410909-64.232727c-53.992727-37.236364-85.643636-85.643636-85.643637-145.221818 0-102.4 96.814545-182.458182 215.04-182.458182 105.192727 0 198.283636 64.232727 216.901819 150.807273-6.516364-0.930909-13.963636-0.930909-20.48-0.93091-102.4 0-182.458182 76.334545-182.458182 170.356364 0 15.825455 2.792727 30.72 6.516363 44.683636-7.447273 0-13.963636 0.930909-20.48 0.93091z m314.647273 75.403636l15.825455 53.992727-58.647273-32.581818c-21.410909 5.585455-42.821818 11.170909-64.232727 11.170909-102.4 0-182.458182-69.818182-182.458182-155.461818s80.058182-155.461818 182.458182-155.461818c96.814545 0 182.458182 69.818182 182.458182 155.461818 0 47.476364-31.650909 90.298182-75.403637 122.88z"
119
+ }, null)]);
120
+ }
121
+ return createVNode("div", {
122
+ "class": [this.ns.e("sign-btn"), this.ns.m(item.key === "WXWORK" ? "wx" : (_a = item.key) == null ? void 0 : _a.toLowerCase())],
123
+ "title": item.title,
124
+ "onClick": () => this.handleThridLogin(item.key, item.params)
125
+ }, [icon]);
126
+ })]);
127
+ }
56
128
  return createVNode("div", {
57
129
  "class": this.ns.b()
58
130
  }, [createVNode("div", {
@@ -9,7 +9,13 @@ export declare const IBizAuthSso: import("@ibiz-template/vue3-util").TypeWithIns
9
9
  };
10
10
  }, {
11
11
  ns: import("@ibiz-template/core").Namespace;
12
- handleThridLogin: (type: string) => void;
12
+ items: {
13
+ key: string | undefined;
14
+ sysImage: import("@ibiz/model-core").ISysImage | undefined;
15
+ title: any;
16
+ params: any;
17
+ }[] | undefined;
18
+ handleThridLogin: (type: string, params?: import("@ibiz-template/core").IApiData | undefined) => void;
13
19
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
20
  modelData: {
15
21
  type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
@@ -48,7 +48,7 @@ export declare const IBizMobUserMessage: import("@ibiz-template/vue3-util").Type
48
48
  };
49
49
  activeTab: import("vue").Ref<string>;
50
50
  showMore: () => void;
51
- renderItems: () => any[] | JSX.Element;
51
+ renderItems: () => any[] | import("vue/jsx-runtime").JSX.Element;
52
52
  switchChange: (name: string) => void;
53
53
  onBatchReadClick: () => void;
54
54
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -55,7 +55,7 @@ export declare const MobUserMessage: import("vue").DefineComponent<{
55
55
  };
56
56
  activeTab: import("vue").Ref<string>;
57
57
  showMore: () => void;
58
- renderItems: () => any[] | JSX.Element;
58
+ renderItems: () => any[] | import("vue/jsx-runtime").JSX.Element;
59
59
  switchChange: (name: string) => void;
60
60
  onBatchReadClick: () => void;
61
61
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -1,8 +1,14 @@
1
1
  import { Router } from 'vue-router';
2
- import { IAiChatParam, IAppUtil, IAuthResult } from '@ibiz-template/runtime';
2
+ import { IAiChatParam, IApiViewController, IAppUtil, IAuthResult } from '@ibiz-template/runtime';
3
3
  import { IChatMessage } from '@ibiz-template/core';
4
4
  export declare class AppUtil implements IAppUtil {
5
5
  protected router: Router;
6
+ /**
7
+ * @description 视图缓存中心
8
+ * @type {Map<string, IApiViewController>}
9
+ * @memberof AppUtil
10
+ */
11
+ viewCacheCenter: Map<string, IApiViewController>;
6
12
  /**
7
13
  * Creates an instance of AppUtil.
8
14
  * @author tony001
@@ -10,6 +16,12 @@ export declare class AppUtil implements IAppUtil {
10
16
  * @param {Router} router
11
17
  */
12
18
  constructor(router: Router);
19
+ /**
20
+ * @description 路由是否初始化构建完成
21
+ * @returns {*} {Promise<void>}
22
+ * @memberof AppUtil
23
+ */
24
+ onRouteIsReady(): Promise<void>;
13
25
  /**
14
26
  * 获取应用上下文
15
27
  *
@@ -103,4 +115,50 @@ export declare class AppUtil implements IAppUtil {
103
115
  * @memberof AppUtil
104
116
  */
105
117
  openAiChat(params: IAiChatParam): Promise<IChatMessage[]>;
118
+ /**
119
+ * @description 当前路由转换成路由路径对象
120
+ * @param {boolean} [isRouteModal]
121
+ * @returns {*} {{
122
+ * appContext?: IParams;
123
+ * pathNodes: {
124
+ * viewName: string;
125
+ * context?: IParams;
126
+ * params?: IParams;
127
+ * srfnav?: string;
128
+ * }[];
129
+ * }}
130
+ * @memberof AppUtil
131
+ */
132
+ route2routeObject(isRouteModal?: boolean): {
133
+ appContext?: IParams;
134
+ pathNodes: {
135
+ viewName: string;
136
+ context?: IParams;
137
+ params?: IParams;
138
+ srfnav?: string;
139
+ }[];
140
+ };
141
+ /**
142
+ * @description 路由路径对象转化为路由路径
143
+ * @param {{
144
+ * appContext?: IParams;
145
+ * pathNodes: {
146
+ * viewName: string;
147
+ * context?: IParams;
148
+ * params?: IParams;
149
+ * srfnav?: string;
150
+ * }[];
151
+ * }} routePath
152
+ * @returns {*} {string}
153
+ * @memberof AppUtil
154
+ */
155
+ routeObject2String(routePath: {
156
+ appContext?: IParams;
157
+ pathNodes: {
158
+ viewName: string;
159
+ context?: IParams;
160
+ params?: IParams;
161
+ srfnav?: string;
162
+ }[];
163
+ }): string;
106
164
  }
@@ -1,7 +1,13 @@
1
1
  import { RuntimeError } from '@ibiz-template/core';
2
- import { route2routePath } from '@ibiz-template/vue3-util';
2
+ import { route2routePath, routePath2string } from '@ibiz-template/vue3-util';
3
3
 
4
4
  "use strict";
5
+ var __defProp = Object.defineProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __publicField = (obj, key, value) => {
8
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
9
+ return value;
10
+ };
5
11
  class AppUtil {
6
12
  /**
7
13
  * Creates an instance of AppUtil.
@@ -11,6 +17,20 @@ class AppUtil {
11
17
  */
12
18
  constructor(router) {
13
19
  this.router = router;
20
+ /**
21
+ * @description 视图缓存中心
22
+ * @type {Map<string, IApiViewController>}
23
+ * @memberof AppUtil
24
+ */
25
+ __publicField(this, "viewCacheCenter", /* @__PURE__ */ new Map());
26
+ }
27
+ /**
28
+ * @description 路由是否初始化构建完成
29
+ * @returns {*} {Promise<void>}
30
+ * @memberof AppUtil
31
+ */
32
+ async onRouteIsReady() {
33
+ return this.router.isReady();
14
34
  }
15
35
  /**
16
36
  * 获取应用上下文
@@ -171,6 +191,41 @@ class AppUtil {
171
191
  async openAiChat(params) {
172
192
  throw new RuntimeError(ibiz.i18n.t("app.noSupport"));
173
193
  }
194
+ /**
195
+ * @description 当前路由转换成路由路径对象
196
+ * @param {boolean} [isRouteModal]
197
+ * @returns {*} {{
198
+ * appContext?: IParams;
199
+ * pathNodes: {
200
+ * viewName: string;
201
+ * context?: IParams;
202
+ * params?: IParams;
203
+ * srfnav?: string;
204
+ * }[];
205
+ * }}
206
+ * @memberof AppUtil
207
+ */
208
+ route2routeObject(isRouteModal) {
209
+ const routePath = route2routePath(this.router.currentRoute.value);
210
+ return routePath;
211
+ }
212
+ /**
213
+ * @description 路由路径对象转化为路由路径
214
+ * @param {{
215
+ * appContext?: IParams;
216
+ * pathNodes: {
217
+ * viewName: string;
218
+ * context?: IParams;
219
+ * params?: IParams;
220
+ * srfnav?: string;
221
+ * }[];
222
+ * }} routePath
223
+ * @returns {*} {string}
224
+ * @memberof AppUtil
225
+ */
226
+ routeObject2String(routePath) {
227
+ return routePath2string(routePath);
228
+ }
174
229
  }
175
230
 
176
231
  export { AppUtil };
@@ -1,4 +1,4 @@
1
- import { ViewController, ViewEngineBase, IAppLoginViewState, IAppLoginViewEvent } from '@ibiz-template/runtime';
1
+ import { ViewController, ViewEngineBase, IAppLoginViewState, IAppLoginViewEvent, IApiLoginViewCall } from '@ibiz-template/runtime';
2
2
  import { RouteLocationNormalizedLoaded } from 'vue-router';
3
3
  import { IAppView } from '@ibiz/model-core';
4
4
  export declare class LoginViewEngine extends ViewEngineBase {
@@ -35,7 +35,7 @@ export declare class LoginViewEngine extends ViewEngineBase {
35
35
  * @memberof LoginViewEngine
36
36
  */
37
37
  onDestroyed(): Promise<void>;
38
- call(key: string, args?: IData): Promise<IData | null | undefined>;
38
+ call(key: keyof IApiLoginViewCall, args?: IData): Promise<IData | null | undefined>;
39
39
  login(args: IData): Promise<void>;
40
40
  cancelChanges(): Promise<void>;
41
41
  }
@@ -41,9 +41,11 @@ class LoginViewEngine extends ViewEngineBase {
41
41
  async call(key, args = {}) {
42
42
  if (key === SysUIActionTag.LOGIN) {
43
43
  await this.login(args);
44
+ return null;
44
45
  }
45
46
  if (key === SysUIActionTag.CANCEL_CHANGES) {
46
47
  await this.cancelChanges();
48
+ return null;
47
49
  }
48
50
  return super.call(key, args);
49
51
  }
@@ -1,4 +1,4 @@
1
- import { MDViewEngine, ViewController, IDataViewState, IDataViewEvent, IMobMDCtrlController } from '@ibiz-template/runtime';
1
+ import { MDViewEngine, ViewController, IDataViewState, IDataViewEvent, IMobMDCtrlController, IApiMobDataViewCall } from '@ibiz-template/runtime';
2
2
  import { IAppDEMobMDView } from '@ibiz/model-core';
3
3
  /**
4
4
  * 移动端卡片视图驱动引擎
@@ -20,7 +20,7 @@ export declare class MobDataViewEngine extends MDViewEngine {
20
20
  * @memberof MobDataViewEngine
21
21
  */
22
22
  get dataview(): IMobMDCtrlController;
23
- call(key: string, args: any): Promise<IData | null | undefined>;
23
+ call(key: keyof IApiMobDataViewCall, args: any): Promise<IData | null | undefined>;
24
24
  /**
25
25
  * 加载更多数据
26
26
  *
@@ -13,7 +13,6 @@ class MobDataViewEngine extends MDViewEngine {
13
13
  get dataview() {
14
14
  return this.view.getController("dataview");
15
15
  }
16
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
17
16
  async call(key, args) {
18
17
  if (key === SysUIActionTag.LOAD_MORE) {
19
18
  await this.loadMore();
@@ -1,4 +1,4 @@
1
- import { ViewController, IEditFormController, IEditViewState, IEditViewEvent, ViewEngineBase, IToolbarController, FormSaveParams } from '@ibiz-template/runtime';
1
+ import { ViewController, IEditFormController, IEditViewState, IEditViewEvent, ViewEngineBase, IToolbarController, FormSaveParams, IApiMobEditViewCall } from '@ibiz-template/runtime';
2
2
  import { IAppDEEditView } from '@ibiz/model-core';
3
3
  export declare class MobEditViewEngine extends ViewEngineBase {
4
4
  /**
@@ -29,7 +29,7 @@ export declare class MobEditViewEngine extends ViewEngineBase {
29
29
  load(): Promise<IData>;
30
30
  save(args?: FormSaveParams): Promise<IData>;
31
31
  refresh(): Promise<void>;
32
- call(key: string, args: any): Promise<IData | null | undefined>;
32
+ call(key: keyof IApiMobEditViewCall, args: any): Promise<IData | null | undefined>;
33
33
  /**
34
34
  * 保存并新建
35
35
  *
@@ -116,7 +116,6 @@ class MobEditViewEngine extends ViewEngineBase {
116
116
  async refresh() {
117
117
  await this.load();
118
118
  }
119
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
120
119
  async call(key, args) {
121
120
  if (key === SysUIActionTag.SAVE) {
122
121
  await this.form.save();
@@ -132,18 +131,23 @@ class MobEditViewEngine extends ViewEngineBase {
132
131
  }
133
132
  if (key === SysUIActionTag.SAVE_AND_NEW) {
134
133
  this.saveAndNew();
134
+ return null;
135
135
  }
136
136
  if (key === SysUIActionTag.REFRESH) {
137
137
  await this.refresh();
138
+ return null;
138
139
  }
139
140
  if (key === SysUIActionTag.SAVE_AND_START) {
140
141
  await this.wfStart();
142
+ return null;
141
143
  }
142
144
  if (key === SysUIActionTag.VIEW_WF_STEP) {
143
145
  await this.wfSubmit();
146
+ return null;
144
147
  }
145
148
  if (key === ViewCallTag.WF_WITHDRAW) {
146
149
  await this.wfWithdraw();
150
+ return null;
147
151
  }
148
152
  return super.call(key, args);
149
153
  }
@@ -1,4 +1,4 @@
1
- import { MDViewEngine, ViewController, IListViewState, IListViewEvent, IMobMDCtrlController, EventBase } from '@ibiz-template/runtime';
1
+ import { MDViewEngine, ViewController, IListViewState, IListViewEvent, IMobMDCtrlController, EventBase, IApiMobMDViewCall } from '@ibiz-template/runtime';
2
2
  import { IAppDEMobMDView } from '@ibiz/model-core';
3
3
  /**
4
4
  * 移动端多数据视图驱动引擎
@@ -12,7 +12,7 @@ import { IAppDEMobMDView } from '@ibiz/model-core';
12
12
  export declare class MobMDViewEngine extends MDViewEngine {
13
13
  protected view: ViewController<IAppDEMobMDView, IListViewState, IListViewEvent>;
14
14
  get mdctrl(): IMobMDCtrlController;
15
- call(key: string, args: any): Promise<IData | null | undefined>;
15
+ call(key: keyof IApiMobMDViewCall, args: any): Promise<IData | null | undefined>;
16
16
  /**
17
17
  * 多数据部件激活事件处理
18
18
  * @author lxm
@@ -5,7 +5,6 @@ class MobMDViewEngine extends MDViewEngine {
5
5
  get mdctrl() {
6
6
  return this.view.getController("mdctrl");
7
7
  }
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
9
8
  async call(key, args) {
10
9
  if (key === SysUIActionTag.LOAD_MORE) {
11
10
  await this.loadMore();