yh-pub 1.0.2 → 2.0.1
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/AdminLogin-BoxKRRwd.js +140 -0
- package/AdminLogin-BoxKRRwd.js.map +1 -0
- package/Dict.vue_vue_type_script_setup_true_lang-A8BZwEiK.js +55 -0
- package/Dict.vue_vue_type_script_setup_true_lang-A8BZwEiK.js.map +1 -0
- package/Error-BCu4KHfU.js +43 -0
- package/Error-BCu4KHfU.js.map +1 -0
- package/Error401-C5kTyMSM.js +30 -0
- package/Error401-C5kTyMSM.js.map +1 -0
- package/Error404-P3qKjHk6.js +30 -0
- package/Error404-P3qKjHk6.js.map +1 -0
- package/Error500-NVnuOBIQ.js +30 -0
- package/Error500-NVnuOBIQ.js.map +1 -0
- package/HomeIndex-C806Fp-9.js +438 -0
- package/HomeIndex-C806Fp-9.js.map +1 -0
- package/IconExplorer-CBg1lvD0.js +66 -0
- package/IconExplorer-CBg1lvD0.js.map +1 -0
- package/Index-AjfvK7Ss.js +5 -0
- package/Index-AjfvK7Ss.js.map +1 -0
- package/MainLogin-wW7bSk0F.js +155 -0
- package/MainLogin-wW7bSk0F.js.map +1 -0
- package/MenuManage-CIxqmusr.js +641 -0
- package/MenuManage-CIxqmusr.js.map +1 -0
- package/OrgManage-BcTWbnyc.js +378 -0
- package/OrgManage-BcTWbnyc.js.map +1 -0
- package/RoleManage-Bw83c_7q.js +729 -0
- package/RoleManage-Bw83c_7q.js.map +1 -0
- package/SysConfig-L0A1eY-O.js +727 -0
- package/SysConfig-L0A1eY-O.js.map +1 -0
- package/TenantList-B5imzQc5.js +696 -0
- package/TenantList-B5imzQc5.js.map +1 -0
- package/index-BP41Ph8K.js +55257 -0
- package/index-BP41Ph8K.js.map +1 -0
- package/index-CJ0So9-k.js +7 -0
- package/index-CJ0So9-k.js.map +1 -0
- package/index-wVC41gTc.js +23955 -0
- package/index-wVC41gTc.js.map +1 -0
- package/index.d.ts +35 -0
- package/index.es.js +66 -0
- package/index.es.js.map +1 -0
- package/package.json +27 -6
- package/style.css +1 -0
- package/README.MD +0 -19
- package/layout/admin/adminIndex.vue +0 -104
- package/layout/admin/api/loginApi.js +0 -24
- package/layout/admin/api/routers.js +0 -93
- package/layout/admin/api/tenantApi.js +0 -123
- package/layout/admin/home/homeIndex.vue +0 -25
- package/layout/admin/login/login.vue +0 -161
- package/layout/admin/menu/MenuIndex.vue +0 -648
- package/layout/admin/menu/icon.vue +0 -108
- package/layout/admin/menu/iconList.js +0 -934
- package/layout/admin/saTenant/saTenant.js +0 -0
- package/layout/admin/saTenant/saTenant.vue +0 -173
- package/layout/admin/saTenant/saTenantForm.js +0 -80
- package/layout/admin/saTenant/saTenantForm.vue +0 -61
- package/layout/admin/saTenant/saTenantRoleManage.js +0 -417
- package/layout/admin/saTenant/saTenantRoleManage.vue +0 -99
- package/layout/admin/user/saUser.less +0 -6
- package/layout/admin/user/saUser.vue +0 -72
- package/layout/main/components/console/console.vue +0 -205
- package/layout/main/components/error-store/error-store.vue +0 -72
- package/layout/main/components/error-store/index.js +0 -2
- package/layout/main/components/fullscreen/fullscreen.vue +0 -57
- package/layout/main/components/fullscreen/index.js +0 -2
- package/layout/main/components/language/language.vue +0 -71
- package/layout/main/components/side-menu/side-menu.less +0 -74
- package/layout/main/components/side-menu/side-menu.vue +0 -75
- package/layout/main/components/tags-nav/tags-nav.less +0 -45
- package/layout/main/components/tags-nav/tags-nav.vue +0 -144
- package/layout/main/components/user/user.less +0 -12
- package/layout/main/components/user/user.vue +0 -185
- package/layout/main/home/home.vue +0 -480
- package/layout/main/home/index.js +0 -2
- package/layout/main/home/toDoList.vue +0 -32
- package/layout/main/login/login.less +0 -93
- package/layout/main/login/login.vue +0 -151
- package/layout/main/main.less +0 -81
- package/layout/main/main.vue +0 -254
- package/layout/main/system/dict.vue +0 -64
- package/layout/main/system/orgManage.vue +0 -473
- package/layout/main/system/roleManage.js +0 -807
- package/layout/main/system/roleManage.vue +0 -424
- package/view/basic/error-logger.vue +0 -74
- package/view/basic/error-page/401.vue +0 -22
- package/view/basic/error-page/404.vue +0 -22
- package/view/basic/error-page/500.vue +0 -22
- package/view/basic/error-page/back-btn-group.vue +0 -48
- package/view/basic/error-page/error-content.vue +0 -28
- package/view/basic/error-page/error.less +0 -46
- package/view/config/component/confFormItem.vue +0 -49
- package/view/config/config.scss +0 -45
- package/view/config/configIndex.vue +0 -150
- package/view/config/subPage/router-config.vue +0 -5
- package/view/config/subPage/sys-config.vue +0 -249
- package/view/window/IframeFReportView.vue +0 -28
- package/view/window/windowIndex.vue +0 -22
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminLogin-BoxKRRwd.js","sources":["../layout/AdminLogin.vue"],"sourcesContent":["<template>\n <div class=\"login\" :style=\"{backgroundImage: `url(${appStore.loginBg || defaultLoginBg})`}\">\n <!-- 右上角返回主登录入口 -->\n <div\n class=\"back-entry\"\n @click=\"goBackToMainLogin\"\n title=\"返回主登录\">\n <YhIcon\n fontFamily=\"yhicon\"\n prefix=\"yh-\"\n name=\"left\"></YhIcon>\n </div>\n <div class=\"login-content\">\n <div class=\"login-title\">\n <img\n class=\"login-logo-placeholder\"\n src=\"\"\n alt=\"\" />\n <div class=\"login-title-text\">\n <div class=\"login-title-cn\">系统管理后台</div>\n <div class=\"login-title-en\">ADMIN</div>\n </div>\n </div>\n <div class=\"form-con\">\n <el-form\n ref=\"formRef\"\n :model=\"formValidate\"\n :rules=\"ruleValidate\"\n size=\"large\"\n @keydown.enter=\"submitLogin\">\n <el-form-item prop=\"name\">\n <el-input\n v-model=\"formValidate.name\"\n placeholder=\"请输入用户名\"\n autocomplete=\"off\">\n <template #prefix>\n <YhIcon\n fontFamily=\"yhicon\"\n prefix=\"yh-\"\n name=\"user\"></YhIcon>\n </template>\n </el-input>\n </el-form-item>\n <el-form-item prop=\"passwd\">\n <el-input\n type=\"password\"\n v-model=\"formValidate.passwd\"\n placeholder=\"请输入密码\"\n autocomplete=\"off\">\n <template #prefix>\n <YhIcon\n fontFamily=\"yhicon\"\n prefix=\"yh-\"\n name=\"lock\"></YhIcon>\n </template>\n </el-input>\n </el-form-item>\n <el-form-item>\n <el-button\n type=\"primary\"\n @click=\"submitLogin\"\n style=\"width: 100%\"\n :loading=\"loginLoading\">\n 登录\n </el-button>\n </el-form-item>\n </el-form>\n <p class=\"login-tip\"></p>\n </div>\n </div>\n </div>\n</template>\n<style lang=\"scss\" scoped>\n .login {\n position: relative;\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n background-size: cover;\n background-position: center;\n --el-border-color: #ffffff;\n\n .back-entry {\n position: absolute;\n top: 20px;\n right: 20px;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n cursor: pointer;\n color: rgba(255, 255, 255, 0.7);\n transition: all 0.3s;\n z-index: 10;\n\n &:hover {\n background: rgba(255, 255, 255, 0.2);\n color: #ffffff;\n }\n\n i {\n font-size: 20px;\n }\n }\n\n &-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 40px;\n padding: 20px;\n }\n }\n\n .login-title {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 30px;\n\n .login-logo-placeholder {\n flex-shrink: 0;\n max-width: 80px;\n width: auto;\n height: auto;\n aspect-ratio: 1 / 1;\n object-fit: contain;\n visibility: hidden;\n }\n\n &-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n &-cn {\n font-size: 3rem;\n color: #fcfcfc;\n font-weight: bolder;\n }\n\n &-en {\n font-size: 1.5rem;\n color: #fcfcfc;\n font-family: 'Microsoft YaHei';\n }\n }\n\n .form-con {\n width: 100%;\n max-width: 600px;\n padding: 30px;\n backdrop-filter: blur(10px);\n border-radius: 8px;\n }\n\n .login-tip {\n font-size: 1rem;\n text-align: center;\n color: #ffa24a;\n min-height: 1.5em;\n margin-top: 10px;\n }\n</style>\n<script setup lang=\"ts\">\n import {ref, reactive} from 'vue';\n import {useRouter} from 'vue-router';\n import {useClientStore} from 'yh-client';\n import {useAppStore} from '../store';\n import {resetInitTasks, runInitTasks} from '../init';\n\n const router = useRouter();\n const clientStore = useClientStore();\n const appStore = useAppStore();\n const defaultLoginBg = new URL('../assets/images/login-bg.jpg', import.meta.url).href;\n\n const formValidate = reactive({\n name: '',\n passwd: '',\n });\n\n const ruleValidate = {\n name: [{required: true, message: '请输入用户名', trigger: 'blur'}],\n passwd: [{required: true, message: '请输入密码', trigger: 'blur'}],\n };\n\n const loginLoading = ref(false);\n const formRef = ref();\n\n async function submitLogin() {\n if (!formRef.value) return;\n\n const valid = await formRef.value.validate();\n if (!valid) return;\n\n loginLoading.value = true;\n try {\n await clientStore.saLogin({\n username: formValidate.name,\n password: formValidate.passwd,\n });\n\n // 重置并重新执行初始化任务(加载管理员信息、业务路由)\n resetInitTasks();\n await runInitTasks();\n\n const {ElMessage} = await import('element-plus');\n ElMessage.success('登录成功');\n\n router.push('/admin');\n } catch (e: any) {\n console.error(e);\n const {ElMessage} = await import('element-plus');\n ElMessage.error(e?.response?.data?.msg || e?.message || '登录失败');\n } finally {\n loginLoading.value = false;\n }\n }\n\n function goBackToMainLogin() {\n router.push('/login');\n }\n</script>\n"],"names":["router","useRouter","clientStore","useClientStore","appStore","useAppStore","defaultLoginBg","formValidate","reactive","ruleValidate","loginLoading","ref","formRef","submitLogin","resetInitTasks","runInitTasks","ElMessage","e","_b","_a","goBackToMainLogin","_createElementBlock","_normalizeStyle","_unref","_createElementVNode","_createVNode","_component_YhIcon","_hoisted_1","_hoisted_2","_component_el_form","_component_el_form_item","_component_el_input","_cache","$event","_component_el_button"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { defineComponent as v, ref as d, watch as g, resolveComponent as u, resolveDirective as V, withDirectives as D, openBlock as o, createBlock as r, withCtx as C, createElementBlock as k, Fragment as E, renderList as w } from "vue";
|
|
2
|
+
import { j as x } from "./index-BP41Ph8K.js";
|
|
3
|
+
import "lodash-es";
|
|
4
|
+
const b = /* @__PURE__ */ v({
|
|
5
|
+
name: "dict",
|
|
6
|
+
__name: "Dict",
|
|
7
|
+
props: {
|
|
8
|
+
modelValue: { default: "" },
|
|
9
|
+
dict: { default: "" },
|
|
10
|
+
_select_id: { default: "" },
|
|
11
|
+
url: { default: "/sysSelector/list" }
|
|
12
|
+
},
|
|
13
|
+
emits: ["update:modelValue", "change"],
|
|
14
|
+
setup(n, { emit: s }) {
|
|
15
|
+
const t = n, c = s, i = d([]), l = d(!1), m = () => {
|
|
16
|
+
l.value = !0, x.post(t.url, {
|
|
17
|
+
id: t._select_id
|
|
18
|
+
}).then((e) => {
|
|
19
|
+
e.data.result && (i.value = e.data.data);
|
|
20
|
+
}).finally(() => {
|
|
21
|
+
l.value = !1;
|
|
22
|
+
});
|
|
23
|
+
}, _ = (e) => {
|
|
24
|
+
c("update:modelValue", e), c("change", e);
|
|
25
|
+
};
|
|
26
|
+
return g(
|
|
27
|
+
() => t.dict,
|
|
28
|
+
() => {
|
|
29
|
+
m();
|
|
30
|
+
},
|
|
31
|
+
{ immediate: !0 }
|
|
32
|
+
), (e, y) => {
|
|
33
|
+
const f = u("el-option"), p = u("el-select"), h = V("loading");
|
|
34
|
+
return D((o(), r(p, {
|
|
35
|
+
modelValue: n.modelValue,
|
|
36
|
+
onChange: _
|
|
37
|
+
}, {
|
|
38
|
+
default: C(() => [
|
|
39
|
+
(o(!0), k(E, null, w(i.value, (a) => (o(), r(f, {
|
|
40
|
+
key: a.VALUE,
|
|
41
|
+
value: a.VALUE,
|
|
42
|
+
label: a.NAME
|
|
43
|
+
}, null, 8, ["value", "label"]))), 128))
|
|
44
|
+
]),
|
|
45
|
+
_: 1
|
|
46
|
+
}, 8, ["modelValue"])), [
|
|
47
|
+
[h, l.value]
|
|
48
|
+
]);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
export {
|
|
53
|
+
b as _
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=Dict.vue_vue_type_script_setup_true_lang-A8BZwEiK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dict.vue_vue_type_script_setup_true_lang-A8BZwEiK.js","sources":["../components/business/system/Dict.vue"],"sourcesContent":["<template>\n <el-select :modelValue=\"modelValue\" @change=\"handleChange\" v-loading=\"loading\">\n <el-option\n v-for=\"item in dictData\"\n :key=\"item.VALUE\"\n :value=\"item.VALUE\"\n :label=\"item.NAME\"\n />\n </el-select>\n</template>\n\n<script setup lang=\"ts\">\n import {ref, watch} from 'vue';\n import {httpRequest} from 'yh-client';\n import type {ApiResponse} from 'yh-client';\n\n defineOptions({\n name: 'dict',\n });\n\n // 类型定义\n interface DictItem {\n VALUE: string;\n NAME: string;\n [key: string]: any;\n }\n\n // Props & Emits\n const props = withDefaults(\n defineProps<{\n modelValue?: string;\n dict?: string;\n _select_id?: string;\n url?: string;\n }>(),\n {\n modelValue: '',\n dict: '',\n _select_id: '',\n url: '/sysSelector/list',\n }\n );\n\n const emit = defineEmits<{\n 'update:modelValue': [value: string];\n change: [value: string];\n }>();\n\n // 响应式数据\n const dictData = ref<DictItem[]>([]);\n const loading = ref(false);\n\n // 获取字典数据\n const fetchDictData = () => {\n loading.value = true;\n httpRequest\n .post<ApiResponse<DictItem[]>>(props.url, {\n id: props._select_id,\n })\n .then((response) => {\n if (response.data.result) {\n dictData.value = response.data.data;\n }\n })\n .finally(() => {\n loading.value = false;\n });\n };\n\n // 选择变化处理\n const handleChange = (value: string) => {\n emit('update:modelValue', value);\n emit('change', value);\n };\n\n // dict 变化时重新加载,immediate 替代 mounted\n watch(\n () => props.dict,\n () => {\n fetchDictData();\n },\n {immediate: true}\n );\n</script>\n"],"names":["props","__props","emit","__emit","dictData","ref","loading","fetchDictData","httpRequest","response","handleChange","value","watch","_createBlock","_component_el_select","_createElementBlock","_Fragment","_renderList","item","_component_el_option"],"mappings":";;;;;;;;;;;;;;AA4BE,UAAMA,IAAQC,GAeRC,IAAOC,GAMPC,IAAWC,EAAgB,EAAE,GAC7BC,IAAUD,EAAI,EAAK,GAGnBE,IAAgB,MAAM;AAC1B,MAAAD,EAAQ,QAAQ,IAChBE,EACG,KAA8BR,EAAM,KAAK;AAAA,QACxC,IAAIA,EAAM;AAAA,MAAA,CACX,EACA,KAAK,CAACS,MAAa;AAClB,QAAIA,EAAS,KAAK,WAChBL,EAAS,QAAQK,EAAS,KAAK;AAAA,MAEnC,CAAC,EACA,QAAQ,MAAM;AACb,QAAAH,EAAQ,QAAQ;AAAA,MAClB,CAAC;AAAA,IACL,GAGMI,IAAe,CAACC,MAAkB;AACtC,MAAAT,EAAK,qBAAqBS,CAAK,GAC/BT,EAAK,UAAUS,CAAK;AAAA,IACtB;AAGA,WAAAC;AAAA,MACE,MAAMZ,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAO,EAAA;AAAA,MACF;AAAA,MACA,EAAC,WAAW,GAAA;AAAA,IAAI;;qBAhFlBM,EAOYC,GAAA;AAAA,QAPA,YAAYb,EAAA;AAAA,QAAa,UAAQS;AAAA,MAAA;mBAEzC,MAAwB;AAAA,kBAD1BK,EAKEC,GAAA,MAAAC,EAJeb,EAAA,OAAQ,CAAhBc,YADTL,EAKEM,GAAA;AAAA,YAHC,KAAKD,EAAK;AAAA,YACV,OAAOA,EAAK;AAAA,YACZ,OAAOA,EAAK;AAAA,UAAA;;;;YALqDZ,EAAA,KAAO;AAAA,MAAA;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { defineComponent as a, openBlock as t, createElementBlock as c, normalizeClass as d, createElementVNode as n, toDisplayString as o, Fragment as l, renderList as m, createBlock as u, unref as f, withCtx as _, createTextVNode as p, createCommentVNode as h } from "vue";
|
|
2
|
+
import { ElButton as k } from "element-plus";
|
|
3
|
+
import { _ as v } from "./index-BP41Ph8K.js";
|
|
4
|
+
const x = { class: "error-code" }, y = { class: "error-title" }, C = { class: "error-desc" }, E = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "error-actions"
|
|
7
|
+
}, g = /* @__PURE__ */ a({
|
|
8
|
+
__name: "Error",
|
|
9
|
+
props: {
|
|
10
|
+
code: {},
|
|
11
|
+
title: {},
|
|
12
|
+
description: {},
|
|
13
|
+
buttons: {}
|
|
14
|
+
},
|
|
15
|
+
setup(e) {
|
|
16
|
+
return (B, N) => {
|
|
17
|
+
var s;
|
|
18
|
+
return t(), c("div", {
|
|
19
|
+
class: d(["error-page", `error-${e.code}`])
|
|
20
|
+
}, [
|
|
21
|
+
n("div", x, o(e.code), 1),
|
|
22
|
+
n("div", y, o(e.title), 1),
|
|
23
|
+
n("div", C, o(e.description), 1),
|
|
24
|
+
(s = e.buttons) != null && s.length ? (t(), c("div", E, [
|
|
25
|
+
(t(!0), c(l, null, m(e.buttons, (r, i) => (t(), u(f(k), {
|
|
26
|
+
key: i,
|
|
27
|
+
type: r.type || "default",
|
|
28
|
+
onClick: r.action
|
|
29
|
+
}, {
|
|
30
|
+
default: _(() => [
|
|
31
|
+
p(o(r.text), 1)
|
|
32
|
+
]),
|
|
33
|
+
_: 2
|
|
34
|
+
}, 1032, ["type", "onClick"]))), 128))
|
|
35
|
+
])) : h("", !0)
|
|
36
|
+
], 2);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}), z = /* @__PURE__ */ v(g, [["__scopeId", "data-v-12cf3274"]]);
|
|
40
|
+
export {
|
|
41
|
+
z as E
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=Error-BCu4KHfU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Error-BCu4KHfU.js","sources":["../components/common/feedback/Error.vue"],"sourcesContent":["<template>\n <div :class=\"['error-page', `error-${code}`]\">\n <div class=\"error-code\">{{ code }}</div>\n <div class=\"error-title\">{{ title }}</div>\n <div class=\"error-desc\">{{ description }}</div>\n <div v-if=\"buttons?.length\" class=\"error-actions\">\n <el-button\n v-for=\"(btn, index) in buttons\"\n :key=\"index\"\n :type=\"btn.type || 'default'\"\n @click=\"btn.action\">\n {{ btn.text }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ElButton } from \"element-plus\";\n\nexport interface ErrorButton {\n text: string;\n type?: \"primary\" | \"success\" | \"warning\" | \"danger\" | \"info\" | \"default\" | \"text\";\n action: () => void;\n}\n\nexport interface ErrorProps {\n code: string;\n title: string;\n description: string;\n buttons?: ErrorButton[];\n}\n\ndefineProps<ErrorProps>();\n</script>\n\n<style scoped>\n.error-page {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100vh;\n text-align: center;\n background: var(--el-bg-color);\n}\n\n.error-page .error-code {\n font-size: 120px;\n font-weight: bold;\n color: var(--el-color-primary);\n line-height: 1;\n}\n\n.error-page .error-title {\n font-size: 32px;\n margin: 20px 0;\n color: var(--el-text-color-primary);\n}\n\n.error-page .error-desc {\n font-size: 16px;\n color: var(--el-text-color-regular);\n margin-bottom: 30px;\n}\n\n.error-page .error-actions {\n display: flex;\n gap: 12px;\n margin-top: 24px;\n}\n</style>\n"],"names":["_createElementBlock","__props","_createElementVNode","_hoisted_1","_toDisplayString","_hoisted_2","_hoisted_3","_a","_openBlock","_hoisted_4","_Fragment","_renderList","btn","index","_createBlock","_unref","ElButton","_createTextVNode"],"mappings":";;;;;;;;;;;;;;;;;kBACEA,EAaM,OAAA;AAAA,QAbA,iCAA+BC,EAAA,IAAI,EAAA,CAAA;AAAA,MAAA;QACvCC,EAAwC,OAAxCC,GAAwCC,EAAbH,EAAA,IAAI,GAAA,CAAA;AAAA,QAC/BC,EAA0C,OAA1CG,GAA0CD,EAAdH,EAAA,KAAK,GAAA,CAAA;AAAA,QACjCC,EAA+C,OAA/CI,GAA+CF,EAApBH,EAAA,WAAW,GAAA,CAAA;AAAA,SAC3BM,IAAAN,EAAA,YAAA,QAAAM,EAAS,UAApBC,KAAAR,EAQM,OARNS,GAQM;AAAA,WAPJD,EAAA,EAAA,GAAAR,EAMYU,GAAA,MAAAC,EALaV,EAAA,SAAO,CAAtBW,GAAKC,YADfC,EAMYC,EAAAC,CAAA,GAAA;AAAA,YAJT,KAAKH;AAAA,YACL,MAAMD,EAAI,QAAI;AAAA,YACd,SAAOA,EAAI;AAAA,UAAA;uBACZ,MAAc;AAAA,cAAXK,EAAAb,EAAAQ,EAAI,IAAI,GAAA,CAAA;AAAA,YAAA;;;;;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent as r, openBlock as e, createBlock as c } from "vue";
|
|
2
|
+
import { useRouter as n } from "vue-router";
|
|
3
|
+
import { E as p } from "./Error-BCu4KHfU.js";
|
|
4
|
+
const f = /* @__PURE__ */ r({
|
|
5
|
+
__name: "Error401",
|
|
6
|
+
setup(a) {
|
|
7
|
+
const t = n(), o = [
|
|
8
|
+
{
|
|
9
|
+
text: "返回上一页",
|
|
10
|
+
type: "default",
|
|
11
|
+
action: () => t.back()
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
text: "返回首页",
|
|
15
|
+
type: "primary",
|
|
16
|
+
action: () => t.push("/")
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
return (s, i) => (e(), c(p, {
|
|
20
|
+
code: "401",
|
|
21
|
+
title: "未授权",
|
|
22
|
+
description: "抱歉,您没有访问权限",
|
|
23
|
+
buttons: o
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
export {
|
|
28
|
+
f as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=Error401-C5kTyMSM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Error401-C5kTyMSM.js","sources":["../components/common/feedback/Error401.vue"],"sourcesContent":["<template>\n <Error\n code=\"401\"\n title=\"未授权\"\n description=\"抱歉,您没有访问权限\"\n :buttons=\"buttons\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useRouter } from \"vue-router\";\nimport Error from \"./Error.vue\";\nimport type { ErrorButton } from \"./Error.vue\";\n\nconst router = useRouter();\n\nconst buttons: ErrorButton[] = [\n {\n text: \"返回上一页\",\n type: \"default\",\n action: () => router.back(),\n },\n {\n text: \"返回首页\",\n type: \"primary\",\n action: () => router.push(\"/\"),\n },\n];\n</script>\n"],"names":["router","useRouter","buttons","_createBlock","Error"],"mappings":";;;;;;AAaA,UAAMA,IAASC,EAAA,GAETC,IAAyB;AAAA,MAC7B;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,MAAMF,EAAO,KAAA;AAAA,MAAK;AAAA,MAE5B;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,MAAMA,EAAO,KAAK,GAAG;AAAA,MAAA;AAAA,IAC/B;2BAxBAG,EAIuBC,GAAA;AAAA,MAHrB,MAAK;AAAA,MACL,OAAM;AAAA,MACN,aAAY;AAAA,MACX,SAAAF;AAAA,IAAA;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent as r, openBlock as e, createBlock as c } from "vue";
|
|
2
|
+
import { useRouter as n } from "vue-router";
|
|
3
|
+
import { E as p } from "./Error-BCu4KHfU.js";
|
|
4
|
+
const f = /* @__PURE__ */ r({
|
|
5
|
+
__name: "Error404",
|
|
6
|
+
setup(a) {
|
|
7
|
+
const t = n(), o = [
|
|
8
|
+
{
|
|
9
|
+
text: "返回上一页",
|
|
10
|
+
type: "default",
|
|
11
|
+
action: () => t.back()
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
text: "返回首页",
|
|
15
|
+
type: "primary",
|
|
16
|
+
action: () => t.push("/")
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
return (s, i) => (e(), c(p, {
|
|
20
|
+
code: "404",
|
|
21
|
+
title: "页面不存在",
|
|
22
|
+
description: "抱歉,您访问的页面不存在",
|
|
23
|
+
buttons: o
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
export {
|
|
28
|
+
f as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=Error404-P3qKjHk6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Error404-P3qKjHk6.js","sources":["../components/common/feedback/Error404.vue"],"sourcesContent":["<template>\n <Error\n code=\"404\"\n title=\"页面不存在\"\n description=\"抱歉,您访问的页面不存在\"\n :buttons=\"buttons\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useRouter } from \"vue-router\";\nimport Error from \"./Error.vue\";\nimport type { ErrorButton } from \"./Error.vue\";\n\nconst router = useRouter();\n\nconst buttons: ErrorButton[] = [\n {\n text: \"返回上一页\",\n type: \"default\",\n action: () => router.back(),\n },\n {\n text: \"返回首页\",\n type: \"primary\",\n action: () => router.push(\"/\"),\n },\n];\n</script>\n"],"names":["router","useRouter","buttons","_createBlock","Error"],"mappings":";;;;;;AAaA,UAAMA,IAASC,EAAA,GAETC,IAAyB;AAAA,MAC7B;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,MAAMF,EAAO,KAAA;AAAA,MAAK;AAAA,MAE5B;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,MAAMA,EAAO,KAAK,GAAG;AAAA,MAAA;AAAA,IAC/B;2BAxBAG,EAIuBC,GAAA;AAAA,MAHrB,MAAK;AAAA,MACL,OAAM;AAAA,MACN,aAAY;AAAA,MACX,SAAAF;AAAA,IAAA;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent as r, openBlock as e, createBlock as c } from "vue";
|
|
2
|
+
import { useRouter as n } from "vue-router";
|
|
3
|
+
import { E as p } from "./Error-BCu4KHfU.js";
|
|
4
|
+
const f = /* @__PURE__ */ r({
|
|
5
|
+
__name: "Error500",
|
|
6
|
+
setup(a) {
|
|
7
|
+
const t = n(), o = [
|
|
8
|
+
{
|
|
9
|
+
text: "返回上一页",
|
|
10
|
+
type: "default",
|
|
11
|
+
action: () => t.back()
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
text: "返回首页",
|
|
15
|
+
type: "primary",
|
|
16
|
+
action: () => t.push("/")
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
return (s, i) => (e(), c(p, {
|
|
20
|
+
code: "500",
|
|
21
|
+
title: "服务器错误",
|
|
22
|
+
description: "抱歉,服务器出了点问题",
|
|
23
|
+
buttons: o
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
export {
|
|
28
|
+
f as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=Error500-NVnuOBIQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Error500-NVnuOBIQ.js","sources":["../components/common/feedback/Error500.vue"],"sourcesContent":["<template>\n <Error\n code=\"500\"\n title=\"服务器错误\"\n description=\"抱歉,服务器出了点问题\"\n :buttons=\"buttons\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useRouter } from \"vue-router\";\nimport Error from \"./Error.vue\";\nimport type { ErrorButton } from \"./Error.vue\";\n\nconst router = useRouter();\n\nconst buttons: ErrorButton[] = [\n {\n text: \"返回上一页\",\n type: \"default\",\n action: () => router.back(),\n },\n {\n text: \"返回首页\",\n type: \"primary\",\n action: () => router.push(\"/\"),\n },\n];\n</script>\n"],"names":["router","useRouter","buttons","_createBlock","Error"],"mappings":";;;;;;AAaA,UAAMA,IAASC,EAAA,GAETC,IAAyB;AAAA,MAC7B;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,MAAMF,EAAO,KAAA;AAAA,MAAK;AAAA,MAE5B;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,MAAMA,EAAO,KAAK,GAAG;AAAA,MAAA;AAAA,IAC/B;2BAxBAG,EAIuBC,GAAA;AAAA,MAHrB,MAAK;AAAA,MACL,OAAM;AAAA,MACN,aAAY;AAAA,MACX,SAAAF;AAAA,IAAA;;;"}
|