- 修正开发者、小程序和企业相关API的基础URL,避免重复添加/api前缀 - 统一调整developer、enterprise、invite等模块接口路径,保持与后端Controller一致 - 新增权限申请及消息通知相关API,并完善相关函数实现 - 规范请求参数传递,移除多余包装,改用直接传递对象方式 - 新增API Key重置、版本发布/回滚等接口支持 feat(invite): 重构邀请登录流程支持未注册快速加入 - 完整重写invite页,分离已注册用户和未注册用户的按钮显示和交互 - 实现未注册用户微信手机号授权后自动注册登录及自动加入应用 - 已注册用户直接确认加入应用,无需手机号授权弹窗 - 统一使用getPhoneNumber按钮处理两种状态并修复“授权码不能为空”报错 - 前端配合后端改造,支持已登录用户可直接通过Authorization头加入应用 fix(developer): 修复开发者中心应用加载问题 - 修复只查询创建的应用导致邀请加入的应用不显示的问题 - 同时请求创建应用和参与应用接口,合并并去重应用列表 - 新增pageJoinedApp接口调用及合并逻辑,提高应用列表完整性和体验
149 lines
4.6 KiB
TypeScript
149 lines
4.6 KiB
TypeScript
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>>('/system/tenant/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>>('/system/tenant', 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>>>('/system/user/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[]>>('/system/user', 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>>(`/app/developer/invite/${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>>(`/system/user`, 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>>(`/system/user/${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>>>('/system/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>>(`/system/order/${id}`)
|
|
if (res.code === 0 && res.data) return res.data
|
|
return Promise.reject(new Error(res.message))
|
|
}
|
|
|
|
/**
|
|
* 创建订单
|
|
*/
|
|
export async function createOrder(data: any) {
|
|
const res = await request.post<ApiResult<unknown>>('/system/order', data)
|
|
if (res.code === 0) return res.message
|
|
return Promise.reject(new Error(res.message))
|
|
}
|
|
|
|
// ==================== 充值/账单相关 ====================
|
|
|
|
/**
|
|
* 获取账单列表
|
|
*/
|
|
export async function pageBill(params?: BillParam) {
|
|
const res = await request.get<ApiResult<PageResult<Bill>>>('/sys/recharge-order/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 }>>('/sys/user-balance-log/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>>>('/app/product/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>>(`/app/product/${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>>('/api/system/order/createOrder', { productId })
|
|
if (res.code === 0) return res.message
|
|
return Promise.reject(new Error(res.message))
|
|
}
|