Compare commits
18 Commits
v1.0.5
...
tauri-v1.0
Author | SHA1 | Date | |
---|---|---|---|
|
68b66e5e0a | ||
|
4749b411bd | ||
|
fbd80c289a | ||
|
da12d4a5cd | ||
|
1c3b4734fa | ||
|
93c7ff7122 | ||
|
1e14293d67 | ||
|
19e65c1a9f | ||
|
e57bf0b076 | ||
|
5d45cef1f0 | ||
|
d460e5cc6d | ||
|
3b5e4b3405 | ||
|
dcd51f4cda | ||
|
09f6464678 | ||
|
fdde679c70 | ||
|
b266035800 | ||
|
a1e432f81e | ||
|
82eabab753 |
53
CHANGELOG.md
@@ -1,6 +1,59 @@
|
||||
# Changelog
|
||||
|
||||
|
||||
## [v1.0.7](https://github.com/soybeanjs/soybean-admin/compare/v1.0.6...v1.0.7) (2024-04-25)
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
- **projects**: support iframe page with diffrent url of custom route - by @honghuangdc [<samp>(da12d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/da12d4a)
|
||||
|
||||
### 🏡 Chore
|
||||
|
||||
- **deps**: update deps - by @honghuangdc [<samp>(fbd80)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fbd80c2)
|
||||
|
||||
### ❤️ Contributors
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
|
||||
## [v1.0.6](https://github.com/soybeanjs/soybean-admin/compare/v1.0.5...v1.0.6) (2024-04-25)
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
- **hooks**: add state hooks: useRef, useState, useSignal - by @honghuangdc [<samp>(09f64)</samp>](https://github.com/soybeanjs/soybean-admin/commit/09f6464)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
- **projects**:
|
||||
- added responseType judgment. #396 - by **alleycharming** in https://github.com/soybeanjs/soybean-admin/issues/396 [<samp>(82eab)</samp>](https://github.com/soybeanjs/soybean-admin/commit/82eabab)
|
||||
- supply $t import statement - by @honghuangdc [<samp>(b2660)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b266035)
|
||||
- fix mix-menu blank. fixed #389 & cache mixMenuFixed - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/389 [<samp>(93c7f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/93c7ff7)
|
||||
|
||||
### 🔥 Performance
|
||||
|
||||
- **hooks**:
|
||||
- perf useSignal - by @honghuangdc [<samp>(5d45c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5d45cef)
|
||||
- **projects**:
|
||||
- remove useless prop `title` of `NDrawer` - by @honghuangdc [<samp>(fdde6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fdde679)
|
||||
- add tsconfig.json for @sa/color-palette - by @honghuangdc [<samp>(d460e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d460e5c)
|
||||
|
||||
### 💅 Refactors
|
||||
|
||||
- **hooks**: refactor useSignal, useComputed - by @honghuangdc [<samp>(3b5e4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3b5e4b3)
|
||||
- **projects**: useMixMenuContext replace useMixMenu - by @honghuangdc [<samp>(1e142)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1e14293)
|
||||
|
||||
### 🏡 Chore
|
||||
|
||||
- **deps**:
|
||||
- update deps - by @honghuangdc [<samp>(e57bf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e57bf0b)
|
||||
- **projects**:
|
||||
- use `engines` replace `packageManager` - by @honghuangdc [<samp>(dcd51)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dcd51f4)
|
||||
- update pnpm version requirement - by @honghuangdc [<samp>(19e65)</samp>](https://github.com/soybeanjs/soybean-admin/commit/19e65c1)
|
||||
|
||||
### ❤️ Contributors
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
[alleycharming](mailto:alleycharming@gmail.com)
|
||||
|
||||
## [v1.0.5](https://github.com/honghuangdc/soybean-admin/compare/v1.0.4...v1.0.5) (2024-04-24)
|
||||
|
||||
### 📖 Documentation
|
||||
|
@@ -9,7 +9,18 @@ export function setupElegantRouter() {
|
||||
blank: 'src/layouts/blank-layout/index.vue'
|
||||
},
|
||||
customRoutes: {
|
||||
names: ['exception_403', 'exception_404', 'exception_500']
|
||||
names: [
|
||||
'exception_403',
|
||||
'exception_404',
|
||||
'exception_500',
|
||||
'document_project',
|
||||
'document_project-link',
|
||||
'document_vue',
|
||||
'document_vite',
|
||||
'document_unocss',
|
||||
'document_naive',
|
||||
'document_antd'
|
||||
]
|
||||
},
|
||||
routePathTransformer(routeName, routePath) {
|
||||
const key = routeName as RouteKey;
|
||||
|
@@ -1,13 +1,13 @@
|
||||
import { defineConfig } from '@soybeanjs/eslint-config';
|
||||
|
||||
export default defineConfig(
|
||||
{ vue: true, unocss: true },
|
||||
{ vue: true, unocss: true, ignores: ['src-tauri/target'] },
|
||||
{
|
||||
rules: {
|
||||
'vue/multi-word-component-names': [
|
||||
'warn',
|
||||
{
|
||||
ignores: ['index', 'App', '[id]']
|
||||
ignores: ['index', 'App', '[id]', '[url]']
|
||||
}
|
||||
],
|
||||
'vue/component-name-in-template-casing': [
|
||||
|
17
package.json
@@ -1,8 +1,7 @@
|
||||
{
|
||||
"name": "soybean-admin",
|
||||
"type": "module",
|
||||
"version": "1.0.5",
|
||||
"packageManager": "pnpm@9.0.5",
|
||||
"version": "1.0.7",
|
||||
"description": "A fresh and elegant admin template, based on Vue3、Vite3、TypeScript、NaiveUI and UnoCSS. 一个基于Vue3、Vite3、TypeScript、NaiveUI and UnoCSS的清新优雅的中后台模版。",
|
||||
"author": {
|
||||
"name": "Soybean",
|
||||
@@ -27,18 +26,25 @@
|
||||
"ant-design-vue v4",
|
||||
"UnoCSS"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18.12.0",
|
||||
"pnpm": ">=8.7.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "vite build --mode prod",
|
||||
"build:tauri": "pnpm tauri build",
|
||||
"build:test": "vite build --mode test",
|
||||
"cleanup": "sa cleanup",
|
||||
"commit": "sa git-commit",
|
||||
"dev": "vite --mode test",
|
||||
"dev:prod": "vite --mode prod",
|
||||
"dev:tauri": "pnpm tauri dev",
|
||||
"gen-route": "sa gen-route",
|
||||
"lint": "eslint . --fix",
|
||||
"prepare": "simple-git-hooks",
|
||||
"preview": "vite preview",
|
||||
"release": "sa release",
|
||||
"tauri-icon": "pnpm tauri icon ./public/logo.png",
|
||||
"typecheck": "vue-tsc --noEmit --skipLibCheck",
|
||||
"update-pkg": "sa update-pkg"
|
||||
},
|
||||
@@ -58,17 +64,18 @@
|
||||
"naive-ui": "2.38.1",
|
||||
"nprogress": "0.2.0",
|
||||
"pinia": "2.1.7",
|
||||
"vue": "3.4.23",
|
||||
"vue": "3.4.25",
|
||||
"vue-draggable-plus": "0.4.0",
|
||||
"vue-i18n": "9.13.1",
|
||||
"vue-router": "4.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@elegant-router/vue": "0.3.6",
|
||||
"@iconify/json": "2.2.203",
|
||||
"@iconify/json": "2.2.204",
|
||||
"@sa/scripts": "workspace:*",
|
||||
"@sa/uno-preset": "workspace:*",
|
||||
"@soybeanjs/eslint-config": "1.3.2",
|
||||
"@tauri-apps/cli": "1.5.11",
|
||||
"@types/lodash-es": "4.17.12",
|
||||
"@types/node": "20.12.7",
|
||||
"@types/nprogress": "0.2.3",
|
||||
@@ -85,7 +92,7 @@
|
||||
"lint-staged": "15.2.2",
|
||||
"sass": "1.75.0",
|
||||
"simple-git-hooks": "2.11.1",
|
||||
"tsx": "4.7.2",
|
||||
"tsx": "4.7.3",
|
||||
"typescript": "5.4.5",
|
||||
"unplugin-icons": "0.18.5",
|
||||
"unplugin-vue-components": "0.26.0",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/axios",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.7",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
@@ -48,7 +48,9 @@ function createCommonRequest<ResponseData = any>(
|
||||
|
||||
instance.interceptors.response.use(
|
||||
async response => {
|
||||
if (opts.isBackendSuccess(response)) {
|
||||
const responseType: ResponseType = (response.config?.responseType as ResponseType) || 'json';
|
||||
|
||||
if (responseType !== 'json' || opts.isBackendSuccess(response)) {
|
||||
return Promise.resolve(response);
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/color-palette",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.7",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
20
packages/color-palette/tsconfig.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"jsx": "preserve",
|
||||
"lib": ["DOM", "ESNext"],
|
||||
"baseUrl": ".",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "node",
|
||||
"resolveJsonModule": true,
|
||||
"types": ["node"],
|
||||
"strict": true,
|
||||
"strictNullChecks": true,
|
||||
"noUnusedLocals": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/hooks",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.7",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
@@ -7,4 +7,5 @@ import useHookTable from './use-table';
|
||||
|
||||
export { useBoolean, useLoading, useCountDown, useContext, useSvgIconRender, useHookTable };
|
||||
|
||||
export * from './use-signal';
|
||||
export * from './use-table';
|
||||
|
144
packages/hooks/src/use-signal.ts
Normal file
@@ -0,0 +1,144 @@
|
||||
import { computed, ref, shallowRef, triggerRef } from 'vue';
|
||||
import type {
|
||||
ComputedGetter,
|
||||
DebuggerOptions,
|
||||
Ref,
|
||||
ShallowRef,
|
||||
WritableComputedOptions,
|
||||
WritableComputedRef
|
||||
} from 'vue';
|
||||
|
||||
type Updater<T> = (value: T) => T;
|
||||
type Mutator<T> = (value: T) => void;
|
||||
|
||||
/**
|
||||
* Signal is a reactive value that can be set, updated or mutated
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* const count = useSignal(0);
|
||||
*
|
||||
* // `watchEffect`
|
||||
* watchEffect(() => {
|
||||
* console.log(count());
|
||||
* });
|
||||
*
|
||||
* // watch
|
||||
* watch(count, value => {
|
||||
* console.log(value);
|
||||
* });
|
||||
*
|
||||
* // useComputed
|
||||
* const double = useComputed(() => count() * 2);
|
||||
* const writeableDouble = useComputed({
|
||||
* get: () => count() * 2,
|
||||
* set: value => count.set(value / 2)
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
export interface Signal<T> {
|
||||
(): Readonly<T>;
|
||||
/**
|
||||
* Set the value of the signal
|
||||
*
|
||||
* It recommend use `set` for primitive values
|
||||
*
|
||||
* @param value
|
||||
*/
|
||||
set(value: T): void;
|
||||
/**
|
||||
* Update the value of the signal using an updater function
|
||||
*
|
||||
* It recommend use `update` for non-primitive values, only the first level of the object will be reactive.
|
||||
*
|
||||
* @param updater
|
||||
*/
|
||||
update(updater: Updater<T>): void;
|
||||
/**
|
||||
* Mutate the value of the signal using a mutator function
|
||||
*
|
||||
* this action will call `triggerRef`, so the value will be tracked on `watchEffect`.
|
||||
*
|
||||
* It recommend use `mutate` for non-primitive values, all levels of the object will be reactive.
|
||||
*
|
||||
* @param mutator
|
||||
*/
|
||||
mutate(mutator: Mutator<T>): void;
|
||||
/**
|
||||
* Get the reference of the signal
|
||||
*
|
||||
* Sometimes it can be useful to make `v-model` work with the signal
|
||||
*
|
||||
* ```vue
|
||||
* <template>
|
||||
* <input v-model="model.count" />
|
||||
* </template>;
|
||||
*
|
||||
* <script setup lang="ts">
|
||||
* const state = useSignal({ count: 0 }, { useRef: true });
|
||||
*
|
||||
* const model = state.getRef();
|
||||
* </script>
|
||||
* ```
|
||||
*/
|
||||
getRef(): Readonly<ShallowRef<Readonly<T>>>;
|
||||
}
|
||||
|
||||
export interface ReadonlySignal<T> {
|
||||
(): Readonly<T>;
|
||||
}
|
||||
|
||||
export interface SignalOptions {
|
||||
/**
|
||||
* Whether to use `ref` to store the value
|
||||
*
|
||||
* @default false use `sharedRef` to store the value
|
||||
*/
|
||||
useRef?: boolean;
|
||||
}
|
||||
|
||||
export function useSignal<T>(initialValue: T, options?: SignalOptions): Signal<T> {
|
||||
const { useRef } = options || {};
|
||||
|
||||
const state = useRef ? (ref(initialValue) as Ref<T>) : shallowRef(initialValue);
|
||||
|
||||
return createSignal(state);
|
||||
}
|
||||
|
||||
export function useComputed<T>(getter: ComputedGetter<T>, debugOptions?: DebuggerOptions): ReadonlySignal<T>;
|
||||
export function useComputed<T>(options: WritableComputedOptions<T>, debugOptions?: DebuggerOptions): Signal<T>;
|
||||
export function useComputed<T>(
|
||||
getterOrOptions: ComputedGetter<T> | WritableComputedOptions<T>,
|
||||
debugOptions?: DebuggerOptions
|
||||
) {
|
||||
const isGetter = typeof getterOrOptions === 'function';
|
||||
|
||||
const computedValue = computed(getterOrOptions as any, debugOptions);
|
||||
|
||||
if (isGetter) {
|
||||
return () => computedValue.value as ReadonlySignal<T>;
|
||||
}
|
||||
|
||||
return createSignal(computedValue);
|
||||
}
|
||||
|
||||
function createSignal<T>(state: ShallowRef<T> | WritableComputedRef<T>): Signal<T> {
|
||||
const signal = () => state.value;
|
||||
|
||||
signal.set = (value: T) => {
|
||||
state.value = value;
|
||||
};
|
||||
|
||||
signal.update = (updater: Updater<T>) => {
|
||||
state.value = updater(state.value);
|
||||
};
|
||||
|
||||
signal.mutate = (mutator: Mutator<T>) => {
|
||||
mutator(state.value);
|
||||
triggerRef(state);
|
||||
};
|
||||
|
||||
signal.getRef = () => state as Readonly<ShallowRef<Readonly<T>>>;
|
||||
|
||||
return signal;
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/materials",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.7",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/fetch",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.7",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/scripts",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.7",
|
||||
"bin": {
|
||||
"sa": "./bin.ts"
|
||||
},
|
||||
@@ -21,7 +21,7 @@
|
||||
"enquirer": "2.4.1",
|
||||
"execa": "8.0.1",
|
||||
"kolorist": "1.8.0",
|
||||
"npm-check-updates": "16.14.18",
|
||||
"npm-check-updates": "16.14.19",
|
||||
"rimraf": "5.0.5"
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/uno-preset",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.7",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/utils",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.7",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
460
pnpm-lock.yaml
generated
@@ -13,7 +13,7 @@ importers:
|
||||
version: 2.5.1
|
||||
'@iconify/vue':
|
||||
specifier: 4.1.2
|
||||
version: 4.1.2(vue@3.4.23(typescript@5.4.5))
|
||||
version: 4.1.2(vue@3.4.25(typescript@5.4.5))
|
||||
'@sa/axios':
|
||||
specifier: workspace:*
|
||||
version: link:packages/axios
|
||||
@@ -31,7 +31,7 @@ importers:
|
||||
version: link:packages/utils
|
||||
'@vueuse/core':
|
||||
specifier: 10.9.0
|
||||
version: 10.9.0(vue@3.4.23(typescript@5.4.5))
|
||||
version: 10.9.0(vue@3.4.25(typescript@5.4.5))
|
||||
clipboard:
|
||||
specifier: 2.0.11
|
||||
version: 2.0.11
|
||||
@@ -46,32 +46,32 @@ importers:
|
||||
version: 4.17.21
|
||||
naive-ui:
|
||||
specifier: 2.38.1
|
||||
version: 2.38.1(vue@3.4.23(typescript@5.4.5))
|
||||
version: 2.38.1(vue@3.4.25(typescript@5.4.5))
|
||||
nprogress:
|
||||
specifier: 0.2.0
|
||||
version: 0.2.0
|
||||
pinia:
|
||||
specifier: 2.1.7
|
||||
version: 2.1.7(typescript@5.4.5)(vue@3.4.23(typescript@5.4.5))
|
||||
version: 2.1.7(typescript@5.4.5)(vue@3.4.25(typescript@5.4.5))
|
||||
vue:
|
||||
specifier: 3.4.23
|
||||
version: 3.4.23(typescript@5.4.5)
|
||||
specifier: 3.4.25
|
||||
version: 3.4.25(typescript@5.4.5)
|
||||
vue-draggable-plus:
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0(@types/sortablejs@1.15.8)
|
||||
vue-i18n:
|
||||
specifier: 9.13.1
|
||||
version: 9.13.1(vue@3.4.23(typescript@5.4.5))
|
||||
version: 9.13.1(vue@3.4.25(typescript@5.4.5))
|
||||
vue-router:
|
||||
specifier: 4.3.2
|
||||
version: 4.3.2(vue@3.4.23(typescript@5.4.5))
|
||||
version: 4.3.2(vue@3.4.25(typescript@5.4.5))
|
||||
devDependencies:
|
||||
'@elegant-router/vue':
|
||||
specifier: 0.3.6
|
||||
version: 0.3.6
|
||||
'@iconify/json':
|
||||
specifier: 2.2.203
|
||||
version: 2.2.203
|
||||
specifier: 2.2.204
|
||||
version: 2.2.204
|
||||
'@sa/scripts':
|
||||
specifier: workspace:*
|
||||
version: link:packages/scripts
|
||||
@@ -81,6 +81,9 @@ importers:
|
||||
'@soybeanjs/eslint-config':
|
||||
specifier: 1.3.2
|
||||
version: 1.3.2(@unocss/eslint-config@0.59.4(eslint@9.1.1)(typescript@5.4.5))(eslint-plugin-vue@9.25.0(eslint@9.1.1))(eslint@9.1.1)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.1.1))
|
||||
'@tauri-apps/cli':
|
||||
specifier: 1.5.11
|
||||
version: 1.5.11
|
||||
'@types/lodash-es':
|
||||
specifier: 4.17.12
|
||||
version: 4.17.12
|
||||
@@ -110,10 +113,10 @@ importers:
|
||||
version: 0.59.4(rollup@4.16.4)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))
|
||||
'@vitejs/plugin-vue':
|
||||
specifier: 5.0.4
|
||||
version: 5.0.4(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.23(typescript@5.4.5))
|
||||
version: 5.0.4(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.25(typescript@5.4.5))
|
||||
'@vitejs/plugin-vue-jsx':
|
||||
specifier: 3.1.0
|
||||
version: 3.1.0(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.23(typescript@5.4.5))
|
||||
version: 3.1.0(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.25(typescript@5.4.5))
|
||||
eslint:
|
||||
specifier: 9.1.1
|
||||
version: 9.1.1
|
||||
@@ -130,17 +133,17 @@ importers:
|
||||
specifier: 2.11.1
|
||||
version: 2.11.1
|
||||
tsx:
|
||||
specifier: 4.7.2
|
||||
version: 4.7.2
|
||||
specifier: 4.7.3
|
||||
version: 4.7.3
|
||||
typescript:
|
||||
specifier: 5.4.5
|
||||
version: 5.4.5
|
||||
unplugin-icons:
|
||||
specifier: 0.18.5
|
||||
version: 0.18.5(@vue/compiler-sfc@3.4.24)(vue-template-compiler@2.7.16)
|
||||
version: 0.18.5(@vue/compiler-sfc@3.4.25)(vue-template-compiler@2.7.16)
|
||||
unplugin-vue-components:
|
||||
specifier: 0.26.0
|
||||
version: 0.26.0(@babel/parser@7.24.4)(rollup@4.16.4)(vue@3.4.23(typescript@5.4.5))
|
||||
version: 0.26.0(@babel/parser@7.24.4)(rollup@4.16.4)(vue@3.4.25(typescript@5.4.5))
|
||||
vite:
|
||||
specifier: 5.2.10
|
||||
version: 5.2.10(@types/node@20.12.7)(sass@1.75.0)
|
||||
@@ -152,7 +155,7 @@ importers:
|
||||
version: 2.0.1(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: 7.1.2
|
||||
version: 7.1.2(rollup@4.16.4)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.23(typescript@5.4.5))
|
||||
version: 7.1.2(rollup@4.16.4)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.25(typescript@5.4.5))
|
||||
vue-eslint-parser:
|
||||
specifier: 9.4.2
|
||||
version: 9.4.2(eslint@9.1.1)
|
||||
@@ -198,7 +201,7 @@ importers:
|
||||
version: link:../utils
|
||||
simplebar-vue:
|
||||
specifier: 2.3.3
|
||||
version: 2.3.3(vue@3.4.23(typescript@5.4.5))
|
||||
version: 2.3.3(vue@3.4.25(typescript@5.4.5))
|
||||
devDependencies:
|
||||
typed-css-modules:
|
||||
specifier: 0.9.1
|
||||
@@ -237,8 +240,8 @@ importers:
|
||||
specifier: 1.8.0
|
||||
version: 1.8.0
|
||||
npm-check-updates:
|
||||
specifier: 16.14.18
|
||||
version: 16.14.18
|
||||
specifier: 16.14.19
|
||||
version: 16.14.19
|
||||
rimraf:
|
||||
specifier: 5.0.5
|
||||
version: 5.0.5
|
||||
@@ -800,8 +803,8 @@ packages:
|
||||
resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==}
|
||||
engines: {node: '>=18.18'}
|
||||
|
||||
'@iconify/json@2.2.203':
|
||||
resolution: {integrity: sha512-SjtZP6JGbklux1Nf8nQYDZTYRxdKvXLsRQIRvSgMc2z8z9UHpoRakpe8JGT7w1RjK6MMVIfal7Nrf9w8yjKDcA==}
|
||||
'@iconify/json@2.2.204':
|
||||
resolution: {integrity: sha512-sFlh+TIF54DZoEzsF5YVWY7XEzjN2ZSmCjtzvajk5EdNjvPAKr9Tvvptoyj6hcuylJsDxiU12FRDSdygW1c8bg==}
|
||||
|
||||
'@iconify/types@2.0.0':
|
||||
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
||||
@@ -879,8 +882,8 @@ packages:
|
||||
resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==}
|
||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||
|
||||
'@npmcli/installed-package-contents@2.0.2':
|
||||
resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==}
|
||||
'@npmcli/installed-package-contents@2.1.0':
|
||||
resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==}
|
||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||
hasBin: true
|
||||
|
||||
@@ -1099,6 +1102,75 @@ packages:
|
||||
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
|
||||
engines: {node: '>=14.16'}
|
||||
|
||||
'@tauri-apps/cli-darwin-arm64@1.5.11':
|
||||
resolution: {integrity: sha512-2NLSglDb5VfvTbMtmOKWyD+oaL/e8Z/ZZGovHtUFyUSFRabdXc6cZOlcD1BhFvYkHqm+TqGaz5qtPR5UbqDs8A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@tauri-apps/cli-darwin-x64@1.5.11':
|
||||
resolution: {integrity: sha512-/RQllHiJRH2fJOCudtZlaUIjofkHzP3zZgxi71ZUm7Fy80smU5TDfwpwOvB0wSVh0g/ciDjMArCSTo0MRvL+ag==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf@1.5.11':
|
||||
resolution: {integrity: sha512-IlBuBPKmMm+a5LLUEK6a21UGr9ZYd6zKuKLq6IGM4tVweQa8Sf2kP2Nqs74dMGIUrLmMs0vuqdURpykQg+z4NQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@tauri-apps/cli-linux-arm64-gnu@1.5.11':
|
||||
resolution: {integrity: sha512-w+k1bNHCU/GbmXshtAhyTwqosThUDmCEFLU4Zkin1vl2fuAtQry2RN7thfcJFepblUGL/J7yh3Q/0+BCjtspKQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@tauri-apps/cli-linux-arm64-musl@1.5.11':
|
||||
resolution: {integrity: sha512-PN6/dl+OfYQ/qrAy4HRAfksJ2AyWQYn2IA/2Wwpaa7SDRz2+hzwTQkvajuvy0sQ5L2WCG7ymFYRYMbpC6Hk9Pg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@tauri-apps/cli-linux-x64-gnu@1.5.11':
|
||||
resolution: {integrity: sha512-MTVXLi89Nj7Apcvjezw92m7ZqIDKT5SFKZtVPCg6RoLUBTzko/BQoXYIRWmdoz2pgkHDUHgO2OMJ8oKzzddXbw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@tauri-apps/cli-linux-x64-musl@1.5.11':
|
||||
resolution: {integrity: sha512-kwzAjqFpz7rvTs7WGZLy/a5nS5t15QKr3E9FG95MNF0exTl3d29YoAUAe1Mn0mOSrTJ9Z+vYYAcI/QdcsGBP+w==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@tauri-apps/cli-win32-arm64-msvc@1.5.11':
|
||||
resolution: {integrity: sha512-L+5NZ/rHrSUrMxjj6YpFYCXp6wHnq8c8SfDTBOX8dO8x+5283/vftb4vvuGIsLS4UwUFXFnLt3XQr44n84E67Q==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@tauri-apps/cli-win32-ia32-msvc@1.5.11':
|
||||
resolution: {integrity: sha512-oVlD9IVewrY0lZzTdb71kNXkjdgMqFq+ohb67YsJb4Rf7o8A9DTlFds1XLCe3joqLMm4M+gvBKD7YnGIdxQ9vA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@tauri-apps/cli-win32-x64-msvc@1.5.11':
|
||||
resolution: {integrity: sha512-1CexcqUFCis5ypUIMOKllxUBrna09McbftWENgvVXMfA+SP+yPDPAVb8fIvUcdTIwR/yHJwcIucmTB4anww4vg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@tauri-apps/cli@1.5.11':
|
||||
resolution: {integrity: sha512-B475D7phZrq5sZ3kDABH4g2mEoUIHtnIO+r4ZGAAfsjMbZCwXxR/jlMGTEL+VO3YzjpF7gQe38IzB4vLBbVppw==}
|
||||
engines: {node: '>= 10'}
|
||||
hasBin: true
|
||||
|
||||
'@tootallnate/once@2.0.0':
|
||||
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -1353,29 +1425,17 @@ packages:
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@vue/compiler-core@3.4.23':
|
||||
resolution: {integrity: sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==}
|
||||
'@vue/compiler-core@3.4.25':
|
||||
resolution: {integrity: sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==}
|
||||
|
||||
'@vue/compiler-core@3.4.24':
|
||||
resolution: {integrity: sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==}
|
||||
'@vue/compiler-dom@3.4.25':
|
||||
resolution: {integrity: sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==}
|
||||
|
||||
'@vue/compiler-dom@3.4.23':
|
||||
resolution: {integrity: sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==}
|
||||
'@vue/compiler-sfc@3.4.25':
|
||||
resolution: {integrity: sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==}
|
||||
|
||||
'@vue/compiler-dom@3.4.24':
|
||||
resolution: {integrity: sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==}
|
||||
|
||||
'@vue/compiler-sfc@3.4.23':
|
||||
resolution: {integrity: sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==}
|
||||
|
||||
'@vue/compiler-sfc@3.4.24':
|
||||
resolution: {integrity: sha512-nRAlJUK02FTWfA2nuvNBAqsDZuERGFgxZ8sGH62XgFSvMxO2URblzulExsmj4gFZ8e+VAyDooU9oAoXfEDNxTA==}
|
||||
|
||||
'@vue/compiler-ssr@3.4.23':
|
||||
resolution: {integrity: sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==}
|
||||
|
||||
'@vue/compiler-ssr@3.4.24':
|
||||
resolution: {integrity: sha512-ZsAtr4fhaUFnVcDqwW3bYCSDwq+9Gk69q2r/7dAHDrOMw41kylaMgOP4zRnn6GIEJkQznKgrMOGPMFnLB52RbQ==}
|
||||
'@vue/compiler-ssr@3.4.25':
|
||||
resolution: {integrity: sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==}
|
||||
|
||||
'@vue/devtools-api@6.6.1':
|
||||
resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
|
||||
@@ -1399,25 +1459,22 @@ packages:
|
||||
typescript:
|
||||
optional: true
|
||||
|
||||
'@vue/reactivity@3.4.23':
|
||||
resolution: {integrity: sha512-GlXR9PL+23fQ3IqnbSQ8OQKLodjqCyoCrmdLKZk3BP7jN6prWheAfU7a3mrltewTkoBm+N7qMEb372VHIkQRMQ==}
|
||||
'@vue/reactivity@3.4.25':
|
||||
resolution: {integrity: sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==}
|
||||
|
||||
'@vue/runtime-core@3.4.23':
|
||||
resolution: {integrity: sha512-FeQ9MZEXoFzFkFiw9MQQ/FWs3srvrP+SjDKSeRIiQHIhtkzoj0X4rWQlRNHbGuSwLra6pMyjAttwixNMjc/xLw==}
|
||||
'@vue/runtime-core@3.4.25':
|
||||
resolution: {integrity: sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==}
|
||||
|
||||
'@vue/runtime-dom@3.4.23':
|
||||
resolution: {integrity: sha512-RXJFwwykZWBkMiTPSLEWU3kgVLNAfActBfWFlZd0y79FTUxexogd0PLG4HH2LfOktjRxV47Nulygh0JFXe5f9A==}
|
||||
'@vue/runtime-dom@3.4.25':
|
||||
resolution: {integrity: sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==}
|
||||
|
||||
'@vue/server-renderer@3.4.23':
|
||||
resolution: {integrity: sha512-LDwGHtnIzvKFNS8dPJ1SSU5Gvm36p2ck8wCZc52fc3k/IfjKcwCyrWEf0Yag/2wTFUBXrqizfhK9c/mC367dXQ==}
|
||||
'@vue/server-renderer@3.4.25':
|
||||
resolution: {integrity: sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==}
|
||||
peerDependencies:
|
||||
vue: 3.4.23
|
||||
vue: 3.4.25
|
||||
|
||||
'@vue/shared@3.4.23':
|
||||
resolution: {integrity: sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg==}
|
||||
|
||||
'@vue/shared@3.4.24':
|
||||
resolution: {integrity: sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==}
|
||||
'@vue/shared@3.4.25':
|
||||
resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==}
|
||||
|
||||
'@vueuse/core@10.9.0':
|
||||
resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
|
||||
@@ -2086,8 +2143,8 @@ packages:
|
||||
echarts@5.5.0:
|
||||
resolution: {integrity: sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==}
|
||||
|
||||
electron-to-chromium@1.4.747:
|
||||
resolution: {integrity: sha512-+FnSWZIAvFHbsNVmUxhEqWiaOiPMcfum1GQzlWCg/wLigVtshOsjXHyEFfmt6cFK6+HkS3QOJBv6/3OPumbBfw==}
|
||||
electron-to-chromium@1.4.748:
|
||||
resolution: {integrity: sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A==}
|
||||
|
||||
emoji-regex@10.3.0:
|
||||
resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
|
||||
@@ -3480,8 +3537,8 @@ packages:
|
||||
resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==}
|
||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||
|
||||
npm-check-updates@16.14.18:
|
||||
resolution: {integrity: sha512-9iaRe9ohx9ykdbLjPRIYcq1A0RkrPYUx9HmQK1JIXhfxtJCNE/+497H9Z4PGH6GWRALbz5KF+1iZoySK2uSEpQ==}
|
||||
npm-check-updates@16.14.19:
|
||||
resolution: {integrity: sha512-8qnqHXM4Tr+oNOiQc+9vXtO+wiHlqtxWcg6ZhBtiVtbLgxKc36RJovXVox9ZNvxLzipNXw/mcx2KXSGHxDy5bA==}
|
||||
engines: {node: '>=14.14'}
|
||||
hasBin: true
|
||||
|
||||
@@ -4391,8 +4448,8 @@ packages:
|
||||
tslib@2.6.2:
|
||||
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
||||
|
||||
tsx@4.7.2:
|
||||
resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==}
|
||||
tsx@4.7.3:
|
||||
resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
hasBin: true
|
||||
|
||||
@@ -4722,8 +4779,8 @@ packages:
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
|
||||
vue@3.4.23:
|
||||
resolution: {integrity: sha512-X1y6yyGJ28LMUBJ0k/qIeKHstGd+BlWQEOT40x3auJFTmpIhpbKLgN7EFsqalnJXq1Km5ybDEsp6BhuWKciUDg==}
|
||||
vue@3.4.25:
|
||||
resolution: {integrity: sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
@@ -5068,9 +5125,9 @@ snapshots:
|
||||
dependencies:
|
||||
css-render: 0.15.12
|
||||
|
||||
'@css-render/vue3-ssr@0.15.12(vue@3.4.23(typescript@5.4.5))':
|
||||
'@css-render/vue3-ssr@0.15.12(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
'@elegant-router/core@0.3.6':
|
||||
dependencies:
|
||||
@@ -5284,7 +5341,7 @@ snapshots:
|
||||
|
||||
'@humanwhocodes/retry@0.2.3': {}
|
||||
|
||||
'@iconify/json@2.2.203':
|
||||
'@iconify/json@2.2.204':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
pathe: 1.1.2
|
||||
@@ -5303,10 +5360,10 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@iconify/vue@4.1.2(vue@3.4.23(typescript@5.4.5))':
|
||||
'@iconify/vue@4.1.2(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
'@intlify/core-base@9.13.1':
|
||||
dependencies:
|
||||
@@ -5389,7 +5446,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- bluebird
|
||||
|
||||
'@npmcli/installed-package-contents@2.0.2':
|
||||
'@npmcli/installed-package-contents@2.1.0':
|
||||
dependencies:
|
||||
npm-bundled: 3.0.0
|
||||
npm-normalize-package-bin: 3.0.1
|
||||
@@ -5577,6 +5634,49 @@ snapshots:
|
||||
dependencies:
|
||||
defer-to-connect: 2.0.1
|
||||
|
||||
'@tauri-apps/cli-darwin-arm64@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-darwin-x64@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-arm64-gnu@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-arm64-musl@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-x64-gnu@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-x64-musl@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-win32-arm64-msvc@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-win32-ia32-msvc@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-win32-x64-msvc@1.5.11':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli@1.5.11':
|
||||
optionalDependencies:
|
||||
'@tauri-apps/cli-darwin-arm64': 1.5.11
|
||||
'@tauri-apps/cli-darwin-x64': 1.5.11
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf': 1.5.11
|
||||
'@tauri-apps/cli-linux-arm64-gnu': 1.5.11
|
||||
'@tauri-apps/cli-linux-arm64-musl': 1.5.11
|
||||
'@tauri-apps/cli-linux-x64-gnu': 1.5.11
|
||||
'@tauri-apps/cli-linux-x64-musl': 1.5.11
|
||||
'@tauri-apps/cli-win32-arm64-msvc': 1.5.11
|
||||
'@tauri-apps/cli-win32-ia32-msvc': 1.5.11
|
||||
'@tauri-apps/cli-win32-x64-msvc': 1.5.11
|
||||
|
||||
'@tootallnate/once@2.0.0': {}
|
||||
|
||||
'@trysound/sax@0.2.0': {}
|
||||
@@ -5865,20 +5965,20 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
'@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.23(typescript@5.4.5))':
|
||||
'@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@babel/core': 7.24.4
|
||||
'@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4)
|
||||
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.4)
|
||||
vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@vitejs/plugin-vue@5.0.4(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.23(typescript@5.4.5))':
|
||||
'@vitejs/plugin-vue@5.0.4(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
'@volar/language-core@2.2.0-alpha.10':
|
||||
dependencies:
|
||||
@@ -5920,73 +6020,43 @@ snapshots:
|
||||
'@babel/helper-module-imports': 7.22.15
|
||||
'@babel/helper-plugin-utils': 7.24.0
|
||||
'@babel/parser': 7.24.4
|
||||
'@vue/compiler-sfc': 3.4.24
|
||||
'@vue/compiler-sfc': 3.4.25
|
||||
|
||||
'@vue/compiler-core@3.4.23':
|
||||
'@vue/compiler-core@3.4.25':
|
||||
dependencies:
|
||||
'@babel/parser': 7.24.4
|
||||
'@vue/shared': 3.4.23
|
||||
'@vue/shared': 3.4.25
|
||||
entities: 4.5.0
|
||||
estree-walker: 2.0.2
|
||||
source-map-js: 1.2.0
|
||||
|
||||
'@vue/compiler-core@3.4.24':
|
||||
'@vue/compiler-dom@3.4.25':
|
||||
dependencies:
|
||||
'@vue/compiler-core': 3.4.25
|
||||
'@vue/shared': 3.4.25
|
||||
|
||||
'@vue/compiler-sfc@3.4.25':
|
||||
dependencies:
|
||||
'@babel/parser': 7.24.4
|
||||
'@vue/shared': 3.4.24
|
||||
entities: 4.5.0
|
||||
estree-walker: 2.0.2
|
||||
source-map-js: 1.2.0
|
||||
|
||||
'@vue/compiler-dom@3.4.23':
|
||||
dependencies:
|
||||
'@vue/compiler-core': 3.4.23
|
||||
'@vue/shared': 3.4.23
|
||||
|
||||
'@vue/compiler-dom@3.4.24':
|
||||
dependencies:
|
||||
'@vue/compiler-core': 3.4.24
|
||||
'@vue/shared': 3.4.24
|
||||
|
||||
'@vue/compiler-sfc@3.4.23':
|
||||
dependencies:
|
||||
'@babel/parser': 7.24.4
|
||||
'@vue/compiler-core': 3.4.23
|
||||
'@vue/compiler-dom': 3.4.23
|
||||
'@vue/compiler-ssr': 3.4.23
|
||||
'@vue/shared': 3.4.23
|
||||
'@vue/compiler-core': 3.4.25
|
||||
'@vue/compiler-dom': 3.4.25
|
||||
'@vue/compiler-ssr': 3.4.25
|
||||
'@vue/shared': 3.4.25
|
||||
estree-walker: 2.0.2
|
||||
magic-string: 0.30.10
|
||||
postcss: 8.4.38
|
||||
source-map-js: 1.2.0
|
||||
|
||||
'@vue/compiler-sfc@3.4.24':
|
||||
'@vue/compiler-ssr@3.4.25':
|
||||
dependencies:
|
||||
'@babel/parser': 7.24.4
|
||||
'@vue/compiler-core': 3.4.24
|
||||
'@vue/compiler-dom': 3.4.24
|
||||
'@vue/compiler-ssr': 3.4.24
|
||||
'@vue/shared': 3.4.24
|
||||
estree-walker: 2.0.2
|
||||
magic-string: 0.30.10
|
||||
postcss: 8.4.38
|
||||
source-map-js: 1.2.0
|
||||
|
||||
'@vue/compiler-ssr@3.4.23':
|
||||
dependencies:
|
||||
'@vue/compiler-dom': 3.4.23
|
||||
'@vue/shared': 3.4.23
|
||||
|
||||
'@vue/compiler-ssr@3.4.24':
|
||||
dependencies:
|
||||
'@vue/compiler-dom': 3.4.24
|
||||
'@vue/shared': 3.4.24
|
||||
'@vue/compiler-dom': 3.4.25
|
||||
'@vue/shared': 3.4.25
|
||||
|
||||
'@vue/devtools-api@6.6.1': {}
|
||||
|
||||
'@vue/devtools-core@7.1.2(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.23(typescript@5.4.5))':
|
||||
'@vue/devtools-core@7.1.2(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue/devtools-kit': 7.1.2(vue@3.4.23(typescript@5.4.5))
|
||||
'@vue/devtools-kit': 7.1.2(vue@3.4.25(typescript@5.4.5))
|
||||
'@vue/devtools-shared': 7.1.2
|
||||
mitt: 3.0.1
|
||||
nanoid: 3.3.7
|
||||
@@ -5996,14 +6066,14 @@ snapshots:
|
||||
- vite
|
||||
- vue
|
||||
|
||||
'@vue/devtools-kit@7.1.2(vue@3.4.23(typescript@5.4.5))':
|
||||
'@vue/devtools-kit@7.1.2(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue/devtools-shared': 7.1.2
|
||||
hookable: 5.5.3
|
||||
mitt: 3.0.1
|
||||
perfect-debounce: 1.0.0
|
||||
speakingurl: 14.0.1
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
'@vue/devtools-shared@7.1.2':
|
||||
dependencies:
|
||||
@@ -6012,8 +6082,8 @@ snapshots:
|
||||
'@vue/language-core@2.0.14(typescript@5.4.5)':
|
||||
dependencies:
|
||||
'@volar/language-core': 2.2.0-alpha.10
|
||||
'@vue/compiler-dom': 3.4.24
|
||||
'@vue/shared': 3.4.24
|
||||
'@vue/compiler-dom': 3.4.25
|
||||
'@vue/shared': 3.4.25
|
||||
computeds: 0.0.1
|
||||
minimatch: 9.0.4
|
||||
path-browserify: 1.0.1
|
||||
@@ -6021,46 +6091,44 @@ snapshots:
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
|
||||
'@vue/reactivity@3.4.23':
|
||||
'@vue/reactivity@3.4.25':
|
||||
dependencies:
|
||||
'@vue/shared': 3.4.23
|
||||
'@vue/shared': 3.4.25
|
||||
|
||||
'@vue/runtime-core@3.4.23':
|
||||
'@vue/runtime-core@3.4.25':
|
||||
dependencies:
|
||||
'@vue/reactivity': 3.4.23
|
||||
'@vue/shared': 3.4.23
|
||||
'@vue/reactivity': 3.4.25
|
||||
'@vue/shared': 3.4.25
|
||||
|
||||
'@vue/runtime-dom@3.4.23':
|
||||
'@vue/runtime-dom@3.4.25':
|
||||
dependencies:
|
||||
'@vue/runtime-core': 3.4.23
|
||||
'@vue/shared': 3.4.23
|
||||
'@vue/runtime-core': 3.4.25
|
||||
'@vue/shared': 3.4.25
|
||||
csstype: 3.1.3
|
||||
|
||||
'@vue/server-renderer@3.4.23(vue@3.4.23(typescript@5.4.5))':
|
||||
'@vue/server-renderer@3.4.25(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@vue/compiler-ssr': 3.4.23
|
||||
'@vue/shared': 3.4.23
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
'@vue/compiler-ssr': 3.4.25
|
||||
'@vue/shared': 3.4.25
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
'@vue/shared@3.4.23': {}
|
||||
'@vue/shared@3.4.25': {}
|
||||
|
||||
'@vue/shared@3.4.24': {}
|
||||
|
||||
'@vueuse/core@10.9.0(vue@3.4.23(typescript@5.4.5))':
|
||||
'@vueuse/core@10.9.0(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
'@types/web-bluetooth': 0.0.20
|
||||
'@vueuse/metadata': 10.9.0
|
||||
'@vueuse/shared': 10.9.0(vue@3.4.23(typescript@5.4.5))
|
||||
vue-demi: 0.14.7(vue@3.4.23(typescript@5.4.5))
|
||||
'@vueuse/shared': 10.9.0(vue@3.4.25(typescript@5.4.5))
|
||||
vue-demi: 0.14.7(vue@3.4.25(typescript@5.4.5))
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
|
||||
'@vueuse/metadata@10.9.0': {}
|
||||
|
||||
'@vueuse/shared@10.9.0(vue@3.4.23(typescript@5.4.5))':
|
||||
'@vueuse/shared@10.9.0(vue@3.4.25(typescript@5.4.5))':
|
||||
dependencies:
|
||||
vue-demi: 0.14.7(vue@3.4.23(typescript@5.4.5))
|
||||
vue-demi: 0.14.7(vue@3.4.25(typescript@5.4.5))
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
@@ -6262,7 +6330,7 @@ snapshots:
|
||||
browserslist@4.23.0:
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001612
|
||||
electron-to-chromium: 1.4.747
|
||||
electron-to-chromium: 1.4.748
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.13(browserslist@4.23.0)
|
||||
|
||||
@@ -6780,7 +6848,7 @@ snapshots:
|
||||
tslib: 2.3.0
|
||||
zrender: 5.5.0
|
||||
|
||||
electron-to-chromium@1.4.747: {}
|
||||
electron-to-chromium@1.4.748: {}
|
||||
|
||||
emoji-regex@10.3.0: {}
|
||||
|
||||
@@ -8347,10 +8415,10 @@ snapshots:
|
||||
|
||||
muggle-string@0.4.1: {}
|
||||
|
||||
naive-ui@2.38.1(vue@3.4.23(typescript@5.4.5)):
|
||||
naive-ui@2.38.1(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@css-render/plugin-bem': 0.15.12(css-render@0.15.12)
|
||||
'@css-render/vue3-ssr': 0.15.12(vue@3.4.23(typescript@5.4.5))
|
||||
'@css-render/vue3-ssr': 0.15.12(vue@3.4.25(typescript@5.4.5))
|
||||
'@types/katex': 0.16.7
|
||||
'@types/lodash': 4.17.0
|
||||
'@types/lodash-es': 4.17.12
|
||||
@@ -8365,10 +8433,10 @@ snapshots:
|
||||
lodash-es: 4.17.21
|
||||
seemly: 0.3.8
|
||||
treemate: 0.3.11
|
||||
vdirs: 0.1.8(vue@3.4.23(typescript@5.4.5))
|
||||
vooks: 0.2.12(vue@3.4.23(typescript@5.4.5))
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vueuc: 0.4.58(vue@3.4.23(typescript@5.4.5))
|
||||
vdirs: 0.1.8(vue@3.4.25(typescript@5.4.5))
|
||||
vooks: 0.2.12(vue@3.4.25(typescript@5.4.5))
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
vueuc: 0.4.58(vue@3.4.25(typescript@5.4.5))
|
||||
|
||||
nanoid@3.3.7: {}
|
||||
|
||||
@@ -8441,7 +8509,7 @@ snapshots:
|
||||
dependencies:
|
||||
npm-normalize-package-bin: 3.0.1
|
||||
|
||||
npm-check-updates@16.14.18:
|
||||
npm-check-updates@16.14.19:
|
||||
dependencies:
|
||||
'@types/semver-utils': 1.1.3
|
||||
chalk: 5.3.0
|
||||
@@ -8647,7 +8715,7 @@ snapshots:
|
||||
pacote@15.2.0:
|
||||
dependencies:
|
||||
'@npmcli/git': 4.1.0
|
||||
'@npmcli/installed-package-contents': 2.0.2
|
||||
'@npmcli/installed-package-contents': 2.1.0
|
||||
'@npmcli/promise-spawn': 6.0.2
|
||||
'@npmcli/run-script': 6.0.2
|
||||
cacache: 17.1.4
|
||||
@@ -8714,11 +8782,11 @@ snapshots:
|
||||
|
||||
pidtree@0.6.0: {}
|
||||
|
||||
pinia@2.1.7(typescript@5.4.5)(vue@3.4.23(typescript@5.4.5)):
|
||||
pinia@2.1.7(typescript@5.4.5)(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@vue/devtools-api': 6.6.1
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue-demi: 0.14.7(vue@3.4.23(typescript@5.4.5))
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
vue-demi: 0.14.7(vue@3.4.25(typescript@5.4.5))
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
|
||||
@@ -9149,11 +9217,11 @@ snapshots:
|
||||
lodash: 4.17.21
|
||||
lodash-es: 4.17.21
|
||||
|
||||
simplebar-vue@2.3.3(vue@3.4.23(typescript@5.4.5)):
|
||||
simplebar-vue@2.3.3(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
simplebar-core: 1.2.4
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue-demi: 0.13.11(vue@3.4.23(typescript@5.4.5))
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
vue-demi: 0.13.11(vue@3.4.25(typescript@5.4.5))
|
||||
transitivePeerDependencies:
|
||||
- '@vue/composition-api'
|
||||
|
||||
@@ -9459,7 +9527,7 @@ snapshots:
|
||||
|
||||
tslib@2.6.2: {}
|
||||
|
||||
tsx@4.7.2:
|
||||
tsx@4.7.3:
|
||||
dependencies:
|
||||
esbuild: 0.19.12
|
||||
get-tsconfig: 4.7.3
|
||||
@@ -9603,7 +9671,7 @@ snapshots:
|
||||
|
||||
universalify@2.0.1: {}
|
||||
|
||||
unplugin-icons@0.18.5(@vue/compiler-sfc@3.4.24)(vue-template-compiler@2.7.16):
|
||||
unplugin-icons@0.18.5(@vue/compiler-sfc@3.4.25)(vue-template-compiler@2.7.16):
|
||||
dependencies:
|
||||
'@antfu/install-pkg': 0.3.2
|
||||
'@antfu/utils': 0.7.7
|
||||
@@ -9613,12 +9681,12 @@ snapshots:
|
||||
local-pkg: 0.5.0
|
||||
unplugin: 1.10.1
|
||||
optionalDependencies:
|
||||
'@vue/compiler-sfc': 3.4.24
|
||||
'@vue/compiler-sfc': 3.4.25
|
||||
vue-template-compiler: 2.7.16
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
unplugin-vue-components@0.26.0(@babel/parser@7.24.4)(rollup@4.16.4)(vue@3.4.23(typescript@5.4.5)):
|
||||
unplugin-vue-components@0.26.0(@babel/parser@7.24.4)(rollup@4.16.4)(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.7
|
||||
'@rollup/pluginutils': 5.1.0(rollup@4.16.4)
|
||||
@@ -9630,7 +9698,7 @@ snapshots:
|
||||
minimatch: 9.0.4
|
||||
resolve: 1.22.8
|
||||
unplugin: 1.10.1
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
optionalDependencies:
|
||||
'@babel/parser': 7.24.4
|
||||
transitivePeerDependencies:
|
||||
@@ -9710,10 +9778,10 @@ snapshots:
|
||||
|
||||
vary@1.1.2: {}
|
||||
|
||||
vdirs@0.1.8(vue@3.4.23(typescript@5.4.5)):
|
||||
vdirs@0.1.8(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
evtd: 0.2.4
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
vite-hot-client@0.2.3(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)):
|
||||
dependencies:
|
||||
@@ -9756,10 +9824,10 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
vite-plugin-vue-devtools@7.1.2(rollup@4.16.4)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.23(typescript@5.4.5)):
|
||||
vite-plugin-vue-devtools@7.1.2(rollup@4.16.4)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@vue/devtools-core': 7.1.2(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.23(typescript@5.4.5))
|
||||
'@vue/devtools-kit': 7.1.2(vue@3.4.23(typescript@5.4.5))
|
||||
'@vue/devtools-core': 7.1.2(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.25(typescript@5.4.5))
|
||||
'@vue/devtools-kit': 7.1.2(vue@3.4.25(typescript@5.4.5))
|
||||
'@vue/devtools-shared': 7.1.2
|
||||
execa: 8.0.1
|
||||
sirv: 2.0.4
|
||||
@@ -9780,7 +9848,7 @@ snapshots:
|
||||
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4)
|
||||
'@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4)
|
||||
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.4)
|
||||
'@vue/compiler-dom': 3.4.24
|
||||
'@vue/compiler-dom': 3.4.25
|
||||
kolorist: 1.8.0
|
||||
magic-string: 0.30.10
|
||||
vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)
|
||||
@@ -9797,18 +9865,18 @@ snapshots:
|
||||
fsevents: 2.3.3
|
||||
sass: 1.75.0
|
||||
|
||||
vooks@0.2.12(vue@3.4.23(typescript@5.4.5)):
|
||||
vooks@0.2.12(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
evtd: 0.2.4
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
vue-demi@0.13.11(vue@3.4.23(typescript@5.4.5)):
|
||||
vue-demi@0.13.11(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
vue-demi@0.14.7(vue@3.4.23(typescript@5.4.5)):
|
||||
vue-demi@0.14.7(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
vue-draggable-plus@0.4.0(@types/sortablejs@1.15.8):
|
||||
dependencies:
|
||||
@@ -9827,17 +9895,17 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
vue-i18n@9.13.1(vue@3.4.23(typescript@5.4.5)):
|
||||
vue-i18n@9.13.1(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@intlify/core-base': 9.13.1
|
||||
'@intlify/shared': 9.13.1
|
||||
'@vue/devtools-api': 6.6.1
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
vue-router@4.3.2(vue@3.4.23(typescript@5.4.5)):
|
||||
vue-router@4.3.2(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@vue/devtools-api': 6.6.1
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
vue-template-compiler@2.7.16:
|
||||
dependencies:
|
||||
@@ -9851,26 +9919,26 @@ snapshots:
|
||||
semver: 7.6.0
|
||||
typescript: 5.4.5
|
||||
|
||||
vue@3.4.23(typescript@5.4.5):
|
||||
vue@3.4.25(typescript@5.4.5):
|
||||
dependencies:
|
||||
'@vue/compiler-dom': 3.4.23
|
||||
'@vue/compiler-sfc': 3.4.23
|
||||
'@vue/runtime-dom': 3.4.23
|
||||
'@vue/server-renderer': 3.4.23(vue@3.4.23(typescript@5.4.5))
|
||||
'@vue/shared': 3.4.23
|
||||
'@vue/compiler-dom': 3.4.25
|
||||
'@vue/compiler-sfc': 3.4.25
|
||||
'@vue/runtime-dom': 3.4.25
|
||||
'@vue/server-renderer': 3.4.25(vue@3.4.25(typescript@5.4.5))
|
||||
'@vue/shared': 3.4.25
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
|
||||
vueuc@0.4.58(vue@3.4.23(typescript@5.4.5)):
|
||||
vueuc@0.4.58(vue@3.4.25(typescript@5.4.5)):
|
||||
dependencies:
|
||||
'@css-render/vue3-ssr': 0.15.12(vue@3.4.23(typescript@5.4.5))
|
||||
'@css-render/vue3-ssr': 0.15.12(vue@3.4.25(typescript@5.4.5))
|
||||
'@juggle/resize-observer': 3.4.0
|
||||
css-render: 0.15.12
|
||||
evtd: 0.2.4
|
||||
seemly: 0.3.8
|
||||
vdirs: 0.1.8(vue@3.4.23(typescript@5.4.5))
|
||||
vooks: 0.2.12(vue@3.4.23(typescript@5.4.5))
|
||||
vue: 3.4.23(typescript@5.4.5)
|
||||
vdirs: 0.1.8(vue@3.4.25(typescript@5.4.5))
|
||||
vooks: 0.2.12(vue@3.4.25(typescript@5.4.5))
|
||||
vue: 3.4.25(typescript@5.4.5)
|
||||
|
||||
webpack-sources@3.2.3: {}
|
||||
|
||||
|
BIN
public/logo.png
Normal file
After Width: | Height: | Size: 20 KiB |
3
src-tauri/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Generated by Cargo
|
||||
# will have compiled files and executables
|
||||
/target/
|
3664
src-tauri/Cargo.lock
generated
Normal file
26
src-tauri/Cargo.toml
Normal file
@@ -0,0 +1,26 @@
|
||||
[package]
|
||||
name = "app"
|
||||
version = "0.1.0"
|
||||
description = "A Tauri App"
|
||||
authors = ["you"]
|
||||
license = ""
|
||||
repository = ""
|
||||
default-run = "app"
|
||||
edition = "2021"
|
||||
rust-version = "1.60"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[build-dependencies]
|
||||
tauri-build = { version = "1.5.1", features = [] }
|
||||
|
||||
[dependencies]
|
||||
serde_json = "1.0"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
tauri = { version = "1.6.1", features = [] }
|
||||
|
||||
[features]
|
||||
# this feature is used for production builds or when `devPath` points to the filesystem and the built-in dev server is disabled.
|
||||
# If you use cargo directly instead of tauri's cli you can use this feature flag to switch between tauri's `dev` and `build` modes.
|
||||
# DO NOT REMOVE!!
|
||||
custom-protocol = [ "tauri/custom-protocol" ]
|
3
src-tauri/build.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
tauri_build::build()
|
||||
}
|
BIN
src-tauri/icons/128x128.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
src-tauri/icons/128x128@2x.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
src-tauri/icons/32x32.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src-tauri/icons/Square107x107Logo.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
src-tauri/icons/Square142x142Logo.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
src-tauri/icons/Square150x150Logo.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src-tauri/icons/Square284x284Logo.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
src-tauri/icons/Square30x30Logo.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src-tauri/icons/Square310x310Logo.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
src-tauri/icons/Square44x44Logo.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src-tauri/icons/Square71x71Logo.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
src-tauri/icons/Square89x89Logo.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
src-tauri/icons/StoreLogo.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
src-tauri/icons/icon.icns
Normal file
BIN
src-tauri/icons/icon.ico
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
src-tauri/icons/icon.png
Normal file
After Width: | Height: | Size: 39 KiB |
8
src-tauri/src/main.rs
Normal file
@@ -0,0 +1,8 @@
|
||||
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
|
||||
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
||||
|
||||
fn main() {
|
||||
tauri::Builder::default()
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running tauri application");
|
||||
}
|
60
src-tauri/tauri.conf.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"$schema": "../node_modules/@tauri-apps/cli/schema.json",
|
||||
"build": {
|
||||
"beforeBuildCommand": "npm run build",
|
||||
"beforeDevCommand": "npm run dev",
|
||||
"devPath": "http://localhost:9527",
|
||||
"distDir": "../dist"
|
||||
},
|
||||
"package": {
|
||||
"productName": "soybean-admin",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"tauri": {
|
||||
"allowlist": {
|
||||
"all": false
|
||||
},
|
||||
"bundle": {
|
||||
"active": true,
|
||||
"category": "DeveloperTool",
|
||||
"copyright": "",
|
||||
"deb": {
|
||||
"depends": []
|
||||
},
|
||||
"externalBin": [],
|
||||
"icon": ["icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico"],
|
||||
"identifier": "cn.soybeanjs.admin",
|
||||
"longDescription": "",
|
||||
"macOS": {
|
||||
"entitlements": null,
|
||||
"exceptionDomain": "",
|
||||
"frameworks": [],
|
||||
"providerShortName": null,
|
||||
"signingIdentity": null
|
||||
},
|
||||
"resources": [],
|
||||
"shortDescription": "",
|
||||
"targets": "all",
|
||||
"windows": {
|
||||
"certificateThumbprint": null,
|
||||
"digestAlgorithm": "sha256",
|
||||
"timestampUrl": ""
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"csp": null
|
||||
},
|
||||
"updater": {
|
||||
"active": false
|
||||
},
|
||||
"windows": [
|
||||
{
|
||||
"fullscreen": false,
|
||||
"height": 768,
|
||||
"resizable": true,
|
||||
"title": "SoybeanAdmin",
|
||||
"width": 1366
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@@ -1,4 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { $t } from '@/locales';
|
||||
|
||||
defineOptions({
|
||||
name: 'TableHeaderOperation'
|
||||
});
|
||||
|
@@ -18,6 +18,7 @@ defineOptions({
|
||||
|
||||
const appStore = useAppStore();
|
||||
const themeStore = useThemeStore();
|
||||
const { menus } = setupMixMenuContext();
|
||||
|
||||
const layoutMode = computed(() => {
|
||||
const vertical: LayoutMode = 'vertical';
|
||||
@@ -65,7 +66,7 @@ function getSiderWidth() {
|
||||
|
||||
let w = isVerticalMix.value || isHorizontalMix.value ? mixWidth : width;
|
||||
|
||||
if (isVerticalMix.value && appStore.mixSiderFixed) {
|
||||
if (isVerticalMix.value && appStore.mixSiderFixed && menus.value.length) {
|
||||
w += mixChildMenuWidth;
|
||||
}
|
||||
|
||||
@@ -77,14 +78,12 @@ function getSiderCollapsedWidth() {
|
||||
|
||||
let w = isVerticalMix.value || isHorizontalMix.value ? mixCollapsedWidth : collapsedWidth;
|
||||
|
||||
if (isVerticalMix.value && appStore.mixSiderFixed) {
|
||||
if (isVerticalMix.value && appStore.mixSiderFixed && menus.value.length) {
|
||||
w += mixChildMenuWidth;
|
||||
}
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
setupMixMenuContext();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@@ -1,4 +1,47 @@
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { useContext } from '@sa/hooks';
|
||||
import { useMixMenu } from '../hooks';
|
||||
import { useRouteStore } from '@/store/modules/route';
|
||||
|
||||
export const { setupStore: setupMixMenuContext, useStore: useMixMenuContext } = useContext('mix-menu', useMixMenu);
|
||||
|
||||
function useMixMenu() {
|
||||
const route = useRoute();
|
||||
const routeStore = useRouteStore();
|
||||
|
||||
const activeFirstLevelMenuKey = ref('');
|
||||
|
||||
function setActiveFirstLevelMenuKey(key: string) {
|
||||
activeFirstLevelMenuKey.value = key;
|
||||
}
|
||||
|
||||
function getActiveFirstLevelMenuKey() {
|
||||
const { hideInMenu, activeMenu } = route.meta;
|
||||
const name = route.name as string;
|
||||
|
||||
const routeName = (hideInMenu ? activeMenu : name) || name;
|
||||
|
||||
const [firstLevelRouteName] = routeName.split('_');
|
||||
|
||||
setActiveFirstLevelMenuKey(firstLevelRouteName);
|
||||
}
|
||||
|
||||
const menus = computed(
|
||||
() => routeStore.menus.find(menu => menu.key === activeFirstLevelMenuKey.value)?.children || []
|
||||
);
|
||||
|
||||
watch(
|
||||
() => route.name,
|
||||
() => {
|
||||
getActiveFirstLevelMenuKey();
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
|
||||
return {
|
||||
activeFirstLevelMenuKey,
|
||||
setActiveFirstLevelMenuKey,
|
||||
getActiveFirstLevelMenuKey,
|
||||
menus
|
||||
};
|
||||
}
|
||||
|
@@ -1,44 +0,0 @@
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { useRouteStore } from '@/store/modules/route';
|
||||
|
||||
export function useMixMenu() {
|
||||
const route = useRoute();
|
||||
const routeStore = useRouteStore();
|
||||
|
||||
const activeFirstLevelMenuKey = ref('');
|
||||
|
||||
function setActiveFirstLevelMenuKey(key: string) {
|
||||
activeFirstLevelMenuKey.value = key;
|
||||
}
|
||||
|
||||
function getActiveFirstLevelMenuKey() {
|
||||
const { hideInMenu, activeMenu } = route.meta;
|
||||
const name = route.name as string;
|
||||
|
||||
const routeName = (hideInMenu ? activeMenu : name) || name;
|
||||
|
||||
const [firstLevelRouteName] = routeName.split('_');
|
||||
|
||||
setActiveFirstLevelMenuKey(firstLevelRouteName);
|
||||
}
|
||||
|
||||
const menus = computed(
|
||||
() => routeStore.menus.find(menu => menu.key === activeFirstLevelMenuKey.value)?.children || []
|
||||
);
|
||||
|
||||
watch(
|
||||
() => route.name,
|
||||
() => {
|
||||
getActiveFirstLevelMenuKey();
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
|
||||
return {
|
||||
activeFirstLevelMenuKey,
|
||||
setActiveFirstLevelMenuKey,
|
||||
getActiveFirstLevelMenuKey,
|
||||
menus
|
||||
};
|
||||
}
|
@@ -2,10 +2,10 @@
|
||||
import { computed } from 'vue';
|
||||
import { useBoolean } from '@sa/hooks';
|
||||
import { useAppStore } from '@/store/modules/app';
|
||||
import { useRouteStore } from '@/store/modules/route';
|
||||
import { useThemeStore } from '@/store/modules/theme';
|
||||
import { useRouterPush } from '@/hooks/common/router';
|
||||
import { useMixMenu } from '../../hooks';
|
||||
import { $t } from '@/locales';
|
||||
import { useMixMenuContext } from '../../context';
|
||||
import FirstLevelMenu from './first-level-menu.vue';
|
||||
import BaseMenu from './base-menu.vue';
|
||||
|
||||
@@ -15,16 +15,15 @@ defineOptions({
|
||||
|
||||
const appStore = useAppStore();
|
||||
const themeStore = useThemeStore();
|
||||
const routeStore = useRouteStore();
|
||||
const { routerPushByKey } = useRouterPush();
|
||||
const { bool: drawerVisible, setBool: setDrawerVisible } = useBoolean();
|
||||
const { activeFirstLevelMenuKey, setActiveFirstLevelMenuKey, getActiveFirstLevelMenuKey } = useMixMenu();
|
||||
const { menus, activeFirstLevelMenuKey, setActiveFirstLevelMenuKey, getActiveFirstLevelMenuKey } = useMixMenuContext();
|
||||
|
||||
const siderInverted = computed(() => !themeStore.darkMode && themeStore.sider.inverted);
|
||||
|
||||
const menus = computed(() => routeStore.menus.find(menu => menu.key === activeFirstLevelMenuKey.value)?.children || []);
|
||||
const hasMenus = computed(() => menus.value.length > 0);
|
||||
|
||||
const showDrawer = computed(() => (drawerVisible.value && menus.value.length) || appStore.mixSiderFixed);
|
||||
const showDrawer = computed(() => hasMenus.value && (drawerVisible.value || appStore.mixSiderFixed));
|
||||
|
||||
function handleSelectMixMenu(menu: App.Global.Menu) {
|
||||
setActiveFirstLevelMenuKey(menu.key);
|
||||
@@ -49,7 +48,7 @@ function handleResetActiveMenu() {
|
||||
</FirstLevelMenu>
|
||||
<div
|
||||
class="relative h-full transition-width-300"
|
||||
:style="{ width: appStore.mixSiderFixed ? themeStore.sider.mixChildMenuWidth + 'px' : '0px' }"
|
||||
:style="{ width: appStore.mixSiderFixed && hasMenus ? themeStore.sider.mixChildMenuWidth + 'px' : '0px' }"
|
||||
>
|
||||
<DarkModeContainer
|
||||
class="absolute-lt h-full flex-col-stretch nowrap-hidden shadow-sm transition-all-300"
|
||||
|
@@ -137,7 +137,16 @@ const local: App.I18n.Schema = {
|
||||
403: 'No Permission',
|
||||
404: 'Page Not Found',
|
||||
500: 'Server Error',
|
||||
'iframe-page': 'Iframe',
|
||||
home: 'Home',
|
||||
document: 'Document',
|
||||
document_project: 'Project Document',
|
||||
'document_project-link': 'Project Document(External Link)',
|
||||
document_vue: 'Vue Document',
|
||||
document_vite: 'Vite Document',
|
||||
document_unocss: 'UnoCSS Document',
|
||||
document_naive: 'Naive UI Document',
|
||||
document_antd: 'Ant Design Vue Document',
|
||||
'user-center': 'User Center',
|
||||
about: 'About',
|
||||
function: 'System Function',
|
||||
|
@@ -137,7 +137,16 @@ const local: App.I18n.Schema = {
|
||||
403: '无权限',
|
||||
404: '页面不存在',
|
||||
500: '服务器错误',
|
||||
'iframe-page': '外链页面',
|
||||
home: '首页',
|
||||
document: '文档',
|
||||
document_project: '项目文档',
|
||||
'document_project-link': '项目文档(外链)',
|
||||
document_vue: 'Vue文档',
|
||||
document_vite: 'Vite文档',
|
||||
document_unocss: 'UnoCSS文档',
|
||||
document_naive: 'Naive UI文档',
|
||||
document_antd: 'Ant Design Vue文档',
|
||||
'user-center': '个人中心',
|
||||
about: '关于',
|
||||
function: '系统功能',
|
||||
|
@@ -18,6 +18,7 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
|
||||
403: () => import("@/views/_builtin/403/index.vue"),
|
||||
404: () => import("@/views/_builtin/404/index.vue"),
|
||||
500: () => import("@/views/_builtin/500/index.vue"),
|
||||
"iframe-page": () => import("@/views/_builtin/iframe-page/[url].vue"),
|
||||
login: () => import("@/views/_builtin/login/index.vue"),
|
||||
about: () => import("@/views/about/index.vue"),
|
||||
"function_hide-child_one": () => import("@/views/function/hide-child/one/index.vue"),
|
||||
|
@@ -179,6 +179,19 @@ export const generatedRoutes: GeneratedRoute[] = [
|
||||
order: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'iframe-page',
|
||||
path: '/iframe-page/:url',
|
||||
component: 'layout.base$view.iframe-page',
|
||||
props: true,
|
||||
meta: {
|
||||
title: 'iframe-page',
|
||||
i18nKey: 'route.iframe-page',
|
||||
constant: true,
|
||||
hideInMenu: true,
|
||||
keepAlive: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'login',
|
||||
path: '/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?',
|
||||
|
@@ -147,6 +147,14 @@ const routeMap: RouteMap = {
|
||||
"exception_403": "/exception/403",
|
||||
"exception_404": "/exception/404",
|
||||
"exception_500": "/exception/500",
|
||||
"document": "/document",
|
||||
"document_project": "/document/project",
|
||||
"document_project-link": "/document/project-link",
|
||||
"document_vue": "/document/vue",
|
||||
"document_vite": "/document/vite",
|
||||
"document_unocss": "/document/unocss",
|
||||
"document_naive": "/document/naive",
|
||||
"document_antd": "/document/antd",
|
||||
"403": "/403",
|
||||
"404": "/404",
|
||||
"500": "/500",
|
||||
@@ -162,6 +170,7 @@ const routeMap: RouteMap = {
|
||||
"function_tab": "/function/tab",
|
||||
"function_toggle-auth": "/function/toggle-auth",
|
||||
"home": "/home",
|
||||
"iframe-page": "/iframe-page/:url",
|
||||
"login": "/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?",
|
||||
"manage": "/manage",
|
||||
"manage_menu": "/manage/menu",
|
||||
|
@@ -51,6 +51,115 @@ const customRoutes: CustomRoute[] = [
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'document',
|
||||
path: '/document',
|
||||
component: 'layout.base',
|
||||
meta: {
|
||||
title: 'document',
|
||||
i18nKey: 'route.document',
|
||||
order: 2,
|
||||
icon: 'mdi:file-document-multiple-outline'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
name: 'document_antd',
|
||||
path: '/document/antd',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://antdv.com/components/overview-cn'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_antd',
|
||||
i18nKey: 'route.document_antd',
|
||||
order: 7,
|
||||
icon: 'logos:ant-design'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_naive',
|
||||
path: '/document/naive',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://www.naiveui.com/zh-CN/os-theme/docs/introduction'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_naive',
|
||||
i18nKey: 'route.document_naive',
|
||||
order: 6,
|
||||
icon: 'logos:naiveui'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_project',
|
||||
path: '/document/project',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://docs.soybeanjs.cn/zh'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_project',
|
||||
i18nKey: 'route.document_project',
|
||||
order: 1,
|
||||
localIcon: 'logo'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_project-link',
|
||||
path: '/document/project-link',
|
||||
component: 'view.iframe-page',
|
||||
meta: {
|
||||
title: 'document_project-link',
|
||||
i18nKey: 'route.document_project-link',
|
||||
order: 2,
|
||||
localIcon: 'logo',
|
||||
href: 'https://docs.soybeanjs.cn/zh'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_unocss',
|
||||
path: '/document/unocss',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://unocss.dev/'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_unocss',
|
||||
i18nKey: 'route.document_unocss',
|
||||
order: 5,
|
||||
icon: 'logos:unocss'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_vite',
|
||||
path: '/document/vite',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://cn.vitejs.dev/'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_vite',
|
||||
i18nKey: 'route.document_vite',
|
||||
order: 4,
|
||||
icon: 'logos:vitejs'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_vue',
|
||||
path: '/document/vue',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://cn.vuejs.org/'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_vue',
|
||||
i18nKey: 'route.document_vue',
|
||||
order: 3,
|
||||
icon: 'logos:vue'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import { effectScope, onScopeDispose, ref, watch } from 'vue';
|
||||
import { defineStore } from 'pinia';
|
||||
import { breakpointsTailwind, useBreakpoints, useTitle } from '@vueuse/core';
|
||||
import { breakpointsTailwind, useBreakpoints, useEventListener, useTitle } from '@vueuse/core';
|
||||
import { useBoolean } from '@sa/hooks';
|
||||
import { SetupStoreId } from '@/enum';
|
||||
import { router } from '@/router';
|
||||
@@ -22,7 +22,11 @@ export const useAppStore = defineStore(SetupStoreId.App, () => {
|
||||
const { bool: fullContent, toggle: toggleFullContent } = useBoolean();
|
||||
const { bool: contentXScrollable, setBool: setContentXScrollable } = useBoolean();
|
||||
const { bool: siderCollapse, setBool: setSiderCollapse, toggle: toggleSiderCollapse } = useBoolean();
|
||||
const { bool: mixSiderFixed, setBool: setMixSiderFixed, toggle: toggleMixSiderFixed } = useBoolean();
|
||||
const {
|
||||
bool: mixSiderFixed,
|
||||
setBool: setMixSiderFixed,
|
||||
toggle: toggleMixSiderFixed
|
||||
} = useBoolean(localStg.get('mixSiderFixed') === 'Y');
|
||||
|
||||
/** Is mobile layout */
|
||||
const isMobile = breakpoints.smaller('sm');
|
||||
@@ -107,6 +111,11 @@ export const useAppStore = defineStore(SetupStoreId.App, () => {
|
||||
});
|
||||
});
|
||||
|
||||
// cache mixSiderFixed
|
||||
useEventListener(window, 'beforeunload', () => {
|
||||
localStg.set('mixSiderFixed', mixSiderFixed.value ? 'Y' : 'N');
|
||||
});
|
||||
|
||||
/** On scope dispose */
|
||||
onScopeDispose(() => {
|
||||
scope.stop();
|
||||
|
27
src/typings/elegant-router.d.ts
vendored
@@ -21,6 +21,14 @@ declare module "@elegant-router/types" {
|
||||
"exception_403": "/exception/403";
|
||||
"exception_404": "/exception/404";
|
||||
"exception_500": "/exception/500";
|
||||
"document": "/document";
|
||||
"document_project": "/document/project";
|
||||
"document_project-link": "/document/project-link";
|
||||
"document_vue": "/document/vue";
|
||||
"document_vite": "/document/vite";
|
||||
"document_unocss": "/document/unocss";
|
||||
"document_naive": "/document/naive";
|
||||
"document_antd": "/document/antd";
|
||||
"403": "/403";
|
||||
"404": "/404";
|
||||
"500": "/500";
|
||||
@@ -36,6 +44,7 @@ declare module "@elegant-router/types" {
|
||||
"function_tab": "/function/tab";
|
||||
"function_toggle-auth": "/function/toggle-auth";
|
||||
"home": "/home";
|
||||
"iframe-page": "/iframe-page/:url";
|
||||
"login": "/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?";
|
||||
"manage": "/manage";
|
||||
"manage_menu": "/manage/menu";
|
||||
@@ -72,6 +81,14 @@ declare module "@elegant-router/types" {
|
||||
| "exception_403"
|
||||
| "exception_404"
|
||||
| "exception_500"
|
||||
| "document"
|
||||
| "document_project"
|
||||
| "document_project-link"
|
||||
| "document_vue"
|
||||
| "document_vite"
|
||||
| "document_unocss"
|
||||
| "document_naive"
|
||||
| "document_antd"
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -90,6 +107,7 @@ declare module "@elegant-router/types" {
|
||||
| "about"
|
||||
| "function"
|
||||
| "home"
|
||||
| "iframe-page"
|
||||
| "login"
|
||||
| "manage"
|
||||
| "multi-menu"
|
||||
@@ -104,6 +122,7 @@ declare module "@elegant-router/types" {
|
||||
| "root"
|
||||
| "not-found"
|
||||
| "exception"
|
||||
| "document"
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -114,6 +133,7 @@ declare module "@elegant-router/types" {
|
||||
| "403"
|
||||
| "404"
|
||||
| "500"
|
||||
| "iframe-page"
|
||||
| "login"
|
||||
| "about"
|
||||
| "function_hide-child_one"
|
||||
@@ -144,6 +164,13 @@ declare module "@elegant-router/types" {
|
||||
| "exception_403"
|
||||
| "exception_404"
|
||||
| "exception_500"
|
||||
| "document_project"
|
||||
| "document_project-link"
|
||||
| "document_vue"
|
||||
| "document_vite"
|
||||
| "document_unocss"
|
||||
| "document_naive"
|
||||
| "document_antd"
|
||||
>;
|
||||
|
||||
/**
|
||||
|
2
src/typings/storage.d.ts
vendored
@@ -14,6 +14,8 @@ declare namespace StorageType {
|
||||
lang: App.I18n.LangType;
|
||||
/** The token */
|
||||
token: string;
|
||||
/** Fixed sider with mix-menu */
|
||||
mixSiderFixed: CommonType.YesOrNo;
|
||||
/** The refresh token */
|
||||
refreshToken: string;
|
||||
/** The user info */
|
||||
|
25
src/views/_builtin/iframe-page/[url].vue
Normal file
@@ -0,0 +1,25 @@
|
||||
<script setup lang="ts">
|
||||
import { onActivated, onMounted } from 'vue';
|
||||
|
||||
interface Props {
|
||||
url: string;
|
||||
}
|
||||
|
||||
defineProps<Props>();
|
||||
|
||||
onMounted(() => {
|
||||
console.log('mounted');
|
||||
});
|
||||
|
||||
onActivated(() => {
|
||||
console.log('activated');
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="h-full">
|
||||
<iframe id="iframePage" class="size-full" :src="url"></iframe>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
@@ -182,7 +182,7 @@ watch(visible, () => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="360">
|
||||
<NDrawer v-model:show="visible" display-directive="show" :width="360">
|
||||
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
||||
<NForm ref="formRef" :model="model" :rules="rules" label-placement="left" :label-width="80">
|
||||
<NFormItem :label="$t('page.manage.menu.menuType')" path="menuType">
|
||||
|
@@ -100,7 +100,7 @@ watch(visible, () => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="360">
|
||||
<NDrawer v-model:show="visible" display-directive="show" :width="360">
|
||||
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
||||
<NForm ref="formRef" :model="model" :rules="rules">
|
||||
<NFormItem :label="$t('page.manage.role.roleName')" path="roleName">
|
||||
|
@@ -122,7 +122,7 @@ watch(visible, () => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="360">
|
||||
<NDrawer v-model:show="visible" display-directive="show" :width="360">
|
||||
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
||||
<NForm ref="formRef" :model="model" :rules="rules">
|
||||
<NFormItem :label="$t('page.manage.user.userName')" path="userName">
|
||||
|