import request from '@/utils/request' import { announcementApi } from './announcement.js' import { articleApi } from './article.js' import { balanceAlertApi } from './balanceAlertApi.js' import { adminInvoiceApi, invoiceApi } from './invoice.js' // 直接导出发票API、文章API、公告API和余额预警API export { adminInvoiceApi, announcementApi, articleApi, balanceAlertApi, invoiceApi } // 用户相关接口 - 严格按照后端路由定义 export const userApi = { // 发送验证码 sendCode: (data) => request.post('/users/send-code', data), // 用户注册 register: (data) => request.post('/users/register', data), // 密码登录 loginWithPassword: (data) => request.post('/users/login-password', data), // 短信登录 loginWithSMS: (data) => request.post('/users/login-sms', data), // 获取用户信息 (需认证) getProfile: () => request.get('/users/me'), // 修改密码 (需认证) changePassword: (data) => request.put('/users/me/password', data), // 重置密码 (无需认证) resetPassword: (data) => request.post('/users/reset-password', data), // 管理员功能 - 获取用户列表 (需管理员权限) getUserList: (params) => request.get('/users/admin/list', { params }), // 管理员功能 - 获取用户详情 (需管理员权限) getUserDetail: (userId) => request.get(`/users/admin/${userId}`), // 管理员功能 - 获取用户统计信息 (需管理员权限) getUserStats: () => request.get('/users/admin/stats') } // 产品相关接口 export const productApi = { // 产品列表(用户端接口) getProducts: (params) => request.get('/products', { params }), getProductDetail: (id, params) => request.get(`/products/${id}`, { params }), searchProducts: (params) => request.get('/products/search', { params }), // 产品分类 getCategories: (params) => request.get('/categories', { params }), // 订阅产品 subscribeProduct: (productId) => request.post(`/products/${productId}/subscribe`), // 产品API配置 getProductApiConfig: (productId) => request.get(`/products/${productId}/api-config`), getProductApiConfigByCode: (productCode) => request.get(`/products/code/${productCode}/api-config`), getProductApiConfigsByProductIDs: (productIds) => request.get('/products/api-configs', { params: { product_ids: productIds.join(',') } }), // 下载接口文档(支持PDF和Markdown) downloadProductDocumentation: (productId) => request.get(`/products/${productId}/documentation/download`, { responseType: 'blob' }), // 组件报告下载相关API // 检查产品是否可以下载示例报告 checkComponentReportAvailability: (productId) => request.get(`/products/${productId}/component-report/check`), // 获取产品示例报告下载信息和价格计算 getComponentReportInfo: (productId) => request.get(`/products/${productId}/component-report/info`), // 创建示例报告下载支付订单 createComponentReportPaymentOrder: (productId, data) => request.post(`/products/${productId}/component-report/create-order`, data), // 检查示例报告下载支付状态 checkComponentReportPaymentStatus: (orderId) => request.get(`/component-report/check-payment/${orderId}`), // 生成并下载示例报告ZIP文件 generateAndDownloadComponentReport: (data) => request.post('/component-report/generate-and-download', data, { responseType: 'blob' }) } // 分类相关接口 - 数据大厅 export const categoryApi = { // 获取分类列表 (公开接口) getCategories: (params) => request.get('/categories', { params }), // 获取分类详情 (公开接口) getCategoryDetail: (id) => request.get(`/categories/${id}`) } // 订阅相关接口 - 我的订阅 export const subscriptionApi = { // 获取我的订阅列表 (需认证) getMySubscriptions: (params) => request.get('/my/subscriptions', { params }), // 获取我的订阅统计 (需认证) getMySubscriptionStats: () => request.get('/my/subscriptions/stats'), // 获取我的订阅详情 (需认证) getMySubscriptionDetail: (id) => request.get(`/my/subscriptions/${id}`), // 获取我的订阅使用情况 (需认证) getMySubscriptionUsage: (id) => request.get(`/my/subscriptions/${id}/usage`), // 取消我的订阅 (需认证) cancelMySubscription: (id) => request.post(`/my/subscriptions/${id}/cancel`) } // 财务相关接口 export const financeApi = { // 钱包相关 createWallet: (data) => request.post('/finance/wallet', data), getWallet: () => request.get('/finance/wallet'), updateWallet: (data) => request.put('/finance/wallet', data), rechargeWallet: (data) => request.post('/finance/wallet/recharge', data), withdrawWallet: (data) => request.post('/finance/wallet/withdraw', data), walletTransaction: (data) => request.post('/finance/wallet/transaction', data), getWalletStats: () => request.get('/finance/wallet/stats'), getRechargeConfig: () => request.get('/finance/wallet/recharge-config'), // 充值相关 transferRecharge: (data) => request.post('/finance/wallet/transfer-recharge', data), giftRecharge: (data) => request.post('/finance/wallet/gift-recharge', data), createAlipayRecharge: (data) => request.post('/finance/wallet/alipay-recharge', data), createWechatRecharge: (data) => request.post('/finance/wallet/wechat-recharge', data), getWechatOrderStatus: (params) => request.get('/finance/wallet/wechat-order-status', { params }), // 用户密钥相关 createUserSecrets: (data) => request.post('/finance/secrets', data), getUserSecrets: () => request.get('/finance/secrets'), regenerateAccessKey: () => request.post('/finance/secrets/regenerate'), deactivateUserSecrets: () => request.post('/finance/secrets/deactivate'), // 钱包交易记录 getUserWalletTransactions: (params) => request.get('/finance/wallet/transactions', { params }), // 支付宝订单状态查询 getAlipayOrderStatus: (params) => request.get('/finance/wallet/alipay-order-status', { params }), // 管理员充值功能 transferRecharge: (data) => request.post('/admin/finance/transfer-recharge', data), giftRecharge: (data) => request.post('/admin/finance/gift-recharge', data), // 充值记录相关接口 getUserRechargeRecords: (params) => request.get('/finance/wallet/recharge-records', { params }), getAdminRechargeRecords: (params) => request.get('/admin/finance/recharge-records', { params }), // 购买记录相关接口 getUserPurchaseRecords: (params) => request.get('/finance/purchase-records', { params }), getAdminPurchaseRecords: (params) => request.get('/admin/finance/purchase-records', { params }), exportAdminPurchaseRecords: (params) => request.get('/admin/finance/purchase-records/export', { params, responseType: 'blob' }) } // 认证相关接口 export const certificationApi = { // 获取认证详情 getCertificationDetails: () => request.get('/certifications/details'), // 获取认证进度 getCertificationProgress: () => request.get('/certifications/progress'), // 提交企业信息 submitEnterpriseInfo: (data) => request.post('/certifications/enterprise-info', data), // 发起人脸识别验证 initiateFaceVerify: (data) => request.post('/certifications/face-verify', data), // 申请合同签署 applyContract: () => request.post('/certifications/apply-contract'), // 获取认证详情 getCertificationDetails: () => request.get('/certifications/details'), // 确认签署状态 confirmSign: (data) => request.post('/certifications/confirm-sign', data), // 确认认证状态 confirmAuth: (data) => request.post('/certifications/confirm-auth', data), // OCR营业执照识别 recognizeBusinessLicense: (formData) => request.post('/certifications/ocr/business-license', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) } // API相关接口 export const apiApi = { // 用户API调用记录 getUserApiCalls: (params) => request.get('/my/api-calls', { params }), // 加密参数接口(用于前端调试) encryptParams: (data, secretKey) => request.post('/encrypt', { data, secret_key: secretKey }), // 解密参数接口(用于前端调试) decryptParams: (encryptedData, secretKey) => request.post('/decrypt', { encrypted_data: encryptedData, secret_key: secretKey }) } // API调用记录API export const apiCallApi = { // 用户端API调用记录 getUserApiCalls: (params) => request.get('/my/api-calls', { params }), // 管理端API调用记录 getAdminApiCalls: (params) => request.get('/admin/api-calls', { params }), // 管理端导出API调用记录 exportAdminApiCalls: (params) => request.get('/admin/api-calls/export', { params, responseType: 'blob' }) } // 钱包交易记录API export const walletTransactionApi = { // 用户端消费记录 getUserWalletTransactions: (params) => request.get('/finance/wallet/transactions', { params }), // 管理端消费记录 getAdminWalletTransactions: (params) => request.get('/admin/wallet-transactions', { params }), // 管理端导出消费记录 exportAdminWalletTransactions: (params) => request.get('/admin/wallet-transactions/export', { params, responseType: 'blob' }) } // 充值记录API export const rechargeRecordApi = { // 用户端充值记录 getUserRechargeRecords: (params) => request.get('/finance/wallet/recharge-records', { params }), // 管理端充值记录 getAdminRechargeRecords: (params) => request.get('/admin/recharge-records', { params }), // 管理端导出充值记录 exportAdminRechargeRecords: (params) => request.get('/admin/recharge-records/export', { params, responseType: 'blob' }) } // API密钥相关接口 export const apiKeysApi = { // 获取用户API密钥 (需认证) getUserApiKeys: () => request.get('/api-keys') } export const whiteListApi = { // 获取用户白名单列表 (需认证) getWhiteList: (remark = '') => { const params = {} if (remark) { params.remark = remark } return request.get('/white-list', { params }) }, // 添加白名单IP (需认证) addWhiteListIP: (ipAddress, remark = '') => request.post('/white-list', { ip_address: ipAddress, remark: remark }), // 删除白名单IP (需认证) deleteWhiteListIP: (ipAddress) => request.delete(`/white-list/${encodeURIComponent(ipAddress)}`) } // 管理员接口 - 需要管理员权限 export const productAdminApi = { // 产品管理 getProducts: (params) => request.get('/admin/products', { params }), getProductDetail: (id) => request.get(`/admin/products/${id}`), createProduct: (data) => request.post('/admin/products', data), updateProduct: (id, data) => request.put(`/admin/products/${id}`, data), deleteProduct: (id) => request.delete(`/admin/products/${id}`), // 组合包管理 getAvailableProducts: (params) => request.get('/admin/products/available', { params }), addPackageItem: (packageId, data) => request.post(`/admin/products/${packageId}/package-items`, data), updatePackageItem: (packageId, itemId, data) => request.put(`/admin/products/${packageId}/package-items/${itemId}`, data), removePackageItem: (packageId, itemId) => request.delete(`/admin/products/${packageId}/package-items/${itemId}`), reorderPackageItems: (packageId, data) => request.put(`/admin/products/${packageId}/package-items/reorder`, data), updatePackageItems: (packageId, data) => request.put(`/admin/products/${packageId}/package-items/batch`, data), // 分类管理 getCategories: (params) => request.get('/admin/product-categories', { params }), getCategoryDetail: (id) => request.get(`/admin/product-categories/${id}`), createCategory: (data) => request.post('/admin/product-categories', data), updateCategory: (id, data) => request.put(`/admin/product-categories/${id}`, data), deleteCategory: (id) => request.delete(`/admin/product-categories/${id}`), // 订阅管理 getSubscriptions: (params) => request.get('/admin/subscriptions', { params }), getSubscriptionStats: () => request.get('/admin/subscriptions/stats'), updateSubscriptionPrice: (id, data) => request.put(`/admin/subscriptions/${id}/price`, data), batchUpdateSubscriptionPrices: (data) => request.post('/admin/subscriptions/batch-update-prices', data), // 产品API配置管理 getProductApiConfig: (productId) => request.get(`/admin/products/${productId}/api-config`), createProductApiConfig: (productId, data) => request.post(`/admin/products/${productId}/api-config`, data), updateProductApiConfig: (productId, data) => request.put(`/admin/products/${productId}/api-config`, data), deleteProductApiConfig: (productId) => request.delete(`/admin/products/${productId}/api-config`), // 产品文档管理 getProductDocumentation: (productId) => request.get(`/admin/products/${productId}/documentation`), createProductDocumentation: (productId, data) => request.post(`/admin/products/${productId}/documentation`, data), updateProductDocumentation: (productId, data) => request.put(`/admin/products/${productId}/documentation`, data), deleteProductDocumentation: (productId) => request.delete(`/admin/products/${productId}/documentation`) } // 表单配置相关接口 export const formConfigApi = { // 获取指定API的表单配置 getFormConfig: (apiCode) => request.get(`/form-config/${apiCode}`) } // Console专用API调用接口 export const consoleApi = { // 调用产品API(使用JWT认证,不需要域名认证) callProductAPI: (apiCode, requestBody, accessId) => { return request.post(`/console/${apiCode}`, requestBody, { headers: { 'Access-Id': accessId } }) } } // 导出所有API export default { user: userApi, certification: certificationApi, finance: financeApi, product: productApi, category: categoryApi, subscription: subscriptionApi, productAdmin: productAdminApi, apiKeys: apiKeysApi, whiteList: whiteListApi, api: apiApi, invoice: invoiceApi, adminInvoice: adminInvoiceApi }