39d3b59434
- 审核通过时不再新增角色,而是更新用户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请求等) - 添加公共工具方法和复用组件用于开发者中心及平台管理功能 - 统一品牌名称为“威数谱软件”,更新文案及界面展现一致性
59 lines
2.0 KiB
TypeScript
59 lines
2.0 KiB
TypeScript
// 个性域名绑定(对齐 PC /admin/domain-bindings,基址走 websopy-api)
|
||
import { get, post } from '@/utils/request'
|
||
import { WebsopyBaseUrl } from '@/config/app'
|
||
|
||
const BASE = '/app/domain'
|
||
|
||
export interface AppDomain {
|
||
id?: number
|
||
tenantId?: number
|
||
productId?: number
|
||
domain?: string
|
||
targetIp?: string
|
||
recordType?: string
|
||
status?: number // 0待解析 1校验中 2已生效 3已拒绝 4已停用
|
||
dnsStatus?: number
|
||
dnsIp?: string
|
||
proxyConfigured?: number
|
||
rejectReason?: string
|
||
tenantName?: string
|
||
createTime?: string
|
||
}
|
||
|
||
/** 管理端列表 */
|
||
export async function pageAppDomain(params: any) {
|
||
const res = await get<any>(`${BASE}/admin/list`, params, { baseUrl: WebsopyBaseUrl })
|
||
if (res?.code === 0) return res.data
|
||
return Promise.reject(new Error(res?.message || '加载失败'))
|
||
}
|
||
|
||
export async function verifyDomain(id: number) {
|
||
const res = await post<any>(`${BASE}/verify/${id}`, {}, { baseUrl: WebsopyBaseUrl })
|
||
if (res?.code === 0) return res.data
|
||
return Promise.reject(new Error(res?.message || '校验失败'))
|
||
}
|
||
|
||
export async function setProxy(id: number) {
|
||
const res = await post<any>(`${BASE}/proxy/${id}`, {}, { baseUrl: WebsopyBaseUrl })
|
||
if (res?.code === 0) return res.data
|
||
return Promise.reject(new Error(res?.message || '操作失败'))
|
||
}
|
||
|
||
export async function activeDomain(id: number) {
|
||
const res = await post<any>(`${BASE}/active/${id}`, {}, { baseUrl: WebsopyBaseUrl })
|
||
if (res?.code === 0) return res.data
|
||
return Promise.reject(new Error(res?.message || '操作失败'))
|
||
}
|
||
|
||
export async function rejectDomain(id: number, reason: string) {
|
||
const res = await post<any>(`${BASE}/reject/${id}`, { reason }, { baseUrl: WebsopyBaseUrl })
|
||
if (res?.code === 0) return res.message
|
||
return Promise.reject(new Error(res?.message || '操作失败'))
|
||
}
|
||
|
||
export async function disableDomain(id: number) {
|
||
const res = await post<any>(`${BASE}/disable/${id}`, {}, { baseUrl: WebsopyBaseUrl })
|
||
if (res?.code === 0) return res.message
|
||
return Promise.reject(new Error(res?.message || '操作失败'))
|
||
}
|