mirror of
https://github.com/cool-team-official/cool-admin-vue.git
synced 2025-12-14 23:12:51 +00:00
发布6.0
This commit is contained in:
parent
0be96b406b
commit
9e7324e279
@ -1,6 +1,7 @@
|
||||
import { Plugin } from "vite";
|
||||
import { parseJson } from "./utils";
|
||||
import { createEps, createMenu, createSvg, createTag, getEps } from "./lib";
|
||||
import { getModules } from "./lib/module";
|
||||
|
||||
export function cool(): Plugin {
|
||||
return {
|
||||
@ -60,7 +61,8 @@ export function cool(): Plugin {
|
||||
config() {
|
||||
return {
|
||||
define: {
|
||||
__EPS__: getEps()
|
||||
__EPS__: getEps(),
|
||||
__MODULE_DIRS__: getModules()
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
10
build/cool/lib/module/index.ts
Normal file
10
build/cool/lib/module/index.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import fs from "fs";
|
||||
|
||||
export function getModules() {
|
||||
try {
|
||||
const dirs = fs.readdirSync("./src/modules");
|
||||
return dirs.filter((e) => !e.includes("."));
|
||||
} catch (e) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
109
build/cool/temp/eps.d.ts
vendored
109
build/cool/temp/eps.d.ts
vendored
@ -780,6 +780,57 @@ declare namespace Eps {
|
||||
*/
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
interface UserAddressEntity {
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
id?: number;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
userId?: number;
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
contact?: string;
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
phone?: string;
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
province?: string;
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
city?: string;
|
||||
/**
|
||||
* 区县
|
||||
*/
|
||||
district?: string;
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
address?: string;
|
||||
/**
|
||||
* 是否默认地址 0-否 1-是
|
||||
*/
|
||||
isDefault?: number;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime?: Date;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: Date;
|
||||
/**
|
||||
* 任意键值
|
||||
*/
|
||||
[key: string]: any;
|
||||
}
|
||||
interface ChatMessage {
|
||||
/**
|
||||
* list
|
||||
@ -2334,6 +2385,63 @@ declare namespace Eps {
|
||||
request: Service["request"];
|
||||
}
|
||||
|
||||
interface UserUser_address {
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
delete(data?: any): Promise<any>;
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
update(data?: any): Promise<any>;
|
||||
/**
|
||||
* 单个信息
|
||||
*/
|
||||
info(data?: any): Promise<UserAddressEntity>;
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
list(data?: any): Promise<UserAddressEntity[]>;
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
page(data?: any): Promise<{
|
||||
pagination: { size: number; page: number; total: number };
|
||||
list: UserAddressEntity[];
|
||||
[key: string]: any;
|
||||
}>;
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
add(data?: any): Promise<any>;
|
||||
/**
|
||||
* 权限标识
|
||||
*/
|
||||
permission: {
|
||||
delete: string;
|
||||
update: string;
|
||||
info: string;
|
||||
list: string;
|
||||
page: string;
|
||||
add: string;
|
||||
};
|
||||
/**
|
||||
* 权限状态
|
||||
*/
|
||||
_permission: {
|
||||
delete: boolean;
|
||||
update: boolean;
|
||||
info: boolean;
|
||||
list: boolean;
|
||||
page: boolean;
|
||||
add: boolean;
|
||||
};
|
||||
/**
|
||||
* 请求
|
||||
*/
|
||||
request: Service["request"];
|
||||
}
|
||||
|
||||
type Service = {
|
||||
request(options?: {
|
||||
url: string;
|
||||
@ -2364,5 +2472,6 @@ declare namespace Eps {
|
||||
recycle: { data: RecycleData };
|
||||
space: { info: SpaceInfo; type: SpaceType };
|
||||
task: { info: TaskInfo };
|
||||
user: { user_address: UserUser_address };
|
||||
};
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
[["/admin/base/comm","",[["/personUpdate","post"],["/uploadMode","get"],["/permmenu","get"],["/person","get"],["/upload","post"],["/logout","post"],["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/base/open","",[["/refreshToken","get"],["/captcha","get"],["/login","post"],["/html","get"],["/eps","get"],["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/base/sys/department","BaseSysDepartmentEntity",[["/delete","post"],["/update","post"],["/order","post"],["/list","post"],["/add","post"],["/page"],["/info"]]],["/admin/base/sys/log","BaseSysLogEntity",[["/setKeep","post"],["/getKeep","get"],["/clear","post"],["/page","post"],["/list"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/base/sys/menu","BaseSysMenuEntity",[["/create","post"],["/delete","post"],["/update","post"],["/parse","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/base/sys/param","BaseSysParamEntity",[["/delete","post"],["/update","post"],["/html","get"],["/info","get"],["/page","post"],["/add","post"],["/list"]]],["/admin/base/sys/role","BaseSysRoleEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/base/sys/user","BaseSysUserEntity",[["/delete","post"],["/update","post"],["/move","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/cloud/db","CloudDBEntity",[["/initEntity","post"],["/delete","post"],["/update","post"],["/data","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/cloud/func/info","CloudFuncInfoEntity",[["/invoke","post"],["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/cloud/func/log","CloudFuncLogEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/demo/goods","DemoGoodsEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/dict/info","DictInfoEntity",[["/delete","post"],["/update","post"],["/data","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/dict/type","DictTypeEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/iot/device","IotDeviceEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/iot/message","IotMessageEntity",[["/page","post"],["/list"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/iot/mqtt","",[["/publish","post"],["/config","get"],["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/recycle/data","RecycleDataEntity",[["/restore","post"],["/info","get"],["/page","post"],["/list"],["/update"],["/delete"],["/add"]]],["/admin/space/info","SpaceInfoEntity",[["/getConfig","get"],["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/space/type","SpaceTypeEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/task/info","TaskInfoEntity",[["/delete","post"],["/update","post"],["/start","post"],["/once","post"],["/stop","post"],["/info","get"],["/page","post"],["/log","get"],["/add","post"],["/list"]]],["/chat/message","",[["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/chat/session","",[["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/test","",[["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]]]
|
||||
[["/admin/base/comm","",[["/personUpdate","post"],["/uploadMode","get"],["/permmenu","get"],["/person","get"],["/upload","post"],["/logout","post"],["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/base/open","",[["/refreshToken","get"],["/captcha","get"],["/login","post"],["/html","get"],["/eps","get"],["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/base/sys/department","BaseSysDepartmentEntity",[["/delete","post"],["/update","post"],["/order","post"],["/list","post"],["/add","post"],["/page"],["/info"]]],["/admin/base/sys/log","BaseSysLogEntity",[["/setKeep","post"],["/getKeep","get"],["/clear","post"],["/page","post"],["/list"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/base/sys/menu","BaseSysMenuEntity",[["/create","post"],["/delete","post"],["/update","post"],["/parse","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/base/sys/param","BaseSysParamEntity",[["/delete","post"],["/update","post"],["/html","get"],["/info","get"],["/page","post"],["/add","post"],["/list"]]],["/admin/base/sys/role","BaseSysRoleEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/base/sys/user","BaseSysUserEntity",[["/delete","post"],["/update","post"],["/move","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/cloud/db","CloudDBEntity",[["/initEntity","post"],["/delete","post"],["/update","post"],["/data","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/cloud/func/info","CloudFuncInfoEntity",[["/invoke","post"],["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/cloud/func/log","CloudFuncLogEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/demo/goods","DemoGoodsEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/dict/info","DictInfoEntity",[["/delete","post"],["/update","post"],["/data","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/dict/type","DictTypeEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/iot/device","IotDeviceEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/iot/message","IotMessageEntity",[["/page","post"],["/list"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/iot/mqtt","",[["/publish","post"],["/config","get"],["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/admin/recycle/data","RecycleDataEntity",[["/restore","post"],["/info","get"],["/page","post"],["/list"],["/update"],["/delete"],["/add"]]],["/admin/space/info","SpaceInfoEntity",[["/getConfig","get"],["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/space/type","SpaceTypeEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/admin/task/info","TaskInfoEntity",[["/delete","post"],["/update","post"],["/start","post"],["/once","post"],["/stop","post"],["/info","get"],["/page","post"],["/log","get"],["/add","post"],["/list"]]],["/admin/user/user_address","UserAddressEntity",[["/delete","post"],["/update","post"],["/info","get"],["/list","post"],["/page","post"],["/add","post"]]],["/chat/message","",[["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/chat/session","",[["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]],["/test","",[["/list"],["/page"],["/info"],["/update"],["/delete"],["/add"]]]]
|
||||
@ -9,7 +9,7 @@
|
||||
"lint:eslint": "eslint \"{src}/**/*.{vue,ts,tsx}\" --fix"
|
||||
},
|
||||
"dependencies": {
|
||||
"@cool-vue/crud": "^6.1.7",
|
||||
"@cool-vue/crud": "^6.1.10",
|
||||
"@element-plus/icons-vue": "^2.0.10",
|
||||
"@vueuse/core": "^9.1.0",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { Module } from "../types";
|
||||
import { hmr } from "../hook";
|
||||
|
||||
// 数据列表
|
||||
// 模块列表
|
||||
const list: Module[] = hmr.getData("modules", []);
|
||||
|
||||
// 模块
|
||||
const module = {
|
||||
list,
|
||||
dirs: __MODULE_DIRS__,
|
||||
req: Promise.resolve(),
|
||||
get(name: string): Module {
|
||||
// @ts-ignore
|
||||
|
||||
1
src/env.d.ts
vendored
1
src/env.d.ts
vendored
@ -2,3 +2,4 @@
|
||||
/// <reference types="../build/cool/temp/eps" />
|
||||
|
||||
declare const __EPS__: string;
|
||||
declare const __MODULE_DIRS__: string[];
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { useCrud } from "@cool-vue/crud";
|
||||
import { isObject } from "lodash-es";
|
||||
import { computed, defineComponent, isRef, Ref, ref, watch } from "vue";
|
||||
|
||||
export default defineComponent({
|
||||
@ -59,8 +60,10 @@ export default defineComponent({
|
||||
return (
|
||||
<el-select v-model={value.value} clearable filterable onChange={onChange}>
|
||||
{list.value?.map((e) => {
|
||||
return (
|
||||
return isObject(e) ? (
|
||||
<el-option {...e} label={e[props.labelKey]} value={e[props.valueKey]} />
|
||||
) : (
|
||||
<el-option label={e} value={e} />
|
||||
);
|
||||
})}
|
||||
</el-select>
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
import { ModuleConfig } from "/@/cool";
|
||||
|
||||
export default (): ModuleConfig => {
|
||||
return {};
|
||||
};
|
||||
@ -1,5 +0,0 @@
|
||||
import { ModuleConfig } from "/@/cool";
|
||||
|
||||
export default (): ModuleConfig => {
|
||||
return {};
|
||||
};
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
<script lang="ts" name="menu-create" setup>
|
||||
import { isEmpty } from "lodash-es";
|
||||
import { module, useCool } from "/@/cool";
|
||||
import { useCool, module } from "/@/cool";
|
||||
import { useForm } from "@cool-vue/crud";
|
||||
import { deepPaths } from "/@/cool/utils";
|
||||
import { computed, onMounted } from "vue";
|
||||
@ -49,9 +49,7 @@ function open() {
|
||||
placeholder: "请选择模块",
|
||||
allowCreate: true,
|
||||
defaultFirstOption: true,
|
||||
labelKey: "name",
|
||||
valueKey: "name",
|
||||
options: module.list
|
||||
options: module.dirs
|
||||
}
|
||||
},
|
||||
required: true
|
||||
|
||||
@ -18,16 +18,15 @@ export function useChatGPT() {
|
||||
|
||||
// 获取余额
|
||||
const getBalance = debounce(() => {
|
||||
balance.loading = true;
|
||||
socket?.emit("getBalance", { apiKey: apiKey.value });
|
||||
if (apiKey.value) {
|
||||
balance.loading = true;
|
||||
socket?.emit("getBalance", { apiKey: apiKey.value });
|
||||
}
|
||||
}, 300);
|
||||
|
||||
// 监听apikey改变
|
||||
watch(apiKey, (val) => {
|
||||
if (val) {
|
||||
getBalance();
|
||||
}
|
||||
|
||||
getBalance();
|
||||
storage.set("chatgpt.apiKey", val);
|
||||
});
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
placeholder="请选择模块"
|
||||
size="large"
|
||||
v-model="form.module"
|
||||
:options="module.list"
|
||||
:options="module.dirs"
|
||||
label-key="name"
|
||||
value-key="name"
|
||||
allow-create
|
||||
@ -83,6 +83,10 @@
|
||||
>
|
||||
{{ temp.disabled ? "思考中" : temp.message.length ? "重新生成" : "下一步" }}
|
||||
</el-button>
|
||||
|
||||
<!-- <el-button :icon="VideoPlay" type="success" round size="large" @click="toVideo"
|
||||
>视频教程</el-button
|
||||
> -->
|
||||
</div>
|
||||
|
||||
<div class="tips">如遇见 “代码缺失”、“请求超时”,请尝试「刷新」吧</div>
|
||||
@ -179,7 +183,7 @@
|
||||
<script lang="tsx" name="magic-ai-code" setup>
|
||||
import { onMounted, reactive, watch } from "vue";
|
||||
import { module, useCool, storage } from "/@/cool";
|
||||
import { Promotion, Loading, Close, Check, Refresh } from "@element-plus/icons-vue";
|
||||
import { Promotion, Loading, Close, Check, Refresh, VideoPlay } from "@element-plus/icons-vue";
|
||||
import { ElLoading, ElMessage, ElMessageBox } from "element-plus";
|
||||
import { debounce, isEmpty } from "lodash-es";
|
||||
import { useClipboard } from "@vueuse/core";
|
||||
@ -495,6 +499,11 @@ const createVue = debounce((auto?: boolean) => {
|
||||
}
|
||||
}, 300);
|
||||
|
||||
// 视频教程
|
||||
function toVideo() {
|
||||
location.href = "";
|
||||
}
|
||||
|
||||
// 监听表单
|
||||
watch(
|
||||
() => form,
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
import { ModuleConfig } from "/@/cool";
|
||||
|
||||
export default (): ModuleConfig => {
|
||||
return {};
|
||||
};
|
||||
File diff suppressed because one or more lines are too long
@ -9,6 +9,7 @@
|
||||
"resolveJsonModule": true,
|
||||
"experimentalDecorators": true,
|
||||
"esModuleInterop": true,
|
||||
"suppressImplicitAnyIndexErrors": true,
|
||||
"lib": ["esnext", "dom"],
|
||||
"types": ["vite/client", "element-plus/global"],
|
||||
"paths": {
|
||||
|
||||
@ -280,14 +280,15 @@
|
||||
"@babel/helper-validator-identifier" "^7.19.1"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@cool-vue/crud@^6.1.7":
|
||||
version "6.1.7"
|
||||
resolved "https://registry.yarnpkg.com/@cool-vue/crud/-/crud-6.1.7.tgz#5d9bf320c0c5049cdedc90ecc41ec7dd6efdb027"
|
||||
integrity sha512-h8WSeKT4vn7LnMJI9ur2hAvWPy58UASoBighY3uk13dfIBa/nMwVldLvEbjFq1f2WNNbja+BAx5i7IrAavLZTQ==
|
||||
"@cool-vue/crud@^6.1.10":
|
||||
version "6.1.10"
|
||||
resolved "https://registry.yarnpkg.com/@cool-vue/crud/-/crud-6.1.10.tgz#04e7247d157a8646b1b8df08439a0c2f0abb0e78"
|
||||
integrity sha512-J3ARqqHKhoeweInNzfDlCQEq04PF7CbmFDYSGhoPlNdAIgm+RS6QYVAqmI0Jxeu49bnslaIKhNUNL9pCJiX8qQ==
|
||||
dependencies:
|
||||
array.prototype.flat "^1.2.4"
|
||||
core-js "^3.21.1"
|
||||
element-plus "2.2.28"
|
||||
lodash "^4.17.21"
|
||||
merge "^2.1.1"
|
||||
mitt "^3.0.0"
|
||||
vue "^3.2.47"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user