feat(system): 添加API密钥管理功能

- 新增API密钥创建表单界面
- 实现API密钥名称输入验证
- 添加密钥信息展示与编辑功能- 集成访问密钥管理模块
- 支持API密钥的增删改查操作
- 完善密钥权限校验逻辑
This commit is contained in:
2025-10-15 13:10:30 +08:00
commit 0e7082bbb0
1127 changed files with 217948 additions and 0 deletions

View File

@@ -0,0 +1,105 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { OaAssets, OaAssetsParam } from './model';
/**
* 分页查询云服务器
*/
export async function pageOaAssets(params: OaAssetsParam) {
const res = await request.get<ApiResult<PageResult<OaAssets>>>(
'/oa/oa-assets/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询云服务器列表
*/
export async function listOaAssets(params?: OaAssetsParam) {
const res = await request.get<ApiResult<OaAssets[]>>(
'/oa/oa-assets',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加云服务器
*/
export async function addOaAssets(data: OaAssets) {
const res = await request.post<ApiResult<unknown>>(
'/oa/oa-assets',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改云服务器
*/
export async function updateOaAssets(data: OaAssets) {
const res = await request.put<ApiResult<unknown>>(
'/oa/oa-assets',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除云服务器
*/
export async function removeOaAssets(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
'/oa/oa-assets/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除云服务器
*/
export async function removeBatchOaAssets(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
'/oa/oa-assets/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询云服务器
*/
export async function getOaAssets(id: number) {
const res = await request.get<ApiResult<OaAssets>>(
'/oa/oa-assets/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,102 @@
import type { PageParam } from '@/api';
/**
* 云服务器
*/
export interface OaAssets {
// 资产ID
assetsId?: number;
// 资产名称
name?: string;
// 资产标识
code?: string;
// 资产类型
type?: string;
// 服务器厂商
brand?: string;
// 服务器配置
configuration?: string;
// 初始账号
account?: string;
// 初始密码
password?: string;
// (阿里云/腾讯云)登录账号
brandAccount?: string;
// (阿里云/腾讯云)登录密码
brandPassword?: string;
// 宝塔面板
panel?: string;
// 宝塔面板账号
panelAccount?: string;
// 宝塔面板密码
panelPassword?: string;
// 财务信息-合同金额
financeAmount?: string;
// 购买年限
financeYears?: number;
// 续费金额
financeRenew?: string;
// 客户名称
financeCustomerName?: string;
// 客户联系人
financeCustomerContact?: string;
// 客户联系电话
financeCustomerPhone?: string;
// 客户ID
customerId?: number;
// 客户名称
customerName?: string;
// 开放端口
openPort?: string;
// 数据库端口
mysqlPort?: string;
// 详情内容
content?: string;
// 购买时间
startTime?: string;
// 到期时间
endTime?: string;
// 即将过期
soon?: number;
// 置顶状态
isTop?: string;
// 可见性(public,private,protected)
visibility?: string;
// 宝塔接口秘钥
btSign?: string;
// 文章排序(数字越小越靠前)
sortNumber?: number;
// 描述
comments?: string;
// 客户ID
companyId?: number;
// 用户ID
userId?: number;
// 可见用户
userIds?: string;
// 机构id
organizationId?: number;
// 状态, 0正常, 1冻结
status?: string;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 租户名称
tenantName?: string;
// 租户头像
logo?: string;
// 创建时间
createTime?: string;
// 修改时间
updateTime?: string;
}
/**
* 云服务器搜索条件
*/
export interface OaAssetsParam extends PageParam {
assetsId?: number;
deleted?: number;
keywords?: string;
}