feat(developer): 完成小程序开发者中心和企业控制台改造
- 设计并实现了开发者中心与企业控制台两大模块 - 按用户角色区分开发者和企业客户,支持多项目类型及成员管理 - 新增项目管理、应用管理、API Key管理及成员邀请等多功能页面 - 实现应用版本发布、消息通知中心、权限审批与开发者申请流程 - 完成CI/CD流水线、运营监控、发票管理、SSO单点登录功能 - 搭建SDK下载中心、工单系统、FAQ系统、数据导入导出等模块 - 优化后端API,支持已登录和未注册用户不同加入应用流程 - 前端按钮统一采用微信手机号授权,完善用户授权体验 - 修复多个页面的JSX语法错误及依赖导入问题,替换部分组件库 - 增加详细的类型定义文件,提升项目类型安全 - 新增超过55个页面及60个API接口,扩展应用功能和服务体系 - 完成全面的样式设计,实现一致的视觉风格和交互体验
This commit is contained in:
139
src/api/developer/enterprise.ts
Normal file
139
src/api/developer/enterprise.ts
Normal file
@@ -0,0 +1,139 @@
|
||||
import request from '@/utils/request'
|
||||
import type { ApiResult, PageResult } from '@/api'
|
||||
import type { Enterprise, EnterpriseMember, EnterpriseMemberParam, Order, Bill, BillParam, App, AppParam } from '@/types/developer'
|
||||
|
||||
// ==================== 企业相关 ====================
|
||||
|
||||
/**
|
||||
* 获取企业信息
|
||||
*/
|
||||
export async function getEnterpriseInfo() {
|
||||
const res = await request.get<ApiResult<Enterprise>>('/enterprise/info')
|
||||
if (res.code === 0) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新企业信息
|
||||
*/
|
||||
export async function updateEnterpriseInfo(data: Partial<Enterprise>) {
|
||||
const res = await request.put<ApiResult<unknown>>('/enterprise/info', data)
|
||||
if (res.code === 0) return res.message
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
// ==================== 企业成员相关 ====================
|
||||
|
||||
/**
|
||||
* 获取企业成员列表
|
||||
*/
|
||||
export async function pageEnterpriseMember(params?: EnterpriseMemberParam) {
|
||||
const res = await request.get<ApiResult<PageResult<EnterpriseMember>>>('/enterprise/member/page', { params })
|
||||
if (res.code === 0) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取企业成员列表(不分页)
|
||||
*/
|
||||
export async function listEnterpriseMember(params?: EnterpriseMemberParam) {
|
||||
const res = await request.get<ApiResult<EnterpriseMember[]>>('/enterprise/member', params)
|
||||
if (res.code === 0 && res.data) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 邀请企业成员
|
||||
*/
|
||||
export async function inviteEnterpriseMember(enterpriseId: number, data: Partial<EnterpriseMember>) {
|
||||
const res = await request.post<ApiResult<unknown>>(`/enterprise/member/${enterpriseId}/invite`, data)
|
||||
if (res.code === 0) return res.message
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新企业成员
|
||||
*/
|
||||
export async function updateEnterpriseMember(data: Partial<EnterpriseMember>) {
|
||||
const res = await request.put<ApiResult<unknown>>(`/enterprise/member/${data.id}`, data)
|
||||
if (res.code === 0) return res.message
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除企业成员
|
||||
*/
|
||||
export async function removeEnterpriseMember(memberId: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(`/enterprise/member/${memberId}`)
|
||||
if (res.code === 0) return res.message
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
// ==================== 订单相关 ====================
|
||||
|
||||
/**
|
||||
* 获取订单列表
|
||||
*/
|
||||
export async function pageOrder(params?: { page?: number; limit?: number; status?: number }) {
|
||||
const res = await request.get<ApiResult<PageResult<Order>>>('/enterprise/order/page', { params })
|
||||
if (res.code === 0) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取订单详情
|
||||
*/
|
||||
export async function getOrder(id: number) {
|
||||
const res = await request.get<ApiResult<Order>>(`/enterprise/order/${id}`)
|
||||
if (res.code === 0 && res.data) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
// ==================== 账单相关 ====================
|
||||
|
||||
/**
|
||||
* 获取账单列表
|
||||
*/
|
||||
export async function pageBill(params?: BillParam) {
|
||||
const res = await request.get<ApiResult<PageResult<Bill>>>('/enterprise/bill/page', { params })
|
||||
if (res.code === 0) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取账单概览
|
||||
*/
|
||||
export async function getBillOverview() {
|
||||
const res = await request.get<ApiResult<{ balance: number; totalConsume: number; totalRecharge: number }>>('/enterprise/bill/overview')
|
||||
if (res.code === 0) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
// ==================== 企业应用相关 ====================
|
||||
|
||||
/**
|
||||
* 获取企业应用列表
|
||||
*/
|
||||
export async function pageEnterpriseApp(params?: AppParam) {
|
||||
const res = await request.get<ApiResult<PageResult<App>>>('/enterprise/app/page', { params })
|
||||
if (res.code === 0) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取企业应用详情
|
||||
*/
|
||||
export async function getEnterpriseApp(id: number) {
|
||||
const res = await request.get<ApiResult<App>>(`/enterprise/app/${id}`)
|
||||
if (res.code === 0 && res.data) return res.data
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
|
||||
/**
|
||||
* 购买应用
|
||||
*/
|
||||
export async function purchaseApp(productId: number) {
|
||||
const res = await request.post<ApiResult<unknown>>('/enterprise/app/purchase', { productId })
|
||||
if (res.code === 0) return res.message
|
||||
return Promise.reject(new Error(res.message))
|
||||
}
|
||||
Reference in New Issue
Block a user