perf: perf component

This commit is contained in:
vben
2020-11-26 21:19:39 +08:00
parent 19011296ed
commit 73c8e0c158
80 changed files with 529 additions and 631 deletions

View File

@@ -3,10 +3,9 @@ import { userStore } from '/@/store/modules/user';
import { useI18n } from '/@/hooks/web/useI18n';
const { createMessage } = useMessage();
const { t } = useI18n('sys.api');
const error = createMessage.error!;
export function checkStatus(status: number, msg: string): void {
const { t } = useI18n('sys.api');
switch (status) {
case 400:
error(`${msg}`);

View File

@@ -22,7 +22,6 @@ import { errorStore } from '/@/store/modules/error';
import { errorResult } from './const';
import { useI18n } from '/@/hooks/web/useI18n';
const { t } = useI18n('sys.api');
const globSetting = useGlobSetting();
const prefix = globSetting.urlPrefix;
const { createMessage, createErrorModal } = useMessage();
@@ -35,6 +34,7 @@ const transform: AxiosTransform = {
* @description: 处理请求数据
*/
transformRequestData: (res: AxiosResponse<Result>, options: RequestOptions) => {
const { t } = useI18n('sys.api');
const { isTransformRequestResult } = options;
// 不进行任何处理,直接返回
// 用于页面代码可能需要直接获取codedatamessage这些信息时开启
@@ -154,6 +154,7 @@ const transform: AxiosTransform = {
* @description: 响应错误处理
*/
responseInterceptorsCatch: (error: any) => {
const { t } = useI18n('sys.api');
errorStore.setupErrorHandle(error);
const { response, code, message } = error || {};
const msg: string =

40
src/utils/propTypes.ts Normal file
View File

@@ -0,0 +1,40 @@
import { CSSProperties, VNodeChild } from 'vue';
import { createTypes, VueTypeValidableDef, VueTypesInterface } from 'vue-types';
type VueNode = VNodeChild | JSX.Element;
type PropTypes = VueTypesInterface & {
readonly style: VueTypeValidableDef<CSSProperties>;
readonly VNodeChild: VueTypeValidableDef<VueNode>;
// readonly trueBool: VueTypeValidableDef<boolean>;
};
const propTypes = createTypes({
func: undefined,
bool: undefined,
string: undefined,
number: undefined,
object: undefined,
integer: undefined,
}) as PropTypes;
propTypes.extend([
{
name: 'style',
getter: true,
type: [String, Object],
default: undefined,
},
{
name: 'VNodeChild',
getter: true,
type: undefined,
},
// {
// name: 'trueBool',
// getter: true,
// type: Boolean,
// default: true,
// },
]);
export { propTypes };