mirror of
https://github.com/cool-team-official/cool-admin-vue.git
synced 2024-11-01 06:02:38 +08:00
优化
This commit is contained in:
parent
13c74533bd
commit
537cd2f708
Binary file not shown.
Before Width: | Height: | Size: 3.9 KiB |
@ -1,9 +1,8 @@
|
||||
import { App } from "vue";
|
||||
import modules from "/@/modules";
|
||||
import { router, addViews } from "../router";
|
||||
import { filename } from "../utils";
|
||||
import { filename, module } from "../utils";
|
||||
import { isFunction, isObject } from "lodash";
|
||||
import { App } from "vue";
|
||||
import module from "../utils/module";
|
||||
|
||||
// 扫描文件
|
||||
const files = import.meta.globEager("/src/modules/**/*");
|
||||
|
@ -66,7 +66,7 @@ export function useEps(service: Service) {
|
||||
|
||||
// 获取 eps
|
||||
function getEps() {
|
||||
if (isDev) {
|
||||
if (isDev && test.eps) {
|
||||
service
|
||||
.request({
|
||||
url: "/admin/base/open/eps"
|
||||
@ -183,30 +183,28 @@ export function useEps(service: Service) {
|
||||
}
|
||||
}
|
||||
|
||||
// 获取
|
||||
if (isDev) {
|
||||
// 缓存数据
|
||||
set(storage.get("eps"));
|
||||
// 解析
|
||||
try {
|
||||
const eps =
|
||||
storage.get("eps") ||
|
||||
JSON.parse(__EPS__ || "[]").map(([prefix, api]: any[]) => {
|
||||
return {
|
||||
prefix,
|
||||
api: api.map(([method, path, name]: string[]) => {
|
||||
return {
|
||||
method,
|
||||
path,
|
||||
name
|
||||
};
|
||||
})
|
||||
};
|
||||
});
|
||||
|
||||
// 接口数据
|
||||
if (test.eps) {
|
||||
getEps();
|
||||
}
|
||||
} else {
|
||||
const eps = JSON.parse(__EPS__).map(([prefix, api]: any[]) => {
|
||||
return {
|
||||
prefix,
|
||||
api: api.map(([method, path, name]: string[]) => {
|
||||
return {
|
||||
method,
|
||||
path,
|
||||
name
|
||||
};
|
||||
})
|
||||
};
|
||||
});
|
||||
|
||||
// 文件数据
|
||||
set({ eps });
|
||||
} catch (err) {
|
||||
console.error("[Eps] 解析失败!", err);
|
||||
}
|
||||
|
||||
// 获取
|
||||
getEps();
|
||||
}
|
||||
|
@ -1,20 +1,20 @@
|
||||
import { deepFiles, deepMerge } from "../utils";
|
||||
import { deepFiles, deepMerge, module } from "../utils";
|
||||
import { BaseService } from "./base";
|
||||
import { useEps } from "./eps";
|
||||
|
||||
// 服务
|
||||
// 基础服务
|
||||
export const service: Service = {
|
||||
request: new BaseService().request
|
||||
};
|
||||
|
||||
export function useService() {
|
||||
// 接口内容
|
||||
useEps(service);
|
||||
|
||||
if (window.__modules__) {
|
||||
window.__modules__.forEach((e: any) => {
|
||||
deepMerge(service, deepFiles(e.service || []));
|
||||
});
|
||||
}
|
||||
// 模块内容
|
||||
module.list.forEach((e) => {
|
||||
deepMerge(service, deepFiles(e.service || []));
|
||||
});
|
||||
|
||||
return service;
|
||||
}
|
||||
|
@ -115,40 +115,30 @@ axios.interceptors.response.use(
|
||||
|
||||
if (error.response) {
|
||||
const { status, config } = error.response;
|
||||
const message = `${config.url} ${status}`;
|
||||
|
||||
switch (status) {
|
||||
case 401:
|
||||
href("/401");
|
||||
break;
|
||||
console.error(message);
|
||||
|
||||
case 403:
|
||||
if (isDev) {
|
||||
ElMessage.error(`${config.url} 无权限访问!!`);
|
||||
} else {
|
||||
if (isDev) {
|
||||
ElMessage.error(message);
|
||||
} else {
|
||||
switch (status) {
|
||||
case 401:
|
||||
href("/401");
|
||||
break;
|
||||
|
||||
case 403:
|
||||
href("/403");
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
case 404:
|
||||
break;
|
||||
|
||||
case 500:
|
||||
if (!isDev) {
|
||||
case 500:
|
||||
href("/500");
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
case 502:
|
||||
if (isDev) {
|
||||
ElMessage.error(`${config.url} 服务异常!!`);
|
||||
} else {
|
||||
case 502:
|
||||
href("/502");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
console.error(status, config.url);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,25 @@
|
||||
// @ts-nocheck
|
||||
|
||||
interface Item {
|
||||
name: string;
|
||||
options: {
|
||||
[key: string]: any;
|
||||
};
|
||||
value: any;
|
||||
service?: any[];
|
||||
pages?: any[];
|
||||
views?: any[];
|
||||
components?: {
|
||||
[key: string]: any;
|
||||
};
|
||||
}
|
||||
|
||||
const module = {
|
||||
set(list: any[]) {
|
||||
get list(): Item[] {
|
||||
return window.__modules__ || [];
|
||||
},
|
||||
|
||||
set(list: Item[]) {
|
||||
window.__modules__ = list;
|
||||
},
|
||||
|
||||
|
3
src/env.d.ts
vendored
3
src/env.d.ts
vendored
@ -1,2 +1,5 @@
|
||||
/// <reference types="@cool-vue/crud" />
|
||||
/// <reference types="../build/cool/temp/service" />
|
||||
|
||||
declare const __PROXY_LIST__: any[];
|
||||
declare const __EPS__: string;
|
||||
|
@ -0,0 +1,6 @@
|
||||
import { BaseService, Service } from "/@/cool";
|
||||
|
||||
@Service("test")
|
||||
class Test extends BaseService {}
|
||||
|
||||
export default Test;
|
4
src/shims-vue.d.ts
vendored
4
src/shims-vue.d.ts
vendored
@ -7,7 +7,3 @@ declare module "*.vue" {
|
||||
|
||||
export default component;
|
||||
}
|
||||
|
||||
declare const __PROXY_LIST__: any[];
|
||||
declare const __EPS__: string;
|
||||
declare const __modules__: any[];
|
||||
|
Loading…
Reference in New Issue
Block a user