@done-coding/admin-core 0.8.2-alpha.0 → 0.8.3-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/form/FormSubmitBtn.vue.mjs +23 -29
- package/es/components/form/FormSubmitPanel.vue.mjs +2 -2
- package/es/components/form/FormSubmitPanel.vue2.mjs +75 -55
- package/es/components/form/use-form-submit.mjs +21 -0
- package/es/style.css +1 -1
- package/package.json +2 -2
- package/types/bridge/index.d.ts +2 -2
- package/types/components/form/FormSubmitPanel.vue.d.ts +4 -0
- package/types/components/form/types.d.ts +17 -0
- package/types/components/form/use-form-submit.d.ts +25 -0
- package/types/store/user.d.ts +3 -3
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { ElButton as
|
|
1
|
+
import { ElButton as l } from "element-plus/es";
|
|
2
2
|
import "element-plus/es/components/base/style/css";
|
|
3
3
|
import "element-plus/es/components/button/style/css";
|
|
4
|
-
import { defineComponent as p,
|
|
5
|
-
import
|
|
6
|
-
|
|
4
|
+
import { defineComponent as p, computed as u, openBlock as f, createBlock as d, mergeProps as B, unref as e, withCtx as y, createTextVNode as b, toDisplayString as g } from "vue";
|
|
5
|
+
import { useFormSubmit as x } from "./use-form-submit.mjs";
|
|
6
|
+
import F from "lodash/omit";
|
|
7
|
+
const h = /* @__PURE__ */ p({
|
|
7
8
|
__name: "FormSubmitBtn",
|
|
8
9
|
props: {
|
|
9
10
|
size: {},
|
|
@@ -29,36 +30,29 @@ const w = /* @__PURE__ */ p({
|
|
|
29
30
|
submitFn: {}
|
|
30
31
|
},
|
|
31
32
|
emits: ["success", "fail"],
|
|
32
|
-
setup(
|
|
33
|
-
const
|
|
34
|
-
() =>
|
|
35
|
-
),
|
|
36
|
-
o.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
return (n, t) => {
|
|
49
|
-
const c = m;
|
|
50
|
-
return y(), d(c, B(b(r), {
|
|
51
|
-
loading: o.value,
|
|
52
|
-
onClick: l
|
|
33
|
+
setup(n, { emit: a }) {
|
|
34
|
+
const o = n, i = a, s = u(
|
|
35
|
+
() => F(o, ["formMainInstance", "submitText", "submitFn"])
|
|
36
|
+
), { submitting: m, submit: r } = x({
|
|
37
|
+
getFormMainInstance: () => o.formMainInstance,
|
|
38
|
+
submitFn: (t) => o.submitFn(t),
|
|
39
|
+
onSuccess: (t) => i("success", t),
|
|
40
|
+
onFail: (t) => i("fail", t)
|
|
41
|
+
});
|
|
42
|
+
return (t, _) => {
|
|
43
|
+
const c = l;
|
|
44
|
+
return f(), d(c, B(e(s), {
|
|
45
|
+
loading: e(m),
|
|
46
|
+
onClick: e(r)
|
|
53
47
|
}), {
|
|
54
|
-
default:
|
|
55
|
-
|
|
48
|
+
default: y(() => [
|
|
49
|
+
b(g(n.submitText), 1)
|
|
56
50
|
]),
|
|
57
51
|
_: 1
|
|
58
|
-
}, 16, ["loading"]);
|
|
52
|
+
}, 16, ["loading", "onClick"]);
|
|
59
53
|
};
|
|
60
54
|
}
|
|
61
55
|
});
|
|
62
56
|
export {
|
|
63
|
-
|
|
57
|
+
h as default
|
|
64
58
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FormSubmitPanel.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const
|
|
4
|
+
const c = /* @__PURE__ */ t(o, [["__scopeId", "data-v-450cc756"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
c as default
|
|
7
7
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { ElAffix as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
1
|
+
import { defineComponent as E, useAttrs as M, shallowRef as R, ref as T, computed as r, watch as P, openBlock as i, createElementBlock as j, normalizeClass as z, createVNode as G, mergeProps as c, unref as n, createSlots as H, renderList as I, withCtx as l, renderSlot as m, normalizeProps as L, guardReactiveProps as O, createBlock as u, resolveDynamicComponent as q, createElementVNode as J, createTextVNode as h, toDisplayString as C, createCommentVNode as D } from "vue";
|
|
2
|
+
import { ElAffix as K } from "element-plus";
|
|
3
|
+
import Q from "./FormMain.vue.mjs";
|
|
4
|
+
import U from "./FormSubmitBtn.vue.mjs";
|
|
5
|
+
import { useFormSubmit as X } from "./use-form-submit.mjs";
|
|
6
|
+
import F from "../display/ActionBtn.vue.mjs";
|
|
7
|
+
import { parseFormData as Y, generateFormData as Z } from "./utils.mjs";
|
|
8
|
+
const _ = { class: "form-submit-panel-operation-inner" }, lt = /* @__PURE__ */ E({
|
|
8
9
|
name: "FormSubmitPanel",
|
|
9
10
|
inheritAttrs: !1,
|
|
10
11
|
__name: "FormSubmitPanel",
|
|
@@ -23,78 +24,97 @@ const U = { class: "form-submit-panel-operation-inner" }, nt = /* @__PURE__ */ V
|
|
|
23
24
|
cancelBtn: {},
|
|
24
25
|
resetBtn: {},
|
|
25
26
|
operationPosition: { default: "bottom-center" },
|
|
26
|
-
operationAffix: { type: [Boolean, Object], default: !1 }
|
|
27
|
+
operationAffix: { type: [Boolean, Object], default: !1 },
|
|
28
|
+
divider: { type: Boolean, default: !0 },
|
|
29
|
+
bare: { type: Boolean, default: !1 },
|
|
30
|
+
rootClass: {}
|
|
27
31
|
},
|
|
28
32
|
emits: ["cancel", "fail", "success", "parseDataChange"],
|
|
29
|
-
setup(
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
setup(a, { emit: S }) {
|
|
34
|
+
const t = a, o = S, k = M(), f = R(), s = T({}), x = (e) => e, b = r(() => f.value), $ = r(() => t.operationAffix ? K : "div"), w = r(() => t.operationAffix ? typeof t.operationAffix == "object" ? t.operationAffix : { position: "bottom" } : {}), A = r(() => [
|
|
35
|
+
`form-submit-panel_${t.operationPosition}`,
|
|
36
|
+
{
|
|
37
|
+
"form-submit-panel_no-divider": !t.divider,
|
|
38
|
+
"form-submit-panel_bare": t.bare
|
|
39
|
+
},
|
|
40
|
+
t.rootClass
|
|
41
|
+
]), d = () => t.stringifyData ? Y(t.stringifyData, t.list) : Z(t.list), p = () => o("cancel"), y = () => {
|
|
42
|
+
s.value = d();
|
|
43
|
+
}, B = (e) => o("success", e), g = (e) => o("fail", e), { submitting: N, submit: V } = X({
|
|
44
|
+
getFormMainInstance: () => b.value,
|
|
45
|
+
submitFn: (e) => t.submitFn(e),
|
|
46
|
+
onSuccess: B,
|
|
47
|
+
onFail: g
|
|
48
|
+
});
|
|
49
|
+
return P(s, (e) => {
|
|
50
|
+
o("parseDataChange", e);
|
|
51
|
+
}), P(
|
|
52
|
+
[() => t.stringifyData, () => t.list],
|
|
37
53
|
() => {
|
|
38
|
-
|
|
54
|
+
s.value = d();
|
|
39
55
|
},
|
|
40
56
|
{
|
|
41
57
|
immediate: !0
|
|
42
58
|
}
|
|
43
|
-
), (e,
|
|
44
|
-
class:
|
|
59
|
+
), (e, tt) => (i(), j("div", {
|
|
60
|
+
class: z(["form-submit-panel", A.value])
|
|
45
61
|
}, [
|
|
46
|
-
|
|
62
|
+
G(Q, c({
|
|
47
63
|
ref_key: "formMain",
|
|
48
64
|
ref: f,
|
|
49
65
|
class: "form-submit-panel-form",
|
|
50
|
-
list:
|
|
51
|
-
data:
|
|
52
|
-
"row-gutter":
|
|
53
|
-
},
|
|
54
|
-
layout:
|
|
55
|
-
labelPosition:
|
|
56
|
-
labelWidth:
|
|
57
|
-
}),
|
|
58
|
-
|
|
59
|
-
name:
|
|
60
|
-
fn:
|
|
61
|
-
|
|
66
|
+
list: a.list,
|
|
67
|
+
data: x(n(s)),
|
|
68
|
+
"row-gutter": a.rowGutter
|
|
69
|
+
}, n(k), {
|
|
70
|
+
layout: a.layout,
|
|
71
|
+
labelPosition: a.labelPosition,
|
|
72
|
+
labelWidth: a.labelWidth
|
|
73
|
+
}), H({ _: 2 }, [
|
|
74
|
+
I(a.list, (v) => ({
|
|
75
|
+
name: v.key,
|
|
76
|
+
fn: l((W) => [
|
|
77
|
+
m(e.$slots, v.key, L(O(W)), void 0, !0)
|
|
62
78
|
])
|
|
63
79
|
}))
|
|
64
80
|
]), 1040, ["list", "data", "row-gutter", "layout", "labelPosition", "labelWidth"]),
|
|
65
|
-
(
|
|
66
|
-
default:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
81
|
+
(i(), u(q($.value), c(w.value, { class: "form-submit-panel-operation" }), {
|
|
82
|
+
default: l(() => [
|
|
83
|
+
J("div", _, [
|
|
84
|
+
m(e.$slots, "cancelBtn", { cancel: p }, () => [
|
|
85
|
+
a.cancelBtn ? (i(), u(n(F), {
|
|
70
86
|
key: 0,
|
|
71
|
-
onClick:
|
|
87
|
+
onClick: p
|
|
72
88
|
}, {
|
|
73
|
-
default:
|
|
74
|
-
|
|
89
|
+
default: l(() => [
|
|
90
|
+
h(C(a.cancelBtn), 1)
|
|
75
91
|
]),
|
|
76
92
|
_: 1
|
|
77
|
-
})) :
|
|
93
|
+
})) : D("", !0)
|
|
78
94
|
], !0),
|
|
79
|
-
|
|
80
|
-
|
|
95
|
+
m(e.$slots, "resetBtn", { reset: y }, () => [
|
|
96
|
+
a.resetBtn ? (i(), u(n(F), {
|
|
81
97
|
key: 0,
|
|
82
98
|
type: "warning",
|
|
83
|
-
onClick:
|
|
99
|
+
onClick: y
|
|
84
100
|
}, {
|
|
85
|
-
default:
|
|
86
|
-
|
|
101
|
+
default: l(() => [
|
|
102
|
+
h(C(a.resetBtn), 1)
|
|
87
103
|
]),
|
|
88
104
|
_: 1
|
|
89
|
-
})) :
|
|
105
|
+
})) : D("", !0)
|
|
90
106
|
], !0),
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
107
|
+
e.$slots.submitBtn ? m(e.$slots, "submitBtn", {
|
|
108
|
+
key: 0,
|
|
109
|
+
submit: n(V),
|
|
110
|
+
submitting: n(N)
|
|
111
|
+
}, void 0, !0) : (i(), u(U, c({ key: 1 }, a.submitBtnProps, {
|
|
112
|
+
"submit-fn": a.submitFn,
|
|
113
|
+
"submit-text": a.submitText,
|
|
114
|
+
"form-main-instance": b.value,
|
|
115
|
+
onSuccess: B,
|
|
116
|
+
onFail: g
|
|
117
|
+
}), null, 16, ["submit-fn", "submit-text", "form-main-instance"]))
|
|
98
118
|
])
|
|
99
119
|
]),
|
|
100
120
|
_: 3
|
|
@@ -103,5 +123,5 @@ const U = { class: "form-submit-panel-operation-inner" }, nt = /* @__PURE__ */ V
|
|
|
103
123
|
}
|
|
104
124
|
});
|
|
105
125
|
export {
|
|
106
|
-
|
|
126
|
+
lt as default
|
|
107
127
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ref as m } from "vue";
|
|
2
|
+
function i(a) {
|
|
3
|
+
const e = m(!1);
|
|
4
|
+
return { submitting: e, submit: async () => {
|
|
5
|
+
var t, c;
|
|
6
|
+
e.value = !0;
|
|
7
|
+
try {
|
|
8
|
+
const r = a.getFormMainInstance();
|
|
9
|
+
await r.validate();
|
|
10
|
+
const u = r.stringify();
|
|
11
|
+
await a.submitFn(u), (t = a.onSuccess) == null || t.call(a, u);
|
|
12
|
+
} catch (r) {
|
|
13
|
+
(c = a.onFail) == null || c.call(a, r);
|
|
14
|
+
} finally {
|
|
15
|
+
e.value = !1;
|
|
16
|
+
}
|
|
17
|
+
} };
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
i as useFormSubmit
|
|
21
|
+
};
|
package/es/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.confirm-dialog .content[data-v-8a29e4c8]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-8a29e4c8]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-8a29e4c8]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-8a29e4c8]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-8a29e4c8]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-8a29e4c8]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-8a29e4c8]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-8a29e4c8]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-8a29e4c8]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-8a29e4c8]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-8a29e4c8]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.action-confirm__title[data-v-88119b35]{font-weight:600;margin-bottom:6px}.action-confirm__content[data-v-88119b35]{margin-bottom:12px;color:var(--el-text-color-regular)}.action-confirm__actions[data-v-88119b35]{display:flex;justify-content:flex-end;gap:8px}.form-item-tip[data-v-0dd66b41]{text-align:left;line-height:1.5;font-size:12px}.form-item-label-hide[data-v-0dd66b41] .el-form-item__label-wrap{display:none}.form-submit-panel[data-v-d71ece49]{display:flex;flex-direction:column}.form-submit-panel .form-submit-panel-form[data-v-d71ece49]{order:1}.form-submit-panel .form-submit-panel-operation[data-v-d71ece49]{order:2}.form-submit-panel .form-submit-panel-operation-inner[data-v-d71ece49]{display:flex;align-items:center;gap:8px;padding:10px 12px}.form-submit-panel .el-affix--fixed .form-submit-panel-operation-inner[data-v-d71ece49]{background-color:var(--el-bg-color)}.form-submit-panel_bottom-center .form-submit-panel-operation-inner[data-v-d71ece49],.form-submit-panel_bottom-right .form-submit-panel-operation-inner[data-v-d71ece49]{border-top:1px solid var(--el-border-color-light);border-bottom-left-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base)}.form-submit-panel_bottom-center .form-submit-panel-operation-inner[data-v-d71ece49]{justify-content:center}.form-submit-panel_bottom-right .form-submit-panel-operation-inner[data-v-d71ece49]{justify-content:flex-end}.form-submit-panel_top-right .form-submit-panel-operation[data-v-d71ece49]{order:0}.form-submit-panel_top-right .form-submit-panel-operation-inner[data-v-d71ece49]{justify-content:flex-end;border-bottom:1px solid var(--el-border-color-light);border-top-left-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.panel-edit-switch[data-v-7bb14fd1]{position:relative}.panel-edit-switch:hover .panel-edit-switch-edit-btn[data-v-7bb14fd1]{display:block}.panel-edit-switch-edit-btn[data-v-7bb14fd1]{position:absolute;top:0;right:0;z-index:1;display:none}.panel-edit-switch-actions[data-v-7bb14fd1]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.form-search_show[data-v-d240f220]{margin-bottom:10px}.form-search .btn-box[data-v-d240f220]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.form-search .btn-box-expand-icon[data-v-d240f220]{margin-right:2px}.form-search[data-v-d240f220] .el-col{padding-left:14px}.form-verify-image[data-v-a4baf877] .el-input__suffix-inner *{margin:0}.form-verify-image-suffix[data-v-a4baf877]{position:absolute;height:100%;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer}.form-verify-image-suffix-main[data-v-a4baf877]{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f4f4f4}.tabs-main-bar[data-v-d6937179]{position:relative;display:flex;align-items:center}.tabs-main-bar-item[data-v-d6937179]{border:none;background:transparent;cursor:pointer;color:var(--el-text-color-regular);transition:background .2s,color .2s,box-shadow .2s}.tabs-main-bar-indicator[data-v-d6937179]{position:absolute;left:0;background:var(--el-color-primary);transition:transform .2s,width .2s}.tabs-main-bar--l1 .tabs-main-bar-item[data-v-d6937179]{font-size:16px}.tabs-main-bar--l2 .tabs-main-bar-item[data-v-d6937179]{font-size:14px}.tabs-main-bar--l3 .tabs-main-bar-item[data-v-d6937179],.tabs-main-bar--l4 .tabs-main-bar-item[data-v-d6937179]{font-size:12px}.tabs-main-bar--variant-card[data-v-d6937179]{position:relative;overflow:hidden;gap:2px}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-d6937179]{position:relative;padding:8px 20px;line-height:1.4;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-d6937179]:hover:not(.tabs-main-bar-item_active){color:var(--el-color-primary)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary);border-color:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:before,.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:after{content:"";position:absolute;bottom:0;width:100vw;height:1px;background:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:before{right:100%}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:after{left:100%}.tabs-main-bar--variant-indicator .tabs-main-bar-item[data-v-d6937179]{padding:8px 16px}.tabs-main-bar--variant-indicator .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator .tabs-main-bar-indicator[data-v-d6937179]{bottom:0;height:2px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item[data-v-d6937179]{padding:6px 10px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-indicator[data-v-d6937179]{bottom:0;height:1px}.tabs-main-bar--variant-plain .tabs-main-bar-item[data-v-d6937179]{padding:4px 8px}.tabs-main-bar--variant-plain .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary);font-weight:600}.app-breadcrumb[data-v-2f677890]{display:flex;align-items:center;justify-content:flex-start}.app-body[data-v-265945fd]{transition-duration:.3s;transition-property:padding;transition-timing-function:linear;min-height:100vh}.app-body-shim[data-v-265945fd]{width:100%;--app-viewport-max-height: var(--ba2eb370)}.app-footer[data-v-393d9768]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;width:100%;box-shadow:-5px 0 5px #0000001a}.app-footer-shim[data-v-393d9768]{width:100%;height:100%;padding:0 20px}.app-header[data-v-ef3cc8a6]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;position:fixed;left:0;top:0;width:100%;box-shadow:5px 0 5px #0000001a;z-index:1}.app-header-module[data-v-ef3cc8a6]{display:flex;flex:1;height:100%;overflow-x:auto}.app-header-module-item[data-v-ef3cc8a6]{display:flex;justify-content:center;align-items:center;padding:0 20px;white-space:nowrap;height:100%;color:var(--v3dfae5bc)}.app-header-module-item[data-v-ef3cc8a6]:hover,.app-header-module-item_active[data-v-ef3cc8a6]{color:var(--v158cd0d2)}.app-header-module-item_active[data-v-ef3cc8a6]{position:relative}.app-header-module-item_active[data-v-ef3cc8a6]:before{content:"";position:absolute;left:50%;top:0;width:100%;height:3px;background-color:var(--v158cd0d2);transform:translate(-50%)}.app-header-shim[data-v-ef3cc8a6]{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:18px;font-weight:700}.app-header-module-item__icon[data-v-ef3cc8a6]{margin-right:8px}.app-header-userInfo[data-v-ef3cc8a6]{padding-left:80px}.app-header-userInfo__theme-switch[data-v-ef3cc8a6]{margin-right:12px}.app-sidebar[data-v-37ff5e0c]{transition-duration:.3s;transition-property:width;transition-timing-function:linear;position:fixed;left:0;top:0;height:100%;box-shadow:0 5px 5px #0000001a;overflow:visible;z-index:var(--ce9ef212)}.app-sidebar-top[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:0;overflow:hidden}.app-sidebar-bottom[data-v-37ff5e0c]{position:absolute;left:0;right:0;bottom:0;overflow:hidden}.app-sidebar-shim[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:var(--v309db2c2);bottom:var(--v2189b8a1);overflow-x:hidden;overflow-y:auto;--el-menu-border-color: transparent;-webkit-user-select:none;user-select:none}.app-sidebar-toggle[data-v-37ff5e0c]{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);cursor:pointer;width:22px;height:22px;border-radius:50%;background-color:var(--v65908f82);color:var(--v42a24063);border:1px solid var(--v42a24063);box-shadow:0 1px 2px #0000000f;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:1;isolation:isolate;transition:color .3s,border-color .3s,box-shadow .3s}.app-sidebar-toggle[data-v-37ff5e0c]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background-color:var(--v42a24063);opacity:.18;z-index:-1;pointer-events:none;transition:opacity .3s,inset .3s}.app-sidebar-toggle[data-v-37ff5e0c]:active,.app-sidebar-toggle[data-v-37ff5e0c]:focus,.app-sidebar-toggle[data-v-37ff5e0c]:hover{box-shadow:0 2px 6px #0000001f}.app-sidebar-toggle[data-v-37ff5e0c]:active:before,.app-sidebar-toggle[data-v-37ff5e0c]:focus:before,.app-sidebar-toggle[data-v-37ff5e0c]:hover:before{opacity:.32;top:-5px;right:-5px;bottom:-5px;left:-5px}.app-sidebar-toggle-icon[data-v-37ff5e0c]{transition:transform .3s}.app-layout[data-v-6924f8b7]{position:relative}.app-layout_noLogin[data-v-6924f8b7] .app-body,.app-layout_noLogin[data-v-6924f8b7] .app-sidebar,.app-layout_noLogin[data-v-6924f8b7] .app-header,.app-layout_noLogin[data-v-6924f8b7] .app-footer{transition:none!important}.app-page-shim[data-v-fda19616]{--app-viewport-max-height: var(--v54888f0e)}[data-v-1f8a1089] .auto-refresh-label{display:flex;font-size:13px;color:var(--el-text-color-regular);margin-bottom:8px}.auto-refresh-group-icon--rotating[data-v-9cac8b09]{animation:auto-refresh-rotating-9cac8b09 1s linear infinite}@keyframes auto-refresh-rotating-9cac8b09{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-toolbar[data-v-22ae8fa7]{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;gap:20px}.table-toolbar-left[data-v-22ae8fa7],.table-toolbar-right[data-v-22ae8fa7]{display:flex;align-items:center;gap:10px}.table-toolbar-switch-view[data-v-22ae8fa7]{--el-switch-off-color: var(--el-color-primary);--el-switch-on-color: var(--el-color-warning)}.data-list-view[data-v-da38bea6]{width:100%}.data-list-view-empty[data-v-da38bea6]{display:flex;justify-content:center;align-items:center;width:100%;min-height:60px}.table-main-pagination[data-v-05684b89]{margin-top:10px;display:flex;justify-content:flex-end}.list-page[data-v-d70424b6]{min-height:var(--v9299b0d4)}.list-page-header[data-v-d70424b6],.list-page-operation[data-v-d70424b6]{margin-bottom:10px}.list-page[data-v-d70424b6] .el-loading-mask{left:-10px;top:-10px;right:-10px;bottom:-10px}.panel-main-item-col:not(:last-of-type) .panel-main-item-col-wrap_card[data-v-25951dc8]{margin-bottom:var(--v39ccf6bc)}
|
|
1
|
+
.confirm-dialog .content[data-v-8a29e4c8]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-8a29e4c8]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-8a29e4c8]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-8a29e4c8]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-8a29e4c8]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-8a29e4c8]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-8a29e4c8]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-8a29e4c8]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-8a29e4c8]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-8a29e4c8]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-8a29e4c8]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.action-confirm__title[data-v-88119b35]{font-weight:600;margin-bottom:6px}.action-confirm__content[data-v-88119b35]{margin-bottom:12px;color:var(--el-text-color-regular)}.action-confirm__actions[data-v-88119b35]{display:flex;justify-content:flex-end;gap:8px}.form-item-tip[data-v-0dd66b41]{text-align:left;line-height:1.5;font-size:12px}.form-item-label-hide[data-v-0dd66b41] .el-form-item__label-wrap{display:none}.form-submit-panel[data-v-450cc756]{display:flex;flex-direction:column}.form-submit-panel .form-submit-panel-form[data-v-450cc756]{order:1}.form-submit-panel .form-submit-panel-operation[data-v-450cc756]{order:2}.form-submit-panel .form-submit-panel-operation-inner[data-v-450cc756]{display:flex;align-items:center;gap:8px;padding:10px 12px}.form-submit-panel .el-affix--fixed .form-submit-panel-operation-inner[data-v-450cc756]{background-color:var(--el-bg-color)}.form-submit-panel_bottom-center .form-submit-panel-operation-inner[data-v-450cc756],.form-submit-panel_bottom-right .form-submit-panel-operation-inner[data-v-450cc756]{border-top:1px solid var(--el-border-color-light);border-bottom-left-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base)}.form-submit-panel_bottom-center .form-submit-panel-operation-inner[data-v-450cc756]{justify-content:center}.form-submit-panel_bottom-right .form-submit-panel-operation-inner[data-v-450cc756]{justify-content:flex-end}.form-submit-panel_top-right .form-submit-panel-operation[data-v-450cc756]{order:0}.form-submit-panel_top-right .form-submit-panel-operation-inner[data-v-450cc756]{justify-content:flex-end;border-bottom:1px solid var(--el-border-color-light);border-top-left-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.form-submit-panel_no-divider .form-submit-panel-operation-inner[data-v-450cc756]{border:none;border-radius:0}.form-submit-panel_bare .form-submit-panel-operation-inner[data-v-450cc756]{padding:0}.panel-edit-switch[data-v-7bb14fd1]{position:relative}.panel-edit-switch:hover .panel-edit-switch-edit-btn[data-v-7bb14fd1]{display:block}.panel-edit-switch-edit-btn[data-v-7bb14fd1]{position:absolute;top:0;right:0;z-index:1;display:none}.panel-edit-switch-actions[data-v-7bb14fd1]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.form-search_show[data-v-d240f220]{margin-bottom:10px}.form-search .btn-box[data-v-d240f220]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.form-search .btn-box-expand-icon[data-v-d240f220]{margin-right:2px}.form-search[data-v-d240f220] .el-col{padding-left:14px}.form-verify-image[data-v-a4baf877] .el-input__suffix-inner *{margin:0}.form-verify-image-suffix[data-v-a4baf877]{position:absolute;height:100%;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer}.form-verify-image-suffix-main[data-v-a4baf877]{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f4f4f4}.tabs-main-bar[data-v-d6937179]{position:relative;display:flex;align-items:center}.tabs-main-bar-item[data-v-d6937179]{border:none;background:transparent;cursor:pointer;color:var(--el-text-color-regular);transition:background .2s,color .2s,box-shadow .2s}.tabs-main-bar-indicator[data-v-d6937179]{position:absolute;left:0;background:var(--el-color-primary);transition:transform .2s,width .2s}.tabs-main-bar--l1 .tabs-main-bar-item[data-v-d6937179]{font-size:16px}.tabs-main-bar--l2 .tabs-main-bar-item[data-v-d6937179]{font-size:14px}.tabs-main-bar--l3 .tabs-main-bar-item[data-v-d6937179],.tabs-main-bar--l4 .tabs-main-bar-item[data-v-d6937179]{font-size:12px}.tabs-main-bar--variant-card[data-v-d6937179]{position:relative;overflow:hidden;gap:2px}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-d6937179]{position:relative;padding:8px 20px;line-height:1.4;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-d6937179]:hover:not(.tabs-main-bar-item_active){color:var(--el-color-primary)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary);border-color:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:before,.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:after{content:"";position:absolute;bottom:0;width:100vw;height:1px;background:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:before{right:100%}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-d6937179]:after{left:100%}.tabs-main-bar--variant-indicator .tabs-main-bar-item[data-v-d6937179]{padding:8px 16px}.tabs-main-bar--variant-indicator .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator .tabs-main-bar-indicator[data-v-d6937179]{bottom:0;height:2px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item[data-v-d6937179]{padding:6px 10px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-indicator[data-v-d6937179]{bottom:0;height:1px}.tabs-main-bar--variant-plain .tabs-main-bar-item[data-v-d6937179]{padding:4px 8px}.tabs-main-bar--variant-plain .tabs-main-bar-item_active[data-v-d6937179]{color:var(--el-color-primary);font-weight:600}.app-breadcrumb[data-v-2f677890]{display:flex;align-items:center;justify-content:flex-start}.app-body[data-v-265945fd]{transition-duration:.3s;transition-property:padding;transition-timing-function:linear;min-height:100vh}.app-body-shim[data-v-265945fd]{width:100%;--app-viewport-max-height: var(--ba2eb370)}.app-footer[data-v-393d9768]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;width:100%;box-shadow:-5px 0 5px #0000001a}.app-footer-shim[data-v-393d9768]{width:100%;height:100%;padding:0 20px}.app-header[data-v-ef3cc8a6]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;position:fixed;left:0;top:0;width:100%;box-shadow:5px 0 5px #0000001a;z-index:1}.app-header-module[data-v-ef3cc8a6]{display:flex;flex:1;height:100%;overflow-x:auto}.app-header-module-item[data-v-ef3cc8a6]{display:flex;justify-content:center;align-items:center;padding:0 20px;white-space:nowrap;height:100%;color:var(--v3dfae5bc)}.app-header-module-item[data-v-ef3cc8a6]:hover,.app-header-module-item_active[data-v-ef3cc8a6]{color:var(--v158cd0d2)}.app-header-module-item_active[data-v-ef3cc8a6]{position:relative}.app-header-module-item_active[data-v-ef3cc8a6]:before{content:"";position:absolute;left:50%;top:0;width:100%;height:3px;background-color:var(--v158cd0d2);transform:translate(-50%)}.app-header-shim[data-v-ef3cc8a6]{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:18px;font-weight:700}.app-header-module-item__icon[data-v-ef3cc8a6]{margin-right:8px}.app-header-userInfo[data-v-ef3cc8a6]{padding-left:80px}.app-header-userInfo__theme-switch[data-v-ef3cc8a6]{margin-right:12px}.app-sidebar[data-v-37ff5e0c]{transition-duration:.3s;transition-property:width;transition-timing-function:linear;position:fixed;left:0;top:0;height:100%;box-shadow:0 5px 5px #0000001a;overflow:visible;z-index:var(--ce9ef212)}.app-sidebar-top[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:0;overflow:hidden}.app-sidebar-bottom[data-v-37ff5e0c]{position:absolute;left:0;right:0;bottom:0;overflow:hidden}.app-sidebar-shim[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:var(--v309db2c2);bottom:var(--v2189b8a1);overflow-x:hidden;overflow-y:auto;--el-menu-border-color: transparent;-webkit-user-select:none;user-select:none}.app-sidebar-toggle[data-v-37ff5e0c]{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);cursor:pointer;width:22px;height:22px;border-radius:50%;background-color:var(--v65908f82);color:var(--v42a24063);border:1px solid var(--v42a24063);box-shadow:0 1px 2px #0000000f;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:1;isolation:isolate;transition:color .3s,border-color .3s,box-shadow .3s}.app-sidebar-toggle[data-v-37ff5e0c]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background-color:var(--v42a24063);opacity:.18;z-index:-1;pointer-events:none;transition:opacity .3s,inset .3s}.app-sidebar-toggle[data-v-37ff5e0c]:active,.app-sidebar-toggle[data-v-37ff5e0c]:focus,.app-sidebar-toggle[data-v-37ff5e0c]:hover{box-shadow:0 2px 6px #0000001f}.app-sidebar-toggle[data-v-37ff5e0c]:active:before,.app-sidebar-toggle[data-v-37ff5e0c]:focus:before,.app-sidebar-toggle[data-v-37ff5e0c]:hover:before{opacity:.32;top:-5px;right:-5px;bottom:-5px;left:-5px}.app-sidebar-toggle-icon[data-v-37ff5e0c]{transition:transform .3s}.app-layout[data-v-6924f8b7]{position:relative}.app-layout_noLogin[data-v-6924f8b7] .app-body,.app-layout_noLogin[data-v-6924f8b7] .app-sidebar,.app-layout_noLogin[data-v-6924f8b7] .app-header,.app-layout_noLogin[data-v-6924f8b7] .app-footer{transition:none!important}.app-page-shim[data-v-fda19616]{--app-viewport-max-height: var(--v54888f0e)}[data-v-1f8a1089] .auto-refresh-label{display:flex;font-size:13px;color:var(--el-text-color-regular);margin-bottom:8px}.auto-refresh-group-icon--rotating[data-v-9cac8b09]{animation:auto-refresh-rotating-9cac8b09 1s linear infinite}@keyframes auto-refresh-rotating-9cac8b09{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-toolbar[data-v-22ae8fa7]{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;gap:20px}.table-toolbar-left[data-v-22ae8fa7],.table-toolbar-right[data-v-22ae8fa7]{display:flex;align-items:center;gap:10px}.table-toolbar-switch-view[data-v-22ae8fa7]{--el-switch-off-color: var(--el-color-primary);--el-switch-on-color: var(--el-color-warning)}.data-list-view[data-v-da38bea6]{width:100%}.data-list-view-empty[data-v-da38bea6]{display:flex;justify-content:center;align-items:center;width:100%;min-height:60px}.table-main-pagination[data-v-05684b89]{margin-top:10px;display:flex;justify-content:flex-end}.list-page[data-v-d70424b6]{min-height:var(--v9299b0d4)}.list-page-header[data-v-d70424b6],.list-page-operation[data-v-d70424b6]{margin-bottom:10px}.list-page[data-v-d70424b6] .el-loading-mask{left:-10px;top:-10px;right:-10px;bottom:-10px}.panel-main-item-col:not(:last-of-type) .panel-main-item-col-wrap_card[data-v-25951dc8]{margin-bottom:var(--v39ccf6bc)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@done-coding/admin-core",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3-alpha.0",
|
|
4
4
|
"description": "后台管理核心",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "lib/index.cjs",
|
|
@@ -81,5 +81,5 @@
|
|
|
81
81
|
"node": ">=18.0.0",
|
|
82
82
|
"pnpm": ">=9.0.0"
|
|
83
83
|
},
|
|
84
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "2db8c4bfcf63a1cd077ef7c7426e25f33c243e2b"
|
|
85
85
|
}
|
package/types/bridge/index.d.ts
CHANGED
|
@@ -246,8 +246,8 @@ export type AppCacheConfig = AppConfig["APP_CACHE_CONFIG"];
|
|
|
246
246
|
* `set` [MUST] 产新对象([MUST NOT] 原地 mutate,破响应式 + 破不可变)。
|
|
247
247
|
*/
|
|
248
248
|
export interface UserInfoFieldAccessor<UserInfo = unknown> {
|
|
249
|
-
/**
|
|
250
|
-
get: (info: Partial<UserInfo>) => string
|
|
249
|
+
/** 读字段值;[MUST] 返回 string——业务经 getUserInfoInitFn 把该字段初值置 `""`,保证空态为 `""` 而非 undefined(类型恒定,免下游满屏 `token!`) */
|
|
250
|
+
get: (info: Partial<UserInfo>) => string;
|
|
251
251
|
/**
|
|
252
252
|
* 写入字段值,返回**保留 info 其余全部字段**的新对象。
|
|
253
253
|
*
|
|
@@ -15,6 +15,10 @@ declare const _default: <PO extends Record<string, any>, SO extends Record<strin
|
|
|
15
15
|
resetBtn?(_: {
|
|
16
16
|
reset: () => void;
|
|
17
17
|
}): any;
|
|
18
|
+
submitBtn?(_: {
|
|
19
|
+
submit: () => Promise<void>;
|
|
20
|
+
submitting: boolean;
|
|
21
|
+
}): any;
|
|
18
22
|
};
|
|
19
23
|
emit: {
|
|
20
24
|
(e: "cancel"): void;
|
|
@@ -311,5 +311,22 @@ export type FormSubmitPanelProps<PO extends Record<string, any>, SO extends Reco
|
|
|
311
311
|
* 默认值 false
|
|
312
312
|
*/
|
|
313
313
|
operationAffix?: boolean | AffixProps;
|
|
314
|
+
/** 操作区分隔线(含外侧圆角)
|
|
315
|
+
* ----
|
|
316
|
+
* 默认值 true;置 false 去掉分隔线 + 圆角(极简 / 单按钮场景)
|
|
317
|
+
*/
|
|
318
|
+
divider?: boolean;
|
|
319
|
+
/** 操作区无内边距(bare)
|
|
320
|
+
* ----
|
|
321
|
+
* 默认 false;置 true 去掉操作区 padding(嵌入 / 极简场景)。
|
|
322
|
+
* 与 divider 正交:divider 管边框+圆角,bare 管 padding,可叠加全 flush。
|
|
323
|
+
*/
|
|
324
|
+
bare?: boolean;
|
|
325
|
+
/** 根面板自定义 class(显式根出口)
|
|
326
|
+
* ----
|
|
327
|
+
* inheritAttrs:false 下消费方 `class` 经 v-bind 转发内层 FormMain(对标 FormSearch),
|
|
328
|
+
* 根面板 `.form-submit-panel` 拿不到。需给根面板加类时用本 prop。
|
|
329
|
+
*/
|
|
330
|
+
rootClass?: string | string[] | Record<string, boolean>;
|
|
314
331
|
};
|
|
315
332
|
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { FormMainInstance, FormSubmitBtnProps, FormDataInfo } from './types';
|
|
3
|
+
/** useFormSubmit 入参——提交管线的 4 个外部接线点 */
|
|
4
|
+
export interface UseFormSubmitOptions<PO extends Record<string, any>, SO extends Record<string, any>> {
|
|
5
|
+
/** 惰性取 FormMain 实例(首渲染 undefined 容忍,click 时才用) */
|
|
6
|
+
getFormMainInstance: () => FormMainInstance<PO, SO>;
|
|
7
|
+
/** 提交方法(每次调用时读取,保留响应式) */
|
|
8
|
+
submitFn: FormSubmitBtnProps<PO, SO>["submitFn"];
|
|
9
|
+
/** 成功回调(载荷 = stringifyData) */
|
|
10
|
+
onSuccess?: (data: FormDataInfo<PO, SO>["stringifyData"]) => void;
|
|
11
|
+
/** 失败回调(校验未过 / submitFn reject) */
|
|
12
|
+
onFail?: (error: unknown) => void;
|
|
13
|
+
}
|
|
14
|
+
/** useFormSubmit 返回——loading 态 + 提交触发器 */
|
|
15
|
+
export interface UseFormSubmitReturn {
|
|
16
|
+
/** 提交中 loading 态 */
|
|
17
|
+
submitting: Ref<boolean>;
|
|
18
|
+
/** 触发提交:validate → stringify → submitFn → onSuccess / onFail */
|
|
19
|
+
submit: () => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 表单提交管线 composable——validate→stringify→submitFn 全程接管 loading。
|
|
23
|
+
* FormSubmitBtn 与 FormSubmitPanel(#submitBtn slot) 共用,单一事实源。
|
|
24
|
+
*/
|
|
25
|
+
export declare function useFormSubmit<PO extends Record<string, any>, SO extends Record<string, any>>(options: UseFormSubmitOptions<PO, SO>): UseFormSubmitReturn;
|
package/types/store/user.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface CreateUserStoreDeps<UserInfo, LoginParams = unknown> {
|
|
|
30
30
|
*/
|
|
31
31
|
export declare function createUserStore<UserInfo, LoginParams = unknown>(deps: CreateUserStoreDeps<UserInfo, LoginParams>): import('pinia').StoreDefinition<"USER", Pick<{
|
|
32
32
|
userInfo: ComputedRef<UserInfo>;
|
|
33
|
-
token: ComputedRef<string
|
|
33
|
+
token: ComputedRef<string>;
|
|
34
34
|
isLogin: ComputedRef<boolean>;
|
|
35
35
|
login: (params: LoginParams) => Promise<void>;
|
|
36
36
|
logout: () => Promise<void>;
|
|
@@ -40,7 +40,7 @@ export declare function createUserStore<UserInfo, LoginParams = unknown>(deps: C
|
|
|
40
40
|
havePermissionByKey: (key?: RoutePermission["key"]) => boolean;
|
|
41
41
|
}, never>, Pick<{
|
|
42
42
|
userInfo: ComputedRef<UserInfo>;
|
|
43
|
-
token: ComputedRef<string
|
|
43
|
+
token: ComputedRef<string>;
|
|
44
44
|
isLogin: ComputedRef<boolean>;
|
|
45
45
|
login: (params: LoginParams) => Promise<void>;
|
|
46
46
|
logout: () => Promise<void>;
|
|
@@ -50,7 +50,7 @@ export declare function createUserStore<UserInfo, LoginParams = unknown>(deps: C
|
|
|
50
50
|
havePermissionByKey: (key?: RoutePermission["key"]) => boolean;
|
|
51
51
|
}, "userInfo" | "token" | "isLogin">, Pick<{
|
|
52
52
|
userInfo: ComputedRef<UserInfo>;
|
|
53
|
-
token: ComputedRef<string
|
|
53
|
+
token: ComputedRef<string>;
|
|
54
54
|
isLogin: ComputedRef<boolean>;
|
|
55
55
|
login: (params: LoginParams) => Promise<void>;
|
|
56
56
|
logout: () => Promise<void>;
|