chore: 优化 apis 导入,随着模块和接口的增加,方便维护

This commit is contained in:
2024-09-06 21:14:13 +08:00
parent cb03111c22
commit 8a80db0f92
80 changed files with 210 additions and 179 deletions

View File

@@ -1,7 +1,9 @@
import type * as Area from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
/** @desc 获取地区列表 */ /** @desc 获取地区列表 */
export const getAreaList = (params: { type: 'province' | 'city' | 'area', code?: string }) => { export const getAreaList = (params: { type: 'province' | 'city' | 'area', code?: string }) => {
return http.get<Area.AreaItem>('/area/list', params) return http.get<T.AreaItem>('/area/list', params)
} }

View File

@@ -1,31 +1,33 @@
import type * as Auth from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/auth' const BASE_URL = '/auth'
/** @desc 账号登录 */ /** @desc 账号登录 */
export function accountLogin(req: Auth.AccountLoginReq) { export function accountLogin(req: T.AccountLoginReq) {
return http.post<Auth.LoginResp>(`${BASE_URL}/account`, req) return http.post<T.LoginResp>(`${BASE_URL}/account`, req)
} }
/** @desc 手机号登录 */ /** @desc 手机号登录 */
export function phoneLogin(req: Auth.PhoneLoginReq) { export function phoneLogin(req: T.PhoneLoginReq) {
return http.post<Auth.LoginResp>(`${BASE_URL}/phone`, req) return http.post<T.LoginResp>(`${BASE_URL}/phone`, req)
} }
/** @desc 邮箱登录 */ /** @desc 邮箱登录 */
export function emailLogin(req: Auth.EmailLoginReq) { export function emailLogin(req: T.EmailLoginReq) {
return http.post<Auth.LoginResp>(`${BASE_URL}/email`, req) return http.post<T.LoginResp>(`${BASE_URL}/email`, req)
} }
/** @desc 三方账号登录 */ /** @desc 三方账号登录 */
export function socialLogin(source: string, req: any) { export function socialLogin(source: string, req: any) {
return http.post<Auth.LoginResp>(`/oauth/${source}`, req) return http.post<T.LoginResp>(`/oauth/${source}`, req)
} }
/** @desc 三方账号登录授权 */ /** @desc 三方账号登录授权 */
export function socialAuth(source: string) { export function socialAuth(source: string) {
return http.get<Auth.SocialAuthAuthorizeResp>(`/oauth/${source}`) return http.get<T.SocialAuthAuthorizeResp>(`/oauth/${source}`)
} }
/** @desc 退出登录 */ /** @desc 退出登录 */
@@ -35,10 +37,10 @@ export function logout() {
/** @desc 获取用户信息 */ /** @desc 获取用户信息 */
export const getUserInfo = () => { export const getUserInfo = () => {
return http.get<Auth.UserInfo>(`${BASE_URL}/user/info`) return http.get<T.UserInfo>(`${BASE_URL}/user/info`)
} }
/** @desc 获取路由信息 */ /** @desc 获取路由信息 */
export const getUserRoute = () => { export const getUserRoute = () => {
return http.get<Auth.RouteItem[]>(`${BASE_URL}/route`) return http.get<T.RouteItem[]>(`${BASE_URL}/route`)
} }

View File

@@ -1,11 +1,13 @@
import type * as Common from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/captcha' const BASE_URL = '/captcha'
/** @desc 获取图片验证码 */ /** @desc 获取图片验证码 */
export function getImageCaptcha() { export function getImageCaptcha() {
return http.get<Common.ImageCaptchaResp>(`${BASE_URL}/image`) return http.get<T.ImageCaptchaResp>(`${BASE_URL}/image`)
} }
/** @desc 获取短信验证码 */ /** @desc 获取短信验证码 */
@@ -20,10 +22,10 @@ export function getEmailCaptcha(query: { email: string }) {
/** @desc 获取行为验证码 */ /** @desc 获取行为验证码 */
export function getBehaviorCaptcha(req: any) { export function getBehaviorCaptcha(req: any) {
return http.get<Common.BehaviorCaptchaResp>(`${BASE_URL}/behavior`, req) return http.get<T.BehaviorCaptchaResp>(`${BASE_URL}/behavior`, req)
} }
/** @desc 校验行为验证码 */ /** @desc 校验行为验证码 */
export function checkBehaviorCaptcha(req: any) { export function checkBehaviorCaptcha(req: any) {
return http.post<Common.CheckBehaviorCaptchaResp>(`${BASE_URL}/behavior`, req) return http.post<T.CheckBehaviorCaptchaResp>(`${BASE_URL}/behavior`, req)
} }

View File

@@ -1,14 +1,16 @@
import type * as Common from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/dashboard' const BASE_URL = '/dashboard'
/** @desc 查询访问趋势 */ /** @desc 查询访问趋势 */
export function listDashboardAccessTrend(days: number) { export function listDashboardAccessTrend(days: number) {
return http.get<Common.DashboardAccessTrendResp[]>(`${BASE_URL}/access/trend/${days}`) return http.get<T.DashboardAccessTrendResp[]>(`${BASE_URL}/access/trend/${days}`)
} }
/** @desc 查询公告列表 */ /** @desc 查询公告列表 */
export function listDashboardNotice() { export function listDashboardNotice() {
return http.get<Common.DashboardNoticeResp[]>(`${BASE_URL}/notice`) return http.get<T.DashboardNoticeResp[]>(`${BASE_URL}/notice`)
} }

View File

@@ -1,24 +1,26 @@
import type * as Monitor from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/log' const BASE_URL = '/system/log'
/** @desc 查询日志列表 */ /** @desc 查询日志列表 */
export function listLog(query: Monitor.LogPageQuery) { export function listLog(query: T.LogPageQuery) {
return http.get<PageRes<Monitor.LogResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.LogResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 查询日志详情 */ /** @desc 查询日志详情 */
export function getLog(id: string) { export function getLog(id: string) {
return http.get<Monitor.LogDetailResp>(`${BASE_URL}/${id}`) return http.get<T.LogDetailResp>(`${BASE_URL}/${id}`)
} }
/** @desc 导出登录日志 */ /** @desc 导出登录日志 */
export function exportLoginLog(query: Monitor.LogQuery) { export function exportLoginLog(query: T.LogQuery) {
return http.download<any>(`${BASE_URL}/export/login`, query) return http.download<any>(`${BASE_URL}/export/login`, query)
} }
/** @desc 导出操作日志 */ /** @desc 导出操作日志 */
export function exportOperationLog(query: Monitor.LogQuery) { export function exportOperationLog(query: T.LogQuery) {
return http.download<any>(`${BASE_URL}/export/operation`, query) return http.download<any>(`${BASE_URL}/export/operation`, query)
} }

View File

@@ -1,11 +1,13 @@
import type * as Monitor from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/monitor/online' const BASE_URL = '/monitor/online'
/** @desc 查询在线用户列表 */ /** @desc 查询在线用户列表 */
export function listOnlineUser(query: Monitor.OnlineUserPageQuery) { export function listOnlineUser(query: T.OnlineUserPageQuery) {
return http.get<PageRes<Monitor.OnlineUserResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.OnlineUserResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 强退在线用户 */ /** @desc 强退在线用户 */

View File

@@ -1,6 +1,8 @@
import type * as Schedule from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/schedule/job' const BASE_URL = '/schedule/job'
/** @desc 查询任务组列表 */ /** @desc 查询任务组列表 */
@@ -9,8 +11,8 @@ export function listGroup() {
} }
/** @desc 查询任务列表 */ /** @desc 查询任务列表 */
export function listJob(query: Schedule.JobPageQuery) { export function listJob(query: T.JobPageQuery) {
return http.get<PageRes<Schedule.JobResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.JobResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 新增任务 */ /** @desc 新增任务 */

View File

@@ -1,11 +1,13 @@
import type * as Schedule from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/schedule/log' const BASE_URL = '/schedule/log'
/** @desc 查询任务日志列表 */ /** @desc 查询任务日志列表 */
export function listJobLog(query: Schedule.JobLogPageQuery) { export function listJobLog(query: T.JobLogPageQuery) {
return http.get<PageRes<Schedule.JobLogResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.JobLogResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 查询任务日志详情 */ /** @desc 查询任务日志详情 */
@@ -24,11 +26,11 @@ export function retryJob(id: number) {
} }
/** @desc 查询任务实例列表 */ /** @desc 查询任务实例列表 */
export function listJobInstance(query: Schedule.JobInstanceQuery) { export function listJobInstance(query: T.JobInstanceQuery) {
return http.get<Schedule.JobInstanceResp[]>(`${BASE_URL}/instance`, query) return http.get<T.JobInstanceResp[]>(`${BASE_URL}/instance`, query)
} }
/** @desc 查询任务实例日志列表 */ /** @desc 查询任务实例日志列表 */
export function listJobInstanceLog(query: Schedule.JobInstanceLogQuery) { export function listJobInstanceLog(query: T.JobInstanceLogQuery) {
return http.get<Schedule.JobInstanceLogResp>(`${BASE_URL}/instance/log`, query) return http.get<T.JobInstanceLogResp>(`${BASE_URL}/instance/log`, query)
} }

View File

@@ -1,16 +1,18 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/dept' const BASE_URL = '/system/dept'
/** @desc 查询部门列表 */ /** @desc 查询部门列表 */
export function listDept(query: System.DeptQuery) { export function listDept(query: T.DeptQuery) {
return http.get<System.DeptResp[]>(`${BASE_URL}/tree`, query) return http.get<T.DeptResp[]>(`${BASE_URL}/tree`, query)
} }
/** @desc 查询部门详情 */ /** @desc 查询部门详情 */
export function getDept(id: string) { export function getDept(id: string) {
return http.get<System.DeptResp>(`${BASE_URL}/${id}`) return http.get<T.DeptResp>(`${BASE_URL}/${id}`)
} }
/** @desc 新增部门 */ /** @desc 新增部门 */
@@ -29,6 +31,6 @@ export function deleteDept(id: string) {
} }
/** @desc 导出部门 */ /** @desc 导出部门 */
export function exportDept(query: System.DeptQuery) { export function exportDept(query: T.DeptQuery) {
return http.download<any>(`${BASE_URL}/export`, query) return http.download<any>(`${BASE_URL}/export`, query)
} }

View File

@@ -1,16 +1,18 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/dict' const BASE_URL = '/system/dict'
/** @desc 查询字典列表 */ /** @desc 查询字典列表 */
export function listDict(query: System.DictQuery) { export function listDict(query: T.DictQuery) {
return http.get<System.DictResp[]>(`${BASE_URL}/list`, query) return http.get<T.DictResp[]>(`${BASE_URL}/list`, query)
} }
/** @desc 查询字典详情 */ /** @desc 查询字典详情 */
export function getDict(id: string) { export function getDict(id: string) {
return http.get<System.DictResp>(`${BASE_URL}/${id}`) return http.get<T.DictResp>(`${BASE_URL}/${id}`)
} }
/** @desc 新增字典 */ /** @desc 新增字典 */
@@ -29,13 +31,13 @@ export function deleteDict(id: string) {
} }
/** @desc 查询字典项列表 */ /** @desc 查询字典项列表 */
export function listDictItem(query: System.DictItemPageQuery) { export function listDictItem(query: T.DictItemPageQuery) {
return http.get<PageRes<System.DictItemResp[]>>(`${BASE_URL}/item`, query) return http.get<PageRes<T.DictItemResp[]>>(`${BASE_URL}/item`, query)
} }
/** @desc 查询字典项详情 */ /** @desc 查询字典项详情 */
export function getDictItem(id: string) { export function getDictItem(id: string) {
return http.get<System.DictItemResp>(`${BASE_URL}/item/${id}`) return http.get<T.DictItemResp>(`${BASE_URL}/item/${id}`)
} }
/** @desc 新增字典项 */ /** @desc 新增字典项 */

View File

@@ -1,11 +1,13 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/file' const BASE_URL = '/system/file'
/** @desc 查询文件列表 */ /** @desc 查询文件列表 */
export function listFile(query: System.FilePageQuery) { export function listFile(query: T.FilePageQuery) {
return http.get<PageRes<System.FileItem[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.FileItem[]>>(`${BASE_URL}`, query)
} }
/** @desc 修改文件 */ /** @desc 修改文件 */
@@ -20,5 +22,5 @@ export function deleteFile(ids: string | Array<string>) {
/** @desc 查询文件资源统计统计 */ /** @desc 查询文件资源统计统计 */
export function getFileStatistics() { export function getFileStatistics() {
return http.get<System.FileStatisticsResp>(`${BASE_URL}/statistics`) return http.get<T.FileStatisticsResp>(`${BASE_URL}/statistics`)
} }

View File

@@ -1,16 +1,18 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/menu' const BASE_URL = '/system/menu'
/** @desc 查询菜单列表 */ /** @desc 查询菜单列表 */
export function listMenu(query: System.MenuQuery) { export function listMenu(query: T.MenuQuery) {
return http.get<System.MenuResp[]>(`${BASE_URL}/tree`, query) return http.get<T.MenuResp[]>(`${BASE_URL}/tree`, query)
} }
/** @desc 查询菜单详情 */ /** @desc 查询菜单详情 */
export function getMenu(id: string) { export function getMenu(id: string) {
return http.get<System.MenuResp>(`${BASE_URL}/${id}`) return http.get<T.MenuResp>(`${BASE_URL}/${id}`)
} }
/** @desc 新增菜单 */ /** @desc 新增菜单 */

View File

@@ -1,11 +1,13 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/message' const BASE_URL = '/system/message'
/** @desc 查询消息列表 */ /** @desc 查询消息列表 */
export function listMessage(query: System.MessagePageQuery) { export function listMessage(query: T.MessagePageQuery) {
return http.get<PageRes<System.MessageResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.MessageResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 删除消息 */ /** @desc 删除消息 */

View File

@@ -1,16 +1,18 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/notice' const BASE_URL = '/system/notice'
/** @desc 查询公告列表 */ /** @desc 查询公告列表 */
export function listNotice(query: System.NoticePageQuery) { export function listNotice(query: T.NoticePageQuery) {
return http.get<PageRes<System.NoticeResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.NoticeResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 查询公告详情 */ /** @desc 查询公告详情 */
export function getNotice(id: string) { export function getNotice(id: string) {
return http.get<System.NoticeResp>(`${BASE_URL}/${id}`) return http.get<T.NoticeResp>(`${BASE_URL}/${id}`)
} }
/** @desc 新增公告 */ /** @desc 新增公告 */

View File

@@ -1,11 +1,13 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/option' const BASE_URL = '/system/option'
/** @desc 查询参数列表 */ /** @desc 查询参数列表 */
export function listOption(query: System.OptionQuery) { export function listOption(query: T.OptionQuery) {
return http.get<System.OptionResp[]>(`${BASE_URL}`, query) return http.get<T.OptionResp[]>(`${BASE_URL}`, query)
} }
/** @desc 修改参数 */ /** @desc 修改参数 */
@@ -14,6 +16,6 @@ export function updateOption(data: any) {
} }
/** @desc 重置参数 */ /** @desc 重置参数 */
export function resetOptionValue(query: System.OptionQuery) { export function resetOptionValue(query: T.OptionQuery) {
return http.patch(`${BASE_URL}/value`, query) return http.patch(`${BASE_URL}/value`, query)
} }

View File

@@ -1,16 +1,18 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/role' const BASE_URL = '/system/role'
/** @desc 查询角色列表 */ /** @desc 查询角色列表 */
export function listRole(query: System.RolePageQuery) { export function listRole(query: T.RolePageQuery) {
return http.get<PageRes<System.RoleResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.RoleResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 查询角色详情 */ /** @desc 查询角色详情 */
export function getRole(id: string) { export function getRole(id: string) {
return http.get<System.RoleDetailResp>(`${BASE_URL}/${id}`) return http.get<T.RoleDetailResp>(`${BASE_URL}/${id}`)
} }
/** @desc 新增角色 */ /** @desc 新增角色 */

View File

@@ -1,16 +1,18 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/storage' const BASE_URL = '/system/storage'
/** @desc 查询存储列表 */ /** @desc 查询存储列表 */
export function listStorage(query: System.StoragePageQuery) { export function listStorage(query: T.StoragePageQuery) {
return http.get<PageRes<System.StorageResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.StorageResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 查询存储详情 */ /** @desc 查询存储详情 */
export function getStorage(id: string) { export function getStorage(id: string) {
return http.get<System.StorageResp>(`${BASE_URL}/${id}`) return http.get<T.StorageResp>(`${BASE_URL}/${id}`)
} }
/** @desc 新增存储 */ /** @desc 新增存储 */

View File

@@ -1,16 +1,18 @@
import type * as System from './type' import type * as T from './type'
import http from '@/utils/http' import http from '@/utils/http'
export type * from './type'
const BASE_URL = '/system/user' const BASE_URL = '/system/user'
/** @desc 查询用户列表 */ /** @desc 查询用户列表 */
export function listUser(query: System.UserPageQuery) { export function listUser(query: T.UserPageQuery) {
return http.get<PageRes<System.UserResp[]>>(`${BASE_URL}`, query) return http.get<PageRes<T.UserResp[]>>(`${BASE_URL}`, query)
} }
/** @desc 查询用户详情 */ /** @desc 查询用户详情 */
export function getUser(id: string) { export function getUser(id: string) {
return http.get<System.UserDetailResp>(`${BASE_URL}/${id}`) return http.get<T.UserDetailResp>(`${BASE_URL}/${id}`)
} }
/** @desc 新增用户 */ /** @desc 新增用户 */
@@ -29,7 +31,7 @@ export function deleteUser(ids: string | Array<string>) {
} }
/** @desc 导出用户 */ /** @desc 导出用户 */
export function exportUser(query: System.UserQuery) { export function exportUser(query: T.UserQuery) {
return http.download(`${BASE_URL}/export`, query) return http.download(`${BASE_URL}/export`, query)
} }

View File

@@ -1,32 +1,34 @@
import type * as Tool from './type' import type * as T from './type'
import type { LabelValueState } from '@/types/global'
import http from '@/utils/http' import http from '@/utils/http'
import type { LabelValueState } from '@/types/global'
export type * from './type'
const BASE_URL = '/generator' const BASE_URL = '/generator'
/** @desc 查询代码生成列表 */ /** @desc 查询代码生成列表 */
export function listGenerator(query: Tool.TablePageQuery) { export function listGenerator(query: T.TablePageQuery) {
return http.get<PageRes<Tool.TableResp[]>>(`${BASE_URL}/table`, query) return http.get<PageRes<T.TableResp[]>>(`${BASE_URL}/table`, query)
} }
/** @desc 查询字段配置列表 */ /** @desc 查询字段配置列表 */
export function listFieldConfig(tableName: string, requireSync: boolean) { export function listFieldConfig(tableName: string, requireSync: boolean) {
return http.get<Tool.FieldConfigResp[]>(`${BASE_URL}/field/${tableName}?requireSync=${requireSync}`) return http.get<T.FieldConfigResp[]>(`${BASE_URL}/field/${tableName}?requireSync=${requireSync}`)
} }
/** @desc 查询生成配置信息 */ /** @desc 查询生成配置信息 */
export function getGenConfig(tableName: string) { export function getGenConfig(tableName: string) {
return http.get<Tool.GenConfigResp>(`${BASE_URL}/config/${tableName}`) return http.get<T.GenConfigResp>(`${BASE_URL}/config/${tableName}`)
} }
/** @desc 保存配置信息 */ /** @desc 保存配置信息 */
export function saveGenConfig(tableName: string, req: Tool.GeneratorConfigResp) { export function saveGenConfig(tableName: string, req: T.GeneratorConfigResp) {
return http.post(`${BASE_URL}/config/${tableName}`, req) return http.post(`${BASE_URL}/config/${tableName}`, req)
} }
/** @desc 生成预览 */ /** @desc 生成预览 */
export function genPreview(tableName: string) { export function genPreview(tableName: string) {
return http.get<Tool.GeneratePreviewResp[]>(`${BASE_URL}/preview/${tableName}`) return http.get<T.GeneratePreviewResp[]>(`${BASE_URL}/preview/${tableName}`)
} }
/** @desc 生成代码 */ /** @desc 生成代码 */

View File

@@ -33,7 +33,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message } from '@arco-design/web-vue' import { type FormInstance, Message } from '@arco-design/web-vue'
import { useStorage } from '@vueuse/core' import { useStorage } from '@vueuse/core'
import { getImageCaptcha } from '@/apis' import { getImageCaptcha } from '@/apis/common'
import { useTabsStore, useUserStore } from '@/stores' import { useTabsStore, useUserStore } from '@/stores'
import { encryptByRsa } from '@/utils/encrypt' import { encryptByRsa } from '@/utils/encrypt'

View File

@@ -22,7 +22,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message } from '@arco-design/web-vue' import { type FormInstance, Message } from '@arco-design/web-vue'
import { updateUserPassword } from '@/apis' import { updateUserPassword } from '@/apis/system'
import { encryptByRsa } from '@/utils/encrypt' import { encryptByRsa } from '@/utils/encrypt'
interface Form { interface Form {

View File

@@ -93,7 +93,7 @@ import Background from './components/background/index.vue'
import AccountLogin from './components/account/index.vue' import AccountLogin from './components/account/index.vue'
import PhoneLogin from './components/phone/index.vue' import PhoneLogin from './components/phone/index.vue'
import EmailLogin from './components/email/index.vue' import EmailLogin from './components/email/index.vue'
import { socialAuth } from '@/apis' import { socialAuth } from '@/apis/auth'
import { useAppStore } from '@/stores' import { useAppStore } from '@/stores'
import { useDevice } from '@/hooks' import { useDevice } from '@/hooks'

View File

@@ -7,7 +7,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { Message } from '@arco-design/web-vue' import { Message } from '@arco-design/web-vue'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { bindSocialAccount } from '@/apis' import { bindSocialAccount } from '@/apis/system'
import { useTabsStore, useUserStore } from '@/stores' import { useTabsStore, useUserStore } from '@/stores'
import { isLogin } from '@/utils/auth' import { isLogin } from '@/utils/auth'

View File

@@ -46,7 +46,7 @@
<script setup lang="ts"> <script setup lang="ts">
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { type LogQuery, exportLoginLog, listLog } from '@/apis' import { type LogQuery, exportLoginLog, listLog } from '@/apis/monitor'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import DateRangePicker from '@/components/DateRangePicker/index.vue' import DateRangePicker from '@/components/DateRangePicker/index.vue'
import { useDownload, useTable } from '@/hooks' import { useDownload, useTable } from '@/hooks'

View File

@@ -68,7 +68,7 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { type LogDetailResp, getLog } from '@/apis' import { type LogDetailResp, getLog } from '@/apis/monitor'
const dataId = ref('') const dataId = ref('')
const dataDetail = ref<LogDetailResp>() const dataDetail = ref<LogDetailResp>()

View File

@@ -58,7 +58,7 @@
<script setup lang="ts"> <script setup lang="ts">
import dayjs from 'dayjs' import dayjs from 'dayjs'
import OperationLogDetailDrawer from './OperationLogDetailDrawer.vue' import OperationLogDetailDrawer from './OperationLogDetailDrawer.vue'
import { type LogQuery, type LogResp, exportOperationLog, listLog } from '@/apis' import { type LogQuery, type LogResp, exportOperationLog, listLog } from '@/apis/monitor'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import DateRangePicker from '@/components/DateRangePicker/index.vue' import DateRangePicker from '@/components/DateRangePicker/index.vue'
import { useDownload, useTable } from '@/hooks' import { useDownload, useTable } from '@/hooks'

View File

@@ -44,7 +44,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { Message } from '@arco-design/web-vue' import { Message } from '@arco-design/web-vue'
import { type OnlineUserQuery, kickout, listOnlineUser } from '@/apis' import { type OnlineUserQuery, kickout, listOnlineUser } from '@/apis/monitor'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import DateRangePicker from '@/components/DateRangePicker/index.vue' import DateRangePicker from '@/components/DateRangePicker/index.vue'
import { useUserStore } from '@/stores' import { useUserStore } from '@/stores'

View File

@@ -156,7 +156,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type ColProps, type FormInstance, Message } from '@arco-design/web-vue' import { type ColProps, type FormInstance, Message } from '@arco-design/web-vue'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { addJob, listGroup, updateJob } from '@/apis' import { addJob, listGroup, updateJob } from '@/apis/schedule'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'

View File

@@ -36,7 +36,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import type { JobResp } from '@/apis' import type { JobResp } from '@/apis/schedule'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'
const { width } = useWindowSize() const { width } = useWindowSize()

View File

@@ -73,7 +73,7 @@ import { Message } from '@arco-design/web-vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import JobAddModal from './JobAddModal.vue' import JobAddModal from './JobAddModal.vue'
import JobDetailDrawer from './JobDetailDrawer.vue' import JobDetailDrawer from './JobDetailDrawer.vue'
import { type JobQuery, type JobResp, deleteJob, listGroup, listJob, triggerJob, updateJobStatus } from '@/apis' import { type JobQuery, type JobResp, deleteJob, listGroup, listJob, triggerJob, updateJobStatus } from '@/apis/schedule'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'

View File

@@ -1,10 +1,10 @@
<template> <template>
<a-modal v-model:visible="visible" title="任务日志详情" :bodyStyle="{ maxHeight: '80vh', overflow: 'auto' }" <a-modal v-model:visible="visible" title="任务日志详情" :body-style="{ maxHeight: '80vh', overflow: 'auto' }"
:width="width >= 1500 ? 1500 : '100%'" :footer="false" @close="closed"> :width="width >= 1500 ? 1500 : '100%'" :footer="false" @close="closed">
<div style="display: flex;"> <div style="display: flex;">
<div style="padding: 10px 10px;"> <div style="padding: 10px 10px;">
<div class="job_list"> <div class="job_list">
<div :class="`job_list_item ${item.id === activeId ? 'active' : ''}`" v-for="item in dataList" :key="item.id" <div v-for="item in dataList" :key="item.id" :class="`job_list_item ${item.id === activeId ? 'active' : ''}`"
@click="onStartInfo(item)"> @click="onStartInfo(item)">
<div class="content"> <div class="content">
<span class="title">{{ item.clientInfo.split('@')[1] }}</span> <span class="title">{{ item.clientInfo.split('@')[1] }}</span>
@@ -20,14 +20,13 @@
<GiCodeView :code-json="content" /> <GiCodeView :code-json="content" />
</div> </div>
</div> </div>
</a-modal>
</a-modal>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { type JobInstanceQuery, type JobInstanceResp, type JobLogResp, listJobInstance, listJobInstanceLog } from '@/apis' import dayjs from 'dayjs'
import dayjs from "dayjs"; import { type JobInstanceQuery, type JobInstanceResp, type JobLogResp, listJobInstance, listJobInstanceLog } from '@/apis/schedule'
const { width } = useWindowSize() const { width } = useWindowSize()
const queryForm = reactive<JobInstanceQuery>({}) const queryForm = reactive<JobInstanceQuery>({})
@@ -35,39 +34,38 @@ const dataList = ref<JobInstanceResp[]>([])
const loading = ref(false) const loading = ref(false)
const activeId = ref<string | number>('') const activeId = ref<string | number>('')
const statusList = { const statusList = {
'1': { 1: {
title: '待处理', title: '待处理',
color: 'gray', color: 'gray',
isRun: false isRun: false
}, },
'2': { 2: {
title: '运行中', title: '运行中',
color: 'cyan', color: 'cyan',
isRun: true isRun: true
}, },
'3': { 3: {
title: '成功', title: '成功',
color: 'green', color: 'green',
isRun: false isRun: false
}, },
'4': { 4: {
title: '已失败', title: '已失败',
color: 'red', color: 'red',
isRun: false isRun: false
}, },
'5': { 5: {
title: '已停止', title: '已停止',
color: 'purple', color: 'purple',
isRun: false isRun: false
}, },
'6': { 6: {
title: '已取消', title: '已取消',
color: 'orange', color: 'orange',
isRun: false isRun: false
} }
} }
const visible = ref(false) const visible = ref(false)
// 格式化日志 // 格式化日志
@@ -79,7 +77,6 @@ const formatLog = (log: any) => {
const content = ref('') const content = ref('')
const setIntervalNode = ref<NodeJS.Timeout>() const setIntervalNode = ref<NodeJS.Timeout>()
// 详情 // 详情
const onDetail = (record: JobLogResp) => { const onDetail = (record: JobLogResp) => {
visible.value = true visible.value = true
@@ -109,13 +106,11 @@ const onLogDetail = async (record: JobInstanceResp) => {
} catch (error) { } catch (error) {
content.value = '' content.value = ''
} }
} }
const onStartInfo = (record: JobInstanceResp) => { const onStartInfo = (record: JobInstanceResp) => {
content.value = '' content.value = ''
clearInterval(setIntervalNode.value) clearInterval(setIntervalNode.value)
let isRun = statusList[record.taskStatus].isRun const isRun = statusList[record.taskStatus].isRun
if (isRun) { if (isRun) {
setIntervalNode.value = setInterval(() => { setIntervalNode.value = setInterval(() => {
onLogDetail(record) onLogDetail(record)
@@ -123,8 +118,6 @@ const onStartInfo = (record: JobInstanceResp) => {
} else { } else {
onLogDetail(record) onLogDetail(record)
} }
} }
// 查询列表数据 // 查询列表数据
const getInstanceList = async (query: JobInstanceQuery = { ...queryForm }) => { const getInstanceList = async (query: JobInstanceQuery = { ...queryForm }) => {

View File

@@ -65,7 +65,7 @@ import { Message } from '@arco-design/web-vue'
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import JobLogDetailModal from './LogDetailModal.vue' import JobLogDetailModal from './LogDetailModal.vue'
import { type JobLogQuery, type JobLogResp, listGroup, listJobLog, retryJob, stopJob } from '@/apis' import { type JobLogQuery, type JobLogResp, listGroup, listJobLog, retryJob, stopJob } from '@/apis/schedule'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'

View File

@@ -99,7 +99,7 @@ import { useWindowSize } from '@vueuse/core'
import { type FileItem, Message } from '@arco-design/web-vue' import { type FileItem, Message } from '@arco-design/web-vue'
import { VueCropper } from 'vue-cropper' import { VueCropper } from 'vue-cropper'
import BasicInfoUpdateModal from './BasicInfoUpdateModal.vue' import BasicInfoUpdateModal from './BasicInfoUpdateModal.vue'
import { uploadAvatar } from '@/apis' import { uploadAvatar } from '@/apis/system'
import 'vue-cropper/dist/index.css' import 'vue-cropper/dist/index.css'
import { useUserStore } from '@/stores' import { useUserStore } from '@/stores'
import getAvatar from '@/utils/avatar' import getAvatar from '@/utils/avatar'

View File

@@ -16,7 +16,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { Message } from '@arco-design/web-vue' import { Message } from '@arco-design/web-vue'
import { updateUserBaseInfo } from '@/apis' import { updateUserBaseInfo } from '@/apis/system'
import { type Columns, GiForm } from '@/components/GiForm' import { type Columns, GiForm } from '@/components/GiForm'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useUserStore } from '@/stores' import { useUserStore } from '@/stores'

View File

@@ -107,7 +107,7 @@ import {
listOption, listOption,
resetOptionValue, resetOptionValue,
updateOption updateOption
} from '@/apis' } from '@/apis/system'
import { useAppStore } from '@/stores' import { useAppStore } from '@/stores'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { fileToBase64 } from '@/utils' import { fileToBase64 } from '@/utils'

View File

@@ -61,7 +61,7 @@ import {
listOption, listOption,
resetOptionValue, resetOptionValue,
updateOption updateOption
} from '@/apis' } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
defineOptions({ name: 'MailSetting' }) defineOptions({ name: 'MailSetting' })

View File

@@ -81,7 +81,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { type FormInstance, Message, Modal } from '@arco-design/web-vue' import { type FormInstance, Message, Modal } from '@arco-design/web-vue'
import { type OptionResp, type SecurityConfig, listOption, resetOptionValue, updateOption } from '@/apis' import { type OptionResp, type SecurityConfig, listOption, resetOptionValue, updateOption } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
defineOptions({ name: 'SecuritySetting' }) defineOptions({ name: 'SecuritySetting' })

View File

@@ -16,7 +16,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { Message } from '@arco-design/web-vue' import { Message } from '@arco-design/web-vue'
import { addDept, getDept, updateDept } from '@/apis' import { addDept, getDept, updateDept } from '@/apis/system'
import { type Columns, GiForm } from '@/components/GiForm' import { type Columns, GiForm } from '@/components/GiForm'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useDept } from '@/hooks/app' import { useDept } from '@/hooks/app'

View File

@@ -74,7 +74,7 @@
<script setup lang="ts"> <script setup lang="ts">
import DeptAddModal from './DeptAddModal.vue' import DeptAddModal from './DeptAddModal.vue'
import { type DeptQuery, type DeptResp, deleteDept, exportDept, listDept } from '@/apis' import { type DeptQuery, type DeptResp, deleteDept, exportDept, listDept } from '@/apis/system'
import type GiTable from '@/components/GiTable/index.vue' import type GiTable from '@/components/GiTable/index.vue'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useDownload, useTable } from '@/hooks' import { useDownload, useTable } from '@/hooks'

View File

@@ -24,7 +24,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { Message } from '@arco-design/web-vue' import { Message } from '@arco-design/web-vue'
import { addDictItem, getDictItem, updateDictItem } from '@/apis' import { addDictItem, getDictItem, updateDictItem } from '@/apis/system'
import { type Columns, GiForm } from '@/components/GiForm' import { type Columns, GiForm } from '@/components/GiForm'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'

View File

@@ -12,15 +12,15 @@
<DictTree placeholder="请输入关键词" @node-click="handleSelectDict" /> <DictTree placeholder="请输入关键词" @node-click="handleSelectDict" />
</a-col> </a-col>
<a-col :xs="24" :sm="16" :md="17" :lg="18" :xl="19" :xxl="20" flex="1" class="h-full ov-hidden"> <a-col :xs="24" :sm="16" :md="17" :lg="18" :xl="19" :xxl="20" flex="1" class="h-full ov-hidden">
<GiTable <GiTable
row-key="id" row-key="id"
:data="dataList" :data="dataList"
:columns="columns" :columns="columns"
:loading="loading" :loading="loading"
:scroll="{ x: '100%', y: '100%', minWidth: 600 }" :scroll="{ x: '100%', y: '100%', minWidth: 600 }"
:pagination="pagination" :pagination="pagination"
:disabled-tools="['size']" :disabled-tools="['size']"
:disabled-column-keys="['label']" :disabled-column-keys="['label']"
@refresh="search" @refresh="search"
> >
<template #custom-left> <template #custom-left>
@@ -44,9 +44,9 @@
<template #action="{ record }"> <template #action="{ record }">
<a-space> <a-space>
<a-link v-permission="['system:dict:item:update']" @click="onUpdate(record)">修改</a-link> <a-link v-permission="['system:dict:item:update']" @click="onUpdate(record)">修改</a-link>
<a-link <a-link
v-permission="['system:dict:item:delete']" v-permission="['system:dict:item:delete']"
status="danger" status="danger"
@click="onDelete(record)" @click="onDelete(record)"
> >
删除 删除
@@ -64,7 +64,7 @@
<script setup lang="ts"> <script setup lang="ts">
import DictTree from './tree/index.vue' import DictTree from './tree/index.vue'
import DictItemAddModal from './DictItemAddModal.vue' import DictItemAddModal from './DictItemAddModal.vue'
import { type DictItemQuery, type DictItemResp, deleteDictItem, listDictItem } from '@/apis' import { type DictItemQuery, type DictItemResp, deleteDictItem, listDictItem } from '@/apis/system'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { isMobile } from '@/utils' import { isMobile } from '@/utils'

View File

@@ -16,7 +16,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { Message } from '@arco-design/web-vue' import { Message } from '@arco-design/web-vue'
import { addDict, getDict, updateDict } from '@/apis' import { addDict, getDict, updateDict } from '@/apis/system'
import { type Columns, GiForm } from '@/components/GiForm' import { type Columns, GiForm } from '@/components/GiForm'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'

View File

@@ -13,7 +13,7 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import type { DictResp } from '@/apis' import type { DictResp } from '@/apis/system'
interface Props { interface Props {
data: DictResp data: DictResp

View File

@@ -42,7 +42,7 @@ import type { TreeNodeData } from '@arco-design/web-vue'
import { mapTree } from 'xe-utils' import { mapTree } from 'xe-utils'
import DictAddModal from './DictAddModal.vue' import DictAddModal from './DictAddModal.vue'
import RightMenu from './RightMenu.vue' import RightMenu from './RightMenu.vue'
import { type DictQuery, type DictResp, deleteDict, listDict } from '@/apis' import { type DictQuery, type DictResp, deleteDict, listDict } from '@/apis/system'
import has from '@/utils/has' import has from '@/utils/has'
interface Props { interface Props {

View File

@@ -21,7 +21,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { useDraggable, useElementSize, useWindowSize } from '@vueuse/core' import { useDraggable, useElementSize, useWindowSize } from '@vueuse/core'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
interface Props { interface Props {
data: FileItem data: FileItem

View File

@@ -3,7 +3,7 @@ import { createApp } from 'vue'
import ArcoVueIcon from '@arco-design/web-vue/es/icon' import ArcoVueIcon from '@arco-design/web-vue/es/icon'
import ArcoVue from '@arco-design/web-vue' import ArcoVue from '@arco-design/web-vue'
import ModalContent from './ModalContent.vue' import ModalContent from './ModalContent.vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
function createModal<T extends { callback?: () => void }>(component: Component, options?: T) { function createModal<T extends { callback?: () => void }>(component: Component, options?: T) {
// 创建一个挂载容器 // 创建一个挂载容器

View File

@@ -22,7 +22,7 @@
<script setup lang="ts"> <script setup lang="ts">
import FileImage from '../../main/FileMain/FileImage.vue' import FileImage from '../../main/FileMain/FileImage.vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
import { formatFileSize } from '@/utils' import { formatFileSize } from '@/utils'
interface Props { interface Props {

View File

@@ -1,7 +1,7 @@
import { h } from 'vue' import { h } from 'vue'
import { Modal } from '@arco-design/web-vue' import { Modal } from '@arco-design/web-vue'
import ModalContent from './ModalContent.vue' import ModalContent from './ModalContent.vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
/** 打开 详情 弹窗 */ /** 打开 详情 弹窗 */
export function openFileDetailModal(fileItem: FileItem) { export function openFileDetailModal(fileItem: FileItem) {

View File

@@ -15,7 +15,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import type { FormInstance } from '@arco-design/web-vue' import type { FormInstance } from '@arco-design/web-vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
interface Props { interface Props {
data: FileItem data: FileItem

View File

@@ -1,7 +1,7 @@
import { h, ref } from 'vue' import { h, ref } from 'vue'
import { Message, Modal } from '@arco-design/web-vue' import { Message, Modal } from '@arco-design/web-vue'
import ModalContent from './ModalContent.vue' import ModalContent from './ModalContent.vue'
import { type FileItem, updateFile } from '@/apis' import { type FileItem, updateFile } from '@/apis/system'
export function openFileRenameModal(data: FileItem, callback?: () => void) { export function openFileRenameModal(data: FileItem, callback?: () => void) {
const ModalContentRef = ref<InstanceType<typeof ModalContent>>() const ModalContentRef = ref<InstanceType<typeof ModalContent>>()

View File

@@ -4,7 +4,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import Player from 'xgplayer' import Player from 'xgplayer'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
interface Props { interface Props {
data: FileItem data: FileItem

View File

@@ -1,7 +1,7 @@
import { h } from 'vue' import { h } from 'vue'
import { Modal } from '@arco-design/web-vue' import { Modal } from '@arco-design/web-vue'
import ModalContent from './ModalContent.vue' import ModalContent from './ModalContent.vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
export function previewFileVideoModal(data: FileItem) { export function previewFileVideoModal(data: FileItem) {
return Modal.open({ return Modal.open({

View File

@@ -24,7 +24,7 @@ import { LegendComponent, TitleComponent, TooltipComponent } from 'echarts/compo
import { CanvasRenderer } from 'echarts/renderers' import { CanvasRenderer } from 'echarts/renderers'
import { FileTypeList } from '@/constant/file' import { FileTypeList } from '@/constant/file'
import { useChart } from '@/hooks' import { useChart } from '@/hooks'
import { type FileStatisticsResp, getFileStatistics } from '@/apis' import { type FileStatisticsResp, getFileStatistics } from '@/apis/system'
import { formatFileSize } from '@/utils' import { formatFileSize } from '@/utils'
use([TitleComponent, TooltipComponent, LegendComponent, PieChart, CanvasRenderer]) use([TitleComponent, TooltipComponent, LegendComponent, PieChart, CanvasRenderer])

View File

@@ -42,7 +42,7 @@
<script setup lang="ts"> <script setup lang="ts">
import FileImage from './FileImage.vue' import FileImage from './FileImage.vue'
import FileRightMenu from './FileRightMenu.vue' import FileRightMenu from './FileRightMenu.vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
interface Props { interface Props {
data?: FileItem[] data?: FileItem[]

View File

@@ -5,7 +5,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { FileIcon, ImageTypes } from '@/constant/file' import { FileIcon, ImageTypes } from '@/constant/file'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
interface Props { interface Props {
data: FileItem data: FileItem

View File

@@ -67,7 +67,7 @@
import type { TableInstance, TableRowSelection } from '@arco-design/web-vue' import type { TableInstance, TableRowSelection } from '@arco-design/web-vue'
import FileImage from './FileImage.vue' import FileImage from './FileImage.vue'
import FileRightMenu from './FileRightMenu.vue' import FileRightMenu from './FileRightMenu.vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
import { formatFileSize } from '@/utils' import { formatFileSize } from '@/utils'
interface Props { interface Props {

View File

@@ -35,7 +35,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue' import { ref } from 'vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
import { encodeByBase64 } from '@/utils/encrypt' import { encodeByBase64 } from '@/utils/encrypt'
const emit = defineEmits(['download']) const emit = defineEmits(['download'])

View File

@@ -10,7 +10,7 @@
<script setup lang="ts"> <script setup lang="ts">
import GiOption from '@/components/GiOption/index.vue' import GiOption from '@/components/GiOption/index.vue'
import GiOptionItem from '@/components/GiOptionItem/index.vue' import GiOptionItem from '@/components/GiOptionItem/index.vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
interface Props { interface Props {
data?: FileItem data?: FileItem

View File

@@ -1,5 +1,5 @@
import { computed, ref } from 'vue' import { computed, ref } from 'vue'
import type { FileItem } from '@/apis' import type { FileItem } from '@/apis/system'
type Mode = 'grid' | 'list' type Mode = 'grid' | 'list'

View File

@@ -123,7 +123,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message } from '@arco-design/web-vue' import { type FormInstance, Message } from '@arco-design/web-vue'
import { mapTree } from 'xe-utils' import { mapTree } from 'xe-utils'
import { type MenuResp, addMenu, getMenu, updateMenu } from '@/apis' import { type MenuResp, addMenu, getMenu, updateMenu } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { filterTree, transformPathToName } from '@/utils' import { filterTree, transformPathToName } from '@/utils'

View File

@@ -85,7 +85,7 @@
<script setup lang="ts"> <script setup lang="ts">
import MenuAddModal from './MenuAddModal.vue' import MenuAddModal from './MenuAddModal.vue'
import { type MenuQuery, type MenuResp, deleteMenu, listMenu } from '@/apis' import { type MenuQuery, type MenuResp, deleteMenu, listMenu } from '@/apis/system'
import type GiTable from '@/components/GiTable/index.vue' import type GiTable from '@/components/GiTable/index.vue'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { DisEnableStatusList } from '@/constant/common' import { DisEnableStatusList } from '@/constant/common'

View File

@@ -68,7 +68,7 @@
import { type FormInstance, Message } from '@arco-design/web-vue' import { type FormInstance, Message } from '@arco-design/web-vue'
import { MdEditor } from 'md-editor-v3' import { MdEditor } from 'md-editor-v3'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { addNotice, getNotice, updateNotice } from '@/apis' import { addNotice, getNotice, updateNotice } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'

View File

@@ -38,7 +38,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { MdPreview } from 'md-editor-v3' import { MdPreview } from 'md-editor-v3'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { type NoticeResp, getNotice } from '@/apis' import { type NoticeResp, getNotice } from '@/apis/system'
const { width } = useWindowSize() const { width } = useWindowSize()
const dataDetail = ref<NoticeResp>() const dataDetail = ref<NoticeResp>()

View File

@@ -56,7 +56,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import NoticeAddModal from './NoticeAddModal.vue' import NoticeAddModal from './NoticeAddModal.vue'
import NoticeDetailModal from './NoticeDetailModal.vue' import NoticeDetailModal from './NoticeDetailModal.vue'
import { type NoticeQuery, type NoticeResp, deleteNotice, listNotice } from '@/apis' import { type NoticeQuery, type NoticeResp, deleteNotice, listNotice } from '@/apis/system'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'

View File

@@ -23,7 +23,7 @@ import { Message } from '@arco-design/web-vue'
import AiEditor from '../components/edit/index.vue' import AiEditor from '../components/edit/index.vue'
import { useTabsStore } from '@/stores' import { useTabsStore } from '@/stores'
import { type Columns, GiForm, type Options } from '@/components/GiForm' import { type Columns, GiForm, type Options } from '@/components/GiForm'
import { addNotice, getNotice, updateNotice } from '@/apis' import { addNotice, getNotice, updateNotice } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'

View File

@@ -34,7 +34,7 @@
<script setup lang="tsx"> <script setup lang="tsx">
import AiEditor from '../components/detail/index.vue' import AiEditor from '../components/detail/index.vue'
import { useTabsStore } from '@/stores' import { useTabsStore } from '@/stores'
import { getNotice } from '@/apis' import { getNotice } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
const containerRef = ref<HTMLElement | null>() const containerRef = ref<HTMLElement | null>()

View File

@@ -104,7 +104,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message, type TreeNodeData } from '@arco-design/web-vue' import { type FormInstance, Message, type TreeNodeData } from '@arco-design/web-vue'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { addRole, getRole, updateRole } from '@/apis' import { addRole, getRole, updateRole } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useDept, useDict, useMenu } from '@/hooks/app' import { useDept, useDict, useMenu } from '@/hooks/app'

View File

@@ -53,7 +53,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { type RoleDetailResp, getRole } from '@/apis' import { type RoleDetailResp, getRole } from '@/apis/system'
import { useDept, useDict, useMenu } from '@/hooks/app' import { useDept, useDict, useMenu } from '@/hooks/app'
const { width } = useWindowSize() const { width } = useWindowSize()

View File

@@ -83,7 +83,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message, type TreeNodeData } from '@arco-design/web-vue' import { type FormInstance, Message, type TreeNodeData } from '@arco-design/web-vue'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { addRole, getRole, updateRole } from '@/apis' import { addRole, getRole, updateRole } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useDept, useDict, useMenu } from '@/hooks/app' import { useDept, useDict, useMenu } from '@/hooks/app'

View File

@@ -60,7 +60,7 @@
import RoleUpdateDrawer from './RoleUpdateDrawer.vue' import RoleUpdateDrawer from './RoleUpdateDrawer.vue'
import RoleDetailDrawer from './RoleDetailDrawer.vue' import RoleDetailDrawer from './RoleDetailDrawer.vue'
import RoleAddModal from './RoleAddModal.vue' import RoleAddModal from './RoleAddModal.vue'
import { type RoleQuery, type RoleResp, deleteRole, listRole } from '@/apis' import { type RoleQuery, type RoleResp, deleteRole, listRole } from '@/apis/system'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'

View File

@@ -94,7 +94,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message } from '@arco-design/web-vue' import { type FormInstance, Message } from '@arco-design/web-vue'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { addStorage, getStorage, updateStorage } from '@/apis' import { addStorage, getStorage, updateStorage } from '@/apis/system'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'
import { encryptByRsa } from '@/utils/encrypt' import { encryptByRsa } from '@/utils/encrypt'

View File

@@ -68,7 +68,7 @@
<script setup lang="ts"> <script setup lang="ts">
import StorageAddDrawer from './StorageAddDrawer.vue' import StorageAddDrawer from './StorageAddDrawer.vue'
import { type StorageQuery, type StorageResp, deleteStorage, listStorage } from '@/apis' import { type StorageQuery, type StorageResp, deleteStorage, listStorage } from '@/apis/system'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { useDict } from '@/hooks/app' import { useDict } from '@/hooks/app'

View File

@@ -78,7 +78,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message, type TreeNodeData } from '@arco-design/web-vue' import { type FormInstance, Message, type TreeNodeData } from '@arco-design/web-vue'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { addUser, getUser, updateUser } from '@/apis' import { addUser, getUser, updateUser } from '@/apis/system'
import type { Gender, Status } from '@/types/global' import type { Gender, Status } from '@/types/global'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { useDept, useRole } from '@/hooks/app' import { useDept, useRole } from '@/hooks/app'

View File

@@ -30,7 +30,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { type UserDetailResp, getUser } from '@/apis' import { type UserDetailResp, getUser } from '@/apis/system'
const { width } = useWindowSize() const { width } = useWindowSize()

View File

@@ -84,7 +84,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message, type RequestOption } from '@arco-design/web-vue' import { type FormInstance, Message, type RequestOption } from '@arco-design/web-vue'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { type UserImportResp, downloadImportUserTemplate, importUser, parseImportUser } from '@/apis' import { type UserImportResp, downloadImportUserTemplate, importUser, parseImportUser } from '@/apis/system'
import { useDownload, useForm } from '@/hooks' import { useDownload, useForm } from '@/hooks'
const emit = defineEmits<{ const emit = defineEmits<{

View File

@@ -16,7 +16,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { Message } from '@arco-design/web-vue' import { Message } from '@arco-design/web-vue'
import { resetUserPwd } from '@/apis' import { resetUserPwd } from '@/apis/system'
import { type Columns, GiForm } from '@/components/GiForm' import { type Columns, GiForm } from '@/components/GiForm'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'
import { encryptByRsa } from '@/utils/encrypt' import { encryptByRsa } from '@/utils/encrypt'

View File

@@ -96,7 +96,7 @@ import UserAddDrawer from './UserAddDrawer.vue'
import UserImportDrawer from './UserImportDrawer.vue' import UserImportDrawer from './UserImportDrawer.vue'
import UserDetailDrawer from './UserDetailDrawer.vue' import UserDetailDrawer from './UserDetailDrawer.vue'
import UserResetPwdModal from './UserResetPwdModal.vue' import UserResetPwdModal from './UserResetPwdModal.vue'
import { type UserQuery, type UserResp, deleteUser, exportUser, listUser } from '@/apis' import { type UserQuery, type UserResp, deleteUser, exportUser, listUser } from '@/apis/system'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useDownload, useTable } from '@/hooks' import { useDownload, useTable } from '@/hooks'
import { isMobile } from '@/utils' import { isMobile } from '@/utils'

View File

@@ -143,7 +143,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { type FormInstance, Message } from '@arco-design/web-vue' import { type FormInstance, Message } from '@arco-design/web-vue'
import { useWindowSize } from '@vueuse/core' import { useWindowSize } from '@vueuse/core'
import { type FieldConfigResp, type GeneratorConfigResp, getGenConfig, listFieldConfig, listFieldConfigDict, saveGenConfig } from '@/apis' import { type FieldConfigResp, type GeneratorConfigResp, getGenConfig, listFieldConfig, listFieldConfigDict, saveGenConfig } from '@/apis/tool'
import type { LabelValueState } from '@/types/global' import type { LabelValueState } from '@/types/global'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useForm } from '@/hooks' import { useForm } from '@/hooks'

View File

@@ -66,7 +66,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { Message, type TreeNodeData } from '@arco-design/web-vue' import { Message, type TreeNodeData } from '@arco-design/web-vue'
import { useClipboard } from '@vueuse/core' import { useClipboard } from '@vueuse/core'
import { type GeneratePreviewResp, genPreview } from '@/apis' import { type GeneratePreviewResp, genPreview } from '@/apis/tool'
// 生成 // 生成
const emit = defineEmits<{ (e: 'generate', tableNames: string[]): void }>() const emit = defineEmits<{ (e: 'generate', tableNames: string[]): void }>()

View File

@@ -40,7 +40,7 @@
<script setup lang="ts"> <script setup lang="ts">
import GenConfigDrawer from './GenConfigDrawer.vue' import GenConfigDrawer from './GenConfigDrawer.vue'
import GenPreviewModal from './GenPreviewModal.vue' import GenPreviewModal from './GenPreviewModal.vue'
import { generate, listGenerator } from '@/apis' import { generate, listGenerator } from '@/apis/tool'
import type { TableInstanceColumns } from '@/components/GiTable/type' import type { TableInstanceColumns } from '@/components/GiTable/type'
import { useTable } from '@/hooks' import { useTable } from '@/hooks'
import { isMobile } from '@/utils' import { isMobile } from '@/utils'