feat: 合并 1.0.2
This commit is contained in:
parent
610bcbf223
commit
b81e2a89ec
@ -17,7 +17,8 @@ export default defineConfig(
|
|||||||
registeredComponentsOnly: false,
|
registeredComponentsOnly: false,
|
||||||
ignores: ['/^icon-/']
|
ignores: ['/^icon-/']
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
'order-attributify': 'off'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
28
package.json
28
package.json
@ -58,41 +58,41 @@
|
|||||||
"ts-md5": "^1.3.1",
|
"ts-md5": "^1.3.1",
|
||||||
"vue": "3.4.21",
|
"vue": "3.4.21",
|
||||||
"vue-draggable-plus": "0.4.0",
|
"vue-draggable-plus": "0.4.0",
|
||||||
"vue-i18n": "9.10.2",
|
"vue-i18n": "9.11.0",
|
||||||
"vue-router": "4.3.0"
|
"vue-router": "4.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@elegant-router/vue": "0.3.6",
|
"@elegant-router/vue": "0.3.6",
|
||||||
"@iconify/json": "2.2.196",
|
"@iconify/json": "2.2.198",
|
||||||
"@sa/scripts": "workspace:*",
|
"@sa/scripts": "workspace:*",
|
||||||
"@sa/uno-preset": "workspace:*",
|
"@sa/uno-preset": "workspace:*",
|
||||||
"@soybeanjs/eslint-config": "1.2.5",
|
"@soybeanjs/eslint-config": "1.2.5",
|
||||||
"@types/lodash-es": "4.17.12",
|
"@types/lodash-es": "4.17.12",
|
||||||
"@types/node": "20.12.2",
|
"@types/node": "20.12.5",
|
||||||
"@types/nprogress": "0.2.3",
|
"@types/nprogress": "0.2.3",
|
||||||
"@unocss/eslint-config": "0.58.8",
|
"@unocss/eslint-config": "0.59.0",
|
||||||
"@unocss/preset-icons": "0.58.8",
|
"@unocss/preset-icons": "0.59.0",
|
||||||
"@unocss/preset-uno": "0.58.8",
|
"@unocss/preset-uno": "0.59.0",
|
||||||
"@unocss/transformer-directives": "0.58.8",
|
"@unocss/transformer-directives": "0.59.0",
|
||||||
"@unocss/transformer-variant-group": "0.58.8",
|
"@unocss/transformer-variant-group": "0.59.0",
|
||||||
"@unocss/vite": "0.58.8",
|
"@unocss/vite": "0.59.0",
|
||||||
"@vitejs/plugin-vue": "5.0.4",
|
"@vitejs/plugin-vue": "5.0.4",
|
||||||
"@vitejs/plugin-vue-jsx": "3.1.0",
|
"@vitejs/plugin-vue-jsx": "3.1.0",
|
||||||
"eslint": "8.57.0",
|
"eslint": "8.57.0",
|
||||||
"eslint-plugin-vue": "9.24.0",
|
"eslint-plugin-vue": "9.24.0",
|
||||||
"lint-staged": "15.2.2",
|
"lint-staged": "15.2.2",
|
||||||
"sass": "1.72.0",
|
"sass": "1.74.1",
|
||||||
"simple-git-hooks": "2.11.1",
|
"simple-git-hooks": "2.11.1",
|
||||||
"tsx": "4.7.1",
|
"tsx": "4.7.2",
|
||||||
"typescript": "5.4.3",
|
"typescript": "5.4.4",
|
||||||
"unplugin-icons": "0.18.5",
|
"unplugin-icons": "0.18.5",
|
||||||
"unplugin-vue-components": "0.26.0",
|
"unplugin-vue-components": "0.26.0",
|
||||||
"vite": "5.2.7",
|
"vite": "5.2.8",
|
||||||
"vite-plugin-progress": "0.0.7",
|
"vite-plugin-progress": "0.0.7",
|
||||||
"vite-plugin-svg-icons": "2.0.1",
|
"vite-plugin-svg-icons": "2.0.1",
|
||||||
"vite-plugin-vue-devtools": "7.0.25",
|
"vite-plugin-vue-devtools": "7.0.25",
|
||||||
"vue-eslint-parser": "9.4.2",
|
"vue-eslint-parser": "9.4.2",
|
||||||
"vue-tsc": "2.0.7"
|
"vue-tsc": "2.0.11"
|
||||||
},
|
},
|
||||||
"simple-git-hooks": {
|
"simple-git-hooks": {
|
||||||
"commit-msg": "pnpm sa git-commit-verify",
|
"commit-msg": "pnpm sa git-commit-verify",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sa/axios",
|
"name": "@sa/axios",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts"
|
".": "./src/index.ts"
|
||||||
},
|
},
|
||||||
|
@ -127,6 +127,7 @@ export function createRequest<ResponseData = any, State = Record<string, unknown
|
|||||||
|
|
||||||
request.cancelRequest = cancelRequest;
|
request.cancelRequest = cancelRequest;
|
||||||
request.cancelAllRequest = cancelAllRequest;
|
request.cancelAllRequest = cancelAllRequest;
|
||||||
|
request.state = {} as State;
|
||||||
|
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
@ -145,9 +146,10 @@ export function createFlatRequest<ResponseData = any, State = Record<string, unk
|
|||||||
) {
|
) {
|
||||||
const { instance, opts, cancelRequest, cancelAllRequest } = createCommonRequest<ResponseData>(axiosConfig, options);
|
const { instance, opts, cancelRequest, cancelAllRequest } = createCommonRequest<ResponseData>(axiosConfig, options);
|
||||||
|
|
||||||
const flatRequest: FlatRequestInstance<State> = async function flatRequest<T = any, R extends ResponseType = 'json'>(
|
const flatRequest: FlatRequestInstance<State, ResponseData> = async function flatRequest<
|
||||||
config: CustomAxiosRequestConfig
|
T = any,
|
||||||
) {
|
R extends ResponseType = 'json'
|
||||||
|
>(config: CustomAxiosRequestConfig) {
|
||||||
try {
|
try {
|
||||||
const response: AxiosResponse<ResponseData> = await instance(config);
|
const response: AxiosResponse<ResponseData> = await instance(config);
|
||||||
|
|
||||||
@ -163,7 +165,7 @@ export function createFlatRequest<ResponseData = any, State = Record<string, unk
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
return { data: null, error };
|
return { data: null, error };
|
||||||
}
|
}
|
||||||
} as FlatRequestInstance<State>;
|
} as FlatRequestInstance<State, ResponseData>;
|
||||||
|
|
||||||
flatRequest.cancelRequest = cancelRequest;
|
flatRequest.cancelRequest = cancelRequest;
|
||||||
flatRequest.cancelAllRequest = cancelAllRequest;
|
flatRequest.cancelAllRequest = cancelAllRequest;
|
||||||
|
@ -85,15 +85,17 @@ export type FlatResponseSuccessData<T = any> = {
|
|||||||
error: null;
|
error: null;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type FlatResponseFailData<T = any> = {
|
export type FlatResponseFailData<ResponseData = any> = {
|
||||||
data: null;
|
data: null;
|
||||||
error: AxiosError<T>;
|
error: AxiosError<ResponseData>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type FlatResponseData<T = any> = FlatResponseSuccessData<T> | FlatResponseFailData<T>;
|
export type FlatResponseData<T = any, ResponseData = any> =
|
||||||
|
| FlatResponseSuccessData<T>
|
||||||
|
| FlatResponseFailData<ResponseData>;
|
||||||
|
|
||||||
export interface FlatRequestInstance<S = Record<string, unknown>> extends RequestInstanceCommon<S> {
|
export interface FlatRequestInstance<S = Record<string, unknown>, ResponseData = any> extends RequestInstanceCommon<S> {
|
||||||
<T = any, R extends ResponseType = 'json'>(
|
<T = any, R extends ResponseType = 'json'>(
|
||||||
config: CustomAxiosRequestConfig<R>
|
config: CustomAxiosRequestConfig<R>
|
||||||
): Promise<FlatResponseData<MappedType<R, T>>>;
|
): Promise<FlatResponseData<MappedType<R, T>, ResponseData>>;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sa/color-palette",
|
"name": "@sa/color-palette",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts"
|
".": "./src/index.ts"
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sa/hooks",
|
"name": "@sa/hooks",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts"
|
".": "./src/index.ts"
|
||||||
},
|
},
|
||||||
|
@ -16,19 +16,19 @@ export type HookRequestInstanceResponseSuccessData<T = any> = {
|
|||||||
error: Ref<null>;
|
error: Ref<null>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type HookRequestInstanceResponseFailData<T = any> = {
|
export type HookRequestInstanceResponseFailData<ResponseData = any> = {
|
||||||
data: Ref<null>;
|
data: Ref<null>;
|
||||||
error: Ref<AxiosError<T>>;
|
error: Ref<AxiosError<ResponseData>>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type HookRequestInstanceResponseData<T = any> = {
|
export type HookRequestInstanceResponseData<T = any, ResponseData = any> = {
|
||||||
loading: Ref<boolean>;
|
loading: Ref<boolean>;
|
||||||
} & (HookRequestInstanceResponseSuccessData<T> | HookRequestInstanceResponseFailData<T>);
|
} & (HookRequestInstanceResponseSuccessData<T> | HookRequestInstanceResponseFailData<ResponseData>);
|
||||||
|
|
||||||
export interface HookRequestInstance {
|
export interface HookRequestInstance<ResponseData = any> {
|
||||||
<T = any, R extends ResponseType = 'json'>(
|
<T = any, R extends ResponseType = 'json'>(
|
||||||
config: CustomAxiosRequestConfig
|
config: CustomAxiosRequestConfig
|
||||||
): HookRequestInstanceResponseData<MappedType<R, T>>;
|
): HookRequestInstanceResponseData<MappedType<R, T>, ResponseData>;
|
||||||
cancelRequest: (requestId: string) => void;
|
cancelRequest: (requestId: string) => void;
|
||||||
cancelAllRequest: () => void;
|
cancelAllRequest: () => void;
|
||||||
}
|
}
|
||||||
@ -45,13 +45,13 @@ export default function createHookRequest<ResponseData = any>(
|
|||||||
) {
|
) {
|
||||||
const request = createFlatRequest<ResponseData>(axiosConfig, options);
|
const request = createFlatRequest<ResponseData>(axiosConfig, options);
|
||||||
|
|
||||||
const hookRequest: HookRequestInstance = function hookRequest<T = any, R extends ResponseType = 'json'>(
|
const hookRequest: HookRequestInstance<ResponseData> = function hookRequest<T = any, R extends ResponseType = 'json'>(
|
||||||
config: CustomAxiosRequestConfig
|
config: CustomAxiosRequestConfig
|
||||||
) {
|
) {
|
||||||
const { loading, startLoading, endLoading } = useLoading();
|
const { loading, startLoading, endLoading } = useLoading();
|
||||||
|
|
||||||
const data = ref<MappedType<R, T> | null>(null);
|
const data = ref<MappedType<R, T> | null>(null) as Ref<MappedType<R, T>>;
|
||||||
const error = ref<AxiosError<MappedType<R, T>> | null>(null);
|
const error = ref<AxiosError<ResponseData> | null>(null) as Ref<AxiosError<ResponseData> | null>;
|
||||||
|
|
||||||
startLoading();
|
startLoading();
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ export default function createHookRequest<ResponseData = any>(
|
|||||||
data,
|
data,
|
||||||
error
|
error
|
||||||
};
|
};
|
||||||
} as HookRequestInstance;
|
} as HookRequestInstance<ResponseData>;
|
||||||
|
|
||||||
hookRequest.cancelRequest = request.cancelRequest;
|
hookRequest.cancelRequest = request.cancelRequest;
|
||||||
hookRequest.cancelAllRequest = request.cancelAllRequest;
|
hookRequest.cancelAllRequest = request.cancelAllRequest;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sa/materials",
|
"name": "@sa/materials",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts"
|
".": "./src/index.ts"
|
||||||
},
|
},
|
||||||
|
@ -203,7 +203,7 @@ function handleClickMask() {
|
|||||||
<!-- Main Content -->
|
<!-- Main Content -->
|
||||||
<main
|
<main
|
||||||
:id="isContentScroll ? scrollElId : undefined"
|
:id="isContentScroll ? scrollElId : undefined"
|
||||||
class="flex flex-grow flex-col"
|
class="flex flex-col flex-grow"
|
||||||
:class="[commonClass, contentClass, leftGapClass, { 'overflow-y-auto': isContentScroll }]"
|
:class="[commonClass, contentClass, leftGapClass, { 'overflow-y-auto': isContentScroll }]"
|
||||||
>
|
>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sa/fetch",
|
"name": "@sa/fetch",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts"
|
".": "./src/index.ts"
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sa/scripts",
|
"name": "@sa/scripts",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"bin": {
|
"bin": {
|
||||||
"sa": "./bin.ts"
|
"sa": "./bin.ts"
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sa/uno-preset",
|
"name": "@sa/uno-preset",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts"
|
".": "./src/index.ts"
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sa/utils",
|
"name": "@sa/utils",
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts"
|
".": "./src/index.ts"
|
||||||
},
|
},
|
||||||
@ -13,7 +13,7 @@
|
|||||||
"colord": "2.9.3",
|
"colord": "2.9.3",
|
||||||
"crypto-js": "4.2.0",
|
"crypto-js": "4.2.0",
|
||||||
"localforage": "1.10.0",
|
"localforage": "1.10.0",
|
||||||
"nanoid": "5.0.6"
|
"nanoid": "5.0.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/crypto-js": "4.2.2"
|
"@types/crypto-js": "4.2.2"
|
||||||
|
768
pnpm-lock.yaml
768
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
|||||||
import { computed, useAttrs } from 'vue';
|
import { computed, useAttrs } from 'vue';
|
||||||
import { Icon } from '@iconify/vue';
|
import { Icon } from '@iconify/vue';
|
||||||
|
|
||||||
defineOptions({ name: 'SvgIcon' });
|
defineOptions({ name: 'SvgIcon', inheritAttrs: false });
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Props
|
* Props
|
||||||
|
@ -184,7 +184,7 @@ init();
|
|||||||
<template #prefix>
|
<template #prefix>
|
||||||
<SvgIcon :icon="tab.icon" :local-icon="tab.localIcon" class="inline-block align-text-bottom text-16px" />
|
<SvgIcon :icon="tab.icon" :local-icon="tab.localIcon" class="inline-block align-text-bottom text-16px" />
|
||||||
</template>
|
</template>
|
||||||
<span>{{ tab.label }}</span>
|
<div class="max-w-240px ellipsis-text">{{ tab.label }}</div>
|
||||||
</PageTab>
|
</PageTab>
|
||||||
</div>
|
</div>
|
||||||
</BetterScroll>
|
</BetterScroll>
|
||||||
|
@ -150,7 +150,11 @@ export function addThemeVarsToHtml(tokens: App.Theme.BaseToken, darkTokens: App.
|
|||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const style = document.createElement('style');
|
const styleId = 'theme-vars';
|
||||||
|
|
||||||
|
const style = document.querySelector(`#${styleId}`) || document.createElement('style');
|
||||||
|
|
||||||
|
style.id = styleId;
|
||||||
|
|
||||||
style.textContent = css + darkCss;
|
style.textContent = css + darkCss;
|
||||||
|
|
||||||
@ -230,6 +234,9 @@ export function getNaiveTheme(colors: App.Theme.ThemeColor) {
|
|||||||
},
|
},
|
||||||
LoadingBar: {
|
LoadingBar: {
|
||||||
colorLoading
|
colorLoading
|
||||||
|
},
|
||||||
|
Tag: {
|
||||||
|
borderRadius: '6px'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -84,11 +84,13 @@ function createDefaultModel(): Model {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
type RuleKey = Extract<keyof Model, 'userName' | 'userStatus'>;
|
type RuleKey = Extract<keyof Model, 'menuName' | 'status' | 'routeName' | 'routePath'>;
|
||||||
|
|
||||||
const rules: Record<RuleKey, App.Global.FormRule> = {
|
const rules: Record<RuleKey, App.Global.FormRule> = {
|
||||||
userName: defaultRequiredRule,
|
menuName: defaultRequiredRule,
|
||||||
userStatus: defaultRequiredRule
|
status: defaultRequiredRule,
|
||||||
|
routeName: defaultRequiredRule,
|
||||||
|
routePath: defaultRequiredRule
|
||||||
};
|
};
|
||||||
|
|
||||||
const disabledMenuType = computed(() => props.operateType === 'edit');
|
const disabledMenuType = computed(() => props.operateType === 'edit');
|
||||||
|
Loading…
Reference in New Issue
Block a user