@ibiz-template/vue3-util 0.7.38-alpha.33 → 0.7.38-alpha.57

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 (109) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/index.system.min.js +1 -1
  3. package/es/common/badge/badge.d.ts +9 -0
  4. package/es/common/badge/badge.d.ts.map +1 -1
  5. package/es/common/badge/badge.mjs +5 -1
  6. package/es/common/code-list/code-list.d.ts +1 -1
  7. package/es/common/code-list/code-list.d.ts.map +1 -1
  8. package/es/common/code-list/code-list.mjs +1 -1
  9. package/es/common/control-base/control-base.css +1 -1
  10. package/es/common/control-base/control-base.d.ts.map +1 -1
  11. package/es/common/control-base/control-base.mjs +65 -2
  12. package/es/common/custom-render/custom-render.css +1 -0
  13. package/es/common/custom-render/custom-render.d.ts +18 -0
  14. package/es/common/custom-render/custom-render.d.ts.map +1 -0
  15. package/es/common/custom-render/custom-render.mjs +85 -0
  16. package/es/common/icon/icon.d.ts.map +1 -1
  17. package/es/common/icon/icon.mjs +5 -0
  18. package/es/common/index.d.ts +1 -0
  19. package/es/common/index.d.ts.map +1 -1
  20. package/es/common/index.mjs +1 -0
  21. package/es/common/view-shell/view-shell.d.ts.map +1 -1
  22. package/es/common/view-shell/view-shell.mjs +63 -62
  23. package/es/index.mjs +4 -1
  24. package/es/locale/en/index.d.ts +2 -0
  25. package/es/locale/en/index.d.ts.map +1 -1
  26. package/es/locale/en/index.mjs +3 -1
  27. package/es/locale/zh-CN/index.d.ts +2 -0
  28. package/es/locale/zh-CN/index.d.ts.map +1 -1
  29. package/es/locale/zh-CN/index.mjs +3 -1
  30. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.d.ts +126 -0
  31. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.d.ts.map +1 -0
  32. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.mjs +193 -0
  33. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.css +1 -0
  34. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.d.ts +27 -0
  35. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.d.ts.map +1 -0
  36. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.mjs +68 -0
  37. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.d.ts +15 -0
  38. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.d.ts.map +1 -0
  39. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.mjs +15 -0
  40. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.d.ts +54 -0
  41. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.d.ts.map +1 -0
  42. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.mjs +7 -0
  43. package/es/panel-component/auth-wxmp-qrcode/index.d.ts +24 -0
  44. package/es/panel-component/auth-wxmp-qrcode/index.d.ts.map +1 -0
  45. package/es/panel-component/auth-wxmp-qrcode/index.mjs +19 -0
  46. package/es/panel-component/index.d.ts +1 -0
  47. package/es/panel-component/index.d.ts.map +1 -1
  48. package/es/panel-component/index.mjs +1 -0
  49. package/es/panel-component/multi-data-container/multi-data-container.controller.d.ts +9 -0
  50. package/es/panel-component/multi-data-container/multi-data-container.controller.d.ts.map +1 -1
  51. package/es/panel-component/multi-data-container/multi-data-container.controller.mjs +15 -2
  52. package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts +8 -0
  53. package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts.map +1 -1
  54. package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.mjs +14 -2
  55. package/es/panel-component/nav-pos/nav-pos.controller.d.ts.map +1 -1
  56. package/es/panel-component/nav-pos/nav-pos.controller.mjs +4 -2
  57. package/es/panel-component/single-data-container/single-data-container.controller.d.ts +8 -0
  58. package/es/panel-component/single-data-container/single-data-container.controller.d.ts.map +1 -1
  59. package/es/panel-component/single-data-container/single-data-container.controller.mjs +14 -2
  60. package/es/props/editor/common.d.ts +2 -2
  61. package/es/props/editor/common.d.ts.map +1 -1
  62. package/es/props/editor/common.mjs +2 -2
  63. package/es/use/index.mjs +1 -0
  64. package/es/use/view/index.d.ts +1 -0
  65. package/es/use/view/index.d.ts.map +1 -1
  66. package/es/use/view/index.mjs +1 -0
  67. package/es/use/view/use-view-operation/use-view-operation.d.ts +11 -0
  68. package/es/use/view/use-view-operation/use-view-operation.d.ts.map +1 -0
  69. package/es/use/view/use-view-operation/use-view-operation.mjs +27 -0
  70. package/es/util/index.mjs +1 -1
  71. package/es/util/render/render.d.ts +10 -0
  72. package/es/util/render/render.d.ts.map +1 -1
  73. package/es/util/render/render.mjs +8 -1
  74. package/es/util/route/route.d.ts.map +1 -1
  75. package/es/util/route/route.mjs +10 -4
  76. package/es/view/common/view.d.ts.map +1 -1
  77. package/es/view/common/view.mjs +2 -0
  78. package/lib/common/badge/badge.cjs +5 -1
  79. package/lib/common/code-list/code-list.cjs +1 -1
  80. package/lib/common/control-base/control-base.cjs +64 -1
  81. package/lib/common/control-base/control-base.css +1 -1
  82. package/lib/common/custom-render/custom-render.cjs +87 -0
  83. package/lib/common/custom-render/custom-render.css +1 -0
  84. package/lib/common/icon/icon.cjs +5 -0
  85. package/lib/common/index.cjs +2 -0
  86. package/lib/common/view-shell/view-shell.cjs +63 -62
  87. package/lib/index.cjs +30 -23
  88. package/lib/locale/en/index.cjs +3 -1
  89. package/lib/locale/zh-CN/index.cjs +3 -1
  90. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.cjs +70 -0
  91. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.cjs +195 -0
  92. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.css +1 -0
  93. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.cjs +17 -0
  94. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.cjs +9 -0
  95. package/lib/panel-component/auth-wxmp-qrcode/index.cjs +24 -0
  96. package/lib/panel-component/index.cjs +2 -0
  97. package/lib/panel-component/multi-data-container/multi-data-container.controller.cjs +14 -1
  98. package/lib/panel-component/multi-data-container-raw/multi-data-container-raw.controller.cjs +13 -1
  99. package/lib/panel-component/nav-pos/nav-pos.controller.cjs +4 -2
  100. package/lib/panel-component/single-data-container/single-data-container.controller.cjs +13 -1
  101. package/lib/props/editor/common.cjs +2 -2
  102. package/lib/use/index.cjs +2 -0
  103. package/lib/use/view/index.cjs +2 -0
  104. package/lib/use/view/use-view-operation/use-view-operation.cjs +29 -0
  105. package/lib/util/index.cjs +1 -0
  106. package/lib/util/render/render.cjs +8 -0
  107. package/lib/util/route/route.cjs +10 -4
  108. package/lib/view/common/view.cjs +2 -0
  109. package/package.json +5 -5
@@ -0,0 +1,126 @@
1
+ import { RouteLocationNormalizedLoaded } from 'vue-router';
2
+ import { IPanelRawItem } from '@ibiz/model-core';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+ import { AuthWxmpQrcodeState } from './auth-wxmp-qrcode.state';
5
+ /**
6
+ * 微信公众号扫码登录控制器
7
+ *
8
+ * @export
9
+ * @class AuthWxmpQrcodeController
10
+ * @extends {PanelItemController<IPanelRawItem>}
11
+ */
12
+ export declare class AuthWxmpQrcodeController extends PanelItemController<IPanelRawItem> {
13
+ /**
14
+ * 微信公众号扫码登录UI状态对象
15
+ *
16
+ * @type {AuthWxmpQrcodeState}
17
+ * @memberof AuthWxmpQrcodeController
18
+ */
19
+ state: AuthWxmpQrcodeState;
20
+ /**
21
+ * 过期定时器
22
+ *
23
+ * @private
24
+ * @type {(NodeJS.Timeout | undefined)}
25
+ * @memberof AuthWxmpQrcodeController
26
+ */
27
+ private expirationTimer;
28
+ /**
29
+ * 轮询定时器
30
+ *
31
+ * @private
32
+ * @type {(NodeJS.Timeout | undefined)}
33
+ * @memberof AuthWxmpQrcodeController
34
+ */
35
+ private pollingTimer;
36
+ /**
37
+ * 轮询时间(秒)
38
+ * - 默认2秒
39
+ * @private
40
+ * @type {number}
41
+ * @memberof AuthWxmpQrcodeController
42
+ */
43
+ private pollingTime;
44
+ /**
45
+ * 自定义补充参数
46
+ *
47
+ * @type {IData}
48
+ * @memberof AuthWxmpQrcodeController
49
+ */
50
+ rawItemParams: IData;
51
+ /**
52
+ * Route 对象
53
+ *
54
+ * @type {RouteLocationNormalizedLoaded}
55
+ * @memberof AuthWxmpQrcodeController
56
+ */
57
+ route: RouteLocationNormalizedLoaded;
58
+ /**
59
+ * 创建状态对象
60
+ *
61
+ * @protected
62
+ * @return {*} {AuthWxmpQrcodeState}
63
+ * @memberof AuthWxmpQrcodeController
64
+ */
65
+ protected createState(): AuthWxmpQrcodeState;
66
+ /**
67
+ * 初始化
68
+ *
69
+ * @protected
70
+ * @return {*} {Promise<void>}
71
+ * @memberof AuthWxmpQrcodeController
72
+ */
73
+ protected onInit(): Promise<void>;
74
+ /**
75
+ * 设置 Route 对象
76
+ *
77
+ * @param {RouteLocationNormalizedLoaded} route
78
+ * @memberof AuthWxmpQrcodeController
79
+ */
80
+ setRouter(route: RouteLocationNormalizedLoaded): void;
81
+ /**
82
+ * 处理自定义补充参数
83
+ *
84
+ * @protected
85
+ * @memberof AuthWxmpQrcodeController
86
+ */
87
+ protected handleRawItemParams(): void;
88
+ /**
89
+ * 初始化参数
90
+ *
91
+ * @protected
92
+ * @memberof AuthWxmpQrcodeController
93
+ */
94
+ protected initParams(): void;
95
+ /**
96
+ * 加载二维码
97
+ *
98
+ * @protected
99
+ * @return {*} {Promise<void>}
100
+ * @memberof AuthWxmpQrcodeController
101
+ */
102
+ loadQrcode(): Promise<void>;
103
+ /**
104
+ * 设置定时器
105
+ *
106
+ * @protected
107
+ * @memberof AuthWxmpQrcodeController
108
+ */
109
+ protected setTimer(): void;
110
+ /**
111
+ * 轮询登录
112
+ *
113
+ * @protected
114
+ * @return {*} {Promise<void>}
115
+ * @memberof AuthWxmpQrcodeController
116
+ */
117
+ protected pollingLogin(): Promise<void>;
118
+ /**
119
+ * 销毁方法
120
+ *
121
+ * @return {*} {Promise<void>}
122
+ * @memberof AuthWxmpQrcodeController
123
+ */
124
+ destroy(): Promise<void>;
125
+ }
126
+ //# sourceMappingURL=auth-wxmp-qrcode.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-wxmp-qrcode.controller.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAW,MAAM,0BAA0B,CAAC;AAExE;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IAC9E;;;;;OAKG;IACK,KAAK,EAAE,mBAAmB,CAAC;IAEnC;;;;;;OAMG;IACH,OAAO,CAAC,eAAe,CAA6B;IAEpD;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;OAKG;IACH,aAAa,EAAE,KAAK,CAAM;IAE1B;;;;;OAKG;IACH,KAAK,EAAG,6BAA6B,CAAC;IAEtC;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,IAAI,mBAAmB;IAI5C;;;;;;OAMG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAYrC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IAY5B;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,IAAI,IAAI;IAe1B;;;;;;OAMG;cACa,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C7C;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B"}
@@ -0,0 +1,193 @@
1
+ import { setAppCookie, CoreConst, clearAppCookie } from '@ibiz-template/core';
2
+ import { notNilEmpty } from 'qx-util';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+ import { AuthWxmpQrcodeState } from './auth-wxmp-qrcode.state.mjs';
5
+
6
+ "use strict";
7
+ class AuthWxmpQrcodeController extends PanelItemController {
8
+ constructor() {
9
+ super(...arguments);
10
+ /**
11
+ * 轮询时间(秒)
12
+ * - 默认2秒
13
+ * @private
14
+ * @type {number}
15
+ * @memberof AuthWxmpQrcodeController
16
+ */
17
+ this.pollingTime = 2;
18
+ /**
19
+ * 自定义补充参数
20
+ *
21
+ * @type {IData}
22
+ * @memberof AuthWxmpQrcodeController
23
+ */
24
+ this.rawItemParams = {};
25
+ }
26
+ /**
27
+ * 创建状态对象
28
+ *
29
+ * @protected
30
+ * @return {*} {AuthWxmpQrcodeState}
31
+ * @memberof AuthWxmpQrcodeController
32
+ */
33
+ createState() {
34
+ var _a;
35
+ return new AuthWxmpQrcodeState((_a = this.parent) == null ? void 0 : _a.state);
36
+ }
37
+ /**
38
+ * 初始化
39
+ *
40
+ * @protected
41
+ * @return {*} {Promise<void>}
42
+ * @memberof AuthWxmpQrcodeController
43
+ */
44
+ async onInit() {
45
+ await super.onInit();
46
+ this.handleRawItemParams();
47
+ this.initParams();
48
+ }
49
+ /**
50
+ * 设置 Route 对象
51
+ *
52
+ * @param {RouteLocationNormalizedLoaded} route
53
+ * @memberof AuthWxmpQrcodeController
54
+ */
55
+ setRouter(route) {
56
+ this.route = route;
57
+ }
58
+ /**
59
+ * 处理自定义补充参数
60
+ *
61
+ * @protected
62
+ * @memberof AuthWxmpQrcodeController
63
+ */
64
+ handleRawItemParams() {
65
+ var _a;
66
+ let params = {};
67
+ const rawItemParams = (_a = this.model.rawItem) == null ? void 0 : _a.rawItemParams;
68
+ if (notNilEmpty(rawItemParams)) {
69
+ params = rawItemParams.reduce((param, item) => {
70
+ param[item.key.toLowerCase()] = item.value;
71
+ return param;
72
+ }, {});
73
+ }
74
+ Object.assign(this.rawItemParams, params);
75
+ }
76
+ /**
77
+ * 初始化参数
78
+ *
79
+ * @protected
80
+ * @memberof AuthWxmpQrcodeController
81
+ */
82
+ initParams() {
83
+ const isNumeric = (str) => {
84
+ return !!str && isFinite(Number(str));
85
+ };
86
+ this.pollingTime = isNumeric(this.rawItemParams.pollingtime) ? Number(this.rawItemParams.pollingtime) : 2;
87
+ this.state.tips = this.model.caption || ibiz.i18n.t("vue3Util.panelComponent.wxQrcodeCaption");
88
+ }
89
+ /**
90
+ * 加载二维码
91
+ *
92
+ * @protected
93
+ * @return {*} {Promise<void>}
94
+ * @memberof AuthWxmpQrcodeController
95
+ */
96
+ async loadQrcode() {
97
+ try {
98
+ const res = await ibiz.net.get(
99
+ "/uaa/open/wxmp/createqrcode",
100
+ {},
101
+ { srfdcsystem: ibiz.env.dcSystem }
102
+ );
103
+ if (res.ok && res.data) {
104
+ this.state.qrcode = res.data;
105
+ this.setTimer();
106
+ }
107
+ } catch (error) {
108
+ ibiz.log.error(error.message);
109
+ }
110
+ }
111
+ /**
112
+ * 设置定时器
113
+ *
114
+ * @protected
115
+ * @memberof AuthWxmpQrcodeController
116
+ */
117
+ setTimer() {
118
+ this.expirationTimer = setInterval(() => {
119
+ if (this.state.qrcode && this.state.qrcode.expirein > 0) {
120
+ this.state.qrcode.expirein -= 1;
121
+ } else {
122
+ clearInterval(this.expirationTimer);
123
+ }
124
+ }, 1e3);
125
+ this.pollingTimer = setInterval(async () => {
126
+ await this.pollingLogin();
127
+ }, this.pollingTime * 1e3);
128
+ }
129
+ /**
130
+ * 轮询登录
131
+ *
132
+ * @protected
133
+ * @return {*} {Promise<void>}
134
+ * @memberof AuthWxmpQrcodeController
135
+ */
136
+ async pollingLogin() {
137
+ try {
138
+ if (this.state.qrcode && this.state.qrcode.expirein > 0) {
139
+ if (this.state.visible) {
140
+ const res = await ibiz.net.get(
141
+ "/uaa/open/wxmp/qrcode/".concat(this.state.qrcode.ticket),
142
+ {},
143
+ { srfdcsystem: ibiz.env.dcSystem }
144
+ );
145
+ const { data, ok } = res;
146
+ if (ok && (data == null ? void 0 : data.token)) {
147
+ clearInterval(this.pollingTimer);
148
+ const cacheDay = 30;
149
+ setAppCookie(CoreConst.TOKEN_REMEMBER, "1", cacheDay);
150
+ setAppCookie(CoreConst.TOKEN, data.token, cacheDay);
151
+ const expiredDate = (/* @__PURE__ */ new Date()).getTime() + (data.expirein || 7199) * 1e3;
152
+ setAppCookie(CoreConst.TOKEN_EXPIRES, "".concat(expiredDate), cacheDay);
153
+ if (data.refresh_token) {
154
+ setAppCookie(
155
+ CoreConst.REFRESH_TOKEN,
156
+ data.refresh_token,
157
+ cacheDay
158
+ );
159
+ }
160
+ clearAppCookie(CoreConst.IS_ANONYMOUS);
161
+ const ru = this.route.query.ru || "/";
162
+ window.location.hash = ru || "/";
163
+ window.history.pushState({}, "");
164
+ window.location.reload();
165
+ }
166
+ }
167
+ } else {
168
+ clearInterval(this.pollingTimer);
169
+ }
170
+ } catch (error) {
171
+ ibiz.log.error(error.message);
172
+ }
173
+ }
174
+ /**
175
+ * 销毁方法
176
+ *
177
+ * @return {*} {Promise<void>}
178
+ * @memberof AuthWxmpQrcodeController
179
+ */
180
+ async destroy() {
181
+ await super.destroy();
182
+ if (this.pollingTimer) {
183
+ clearInterval(this.pollingTimer);
184
+ this.pollingTimer = void 0;
185
+ }
186
+ if (this.expirationTimer) {
187
+ clearInterval(this.expirationTimer);
188
+ this.expirationTimer = void 0;
189
+ }
190
+ }
191
+ }
192
+
193
+ export { AuthWxmpQrcodeController };
@@ -0,0 +1 @@
1
+ .ibiz-auth-wxmp-qrcode{width:100%;height:100%}.ibiz-auth-wxmp-qrcode__content{position:relative;width:100%;height:100%}.ibiz-auth-wxmp-qrcode__qrcode{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ibiz-auth-wxmp-qrcode__caption{font-size:var(--ibiz-font-size-small);text-align:center}.ibiz-auth-wxmp-qrcode__mask{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--ibiz-color-primary);background-color:rgba(255,255,255,.9)}.ibiz-auth-wxmp-qrcode__mask--icon{font-size:var(--ibiz-font-size-header-1);cursor:pointer}.ibiz-auth-wxmp-qrcode__mask--icon:hover{color:var(--ibiz-color-primary-hover)}
@@ -0,0 +1,27 @@
1
+ import { PropType } from 'vue';
2
+ import { IPanelRawItem } from '@ibiz/model-core';
3
+ import { AuthWxmpQrcodeController } from './auth-wxmp-qrcode.controller';
4
+ import './auth-wxmp-qrcode.scss';
5
+ export declare const AuthWxmpQrcode: import("vue").DefineComponent<{
6
+ modelData: {
7
+ type: PropType<IPanelRawItem>;
8
+ required: true;
9
+ };
10
+ controller: {
11
+ type: PropType<AuthWxmpQrcodeController>;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ loadQrcode: () => Promise<void>;
17
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
18
+ modelData: {
19
+ type: PropType<IPanelRawItem>;
20
+ required: true;
21
+ };
22
+ controller: {
23
+ type: PropType<AuthWxmpQrcodeController>;
24
+ required: true;
25
+ };
26
+ }>>, {}, {}>;
27
+ //# sourceMappingURL=auth-wxmp-qrcode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-wxmp-qrcode.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,EAAgC,MAAM,KAAK,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,yBAAyB,CAAC;AAEjC,eAAO,MAAM,cAAc;;;;;;;;;;;sBAuBM,QAAQ,IAAI,CAAC;;;;;;;;;;YAmD5C,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { defineComponent, watch, onUnmounted, createVNode } from 'vue';
2
+ import { useRoute } from 'vue-router';
3
+ import '../../use/index.mjs';
4
+ import './auth-wxmp-qrcode.css';
5
+ import { useNamespace } from '../../use/namespace/namespace.mjs';
6
+
7
+ "use strict";
8
+ const AuthWxmpQrcode = /* @__PURE__ */ defineComponent({
9
+ name: "IBizAuthWxmpQrcode",
10
+ props: {
11
+ modelData: {
12
+ type: Object,
13
+ required: true
14
+ },
15
+ controller: {
16
+ type: Object,
17
+ required: true
18
+ }
19
+ },
20
+ setup(props) {
21
+ const ns = useNamespace("auth-wxmp-qrcode");
22
+ const {
23
+ state
24
+ } = props.controller;
25
+ const route = useRoute();
26
+ props.controller.setRouter(route);
27
+ const loadQrcode = async () => {
28
+ await props.controller.loadQrcode();
29
+ };
30
+ watch(() => state.visible, () => {
31
+ var _a;
32
+ if (state.visible && (state.keepAlive && !((_a = state.qrcode) == null ? void 0 : _a.expirein) || !state.keepAlive)) {
33
+ loadQrcode();
34
+ }
35
+ }, {
36
+ immediate: true
37
+ });
38
+ onUnmounted(() => {
39
+ props.controller.destroy();
40
+ });
41
+ return {
42
+ ns,
43
+ loadQrcode
44
+ };
45
+ },
46
+ render() {
47
+ var _a, _b;
48
+ return createVNode("div", {
49
+ "class": this.ns.b()
50
+ }, [createVNode("div", {
51
+ "class": this.ns.e("content")
52
+ }, [this.controller.state.qrcode && createVNode("img", {
53
+ "class": this.ns.e("qrcode"),
54
+ "src": (_a = this.controller.state.qrcode) == null ? void 0 : _a.url
55
+ }, null), !((_b = this.controller.state.qrcode) == null ? void 0 : _b.expirein) && createVNode("div", {
56
+ "class": this.ns.e("mask")
57
+ }, [createVNode("ion-icon", {
58
+ "title": ibiz.i18n.t("vue3Util.panelComponent.refresh"),
59
+ "name": "reload-outline",
60
+ "onClick": this.loadQrcode,
61
+ "class": this.ns.em("mask", "icon")
62
+ }, null)])]), createVNode("div", {
63
+ "class": this.ns.e("caption")
64
+ }, [this.controller.state.tips])]);
65
+ }
66
+ });
67
+
68
+ export { AuthWxmpQrcode };
@@ -0,0 +1,15 @@
1
+ import { IPanelItem } from '@ibiz/model-core';
2
+ import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
3
+ import { AuthWxmpQrcodeController } from './auth-wxmp-qrcode.controller';
4
+ /**
5
+ * 微信公众号扫码登录适配器
6
+ *
7
+ * @export
8
+ * @class AuthWxmpQrcodeProvider
9
+ * @implements {IPanelItemProvider}
10
+ */
11
+ export declare class AuthWxmpQrcodeProvider implements IPanelItemProvider {
12
+ component: string;
13
+ createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<AuthWxmpQrcodeController>;
14
+ }
15
+ //# sourceMappingURL=auth-wxmp-qrcode.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-wxmp-qrcode.provider.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,SAAS,EAAE,MAAM,CAAwB;IAEnC,gBAAgB,CACpB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC,OAAO,CAAC,wBAAwB,CAAC;CAKrC"}
@@ -0,0 +1,15 @@
1
+ import { AuthWxmpQrcodeController } from './auth-wxmp-qrcode.controller.mjs';
2
+
3
+ "use strict";
4
+ class AuthWxmpQrcodeProvider {
5
+ constructor() {
6
+ this.component = "IBizAuthWxmpQrcode";
7
+ }
8
+ async createController(panelItem, panel, parent) {
9
+ const c = new AuthWxmpQrcodeController(panelItem, panel, parent);
10
+ await c.init();
11
+ return c;
12
+ }
13
+ }
14
+
15
+ export { AuthWxmpQrcodeProvider };
@@ -0,0 +1,54 @@
1
+ import { PanelItemState } from '@ibiz-template/runtime';
2
+ /**
3
+ * 二维码数据接口
4
+ *
5
+ * @export
6
+ * @interface IQrcode
7
+ */
8
+ export interface IQrcode {
9
+ /**
10
+ * 过期时间(秒)
11
+ *
12
+ * @type {number}
13
+ * @memberof IQrcode
14
+ */
15
+ expirein: number;
16
+ /**
17
+ * 票据
18
+ *
19
+ * @type {string}
20
+ * @memberof IQrcode
21
+ */
22
+ ticket: string;
23
+ /**
24
+ * 二维码地址
25
+ *
26
+ * @type {string}
27
+ * @memberof IQrcode
28
+ */
29
+ url: string;
30
+ }
31
+ /**
32
+ * 微信公众号扫码登录UI状态对象
33
+ *
34
+ * @export
35
+ * @class AuthWxmpQrcodeState
36
+ * @extends {PanelItemState}
37
+ */
38
+ export declare class AuthWxmpQrcodeState extends PanelItemState {
39
+ /**
40
+ * 二维码
41
+ *
42
+ * @type {IQrcode}
43
+ * @memberof AuthWxmpQrcodeState
44
+ */
45
+ qrcode?: IQrcode;
46
+ /**
47
+ * 提示
48
+ *
49
+ * @type {string}
50
+ * @memberof AuthWxmpQrcodeState
51
+ */
52
+ tips?: string;
53
+ }
54
+ //# sourceMappingURL=auth-wxmp-qrcode.state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-wxmp-qrcode.state.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,7 @@
1
+ import { PanelItemState } from '@ibiz-template/runtime';
2
+
3
+ "use strict";
4
+ class AuthWxmpQrcodeState extends PanelItemState {
5
+ }
6
+
7
+ export { AuthWxmpQrcodeState };
@@ -0,0 +1,24 @@
1
+ export declare const IBizAuthWxmpQrcode: import("../../util").TypeWithInstall<import("vue").DefineComponent<{
2
+ modelData: {
3
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
4
+ required: true;
5
+ };
6
+ controller: {
7
+ type: import("vue").PropType<import("./auth-wxmp-qrcode.controller").AuthWxmpQrcodeController>;
8
+ required: true;
9
+ };
10
+ }, {
11
+ ns: import("@ibiz-template/core").Namespace;
12
+ loadQrcode: () => Promise<void>;
13
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
+ modelData: {
15
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
16
+ required: true;
17
+ };
18
+ controller: {
19
+ type: import("vue").PropType<import("./auth-wxmp-qrcode.controller").AuthWxmpQrcodeController>;
20
+ required: true;
21
+ };
22
+ }>>, {}, {}>>;
23
+ export default IBizAuthWxmpQrcode;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;aAS9B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { registerPanelItemProvider } from '@ibiz-template/runtime';
2
+ import '../../util/index.mjs';
3
+ import { AuthWxmpQrcode } from './auth-wxmp-qrcode.mjs';
4
+ import { AuthWxmpQrcodeProvider } from './auth-wxmp-qrcode.provider.mjs';
5
+ import { withInstall } from '../../util/install.mjs';
6
+
7
+ "use strict";
8
+ const IBizAuthWxmpQrcode = withInstall(
9
+ AuthWxmpQrcode,
10
+ function(v) {
11
+ v.component(AuthWxmpQrcode.name, AuthWxmpQrcode);
12
+ registerPanelItemProvider(
13
+ "RAWITEM_AUTH_WXMP_QRCODE",
14
+ () => new AuthWxmpQrcodeProvider()
15
+ );
16
+ }
17
+ );
18
+
19
+ export { IBizAuthWxmpQrcode, IBizAuthWxmpQrcode as default };
@@ -15,4 +15,5 @@ export * from './panel-item-render';
15
15
  export * from './teleport-placeholder';
16
16
  export * from './panel-container-tabs';
17
17
  export * from './panel-ctrl-view-page-caption';
18
+ export * from './auth-wxmp-qrcode';
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/panel-component/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/panel-component/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC"}
@@ -15,6 +15,7 @@ export { IBizPanelItemRender } from './panel-item-render/index.mjs';
15
15
  export { IBizTeleportPlaceholder } from './teleport-placeholder/index.mjs';
16
16
  export { IBizPanelContainerTabs } from './panel-container-tabs/index.mjs';
17
17
  export { IBizPanelCtrlViewPageCaption } from './panel-ctrl-view-page-caption/index.mjs';
18
+ export { IBizAuthWxmpQrcode } from './auth-wxmp-qrcode/index.mjs';
18
19
  export { PanelContainerState } from './panel-container/panel-container.state.mjs';
19
20
  export { PanelContainerController } from './panel-container/panel-container.controller.mjs';
20
21
  export { PanelCtrlPosController } from './panel-ctrl-pos/panel-ctrl-pos.controller.mjs';
@@ -40,6 +40,15 @@ export declare class MultiDataContainerController extends PanelItemController<IP
40
40
  get data(): IData;
41
41
  protected createState(): MultiDataContainerState;
42
42
  protected onInit(): Promise<void>;
43
+ /**
44
+ * 面板状态变更通知
45
+ *
46
+ * @author tony001
47
+ * @date 2024-12-11 11:12:24
48
+ * @param {PanelNotifyState} _state
49
+ * @return {*} {Promise<void>}
50
+ */
51
+ panelStateNotify(_state: PanelNotifyState): Promise<void>;
43
52
  /**
44
53
  * 初始化面板成员控制器
45
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"multi-data-container.controller.d.ts","sourceRoot":"","sources":["../../../src/panel-component/multi-data-container/multi-data-container.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,6BAA6B,EAC7B,kBAAkB,EAElB,eAAe,EAEf,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,4BACX,SAAQ,mBAAmB,CAAC,eAAe,CAC3C,YAAW,6BAA6B;IAEhC,KAAK,EAAE,uBAAuB,CAAC;IAEvC,QAAQ,CAAC,eAAe,QAAQ;IAEhC;;;;;;OAMG;IACH,SAAS,EAAE,gCAAgC,EAAE,CAAM;IAEnD;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAE,CAAM;IAEtD;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,SAAS,CAAC,WAAW,IAAI,uBAAuB;cAIhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC;;;;;;OAMG;cACa,sBAAsB,CACpC,UAAU,GAAE,UAAU,EAAE,GAAG,SAAiC,GAC3D,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,KAAK;IAgBnC;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IA0EnC;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAMlD;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAOlC;;;;;OAKG;IACG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB5C;;;;;;OAMG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCjD;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAYzC;;;;;;OAMG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BlD;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA2BrE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"multi-data-container.controller.d.ts","sourceRoot":"","sources":["../../../src/panel-component/multi-data-container/multi-data-container.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,6BAA6B,EAC7B,kBAAkB,EAElB,eAAe,EAEf,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,4BACX,SAAQ,mBAAmB,CAAC,eAAe,CAC3C,YAAW,6BAA6B;IAEhC,KAAK,EAAE,uBAAuB,CAAC;IAEvC,QAAQ,CAAC,eAAe,QAAQ;IAEhC;;;;;;OAMG;IACH,SAAS,EAAE,gCAAgC,EAAE,CAAM;IAEnD;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAE,CAAM;IAEtD;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,SAAS,CAAC,WAAW,IAAI,uBAAuB;cAIhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvC;;;;;;;OAOG;IACG,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D;;;;;;OAMG;cACa,sBAAsB,CACpC,UAAU,GAAE,UAAU,EAAE,GAAG,SAAiC,GAC3D,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,KAAK;IAgBnC;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IA0EnC;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAMlD;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAOlC;;;;;OAKG;IACG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB5C;;;;;;OAMG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCjD;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAYzC;;;;;;OAMG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BlD;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA2BrE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,OAAO,IAAI,IAAI;CAMhB"}
@@ -1,5 +1,5 @@
1
1
  import { ModelError, RuntimeModelError, RuntimeError } from '@ibiz-template/core';
2
- import { PanelItemController, getPanelItemProvider, isDataContainer, convertNavData, ScriptFactory, getAllPanelField, PanelData, PanelNotifyState, execDELogicById } from '@ibiz-template/runtime';
2
+ import { PanelItemController, PanelNotifyState, getPanelItemProvider, isDataContainer, convertNavData, ScriptFactory, getAllPanelField, PanelData, execDELogicById } from '@ibiz-template/runtime';
3
3
  import { MultiDataContainerItemController } from './multi-data-container-item.controller.mjs';
4
4
  import { MultiDataContainerState } from './multi-data-container.state.mjs';
5
5
 
@@ -42,7 +42,20 @@ class MultiDataContainerController extends PanelItemController {
42
42
  async onInit() {
43
43
  await super.onInit();
44
44
  await this.initPanelItemProviders();
45
- this.initContainerData();
45
+ }
46
+ /**
47
+ * 面板状态变更通知
48
+ *
49
+ * @author tony001
50
+ * @date 2024-12-11 11:12:24
51
+ * @param {PanelNotifyState} _state
52
+ * @return {*} {Promise<void>}
53
+ */
54
+ async panelStateNotify(_state) {
55
+ super.panelStateNotify(_state);
56
+ if (_state === PanelNotifyState.LOAD) {
57
+ this.initContainerData();
58
+ }
46
59
  }
47
60
  /**
48
61
  * 初始化面板成员控制器
@@ -38,6 +38,14 @@ export declare class MultiDataContainerRawController extends PanelItemController
38
38
  get data(): IData;
39
39
  protected createState(): MultiDataContainerRawState;
40
40
  protected onInit(): Promise<void>;
41
+ /**
42
+ * 面板状态变更通知
43
+ *
44
+ * @param {PanelNotifyState} _state
45
+ * @return {*} {Promise<void>}
46
+ * @memberof MultiDataContainerRawController
47
+ */
48
+ panelStateNotify(_state: PanelNotifyState): Promise<void>;
41
49
  /**
42
50
  * 初始化面板子项控制器
43
51
  *