diff --git a/build/cool/index.ts b/build/cool/index.ts index 4146c8d..2147335 100644 --- a/build/cool/index.ts +++ b/build/cool/index.ts @@ -40,10 +40,10 @@ export function cool(): Plugin { code: 1000, data }); - }).catch((message: string) => { + }).catch((err: Error) => { done({ code: 1001, - message + message: err.message }); }); } diff --git a/build/cool/lib/eps/index.ts b/build/cool/lib/eps/index.ts index ac508b7..7178c2b 100644 --- a/build/cool/lib/eps/index.ts +++ b/build/cool/lib/eps/index.ts @@ -5,6 +5,33 @@ import { createWriteStream } from "fs"; import { join } from "path"; import config from "./config"; +interface Options { + list: { + prefix: string; + name: string; + columns: any[]; + api: { + name: string; + method: string; + path: string; + summary: string; + dts: { + parameters: { + description: string; + schema: { + type: string; + }; + name: string; + required: boolean; + }[]; + }; + }[]; + }[]; + service: { + [key: string]: any; + }; +} + // 临时目录路径 const tempPath = join(__dirname, "../../temp"); @@ -23,13 +50,13 @@ function getType({ entityName, propertyName, type }) { } // 创建 Entity -function createEntity({ list }: any) { +function createEntity({ list }: Options) { const t0: any[] = []; for (const item of list) { if (!item.name) continue; const t = [`interface ${item.name} {`]; - for (const col of item.columns) { + for (const col of item.columns || []) { // 描述 t.push("\n"); t.push("/**\n"); @@ -56,7 +83,7 @@ function createEntity({ list }: any) { } // 创建 Service -function createService({ list, service }: any) { +function createService({ list, service }: Options) { const t0: any[] = []; const t1 = [ @@ -81,7 +108,7 @@ function createService({ list, service }: any) { if (d[i].namespace) { // 查找配置 - const item = list.find((e: any) => (e.prefix || "").includes(d[i].namespace)); + const item = list.find((e) => (e.prefix || "").includes(d[i].namespace)); if (item) { const t = [`interface ${name} {`]; @@ -93,9 +120,9 @@ function createService({ list, service }: any) { // 权限列表 const permission: string[] = []; - item.api.forEach((a: any) => { + item.api.forEach((a) => { // 方法名 - const n = toCamel(a.name || last(a.path.split("/"))).replace( + const n = toCamel(a.name || last(a.path.split("/")) || "").replace( /[:\/-]/g, "" ); @@ -107,7 +134,7 @@ function createService({ list, service }: any) { // 参数列表 const { parameters = [] } = a.dts || {}; - parameters.forEach((p: any) => { + parameters.forEach((p) => { if (p.description) { q.push(`\n/** ${p.description} */\n`); } @@ -227,12 +254,12 @@ function createService({ list, service }: any) { } // 创建描述文件 -export async function createEps({ list, service }: any) { +export async function createEps(options: Options) { // 文件内容 const text = ` declare namespace Eps { - ${createEntity({ list })} - ${createService({ list, service })} + ${createEntity(options)} + ${createService(options)} } `; @@ -261,8 +288,18 @@ export async function createEps({ list, service }: any) { flags: "w" }).write( JSON.stringify( - list.map((e: any) => { - return [e.prefix, e.api.map((a: any) => [a.method || "", a.path, a.name || ""])]; + (options.list || []).map((e) => { + const req = e.api.map((a) => { + const arr = [a.name ? `/${a.name}` : a.path]; + + if (a.method) { + arr.push(a.method); + } + + return arr; + }); + + return [e.prefix, e.name || "", req]; }) ) ); diff --git a/build/cool/temp/eps.json b/build/cool/temp/eps.json index ca78d8e..4b2e492 100644 --- a/build/cool/temp/eps.json +++ b/build/cool/temp/eps.json @@ -1 +1 @@ -[["/admin/base/comm",[["post","/personUpdate",""],["get","/uploadMode",""],["get","/permmenu",""],["get","/person",""],["post","/upload",""],["post","/logout",""],["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/base/open",[["get","/refreshToken",""],["get","/captcha",""],["post","/login",""],["get","/html",""],["get","/eps",""],["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/base/sys/department",[["post","/delete",""],["post","/update",""],["post","/order",""],["post","/list",""],["post","/add",""],["","/page",""],["","/info",""]]],["/admin/base/sys/log",[["post","/setKeep",""],["get","/getKeep",""],["post","/clear",""],["post","/page",""],["","/list",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/base/sys/menu",[["post","/delete",""],["post","/update",""],["get","/info",""],["post","/list",""],["post","/page",""],["post","/add",""]]],["/admin/base/sys/param",[["post","/delete",""],["post","/update",""],["get","/html",""],["get","/info",""],["post","/page",""],["post","/add",""],["","/list",""]]],["/admin/base/sys/role",[["post","/delete",""],["post","/update",""],["get","/info",""],["post","/list",""],["post","/page",""],["post","/add",""]]],["/admin/base/sys/user",[["post","/delete",""],["post","/update",""],["post","/move",""],["get","/info",""],["post","/list",""],["post","/page",""],["post","/add",""]]],["/admin/demo/goods",[["post","/delete",""],["post","/update",""],["get","/info",""],["post","/page",""],["post","/list",""],["post","/add",""]]],["/admin/dict/info",[["post","/delete",""],["post","/update",""],["post","/data",""],["get","/info",""],["post","/list",""],["post","/page",""],["post","/add",""]]],["/admin/dict/type",[["post","/delete",""],["post","/update",""],["get","/info",""],["post","/list",""],["post","/page",""],["post","/add",""]]],["/admin/space/info",[["post","/delete",""],["post","/update",""],["get","/info",""],["post","/list",""],["post","/page",""],["post","/add",""]]],["/admin/space/type",[["post","/delete",""],["post","/update",""],["get","/info",""],["post","/list",""],["post","/page",""],["post","/add",""]]],["/admin/task/info",[["post","/delete",""],["post","/update",""],["post","/start",""],["post","/once",""],["post","/stop",""],["get","/info",""],["post","/page",""],["get","/log",""],["post","/add",""],["","/list",""]]],["/chat/message",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/chat/session",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/test",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]]] \ No newline at end of file +[["/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",[["/delete","post"],["/update","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/demo/goods","DemoGoodsEntity",[["/delete","post"],["/update","post"],["/info","get"],["/page","post"],["/list","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/space/info","SpaceInfoEntity",[["/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"]]]] \ No newline at end of file diff --git a/build/cool/utils/index.ts b/build/cool/utils/index.ts index bffa365..ae60a44 100644 --- a/build/cool/utils/index.ts +++ b/build/cool/utils/index.ts @@ -1,5 +1,5 @@ import fs from "fs"; -import { isAbsolute, join, relative, sep } from "path"; +import { join, sep } from "path"; // 首字母大写 export function firstUpperCase(value: string): string { @@ -30,7 +30,7 @@ export function readFile(name: string) { } // 解析body -export function parseJson(req: any) { +export function parseJson(req: any): Promise { return new Promise((resolve) => { let d = ""; req.on("data", function (chunk: Buffer) { diff --git a/package.json b/package.json index 485df1a..ffe0704 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "front-next", - "version": "5.11.2", + "version": "5.12.0", "scripts": { "dev": "vite --host", "build": "vite build", @@ -9,25 +9,31 @@ "lint:eslint": "eslint \"{src,mock}/**/*.{vue,ts,tsx}\" --fix" }, "dependencies": { - "@cool-vue/admin": "^5.0.3", - "@cool-vue/crud": "^5.7.1", - "@element-plus/icons-vue": "^2.0.6", + "@codemirror/lang-javascript": "^6.1.2", + "@codemirror/theme-one-dark": "^6.1.0", + "@cool-vue/crud": "^5.9.4", + "@element-plus/icons-vue": "^2.0.10", "@vueuse/core": "^9.1.0", + "@wangeditor/editor": "^5.1.23", + "@wangeditor/editor-for-vue": "^5.1.12", "axios": "^0.27.2", + "codemirror": "^6.0.1", "core-js": "^3.23.5", "echarts": "^5.3.3", - "element-plus": "^2.2.17", + "element-plus": "^2.2.28", "file-saver": "^2.0.5", "lodash-es": "^4.17.21", "mitt": "^3.0.0", "mockjs": "^1.1.0", "nprogress": "^0.2.0", - "pinia": "^2.0.16", + "pinia": "^2.0.28", + "quill": "^1.3.7", "socket.io-client": "^4.5.1", "store": "^2.0.12", - "vue": "^3.2.40", + "vue": "^3.2.45", + "vue-codemirror": "^6.1.1", "vue-echarts": "^6.2.3", - "vue-router": "^4.1.2", + "vue-router": "^4.1.6", "vuedraggable": "^4.1.0", "xlsx": "^0.18.5" }, @@ -57,7 +63,7 @@ "sass": "^1.53.0", "sass-loader": "^13.0.2", "typescript": "^4.7.4", - "vite": "^3.0.6", + "vite": "^4.0.3", "vite-plugin-compression": "^0.5.1" } } diff --git a/src/cool/bootstrap/eps.ts b/src/cool/bootstrap/eps.ts index 9d677b9..99ca6ac 100644 --- a/src/cool/bootstrap/eps.ts +++ b/src/cool/bootstrap/eps.ts @@ -69,27 +69,7 @@ export async function createEps() { }); } - // 获取 - async function getEps() { - if (config.test.eps) { - await service - .request({ - url: "/admin/base/open/eps" - }) - .then((res) => { - if (!isEmpty(res)) { - set(res); - } - }) - .catch((err) => { - console.error("[Eps] 获取失败!", err.message); - }); - } else { - set(); - } - } - - // 设置、创建 + // 设置 async function set(d?: any) { const list: any[] = []; @@ -131,12 +111,11 @@ export async function createEps() { // 创建方法 e.api.forEach((a: any) => { // 方法名 - const n = (a.name || a.path).replace("/", ""); + const n = a.path.replace("/", ""); // 过滤 if (!names.includes(n)) { // 本地不存在则创建 - if (!d[k][n]) { if (n && !/[-:]/g.test(n)) { d[k][n] = function (data: any) { @@ -183,28 +162,43 @@ export async function createEps() { createDts(list); } - // 使用 eps.json - try { - const eps = JSON.parse(__EPS__ || "[]").map(([prefix, api]: any[]) => { - return { - prefix, - api: api.map(([method, path, name]: string[]) => { - return { - method, - path, - name - }; - }) - }; - }); + // 获取 + async function getEps() { + try { + // 本地数据 + let list = JSON.parse(__EPS__ || "[]").map(([prefix, name, api]: any[]) => { + return { + prefix, + name, + api: api.map(([path, method]: string[]) => { + return { + method, + path + }; + }) + }; + }); - set(eps); - } catch (err) { - console.error("[Eps] 解析失败!", err); + // 接口数据 + if (isDev && config.test.eps) { + await service + .request({ + url: "/admin/base/open/eps" + }) + .then((res) => { + if (!isEmpty(res)) { + list = res; + } + }); + } + + if (list) { + set(list); + } + } catch (err) { + console.error("[Eps] 获取失败!", err); + } } - // 开发环境下使用接口 /eps 刷新数据 - if (isDev) { - await getEps(); - } + await getEps(); } diff --git a/src/cool/hook/index.ts b/src/cool/hook/index.ts index ac6e09c..2881263 100644 --- a/src/cool/hook/index.ts +++ b/src/cool/hook/index.ts @@ -1,5 +1,6 @@ import { Emitter } from "mitt"; import { onBeforeUpdate, ref, inject } from "vue"; +import { isNumber } from "lodash-es"; import { useRoute, useRouter } from "vue-router"; import { service } from "../service"; import { Data } from "../utils"; @@ -22,6 +23,16 @@ export function useRefs() { return { refs, setRefs }; } +export function useComm() { + function px(val: string | number) { + return isNumber(val) ? `${val}px` : val; + } + + return { + px + }; +} + export function useCool() { return { service: useService(), diff --git a/src/cool/types/index.d.ts b/src/cool/types/index.d.ts index bcb9348..f538a87 100644 --- a/src/cool/types/index.d.ts +++ b/src/cool/types/index.d.ts @@ -1,6 +1,8 @@ -import { App, Component, Directive } from "vue"; +import { Component, Directive } from "vue"; import { Router as VueRouter, RouteRecordRaw } from "vue-router"; +export declare type Merge = Omit & B; + export declare interface ModuleConfig { order?: number; options?: { @@ -9,7 +11,7 @@ export declare interface ModuleConfig { components?: Component[]; views?: RouteRecordRaw[]; pages?: RouteRecordRaw[]; - install?(app: App, options?: { [key: string]: any }): void; + install?(app: any, options?: any): any; onLoad?(events: { hasToken: (cb: () => Promise | void) => Promise | void; [key: string]: any; diff --git a/src/modules/base/components/avatar/index.vue b/src/modules/base/components/avatar/index.vue new file mode 100644 index 0000000..40d71bd --- /dev/null +++ b/src/modules/base/components/avatar/index.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/src/modules/base/components/codemirror/index.vue b/src/modules/base/components/codemirror/index.vue new file mode 100644 index 0000000..efed5ad --- /dev/null +++ b/src/modules/base/components/codemirror/index.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/src/modules/base/components/column-custom/index.vue b/src/modules/base/components/column-custom/index.vue new file mode 100644 index 0000000..c02b5ac --- /dev/null +++ b/src/modules/base/components/column-custom/index.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/modules/base/components/date/text.vue b/src/modules/base/components/date/text.vue new file mode 100644 index 0000000..550ca75 --- /dev/null +++ b/src/modules/base/components/date/text.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/modules/base/components/editor/quill.vue b/src/modules/base/components/editor/quill.vue new file mode 100644 index 0000000..8d94ef4 --- /dev/null +++ b/src/modules/base/components/editor/quill.vue @@ -0,0 +1,320 @@ + + + + + diff --git a/src/modules/base/components/editor/wang.vue b/src/modules/base/components/editor/wang.vue new file mode 100644 index 0000000..df23f6b --- /dev/null +++ b/src/modules/base/components/editor/wang.vue @@ -0,0 +1,202 @@ + + + + + diff --git a/src/modules/base/components/icon/svg.vue b/src/modules/base/components/icon/svg.vue new file mode 100644 index 0000000..89768e5 --- /dev/null +++ b/src/modules/base/components/icon/svg.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/modules/base/components/image/index.vue b/src/modules/base/components/image/index.vue new file mode 100644 index 0000000..8996109 --- /dev/null +++ b/src/modules/base/components/image/index.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/modules/base/components/link/index.vue b/src/modules/base/components/link/index.vue new file mode 100644 index 0000000..7d2fba4 --- /dev/null +++ b/src/modules/base/components/link/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/modules/base/components/select/index.vue b/src/modules/base/components/select/index.vue new file mode 100644 index 0000000..316adfd --- /dev/null +++ b/src/modules/base/components/select/index.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/modules/base/components/switch/index.tsx b/src/modules/base/components/switch/index.tsx new file mode 100644 index 0000000..2a314b2 --- /dev/null +++ b/src/modules/base/components/switch/index.tsx @@ -0,0 +1,90 @@ +import { useCrud } from "@cool-vue/crud"; +import { ElMessage } from "element-plus"; +import { defineComponent, ref, watch } from "vue"; +import { isBoolean, isFunction } from "lodash-es"; + +export default defineComponent({ + name: "cl-switch", + + props: { + scope: null, + column: null, + modelValue: [Number, String, Boolean], + api: Function, + activeValue: { + type: [Number, String, Boolean], + default: true + }, + inactiveValue: { + type: [Number, String, Boolean], + default: false + } + }, + + emits: ["update:modelValue", "change"], + + setup(props, { emit }) { + // cl-crud + const Crud = useCrud(); + + // 状态 + const status = ref(); + + watch( + () => props.modelValue, + (val: any) => { + if (isBoolean(props.activeValue)) { + status.value = Boolean(val); + } else { + status.value = val; + } + }, + { + immediate: true + } + ); + + // 监听改变 + function onChange(val: boolean | string | number) { + if (props.column && props.scope) { + const params = { + ...props.scope, + [props.column.property]: val + }; + + const req = isFunction(props.api) + ? props.api(params) + : Crud.value?.service.update(params); + + if (req) { + req.then(() => { + ElMessage.success("更新成功"); + emit("update:modelValue", val); + emit("change", val); + }).catch((err: any) => { + ElMessage.error(err.message); + }); + } + } else { + emit("update:modelValue", val); + emit("change", val); + } + } + + return { + status, + onChange + }; + }, + + render(ctx: any) { + return ( + + ); + } +}); diff --git a/src/modules/base/components/view/group.vue b/src/modules/base/components/view/group.vue new file mode 100644 index 0000000..c810112 --- /dev/null +++ b/src/modules/base/components/view/group.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/modules/base/config.ts b/src/modules/base/config.ts index fb28084..8924363 100644 --- a/src/modules/base/config.ts +++ b/src/modules/base/config.ts @@ -1,13 +1,11 @@ import { ModuleConfig, config } from "/@/cool"; import { useStore } from "./store"; -import { App } from "vue"; -import Admin from "@cool-vue/admin"; -import "@cool-vue/admin/dist/index.css"; import "./static/css/index.scss"; export default (): ModuleConfig => { return { order: 99, + components: Object.values(import.meta.glob("./components/**/*")), views: [ { path: "/my/info", @@ -27,41 +25,38 @@ export default (): ModuleConfig => { meta: { process: false }, - component: () => import("./pages/error-page/401.vue") + component: () => import("./pages/error/401.vue") }, { path: "/403", meta: { process: false }, - component: () => import("./pages/error-page/403.vue") + component: () => import("./pages/error/403.vue") }, { path: "/404", meta: { process: false }, - component: () => import("./pages/error-page/404.vue") + component: () => import("./pages/error/404.vue") }, { path: "/500", meta: { process: false }, - component: () => import("./pages/error-page/500.vue") + component: () => import("./pages/error/500.vue") }, { path: "/502", meta: { process: false }, - component: () => import("./pages/error-page/502.vue") + component: () => import("./pages/error/502.vue") } ], - install(app: App) { - // 基础库 - app.use(Admin); - + install() { // 设置标题 document.title = config.app.name; }, diff --git a/src/modules/base/pages/error-page/401.vue b/src/modules/base/pages/error/401.vue similarity index 100% rename from src/modules/base/pages/error-page/401.vue rename to src/modules/base/pages/error/401.vue diff --git a/src/modules/base/pages/error-page/403.vue b/src/modules/base/pages/error/403.vue similarity index 100% rename from src/modules/base/pages/error-page/403.vue rename to src/modules/base/pages/error/403.vue diff --git a/src/modules/base/pages/error-page/404.vue b/src/modules/base/pages/error/404.vue similarity index 100% rename from src/modules/base/pages/error-page/404.vue rename to src/modules/base/pages/error/404.vue diff --git a/src/modules/base/pages/error-page/500.vue b/src/modules/base/pages/error/500.vue similarity index 100% rename from src/modules/base/pages/error-page/500.vue rename to src/modules/base/pages/error/500.vue diff --git a/src/modules/base/pages/error-page/502.vue b/src/modules/base/pages/error/502.vue similarity index 100% rename from src/modules/base/pages/error-page/502.vue rename to src/modules/base/pages/error/502.vue diff --git a/src/modules/base/pages/error-page/components/error-page.vue b/src/modules/base/pages/error/components/error-page.vue similarity index 100% rename from src/modules/base/pages/error-page/components/error-page.vue rename to src/modules/base/pages/error/components/error-page.vue diff --git a/src/modules/base/store/app.ts b/src/modules/base/store/app.ts index 5d8a10c..c40d057 100644 --- a/src/modules/base/store/app.ts +++ b/src/modules/base/store/app.ts @@ -10,7 +10,7 @@ export const useAppStore = defineStore("app", function () { }); // 浏览器信息 - const browser = ref(getBrowser()); + const browser = ref(getBrowser()); // 是否折叠 const isFold = ref(browser.value.isMini || false); diff --git a/src/modules/crud/config.ts b/src/modules/crud/config.ts index 3a9c9ee..ffb9d6c 100644 --- a/src/modules/crud/config.ts +++ b/src/modules/crud/config.ts @@ -1,16 +1,14 @@ -import { ModuleConfig } from "/@/cool"; +import { Merge, ModuleConfig } from "/@/cool"; import Crud from "@cool-vue/crud"; import "@cool-vue/crud/dist/index.css"; -export default (): ModuleConfig => { +export default (): Merge => { return { options: { - crud: { - dict: { - sort: { - prop: "order", - order: "sort" - } + dict: { + sort: { + prop: "order", + order: "sort" } } }, diff --git a/src/modules/demo/views/crud.vue b/src/modules/demo/views/crud.vue index e303947..8b4893c 100644 --- a/src/modules/demo/views/crud.vue +++ b/src/modules/demo/views/crud.vue @@ -36,10 +36,7 @@ const { dict } = useDict(); const Crud = useCrud( { - service: "test", - async onRefresh(params, { next }) { - console.log(await next(params)); - } + service: "test" }, (app) => { app.refresh(); diff --git a/src/modules/demo/views/editor-quill.vue b/src/modules/demo/views/editor-quill.vue index 48ca3b8..b40da32 100644 --- a/src/modules/demo/views/editor-quill.vue +++ b/src/modules/demo/views/editor-quill.vue @@ -5,7 +5,7 @@ - + diff --git a/src/modules/theme/components/theme.vue b/src/modules/theme/components/theme.vue index 1c17a8c..ba99d36 100644 --- a/src/modules/theme/components/theme.vue +++ b/src/modules/theme/components/theme.vue @@ -102,7 +102,7 @@ function clearDark() { } // 设置颜色 -function setColor(color: string) { +function setColor(color: any) { setTheme({ color }); clearDark(); } diff --git a/src/modules/upload/components/index.vue b/src/modules/upload/components/index.vue index 2369480..7668fca 100644 --- a/src/modules/upload/components/index.vue +++ b/src/modules/upload/components/index.vue @@ -127,9 +127,18 @@ - - - +