create-young-proj 0.10.2 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.mjs +9 -9
- package/package.json +1 -1
- package/template-nuxt-admin/README.md +42 -1
- package/template-nuxt-admin/components/layout/Main.vue +2 -2
- package/template-nuxt-admin/components/layout/NavBar.vue +11 -2
- package/template-nuxt-admin/components/layout/SideBar.vue +6 -2
- package/template-nuxt-admin/components/layout/SubMenu.vue +9 -2
- package/template-nuxt-admin/components/layout/TabsBar.vue +4 -5
- package/template-nuxt-admin/composables/api.ts +17 -3
- package/template-nuxt-admin/composables/nav.ts +20 -3
- package/template-nuxt-admin/composables/tags.ts +29 -1
- package/template-nuxt-admin/middleware/auth.global.ts +16 -4
- package/template-nuxt-admin/nuxt.config.ts +5 -1
- package/template-nuxt-admin/package.json +5 -5
- package/template-nuxt-admin/pages/home/[id].vue +2 -2
- package/template-nuxt-admin/pages/index.vue +2 -7
- package/template-nuxt-admin/pages/login.vue +2 -2
- package/template-nuxt-admin/pages/system/menuList.vue +0 -1
- package/template-nuxt-admin/public/bg.webp +0 -0
- package/template-nuxt-admin/public/favicon.svg +2 -0
- package/template-nuxt-admin/public/logo.svg +2 -0
- package/template-nuxt-admin/server/plugins/env.ts +3 -4
- package/template-nuxt-admin/utils/tool.ts +17 -1
- package/template-nuxt-admin/yarn.lock +706 -854
- package/template-uni-app/auto-imports.d.ts +9 -6
- package/template-uni-app/custom-plugins/index.ts +1 -2
- package/template-uni-app/dist/dev/mp-weixin/apis/index.js +5 -6
- package/template-uni-app/dist/dev/mp-weixin/apis/requests/get.js +2 -2
- package/template-uni-app/dist/dev/mp-weixin/apis/requests/post.js +4 -4
- package/template-uni-app/dist/dev/mp-weixin/app.js +4 -5
- package/template-uni-app/dist/dev/mp-weixin/common/vendor.js +1448 -2471
- package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.js +7 -8
- package/template-uni-app/dist/dev/mp-weixin/components/young-navbar/young-navbar.wxml +1 -1
- package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.js +7 -8
- package/template-uni-app/dist/dev/mp-weixin/components/young-tabbar/young-tabbar.wxml +1 -1
- package/template-uni-app/dist/dev/mp-weixin/layouts/default.js +1 -2
- package/template-uni-app/dist/dev/mp-weixin/layouts/tabbar.wxml +1 -1
- package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.js +4 -5
- package/template-uni-app/dist/dev/mp-weixin/pages/demo/index.wxml +1 -1
- package/template-uni-app/dist/dev/mp-weixin/pages/index.js +4 -5
- package/template-uni-app/dist/dev/mp-weixin/pages/index.wxml +1 -1
- package/template-uni-app/dist/dev/mp-weixin/pages/my.wxml +1 -1
- package/template-uni-app/dist/dev/mp-weixin/project.config.json +1 -2
- package/template-uni-app/dist/dev/mp-weixin/project.private.config.json +6 -0
- package/template-uni-app/dist/dev/mp-weixin/store/local/index.js +3 -1
- package/template-uni-app/dist/dev/mp-weixin/utils/modal.js +10 -14
- package/template-uni-app/dist/dev/mp-weixin/utils/route.js +4 -6
- package/template-uni-app/dist/dev/mp-weixin/utils/system.js +4 -4
- package/template-uni-app/package.json +2 -3
- package/template-uni-app/pnpm-lock.yaml +154 -105
- package/template-uni-app/src/apis/index.ts +2 -2
- package/template-uni-app/src/apis/requests/get.ts +5 -5
- package/template-uni-app/src/apis/requests/post.ts +5 -5
- package/template-uni-app/vite.config.ts +2 -3
- package/template-nuxt-admin/public/favicon.ico +0 -0
- package/template-uni-app/custom-plugins/polyfill.ts +0 -32
- package/template-uni-app/dist/dev/mp-weixin/apis/lib/index.js +0 -90
- package/template-uni-app/src/apis/lib/index.ts +0 -235
- package/template-vue-admin/.vscode/extensions.json +0 -10
- package/template-vue-admin/.vscode/list-add.code-snippets +0 -108
- package/template-vue-admin/.vscode/list-export.code-snippets +0 -72
- package/template-vue-admin/.vscode/list.code-snippets +0 -61
- package/template-vue-admin/.vscode/settings.json +0 -7
- package/template-vue-admin/Dockerfile +0 -42
- package/template-vue-admin/README.md +0 -75
- package/template-vue-admin/_env +0 -8
- package/template-vue-admin/_gitignore +0 -30
- package/template-vue-admin/boot.mjs +0 -16
- package/template-vue-admin/build/custom-plugin.ts +0 -57
- package/template-vue-admin/build/index.ts +0 -7
- package/template-vue-admin/build/plugins.ts +0 -59
- package/template-vue-admin/config/.devrc +0 -2
- package/template-vue-admin/config/.onlinerc +0 -2
- package/template-vue-admin/config/.testrc +0 -2
- package/template-vue-admin/index.html +0 -21
- package/template-vue-admin/nitro.config.ts +0 -19
- package/template-vue-admin/package.json +0 -51
- package/template-vue-admin/plugins/init.ts +0 -31
- package/template-vue-admin/public/vite.svg +0 -1
- package/template-vue-admin/rome.json +0 -26
- package/template-vue-admin/routes/api/[...all].ts +0 -49
- package/template-vue-admin/routes/get/env.ts +0 -18
- package/template-vue-admin/src/App.vue +0 -14
- package/template-vue-admin/src/apis/delete.ts +0 -36
- package/template-vue-admin/src/apis/get.ts +0 -83
- package/template-vue-admin/src/apis/index.ts +0 -10
- package/template-vue-admin/src/apis/patch.ts +0 -78
- package/template-vue-admin/src/apis/post.ts +0 -76
- package/template-vue-admin/src/assets/img/login_background.jpg +0 -0
- package/template-vue-admin/src/auto-components.d.ts +0 -38
- package/template-vue-admin/src/auto-imports.d.ts +0 -302
- package/template-vue-admin/src/layouts/blank.vue +0 -9
- package/template-vue-admin/src/layouts/default/components/Link.vue +0 -23
- package/template-vue-admin/src/layouts/default/components/Logo.vue +0 -20
- package/template-vue-admin/src/layouts/default/components/Menu.vue +0 -54
- package/template-vue-admin/src/layouts/default/components/NavSearch.vue +0 -52
- package/template-vue-admin/src/layouts/default/components/ScrollPane.vue +0 -79
- package/template-vue-admin/src/layouts/default/components/TagsView.vue +0 -137
- package/template-vue-admin/src/layouts/default/components/TopMenu.vue +0 -21
- package/template-vue-admin/src/layouts/default/components/UserCenter.vue +0 -50
- package/template-vue-admin/src/layouts/default/index.vue +0 -95
- package/template-vue-admin/src/main.ts +0 -46
- package/template-vue-admin/src/modules/1-router.ts +0 -48
- package/template-vue-admin/src/modules/2-pinia.ts +0 -10
- package/template-vue-admin/src/modules/3-net.ts +0 -79
- package/template-vue-admin/src/modules/4-auth.ts +0 -124
- package/template-vue-admin/src/modules/5-checkupdate.ts +0 -38
- package/template-vue-admin/src/shims.d.ts +0 -12
- package/template-vue-admin/src/stores/index.ts +0 -9
- package/template-vue-admin/src/stores/local/index.ts +0 -31
- package/template-vue-admin/src/stores/session/index.ts +0 -63
- package/template-vue-admin/src/stores/tags.ts +0 -109
- package/template-vue-admin/src/typings/global.d.ts +0 -70
- package/template-vue-admin/src/typings/index.ts +0 -13
- package/template-vue-admin/src/typings/system.d.ts +0 -46
- package/template-vue-admin/src/views/403.vue +0 -33
- package/template-vue-admin/src/views/[...all_404].vue +0 -557
- package/template-vue-admin/src/views/base/login.vue +0 -194
- package/template-vue-admin/src/views/dashboard/[name].vue +0 -28
- package/template-vue-admin/src/views/index.vue +0 -25
- package/template-vue-admin/src/views/system/api.vue +0 -160
- package/template-vue-admin/src/views/system/hooks/useRole.ts +0 -286
- package/template-vue-admin/src/views/system/menuList.vue +0 -194
- package/template-vue-admin/src/views/system/role.vue +0 -131
- package/template-vue-admin/src/views/system/user.vue +0 -192
- package/template-vue-admin/src/vite-env.d.ts +0 -52
- package/template-vue-admin/tsconfig.json +0 -21
- package/template-vue-admin/tsconfig.node.json +0 -9
- package/template-vue-admin/unocss.config.ts +0 -47
- package/template-vue-admin/vite.config.ts +0 -32
@@ -1,78 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* @Author: zhangyang
|
3
|
-
* @Date: 2023-01-04 19:31:22
|
4
|
-
* @LastEditTime: 2023-01-06 16:50:47
|
5
|
-
* @Description:
|
6
|
-
*/
|
7
|
-
import { http } from '@/modules/3-net';
|
8
|
-
|
9
|
-
const method = 'PATCH';
|
10
|
-
|
11
|
-
export const usePatchReq = () => ({
|
12
|
-
/**
|
13
|
-
* 更新用户信息
|
14
|
-
*/
|
15
|
-
changeUserItem: async ({ id, ...data }: Partial<UserItem>) => {
|
16
|
-
await http.authReq({
|
17
|
-
url: `/user/update/${id}`,
|
18
|
-
method,
|
19
|
-
data,
|
20
|
-
});
|
21
|
-
},
|
22
|
-
/**
|
23
|
-
* 更新菜单信息
|
24
|
-
*/
|
25
|
-
changeMenuItem: async ({ id, ...data }: Partial<NavArrItem>) => {
|
26
|
-
await http.authReq({
|
27
|
-
url: `/menu/update/${id}`,
|
28
|
-
method,
|
29
|
-
data,
|
30
|
-
});
|
31
|
-
},
|
32
|
-
/**
|
33
|
-
* 更新接口
|
34
|
-
*/
|
35
|
-
changeApiItem: async ({ id, ...data }: Partial<ApiItem>) => {
|
36
|
-
await http.authReq({
|
37
|
-
url: `/api/update/${id}`,
|
38
|
-
method,
|
39
|
-
data,
|
40
|
-
});
|
41
|
-
},
|
42
|
-
/**
|
43
|
-
* 更新角色
|
44
|
-
*/
|
45
|
-
changeRoleItem: async ({ id, ...data }: Partial<RoleItem>) => {
|
46
|
-
await http.authReq({
|
47
|
-
url: `/role/update/${id}`,
|
48
|
-
method,
|
49
|
-
data,
|
50
|
-
});
|
51
|
-
},
|
52
|
-
/**
|
53
|
-
* 更新角色菜单权限
|
54
|
-
*/
|
55
|
-
changeRoleMenu: async (roleId: number, add: number[], del: number[]) => {
|
56
|
-
await http.authReq({
|
57
|
-
url: `role/menus/update/${roleId}`,
|
58
|
-
method,
|
59
|
-
data: {
|
60
|
-
create: add,
|
61
|
-
delete: del,
|
62
|
-
},
|
63
|
-
});
|
64
|
-
},
|
65
|
-
/**
|
66
|
-
* 更新角色接口权限
|
67
|
-
*/
|
68
|
-
changeRoleApi: async (roleId: number, add: number[], del: number[]) => {
|
69
|
-
await http.authReq({
|
70
|
-
url: `role/apis/update/${roleId}`,
|
71
|
-
method,
|
72
|
-
data: {
|
73
|
-
create: add,
|
74
|
-
delete: del,
|
75
|
-
},
|
76
|
-
});
|
77
|
-
},
|
78
|
-
});
|
@@ -1,76 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* @Author: zhangyang
|
3
|
-
* @Date: 2023-01-04 11:33:12
|
4
|
-
* @LastEditTime: 2023-05-18 16:14:20
|
5
|
-
* @Description:
|
6
|
-
*/
|
7
|
-
import { http } from '@/modules/3-net';
|
8
|
-
import { useUserStore } from '@/stores';
|
9
|
-
|
10
|
-
export const usePostReq = () => ({
|
11
|
-
/**
|
12
|
-
* 登录
|
13
|
-
*/
|
14
|
-
login: async (data: {
|
15
|
-
/**
|
16
|
-
* 用户名
|
17
|
-
*/
|
18
|
-
username: string;
|
19
|
-
/**
|
20
|
-
* 密码
|
21
|
-
*/
|
22
|
-
password: string;
|
23
|
-
}) =>
|
24
|
-
http.freeReq<UserKey>({
|
25
|
-
url: '/base/login',
|
26
|
-
data,
|
27
|
-
}),
|
28
|
-
/**
|
29
|
-
* 获取当前用户的信息
|
30
|
-
*/
|
31
|
-
getCurrUserInfo: async () => {
|
32
|
-
const { CurrUserInfo } = useUserStore();
|
33
|
-
if (CurrUserInfo.value.id) {
|
34
|
-
return Promise.resolve(CurrUserInfo.value);
|
35
|
-
}
|
36
|
-
return http.authReq<CurrUserInfo>({
|
37
|
-
url: '/user/info',
|
38
|
-
});
|
39
|
-
},
|
40
|
-
/**
|
41
|
-
* 创建用户
|
42
|
-
*/
|
43
|
-
addUserItem: async (data: UserItem) => {
|
44
|
-
await http.authReq({
|
45
|
-
url: '/user/create',
|
46
|
-
data,
|
47
|
-
});
|
48
|
-
},
|
49
|
-
/**
|
50
|
-
* 创建菜单
|
51
|
-
*/
|
52
|
-
addMenuItem: async (data: NavArrItem) => {
|
53
|
-
await http.authReq({
|
54
|
-
url: '/menu/create',
|
55
|
-
data,
|
56
|
-
});
|
57
|
-
},
|
58
|
-
/**
|
59
|
-
* 创建接口
|
60
|
-
*/
|
61
|
-
addApiItem: async (data: ApiItem) => {
|
62
|
-
await http.authReq({
|
63
|
-
url: '/api/create',
|
64
|
-
data,
|
65
|
-
});
|
66
|
-
},
|
67
|
-
/**
|
68
|
-
* 创建角色
|
69
|
-
*/
|
70
|
-
addRoleItem: async (data: RoleItem) => {
|
71
|
-
await http.authReq({
|
72
|
-
url: '/role/create',
|
73
|
-
data,
|
74
|
-
});
|
75
|
-
},
|
76
|
-
});
|
Binary file
|
@@ -1,38 +0,0 @@
|
|
1
|
-
/* eslint-disable */
|
2
|
-
/* prettier-ignore */
|
3
|
-
// @ts-nocheck
|
4
|
-
// Generated by unplugin-vue-components
|
5
|
-
// Read more: https://github.com/vuejs/core/pull/3399
|
6
|
-
import '@vue/runtime-core'
|
7
|
-
|
8
|
-
export {}
|
9
|
-
|
10
|
-
declare module '@vue/runtime-core' {
|
11
|
-
export interface GlobalComponents {
|
12
|
-
ElAvatar: typeof import('element-plus/es')['ElAvatar']
|
13
|
-
ElButton: typeof import('element-plus/es')['ElButton']
|
14
|
-
ElCard: typeof import('element-plus/es')['ElCard']
|
15
|
-
ElCascader: typeof import('element-plus/es')['ElCascader']
|
16
|
-
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
|
17
|
-
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
|
18
|
-
ElDropdown: typeof import('element-plus/es')['ElDropdown']
|
19
|
-
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
|
20
|
-
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
|
21
|
-
ElForm: typeof import('element-plus/es')['ElForm']
|
22
|
-
ElFormItem: typeof import('element-plus/es')['ElFormItem']
|
23
|
-
ElInput: typeof import('element-plus/es')['ElInput']
|
24
|
-
ElMenu: typeof import('element-plus/es')['ElMenu']
|
25
|
-
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
|
26
|
-
ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup']
|
27
|
-
ElOption: typeof import('element-plus/es')['ElOption']
|
28
|
-
ElResult: typeof import('element-plus/es')['ElResult']
|
29
|
-
ElSelect: typeof import('element-plus/es')['ElSelect']
|
30
|
-
ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
|
31
|
-
ElSwitch: typeof import('element-plus/es')['ElSwitch']
|
32
|
-
ElTable: typeof import('element-plus/es')['ElTable']
|
33
|
-
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
|
34
|
-
ElTag: typeof import('element-plus/es')['ElTag']
|
35
|
-
RouterLink: typeof import('vue-router')['RouterLink']
|
36
|
-
RouterView: typeof import('vue-router')['RouterView']
|
37
|
-
}
|
38
|
-
}
|
@@ -1,302 +0,0 @@
|
|
1
|
-
/* eslint-disable */
|
2
|
-
/* prettier-ignore */
|
3
|
-
// @ts-nocheck
|
4
|
-
// Generated by unplugin-auto-import
|
5
|
-
export {}
|
6
|
-
declare global {
|
7
|
-
const EffectScope: typeof import('vue')['EffectScope']
|
8
|
-
const ElLoadingService: typeof import('element-plus')['ElLoadingService']
|
9
|
-
const ElMessage: typeof import('element-plus')['ElMessage']
|
10
|
-
const ElMessageBox: typeof import('element-plus')['ElMessageBox']
|
11
|
-
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
|
12
|
-
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
|
13
|
-
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
|
14
|
-
const computed: typeof import('vue')['computed']
|
15
|
-
const computedAsync: typeof import('@vueuse/core')['computedAsync']
|
16
|
-
const computedEager: typeof import('@vueuse/core')['computedEager']
|
17
|
-
const computedInject: typeof import('@vueuse/core')['computedInject']
|
18
|
-
const computedWithControl: typeof import('@vueuse/core')['computedWithControl']
|
19
|
-
const controlledComputed: typeof import('@vueuse/core')['controlledComputed']
|
20
|
-
const controlledRef: typeof import('@vueuse/core')['controlledRef']
|
21
|
-
const createApp: typeof import('vue')['createApp']
|
22
|
-
const createEventHook: typeof import('@vueuse/core')['createEventHook']
|
23
|
-
const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
|
24
|
-
const createInjectionState: typeof import('@vueuse/core')['createInjectionState']
|
25
|
-
const createPinia: typeof import('pinia')['createPinia']
|
26
|
-
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
|
27
|
-
const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate']
|
28
|
-
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
|
29
|
-
const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise']
|
30
|
-
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
|
31
|
-
const customRef: typeof import('vue')['customRef']
|
32
|
-
const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
|
33
|
-
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
|
34
|
-
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
35
|
-
const defineComponent: typeof import('vue')['defineComponent']
|
36
|
-
const defineStore: typeof import('pinia')['defineStore']
|
37
|
-
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
|
38
|
-
const effectScope: typeof import('vue')['effectScope']
|
39
|
-
const extendRef: typeof import('@vueuse/core')['extendRef']
|
40
|
-
const getActivePinia: typeof import('pinia')['getActivePinia']
|
41
|
-
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
42
|
-
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
43
|
-
const h: typeof import('vue')['h']
|
44
|
-
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
|
45
|
-
const inject: typeof import('vue')['inject']
|
46
|
-
const isDefined: typeof import('@vueuse/core')['isDefined']
|
47
|
-
const isProxy: typeof import('vue')['isProxy']
|
48
|
-
const isReactive: typeof import('vue')['isReactive']
|
49
|
-
const isReadonly: typeof import('vue')['isReadonly']
|
50
|
-
const isRef: typeof import('vue')['isRef']
|
51
|
-
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
|
52
|
-
const mapActions: typeof import('pinia')['mapActions']
|
53
|
-
const mapGetters: typeof import('pinia')['mapGetters']
|
54
|
-
const mapState: typeof import('pinia')['mapState']
|
55
|
-
const mapStores: typeof import('pinia')['mapStores']
|
56
|
-
const mapWritableState: typeof import('pinia')['mapWritableState']
|
57
|
-
const markRaw: typeof import('vue')['markRaw']
|
58
|
-
const nextTick: typeof import('vue')['nextTick']
|
59
|
-
const onActivated: typeof import('vue')['onActivated']
|
60
|
-
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
61
|
-
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
|
62
|
-
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
|
63
|
-
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
64
|
-
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
65
|
-
const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
|
66
|
-
const onDeactivated: typeof import('vue')['onDeactivated']
|
67
|
-
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
68
|
-
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
|
69
|
-
const onLongPress: typeof import('@vueuse/core')['onLongPress']
|
70
|
-
const onMounted: typeof import('vue')['onMounted']
|
71
|
-
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
72
|
-
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
73
|
-
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
74
|
-
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
75
|
-
const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
|
76
|
-
const onUnmounted: typeof import('vue')['onUnmounted']
|
77
|
-
const onUpdated: typeof import('vue')['onUpdated']
|
78
|
-
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
|
79
|
-
const provide: typeof import('vue')['provide']
|
80
|
-
const reactify: typeof import('@vueuse/core')['reactify']
|
81
|
-
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
|
82
|
-
const reactive: typeof import('vue')['reactive']
|
83
|
-
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed']
|
84
|
-
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit']
|
85
|
-
const reactivePick: typeof import('@vueuse/core')['reactivePick']
|
86
|
-
const readonly: typeof import('vue')['readonly']
|
87
|
-
const ref: typeof import('vue')['ref']
|
88
|
-
const refAutoReset: typeof import('@vueuse/core')['refAutoReset']
|
89
|
-
const refDebounced: typeof import('@vueuse/core')['refDebounced']
|
90
|
-
const refDefault: typeof import('@vueuse/core')['refDefault']
|
91
|
-
const refThrottled: typeof import('@vueuse/core')['refThrottled']
|
92
|
-
const refWithControl: typeof import('@vueuse/core')['refWithControl']
|
93
|
-
const resolveComponent: typeof import('vue')['resolveComponent']
|
94
|
-
const resolveDirective: typeof import('vue')['resolveDirective']
|
95
|
-
const resolveRef: typeof import('@vueuse/core')['resolveRef']
|
96
|
-
const resolveUnref: typeof import('@vueuse/core')['resolveUnref']
|
97
|
-
const setActivePinia: typeof import('pinia')['setActivePinia']
|
98
|
-
const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
|
99
|
-
const shallowReactive: typeof import('vue')['shallowReactive']
|
100
|
-
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
101
|
-
const shallowRef: typeof import('vue')['shallowRef']
|
102
|
-
const storeToRefs: typeof import('pinia')['storeToRefs']
|
103
|
-
const syncRef: typeof import('@vueuse/core')['syncRef']
|
104
|
-
const syncRefs: typeof import('@vueuse/core')['syncRefs']
|
105
|
-
const templateRef: typeof import('@vueuse/core')['templateRef']
|
106
|
-
const throttledRef: typeof import('@vueuse/core')['throttledRef']
|
107
|
-
const throttledWatch: typeof import('@vueuse/core')['throttledWatch']
|
108
|
-
const toRaw: typeof import('vue')['toRaw']
|
109
|
-
const toReactive: typeof import('@vueuse/core')['toReactive']
|
110
|
-
const toRef: typeof import('vue')['toRef']
|
111
|
-
const toRefs: typeof import('vue')['toRefs']
|
112
|
-
const triggerRef: typeof import('vue')['triggerRef']
|
113
|
-
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount']
|
114
|
-
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount']
|
115
|
-
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
|
116
|
-
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
|
117
|
-
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
|
118
|
-
const unref: typeof import('vue')['unref']
|
119
|
-
const unrefElement: typeof import('@vueuse/core')['unrefElement']
|
120
|
-
const until: typeof import('@vueuse/core')['until']
|
121
|
-
const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
|
122
|
-
const useAnimate: typeof import('@vueuse/core')['useAnimate']
|
123
|
-
const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference']
|
124
|
-
const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery']
|
125
|
-
const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter']
|
126
|
-
const useArrayFind: typeof import('@vueuse/core')['useArrayFind']
|
127
|
-
const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex']
|
128
|
-
const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast']
|
129
|
-
const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes']
|
130
|
-
const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin']
|
131
|
-
const useArrayMap: typeof import('@vueuse/core')['useArrayMap']
|
132
|
-
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce']
|
133
|
-
const useArraySome: typeof import('@vueuse/core')['useArraySome']
|
134
|
-
const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique']
|
135
|
-
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
|
136
|
-
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
|
137
|
-
const useAttrs: typeof import('vue')['useAttrs']
|
138
|
-
const useBase64: typeof import('@vueuse/core')['useBase64']
|
139
|
-
const useBattery: typeof import('@vueuse/core')['useBattery']
|
140
|
-
const useBluetooth: typeof import('@vueuse/core')['useBluetooth']
|
141
|
-
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
|
142
|
-
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
|
143
|
-
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
|
144
|
-
const useCached: typeof import('@vueuse/core')['useCached']
|
145
|
-
const useClipboard: typeof import('@vueuse/core')['useClipboard']
|
146
|
-
const useCloned: typeof import('@vueuse/core')['useCloned']
|
147
|
-
const useColorMode: typeof import('@vueuse/core')['useColorMode']
|
148
|
-
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
|
149
|
-
const useCounter: typeof import('@vueuse/core')['useCounter']
|
150
|
-
const useCssModule: typeof import('vue')['useCssModule']
|
151
|
-
const useCssVar: typeof import('@vueuse/core')['useCssVar']
|
152
|
-
const useCssVars: typeof import('vue')['useCssVars']
|
153
|
-
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement']
|
154
|
-
const useCycleList: typeof import('@vueuse/core')['useCycleList']
|
155
|
-
const useDark: typeof import('@vueuse/core')['useDark']
|
156
|
-
const useDateFormat: typeof import('@vueuse/core')['useDateFormat']
|
157
|
-
const useDebounce: typeof import('@vueuse/core')['useDebounce']
|
158
|
-
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn']
|
159
|
-
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory']
|
160
|
-
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion']
|
161
|
-
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation']
|
162
|
-
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio']
|
163
|
-
const useDevicesList: typeof import('@vueuse/core')['useDevicesList']
|
164
|
-
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia']
|
165
|
-
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
|
166
|
-
const useDraggable: typeof import('@vueuse/core')['useDraggable']
|
167
|
-
const useDropZone: typeof import('@vueuse/core')['useDropZone']
|
168
|
-
const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
|
169
|
-
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
|
170
|
-
const useElementHover: typeof import('@vueuse/core')['useElementHover']
|
171
|
-
const useElementSize: typeof import('@vueuse/core')['useElementSize']
|
172
|
-
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility']
|
173
|
-
const useEventBus: typeof import('@vueuse/core')['useEventBus']
|
174
|
-
const useEventListener: typeof import('@vueuse/core')['useEventListener']
|
175
|
-
const useEventSource: typeof import('@vueuse/core')['useEventSource']
|
176
|
-
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper']
|
177
|
-
const useFavicon: typeof import('@vueuse/core')['useFavicon']
|
178
|
-
const useFetch: typeof import('@vueuse/core')['useFetch']
|
179
|
-
const useFileDialog: typeof import('@vueuse/core')['useFileDialog']
|
180
|
-
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess']
|
181
|
-
const useFocus: typeof import('@vueuse/core')['useFocus']
|
182
|
-
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin']
|
183
|
-
const useFps: typeof import('@vueuse/core')['useFps']
|
184
|
-
const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
|
185
|
-
const useGamepad: typeof import('@vueuse/core')['useGamepad']
|
186
|
-
const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
|
187
|
-
const useIdle: typeof import('@vueuse/core')['useIdle']
|
188
|
-
const useImage: typeof import('@vueuse/core')['useImage']
|
189
|
-
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
|
190
|
-
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
|
191
|
-
const useInterval: typeof import('@vueuse/core')['useInterval']
|
192
|
-
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
|
193
|
-
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier']
|
194
|
-
const useLastChanged: typeof import('@vueuse/core')['useLastChanged']
|
195
|
-
const useLink: typeof import('vue-router')['useLink']
|
196
|
-
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage']
|
197
|
-
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys']
|
198
|
-
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory']
|
199
|
-
const useMediaControls: typeof import('@vueuse/core')['useMediaControls']
|
200
|
-
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
|
201
|
-
const useMemoize: typeof import('@vueuse/core')['useMemoize']
|
202
|
-
const useMemory: typeof import('@vueuse/core')['useMemory']
|
203
|
-
const useMounted: typeof import('@vueuse/core')['useMounted']
|
204
|
-
const useMouse: typeof import('@vueuse/core')['useMouse']
|
205
|
-
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
|
206
|
-
const useMousePressed: typeof import('@vueuse/core')['useMousePressed']
|
207
|
-
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver']
|
208
|
-
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage']
|
209
|
-
const useNetwork: typeof import('@vueuse/core')['useNetwork']
|
210
|
-
const useNow: typeof import('@vueuse/core')['useNow']
|
211
|
-
const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl']
|
212
|
-
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination']
|
213
|
-
const useOnline: typeof import('@vueuse/core')['useOnline']
|
214
|
-
const usePageLeave: typeof import('@vueuse/core')['usePageLeave']
|
215
|
-
const useParallax: typeof import('@vueuse/core')['useParallax']
|
216
|
-
const useParentElement: typeof import('@vueuse/core')['useParentElement']
|
217
|
-
const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver']
|
218
|
-
const usePermission: typeof import('@vueuse/core')['usePermission']
|
219
|
-
const usePointer: typeof import('@vueuse/core')['usePointer']
|
220
|
-
const usePointerLock: typeof import('@vueuse/core')['usePointerLock']
|
221
|
-
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
|
222
|
-
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
|
223
|
-
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast']
|
224
|
-
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
|
225
|
-
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
|
226
|
-
const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
|
227
|
-
const usePrevious: typeof import('@vueuse/core')['usePrevious']
|
228
|
-
const useRafFn: typeof import('@vueuse/core')['useRafFn']
|
229
|
-
const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
|
230
|
-
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
|
231
|
-
const useRoute: typeof import('vue-router')['useRoute']
|
232
|
-
const useRouter: typeof import('vue-router')['useRouter']
|
233
|
-
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation']
|
234
|
-
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
|
235
|
-
const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
|
236
|
-
const useScroll: typeof import('@vueuse/core')['useScroll']
|
237
|
-
const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
|
238
|
-
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
|
239
|
-
const useShare: typeof import('@vueuse/core')['useShare']
|
240
|
-
const useSlots: typeof import('vue')['useSlots']
|
241
|
-
const useSorted: typeof import('@vueuse/core')['useSorted']
|
242
|
-
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
|
243
|
-
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis']
|
244
|
-
const useStepper: typeof import('@vueuse/core')['useStepper']
|
245
|
-
const useStorage: typeof import('@vueuse/core')['useStorage']
|
246
|
-
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync']
|
247
|
-
const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
|
248
|
-
const useSupported: typeof import('@vueuse/core')['useSupported']
|
249
|
-
const useSwipe: typeof import('@vueuse/core')['useSwipe']
|
250
|
-
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
|
251
|
-
const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
|
252
|
-
const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
|
253
|
-
const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize']
|
254
|
-
const useThrottle: typeof import('@vueuse/core')['useThrottle']
|
255
|
-
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
|
256
|
-
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
|
257
|
-
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
|
258
|
-
const useTimeout: typeof import('@vueuse/core')['useTimeout']
|
259
|
-
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
|
260
|
-
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll']
|
261
|
-
const useTimestamp: typeof import('@vueuse/core')['useTimestamp']
|
262
|
-
const useTitle: typeof import('@vueuse/core')['useTitle']
|
263
|
-
const useToNumber: typeof import('@vueuse/core')['useToNumber']
|
264
|
-
const useToString: typeof import('@vueuse/core')['useToString']
|
265
|
-
const useToggle: typeof import('@vueuse/core')['useToggle']
|
266
|
-
const useTransition: typeof import('@vueuse/core')['useTransition']
|
267
|
-
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
|
268
|
-
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
|
269
|
-
const useVModel: typeof import('@vueuse/core')['useVModel']
|
270
|
-
const useVModels: typeof import('@vueuse/core')['useVModels']
|
271
|
-
const useVibrate: typeof import('@vueuse/core')['useVibrate']
|
272
|
-
const useVirtualList: typeof import('@vueuse/core')['useVirtualList']
|
273
|
-
const useWakeLock: typeof import('@vueuse/core')['useWakeLock']
|
274
|
-
const useWebNotification: typeof import('@vueuse/core')['useWebNotification']
|
275
|
-
const useWebSocket: typeof import('@vueuse/core')['useWebSocket']
|
276
|
-
const useWebWorker: typeof import('@vueuse/core')['useWebWorker']
|
277
|
-
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn']
|
278
|
-
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus']
|
279
|
-
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll']
|
280
|
-
const useWindowSize: typeof import('@vueuse/core')['useWindowSize']
|
281
|
-
const watch: typeof import('vue')['watch']
|
282
|
-
const watchArray: typeof import('@vueuse/core')['watchArray']
|
283
|
-
const watchAtMost: typeof import('@vueuse/core')['watchAtMost']
|
284
|
-
const watchDebounced: typeof import('@vueuse/core')['watchDebounced']
|
285
|
-
const watchDeep: typeof import('@vueuse/core')['watchDeep']
|
286
|
-
const watchEffect: typeof import('vue')['watchEffect']
|
287
|
-
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable']
|
288
|
-
const watchImmediate: typeof import('@vueuse/core')['watchImmediate']
|
289
|
-
const watchOnce: typeof import('@vueuse/core')['watchOnce']
|
290
|
-
const watchPausable: typeof import('@vueuse/core')['watchPausable']
|
291
|
-
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
292
|
-
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
293
|
-
const watchThrottled: typeof import('@vueuse/core')['watchThrottled']
|
294
|
-
const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable']
|
295
|
-
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter']
|
296
|
-
const whenever: typeof import('@vueuse/core')['whenever']
|
297
|
-
}
|
298
|
-
// for type re-export
|
299
|
-
declare global {
|
300
|
-
// @ts-ignore
|
301
|
-
export type { Component, ComponentPublicInstance, ComputedRef, InjectionKey, PropType, Ref, VNode } from 'vue'
|
302
|
-
}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
<!--
|
2
|
-
* @Author: zhangyang
|
3
|
-
* @Date: 2022-10-25 17:32:07
|
4
|
-
* @LastEditTime: 2023-01-05 16:54:27
|
5
|
-
* @Description:
|
6
|
-
-->
|
7
|
-
<template>
|
8
|
-
<a v-if="linkProps(to) === 'a'" :href="to" target="_blank" rel="noopener">
|
9
|
-
<div class="flex items-center">
|
10
|
-
<slot />
|
11
|
-
</div>
|
12
|
-
</a>
|
13
|
-
<router-link v-else :to="to">
|
14
|
-
<div class="flex items-center">
|
15
|
-
<slot />
|
16
|
-
</div>
|
17
|
-
</router-link>
|
18
|
-
</template>
|
19
|
-
<script lang="ts" setup>
|
20
|
-
import { isHttpUrl } from '@bluesyoung/utils';
|
21
|
-
const props = defineProps<{ to: string }>();
|
22
|
-
const linkProps = (url: string) => isHttpUrl(url) ? 'a' : 'router-link';
|
23
|
-
</script>
|
@@ -1,20 +0,0 @@
|
|
1
|
-
<!--
|
2
|
-
* @Author: zhangyang
|
3
|
-
* @Date: 2020-12-10 14:10:09
|
4
|
-
* @LastEditTime: 2023-01-05 16:06:32
|
5
|
-
* @Description: 侧边栏 logo 组件
|
6
|
-
-->
|
7
|
-
<template>
|
8
|
-
<RouterLink v-if="isCollapse" key="collapse" class="sidebar-logo-link" to="/">
|
9
|
-
<div class="i-dashicons-admin-home sidebar-logo-hide text-white" />
|
10
|
-
</RouterLink>
|
11
|
-
<RouterLink v-else key="expand" class="sidebar-logo-link" to="/">
|
12
|
-
<div class="w-full text-center">{{ title }}</div>
|
13
|
-
<code
|
14
|
-
class="text-sm bg-gradient-to-r from-green-300 via-blue-500 to-purple-600 bg-clip-text text-transparent font-900 animate-pulse">Ctrl + K 呼出快捷菜单</code>
|
15
|
-
</RouterLink>
|
16
|
-
</template>
|
17
|
-
<script lang="ts" setup>
|
18
|
-
import { isCollapse } from '@/stores';
|
19
|
-
const title = window.__YOUNG_VITE_ENV__.VITE_TITLE ?? '小黑后台';
|
20
|
-
</script>
|
@@ -1,54 +0,0 @@
|
|
1
|
-
<!--
|
2
|
-
* @Author: zhangyang
|
3
|
-
* @Date: 2022-10-26 09:24:29
|
4
|
-
* @LastEditTime: 2023-01-06 16:42:20
|
5
|
-
* @Description:
|
6
|
-
-->
|
7
|
-
<script lang="ts" setup>
|
8
|
-
import { useNavStore } from '@/stores';
|
9
|
-
import Link from './Link.vue';
|
10
|
-
const { NavArr } = useNavStore();
|
11
|
-
const activeIndex = ref('0');
|
12
|
-
const haldleSelected = (index: string) => {
|
13
|
-
activeIndex.value = index;
|
14
|
-
};
|
15
|
-
</script>
|
16
|
-
<template>
|
17
|
-
<ElMenu :default-active="activeIndex" background-color="rgb(48, 65, 86)" text-color="#fff" mode="vertical"
|
18
|
-
style="border-right: none;" router @select="haldleSelected">
|
19
|
-
<div v-for="(nav, index) in NavArr" :key="index + 'adskjgkjer'">
|
20
|
-
<ElSubMenu v-if="NavArr[index]?.children?.filter((n) => +n.visible === 1).length"
|
21
|
-
:index="index + 'adskjgkjer' + nav.component">
|
22
|
-
<template #title>
|
23
|
-
<Link v-if="nav.component" :to="nav.component">
|
24
|
-
<span class="ml-1">{{ nav.title }}</span>
|
25
|
-
</Link>
|
26
|
-
<span v-else class="ml-1">{{ nav.title }}</span>
|
27
|
-
</template>
|
28
|
-
<ElMenuItemGroup>
|
29
|
-
<ElMenuItem style="padding: 0;" v-for="(sub, idx) in NavArr[index].children?.filter((n) => +n.visible === 1)"
|
30
|
-
:key="index + '-' + idx + 'fdjahsuy'" :index="sub.component" :route="sub.component">
|
31
|
-
<template #title>
|
32
|
-
<Link class="block w-full text-left box-border pl-[40px] pr-[20px]" :to="sub.component">
|
33
|
-
<span class="ml-1">{{ sub.title }}</span>
|
34
|
-
</Link>
|
35
|
-
</template>
|
36
|
-
</ElMenuItem>
|
37
|
-
</ElMenuItemGroup>
|
38
|
-
</ElSubMenu>
|
39
|
-
<ElMenuItem v-else :index="nav.component">
|
40
|
-
<template #title>
|
41
|
-
<Link :to="nav.component">
|
42
|
-
<span class="ml-1">{{ nav.title }}</span>
|
43
|
-
</Link>
|
44
|
-
</template>
|
45
|
-
</ElMenuItem>
|
46
|
-
</div>
|
47
|
-
</ElMenu>
|
48
|
-
</template>
|
49
|
-
|
50
|
-
<style>
|
51
|
-
.el-menu-item-group__title {
|
52
|
-
display: none;
|
53
|
-
}
|
54
|
-
</style>
|