Files
websopy-taro/src/api/app/apikey.ts
T
gxwebsoft 39d3b59434 refactor(user): 将VIP身份统一改为开发者标记
- 审核通过时不再新增角色,而是更新用户isDeveloper布尔标记
- 后端UserService新增markAsDeveloper方法,通过updateById设置isDeveloper
- UserController新增PUT接口更新开发者标记,权限使用sys:userRole:save
- 前端api新增setUserDeveloper调用新的审核接口
- vip-review页面移除角色相关代码,改为调用setUserDeveloper方法
- 约定开发者身份即sys_user.is_developer字段,不再依赖角色表记录
- app.config.ts追加开发者中心与平台管理相关页面路由
- 新增开发者中心、平台管理的多个API模块(apikey、appProduct、appDomain、developer请求等)
- 添加公共工具方法和复用组件用于开发者中心及平台管理功能
- 统一品牌名称为“威数谱软件”,更新文案及界面展现一致性
2026-07-22 14:57:03 +08:00

50 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// API Key 管理(对齐 PC /developer/apikeys,基址走 websopy-api)
import { get, post, put, del } from '@/utils/request'
import { WebsopyBaseUrl } from '@/config/app'
const BASE = '/app/apikey'
export interface AppApiKey {
id: number
name: string
apiKey: string
keyPrefix?: string
status: number // 0正常 1禁用
scopes?: string
expireTime?: string
lastUsedAt?: string
usageCount?: number
remark?: string
createTime?: string
}
export async function pageAppApiKey(params: any) {
const res = await get<any>(BASE, params, { baseUrl: WebsopyBaseUrl })
if (res?.code === 0) return res.data
return Promise.reject(new Error(res?.message || '加载失败'))
}
export async function createAppApiKey(data: any) {
const res = await post<any>(BASE, data, { baseUrl: WebsopyBaseUrl })
if (res?.code === 0) return res.data
return Promise.reject(new Error(res?.message || '创建失败'))
}
export async function updateAppApiKeyStatus(id: number, status: number) {
const res = await put<any>(`${BASE}/${id}/status?status=${status}`, {}, { baseUrl: WebsopyBaseUrl })
if (res?.code === 0) return res.message
return Promise.reject(new Error(res?.message || '操作失败'))
}
export async function removeAppApiKey(id: number) {
const res = await del<any>(`${BASE}/${id}`, {}, { baseUrl: WebsopyBaseUrl })
if (res?.code === 0) return res.message
return Promise.reject(new Error(res?.message || '删除失败'))
}
export async function getAppApiKeyStats() {
const res = await get<any>(`${BASE}/stats`, undefined, { baseUrl: WebsopyBaseUrl })
if (res?.code === 0) return res.data
return Promise.reject(new Error(res?.message || '加载失败'))
}