diff --git a/gpt-vue/projects/vue-admin/src/composables/useCustomFormPopup.ts b/gpt-vue/projects/vue-admin/src/composables/useCustomFormPopup.ts index 298e9556..94c3ca33 100644 --- a/gpt-vue/projects/vue-admin/src/composables/useCustomFormPopup.ts +++ b/gpt-vue/projects/vue-admin/src/composables/useCustomFormPopup.ts @@ -18,7 +18,7 @@ export default function ( const popupProps = (arg: Arg[], getExposed) => { return { - width: 700, + width: 800, onBeforeOk: async () => { const exposed = getExposed(); const validateRes = await exposed?.formRef.value.validate(); diff --git a/gpt-vue/projects/vue-admin/src/router/menu.ts b/gpt-vue/projects/vue-admin/src/router/menu.ts index c8ab464a..81e7f5b8 100644 --- a/gpt-vue/projects/vue-admin/src/router/menu.ts +++ b/gpt-vue/projects/vue-admin/src/router/menu.ts @@ -4,80 +4,112 @@ import { IconOrderedList, IconCalendar, IconSettings, + IconUserGroup, + IconLock, + IconCodepen, + IconWechatpay, } from "@arco-design/web-vue/es/icon"; const menu = [ { - path: '/dashboard', - name: 'Dashboard', + path: "/dashboard", + name: "Dashboard", meta: { title: "仪表盘", - icon: IconDashboard + icon: IconDashboard, }, - component: () => import('@/views/DashboardView.vue') + component: () => import("@/views/DashboardView.vue"), }, { - path: '/user', - name: 'User', + path: "/user", + name: "User", meta: { title: "用户管理", icon: IconUser, }, - component: () => import('@/views/User/UserContainer.vue') + component: () => import("@/views/User/UserContainer.vue"), }, { - path: '/order', - name: 'Order', + path: "/Role", + name: "Role", + meta: { + title: "角色管理", + icon: IconUserGroup, + }, + component: () => import("@/views/Role/RoleContainer.vue"), + }, + { + path: "/ChatModel", + name: "ChatModel", + meta: { + title: "语言模型", + icon: IconCodepen, + }, + component: () => import("@/views/ChatModel/ChatModelContainer.vue"), + }, + { + path: "/Product", + name: "Product", + meta: { + title: "充值产品", + icon: IconWechatpay, + }, + component: () => import("@/views/Product/ProductContainer.vue"), + }, + { + path: "/ApiKey", + name: "ApiKey", + meta: { + title: "APIKEY", + icon: IconLock, + }, + component: () => import("@/views/ApiKey/ApiKeyContainer.vue"), + }, + { + path: "/order", + name: "Order", meta: { title: "充值订单", icon: IconOrderedList, }, - component: () => import('@/views/Order/OrderContainer.vue') + component: () => import("@/views/Order/OrderContainer.vue"), }, + { - path: '/reward', - name: 'Reward', + path: "/reward", + name: "Reward", meta: { title: "众筹管理", icon: IconCalendar, }, - component: () => import('@/views/Reward/RewardContainer.vue') + component: () => import("@/views/Reward/RewardContainer.vue"), }, { - path: '/functions', - name: 'Functions', - meta: { - title: "函数管理", - icon: IconCalendar, - }, - component: () => import('@/views/Functions/FunctionsContainer.vue') - }, - { - path: '/chats', - name: 'Chats', + path: "/chats", + name: "Chats", meta: { title: "对话管理", icon: IconCalendar, }, - component: () => import('@/views/Chats/ChatsContainer.vue') + component: () => import("@/views/Chats/ChatsContainer.vue"), }, { - path: '/system', - name: 'System', + path: "/system", + name: "System", meta: { title: "系统设置", icon: IconSettings, }, - component: () => import('@/views/System/SystemContainer.vue') + component: () => import("@/views/System/SystemContainer.vue"), }, { - path: '/loginLog', - name: 'LoginLog', + path: "/loginLog", + name: "LoginLog", meta: { title: "登录日志", icon: IconCalendar, }, - component: () => import('@/views/LoginLog.vue') + component: () => import("@/views/LoginLog.vue"), }, ]; diff --git a/gpt-vue/projects/vue-admin/src/views/ApiKey/ApiKeyContainer.vue b/gpt-vue/projects/vue-admin/src/views/ApiKey/ApiKeyContainer.vue index 9d13f383..1b1dbac4 100644 --- a/gpt-vue/projects/vue-admin/src/views/ApiKey/ApiKeyContainer.vue +++ b/gpt-vue/projects/vue-admin/src/views/ApiKey/ApiKeyContainer.vue @@ -1,4 +1,120 @@ - + diff --git a/gpt-vue/projects/vue-admin/src/views/ApiKey/ApiKeyForm.vue b/gpt-vue/projects/vue-admin/src/views/ApiKey/ApiKeyForm.vue new file mode 100644 index 00000000..a5a6248b --- /dev/null +++ b/gpt-vue/projects/vue-admin/src/views/ApiKey/ApiKeyForm.vue @@ -0,0 +1,97 @@ + + + + diff --git a/gpt-vue/projects/vue-admin/src/views/ApiKey/api.ts b/gpt-vue/projects/vue-admin/src/views/ApiKey/api.ts new file mode 100644 index 00000000..9c5f6b4d --- /dev/null +++ b/gpt-vue/projects/vue-admin/src/views/ApiKey/api.ts @@ -0,0 +1,29 @@ +import http from "@/http/config"; + +export const getList = (params?: Record) => { + return http({ + url: "/api/admin/apikey/list", + method: "get", + params, + }); +}; +export const save = (data?: Record) => { + return http({ + url: "/api/admin/apikey/save", + method: "post", + data, + }); +}; +export const deleting = (id: string | number) => { + return http({ + url: `/api/admin/apikey/remove?id=${id}`, + method: "get", + }); +}; +export const setStatus = (data) => { + return http({ + url: `/api/admin/apikey/set`, + method: "post", + data, + }); +}; diff --git a/gpt-vue/projects/vue-admin/src/views/ChatModel/ChatModelContainer.vue b/gpt-vue/projects/vue-admin/src/views/ChatModel/ChatModelContainer.vue index 9d13f383..bee2ceb5 100644 --- a/gpt-vue/projects/vue-admin/src/views/ChatModel/ChatModelContainer.vue +++ b/gpt-vue/projects/vue-admin/src/views/ChatModel/ChatModelContainer.vue @@ -1,4 +1,120 @@ - + diff --git a/gpt-vue/projects/vue-admin/src/views/ChatModel/ChatModelForm.vue b/gpt-vue/projects/vue-admin/src/views/ChatModel/ChatModelForm.vue new file mode 100644 index 00000000..463cf15a --- /dev/null +++ b/gpt-vue/projects/vue-admin/src/views/ChatModel/ChatModelForm.vue @@ -0,0 +1,91 @@ + + + + diff --git a/gpt-vue/projects/vue-admin/src/views/ChatModel/api.ts b/gpt-vue/projects/vue-admin/src/views/ChatModel/api.ts new file mode 100644 index 00000000..a237661b --- /dev/null +++ b/gpt-vue/projects/vue-admin/src/views/ChatModel/api.ts @@ -0,0 +1,29 @@ +import http from "@/http/config"; + +export const getList = (params?: Record) => { + return http({ + url: "/api/admin/model/list", + method: "get", + params, + }); +}; +export const save = (data?: Record) => { + return http({ + url: "/api/admin/model/save", + method: "post", + data, + }); +}; +export const deleting = (id: string | number) => { + return http({ + url: `/api/admin/model/remove?id=${id}`, + method: "get", + }); +}; +export const setStatus = (data) => { + return http({ + url: `/api/admin/model/set`, + method: "post", + data, + }); +}; diff --git a/gpt-vue/projects/vue-admin/src/views/DashboardView.vue b/gpt-vue/projects/vue-admin/src/views/DashboardView.vue index 9d13f383..0dbca80a 100644 --- a/gpt-vue/projects/vue-admin/src/views/DashboardView.vue +++ b/gpt-vue/projects/vue-admin/src/views/DashboardView.vue @@ -1,4 +1,69 @@ - + + diff --git a/gpt-vue/projects/vue-admin/src/views/Product/ProductContainer.vue b/gpt-vue/projects/vue-admin/src/views/Product/ProductContainer.vue index 9d13f383..d2c7f3e6 100644 --- a/gpt-vue/projects/vue-admin/src/views/Product/ProductContainer.vue +++ b/gpt-vue/projects/vue-admin/src/views/Product/ProductContainer.vue @@ -1,4 +1,116 @@ - + diff --git a/gpt-vue/projects/vue-admin/src/views/Product/ProductForm.vue b/gpt-vue/projects/vue-admin/src/views/Product/ProductForm.vue new file mode 100644 index 00000000..4e1722c9 --- /dev/null +++ b/gpt-vue/projects/vue-admin/src/views/Product/ProductForm.vue @@ -0,0 +1,87 @@ + + + + diff --git a/gpt-vue/projects/vue-admin/src/views/Product/api.ts b/gpt-vue/projects/vue-admin/src/views/Product/api.ts new file mode 100644 index 00000000..9b1514e8 --- /dev/null +++ b/gpt-vue/projects/vue-admin/src/views/Product/api.ts @@ -0,0 +1,29 @@ +import http from "@/http/config"; + +export const getList = (params?: Record) => { + return http({ + url: "/api/admin/product/list", + method: "get", + params, + }); +}; +export const save = (data?: Record) => { + return http({ + url: "/api/admin/product/save", + method: "post", + data, + }); +}; +export const deleting = (id: string | number) => { + return http({ + url: `/api/admin/product/remove?id=${id}`, + method: "get", + }); +}; +export const setStatus = (data) => { + return http({ + url: `/api/admin/product/enable`, + method: "post", + data, + }); +}; diff --git a/gpt-vue/projects/vue-admin/src/views/Role/RoleContainer.vue b/gpt-vue/projects/vue-admin/src/views/Role/RoleContainer.vue index 9d13f383..9afb94ef 100644 --- a/gpt-vue/projects/vue-admin/src/views/Role/RoleContainer.vue +++ b/gpt-vue/projects/vue-admin/src/views/Role/RoleContainer.vue @@ -1,4 +1,118 @@ - + diff --git a/gpt-vue/projects/vue-admin/src/views/Role/RoleForm.vue b/gpt-vue/projects/vue-admin/src/views/Role/RoleForm.vue new file mode 100644 index 00000000..4df2cf8f --- /dev/null +++ b/gpt-vue/projects/vue-admin/src/views/Role/RoleForm.vue @@ -0,0 +1,116 @@ + + + + diff --git a/gpt-vue/projects/vue-admin/src/views/Role/api.ts b/gpt-vue/projects/vue-admin/src/views/Role/api.ts new file mode 100644 index 00000000..f32eebb7 --- /dev/null +++ b/gpt-vue/projects/vue-admin/src/views/Role/api.ts @@ -0,0 +1,29 @@ +import http from "@/http/config"; + +export const getList = (params?: Record) => { + return http({ + url: "/api/admin/role/list", + method: "get", + params, + }); +}; +export const save = (data?: Record) => { + return http({ + url: "/api/admin/role/save", + method: "post", + data, + }); +}; +export const deleting = (id: string | number) => { + return http({ + url: `/api/admin/role/remove?id=${id}`, + method: "get", + }); +}; +export const setStatus = (data) => { + return http({ + url: `/api/admin/role/set`, + method: "post", + data, + }); +};