first commit
This commit is contained in:
45
src/api/article.js
Normal file
45
src/api/article.js
Normal file
@@ -0,0 +1,45 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 文章管理API
|
||||
export const articleApi = {
|
||||
// ==================== 用户端API ====================
|
||||
// 文章查询
|
||||
getArticles: (params) => request.get('/articles', { params }),
|
||||
getArticleDetail: (id) => request.get(`/articles/${id}`),
|
||||
|
||||
// 分类查询
|
||||
getCategories: () => request.get('/article-categories'),
|
||||
getCategoryDetail: (id) => request.get(`/article-categories/${id}`),
|
||||
|
||||
// 标签查询
|
||||
getTags: () => request.get('/article-tags'),
|
||||
getTagDetail: (id) => request.get(`/article-tags/${id}`),
|
||||
|
||||
// ==================== 管理员端API ====================
|
||||
// 统计信息
|
||||
getArticleStats: () => request.get('/admin/articles/stats'),
|
||||
|
||||
// 文章管理
|
||||
getArticlesForAdmin: (params) => request.get('/admin/articles', { params }),
|
||||
createArticle: (data) => request.post('/admin/articles', data),
|
||||
updateArticle: (id, data) => request.put(`/admin/articles/${id}`, data),
|
||||
deleteArticle: (id) => request.delete(`/admin/articles/${id}`),
|
||||
|
||||
// 文章状态管理
|
||||
publishArticle: (id) => request.post(`/admin/articles/${id}/publish`),
|
||||
schedulePublishArticle: (id, data) => request.post(`/admin/articles/${id}/schedule-publish`, data),
|
||||
updateSchedulePublishArticle: (id, data) => request.post(`/admin/articles/${id}/update-schedule-publish`, data),
|
||||
cancelSchedulePublishArticle: (id) => request.post(`/admin/articles/${id}/cancel-schedule`),
|
||||
archiveArticle: (id) => request.post(`/admin/articles/${id}/archive`),
|
||||
setFeatured: (id, data) => request.put(`/admin/articles/${id}/featured`, data),
|
||||
|
||||
// 分类管理
|
||||
createCategory: (data) => request.post('/admin/article-categories', data),
|
||||
updateCategory: (id, data) => request.put(`/admin/article-categories/${id}`, data),
|
||||
deleteCategory: (id) => request.delete(`/admin/article-categories/${id}`),
|
||||
|
||||
// 标签管理
|
||||
createTag: (data) => request.post('/admin/article-tags', data),
|
||||
updateTag: (id, data) => request.put(`/admin/article-tags/${id}`, data),
|
||||
deleteTag: (id) => request.delete(`/admin/article-tags/${id}`)
|
||||
}
|
||||
56
src/api/balanceAlertApi.js
Normal file
56
src/api/balanceAlertApi.js
Normal file
@@ -0,0 +1,56 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 余额预警API接口
|
||||
* 注意:这些接口需要后端实现
|
||||
*/
|
||||
|
||||
// 获取用户余额预警设置
|
||||
export const getUserAlertSettings = () => {
|
||||
return request({
|
||||
url: '/user/balance-alert/settings',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 更新用户余额预警设置
|
||||
export const updateUserAlertSettings = (data) => {
|
||||
return request({
|
||||
url: '/user/balance-alert/settings',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 测试预警短信发送
|
||||
export const testAlertSms = (data) => {
|
||||
return request({
|
||||
url: '/user/balance-alert/test-sms',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取预警历史记录
|
||||
export const getAlertHistory = (params) => {
|
||||
return request({
|
||||
url: '/user/balance-alert/history',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// 命名导出
|
||||
export const balanceAlertApi = {
|
||||
getUserAlertSettings,
|
||||
updateUserAlertSettings,
|
||||
testAlertSms,
|
||||
getAlertHistory
|
||||
}
|
||||
|
||||
export default {
|
||||
getUserAlertSettings,
|
||||
updateUserAlertSettings,
|
||||
testAlertSms,
|
||||
getAlertHistory
|
||||
}
|
||||
306
src/api/index.js
Normal file
306
src/api/index.js
Normal file
@@ -0,0 +1,306 @@
|
||||
import request from '@/utils/request'
|
||||
import { articleApi } from './article.js'
|
||||
import { balanceAlertApi } from './balanceAlertApi.js'
|
||||
import { adminInvoiceApi, invoiceApi } from './invoice.js'
|
||||
|
||||
// 直接导出发票API、文章API和余额预警API
|
||||
export { adminInvoiceApi, 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(',') }
|
||||
})
|
||||
}
|
||||
|
||||
// 分类相关接口 - 数据大厅
|
||||
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`)
|
||||
}
|
||||
|
||||
// 财务相关接口
|
||||
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),
|
||||
|
||||
// 用户密钥相关
|
||||
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 })
|
||||
}
|
||||
|
||||
// 认证相关接口
|
||||
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: () => request.get('/white-list'),
|
||||
// 添加白名单IP (需认证)
|
||||
addWhiteListIP: (ipAddress) => request.post('/white-list', { ip_address: ipAddress }),
|
||||
// 删除白名单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
|
||||
}
|
||||
98
src/api/invoice.js
Normal file
98
src/api/invoice.js
Normal file
@@ -0,0 +1,98 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 发票API接口
|
||||
export const invoiceApi = {
|
||||
// 申请开票
|
||||
applyInvoice(data) {
|
||||
return request({
|
||||
url: '/invoices/apply',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
},
|
||||
|
||||
// 获取用户发票信息
|
||||
getUserInvoiceInfo() {
|
||||
return request({
|
||||
url: '/invoices/info',
|
||||
method: 'get'
|
||||
})
|
||||
},
|
||||
|
||||
// 更新用户发票信息
|
||||
updateUserInvoiceInfo(data) {
|
||||
return request({
|
||||
url: '/invoices/info',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
},
|
||||
|
||||
// 获取用户开票记录
|
||||
getUserInvoiceRecords(params) {
|
||||
return request({
|
||||
url: '/invoices/records',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 获取可开票金额
|
||||
getAvailableAmount() {
|
||||
return request({
|
||||
url: '/invoices/available-amount',
|
||||
method: 'get'
|
||||
})
|
||||
},
|
||||
|
||||
// 下载发票文件
|
||||
downloadInvoiceFile(applicationId) {
|
||||
return request({
|
||||
url: `/invoices/${applicationId}/download`,
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// 管理员发票API接口
|
||||
export const adminInvoiceApi = {
|
||||
// 获取待处理的发票申请列表
|
||||
getPendingApplications(params) {
|
||||
return request({
|
||||
url: '/admin/invoices/pending',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
},
|
||||
|
||||
// 通过发票申请(上传发票)
|
||||
approveInvoiceApplication(applicationId, formData) {
|
||||
return request({
|
||||
url: `/admin/invoices/${applicationId}/approve`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 拒绝发票申请
|
||||
rejectInvoiceApplication(applicationId, data) {
|
||||
return request({
|
||||
url: `/admin/invoices/${applicationId}/reject`,
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
},
|
||||
|
||||
// 下载发票文件(管理员)
|
||||
downloadInvoiceFile(applicationId) {
|
||||
return request({
|
||||
url: `/admin/invoices/${applicationId}/download`,
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
}
|
||||
661
src/api/statistics/index.js
Normal file
661
src/api/statistics/index.js
Normal file
@@ -0,0 +1,661 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// ================ 用户端统计接口 ================
|
||||
|
||||
/**
|
||||
* 获取公开统计信息
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getPublicStatistics() {
|
||||
return request({
|
||||
url: '/statistics/public',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户统计信息
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getUserStatistics() {
|
||||
return request({
|
||||
url: '/statistics/user',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// ================ 独立统计接口 ================
|
||||
|
||||
/**
|
||||
* 获取API调用统计
|
||||
* @param {Object} params - 查询参数 {user_id?, start_date, end_date, unit}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getApiCallsStatistics(params) {
|
||||
return request({
|
||||
url: '/statistics/api-calls',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取消费统计
|
||||
* @param {Object} params - 查询参数 {user_id?, start_date, end_date, unit}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getConsumptionStatistics(params) {
|
||||
return request({
|
||||
url: '/statistics/consumption',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取充值统计
|
||||
* @param {Object} params - 查询参数 {user_id?, start_date, end_date, unit}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getRechargeStatistics(params) {
|
||||
return request({
|
||||
url: '/statistics/recharge',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取最新产品推荐
|
||||
* @param {Object} params - 查询参数 {limit?}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getLatestProducts(params = {}) {
|
||||
return request({
|
||||
url: '/statistics/latest-products',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取指标列表
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getMetrics(params) {
|
||||
return request({
|
||||
url: '/statistics/metrics',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个指标
|
||||
* @param {string} id - 指标ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getMetric(id) {
|
||||
return request({
|
||||
url: `/statistics/metrics/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取报告列表
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getReports(params) {
|
||||
return request({
|
||||
url: '/statistics/reports',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个报告
|
||||
* @param {string} id - 报告ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getReport(id) {
|
||||
return request({
|
||||
url: `/statistics/reports/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取仪表板列表
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getDashboards(params) {
|
||||
return request({
|
||||
url: '/statistics/dashboards',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个仪表板
|
||||
* @param {string} id - 仪表板ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getDashboard(id) {
|
||||
return request({
|
||||
url: `/statistics/dashboards/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取仪表板数据
|
||||
* @param {string} id - 仪表板ID
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getDashboardData(id, params) {
|
||||
return request({
|
||||
url: `/statistics/dashboards/${id}/data`,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// ================ 管理员统计接口 ================
|
||||
|
||||
/**
|
||||
* 管理员获取系统统计
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetSystemStatistics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/system',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取单个用户统计
|
||||
* @param {string} userId - 用户ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetUserStatistics(userId) {
|
||||
return request({
|
||||
url: `/admin/statistics/users/${userId}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取API调用统计
|
||||
* @param {Object} params - 查询参数 {start_date, end_date, unit}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetApiCallsStatistics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/api-calls',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取消费统计
|
||||
* @param {Object} params - 查询参数 {start_date, end_date, unit}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetConsumptionStatistics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/consumption',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取充值统计
|
||||
* @param {Object} params - 查询参数 {start_date, end_date, unit}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetRechargeStatistics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/recharge',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// ================ 管理员独立域统计接口 ================
|
||||
|
||||
/**
|
||||
* 管理员获取用户域统计
|
||||
* @param {Object} params - 查询参数 {period, start_date, end_date}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetUserDomainStatistics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/user-domain',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取API域统计
|
||||
* @param {Object} params - 查询参数 {period, start_date, end_date}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetApiDomainStatistics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/api-domain',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取消费域统计
|
||||
* @param {Object} params - 查询参数 {period, start_date, end_date}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetConsumptionDomainStatistics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/consumption-domain',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取充值域统计
|
||||
* @param {Object} params - 查询参数 {period, start_date, end_date}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetRechargeDomainStatistics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/recharge-domain',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员触发数据聚合
|
||||
* @param {Object} data - 聚合参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminTriggerAggregation(data) {
|
||||
return request({
|
||||
url: '/admin/statistics/aggregation/trigger',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员创建指标
|
||||
* @param {Object} data - 指标数据
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminCreateMetric(data) {
|
||||
return request({
|
||||
url: '/admin/statistics/metrics',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员更新指标
|
||||
* @param {string} id - 指标ID
|
||||
* @param {Object} data - 指标数据
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminUpdateMetric(id, data) {
|
||||
return request({
|
||||
url: `/admin/statistics/metrics/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员删除指标
|
||||
* @param {string} id - 指标ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminDeleteMetric(id) {
|
||||
return request({
|
||||
url: `/admin/statistics/metrics/${id}`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取指标列表
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetMetrics(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/metrics',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取单个指标
|
||||
* @param {string} id - 指标ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetMetric(id) {
|
||||
return request({
|
||||
url: `/admin/statistics/metrics/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取报告列表
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetReports(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/reports',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取单个报告
|
||||
* @param {string} id - 报告ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetReport(id) {
|
||||
return request({
|
||||
url: `/admin/statistics/reports/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员删除报告
|
||||
* @param {string} id - 报告ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminDeleteReport(id) {
|
||||
return request({
|
||||
url: `/admin/statistics/reports/${id}`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员创建仪表板
|
||||
* @param {Object} data - 仪表板数据
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminCreateDashboard(data) {
|
||||
return request({
|
||||
url: '/admin/statistics/dashboards',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员更新仪表板
|
||||
* @param {string} id - 仪表板ID
|
||||
* @param {Object} data - 仪表板数据
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminUpdateDashboard(id, data) {
|
||||
return request({
|
||||
url: `/admin/statistics/dashboards/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员删除仪表板
|
||||
* @param {string} id - 仪表板ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminDeleteDashboard(id) {
|
||||
return request({
|
||||
url: `/admin/statistics/dashboards/${id}`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取仪表板列表
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetDashboards(params) {
|
||||
return request({
|
||||
url: '/admin/statistics/dashboards',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取单个仪表板
|
||||
* @param {string} id - 仪表板ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetDashboard(id) {
|
||||
return request({
|
||||
url: `/admin/statistics/dashboards/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员获取仪表板数据
|
||||
* @param {string} id - 仪表板ID
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetDashboardData(id, params) {
|
||||
return request({
|
||||
url: `/admin/statistics/dashboards/${id}/data`,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
// ================ 便捷方法 ================
|
||||
|
||||
/**
|
||||
* 获取API调用统计
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getApiCallStats(params = {}) {
|
||||
return getMetrics({
|
||||
metric_type: 'api_calls',
|
||||
...params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户统计
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getUserStats(params = {}) {
|
||||
return getMetrics({
|
||||
metric_type: 'users',
|
||||
...params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取财务统计
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getFinanceStats(params = {}) {
|
||||
return getMetrics({
|
||||
metric_type: 'finance',
|
||||
...params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取产品统计
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getProductStats(params = {}) {
|
||||
return getMetrics({
|
||||
metric_type: 'products',
|
||||
...params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取认证统计
|
||||
* @param {Object} params - 查询参数
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getCertificationStats(params = {}) {
|
||||
return getMetrics({
|
||||
metric_type: 'certification',
|
||||
...params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取今日仪表板数据
|
||||
* @param {string} dashboardId - 仪表板ID
|
||||
* @param {string} userRole - 用户角色
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getTodayDashboardData(dashboardId, userRole = 'user') {
|
||||
return getDashboardData(dashboardId, {
|
||||
user_role: userRole,
|
||||
period: 'today'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取本周仪表板数据
|
||||
* @param {string} dashboardId - 仪表板ID
|
||||
* @param {string} userRole - 用户角色
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getWeekDashboardData(dashboardId, userRole = 'user') {
|
||||
return getDashboardData(dashboardId, {
|
||||
user_role: userRole,
|
||||
period: 'week'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取本月仪表板数据
|
||||
* @param {string} dashboardId - 仪表板ID
|
||||
* @param {string} userRole - 用户角色
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getMonthDashboardData(dashboardId, userRole = 'user') {
|
||||
return getDashboardData(dashboardId, {
|
||||
user_role: userRole,
|
||||
period: 'month'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取自定义时间范围仪表板数据
|
||||
* @param {string} dashboardId - 仪表板ID
|
||||
* @param {string} userRole - 用户角色
|
||||
* @param {string} startDate - 开始日期
|
||||
* @param {string} endDate - 结束日期
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function getCustomDashboardData(dashboardId, userRole, startDate, endDate) {
|
||||
return getDashboardData(dashboardId, {
|
||||
user_role: userRole,
|
||||
start_date: startDate,
|
||||
end_date: endDate
|
||||
})
|
||||
}
|
||||
|
||||
// ================ 管理员排行榜接口 ================
|
||||
|
||||
/**
|
||||
* 获取用户调用排行榜
|
||||
* @param {Object} params - 查询参数
|
||||
* @param {string} params.type - 排行类型 (calls, consumption)
|
||||
* @param {string} params.period - 时间周期 (today, month, total)
|
||||
* @param {number} params.limit - 返回数量
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetUserCallRanking(params = {}) {
|
||||
return request({
|
||||
url: '/admin/statistics/user-call-ranking',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取充值排行榜
|
||||
* @param {Object} params - 查询参数
|
||||
* @param {string} params.period - 时间周期 (today, month, total)
|
||||
* @param {number} params.limit - 返回数量
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetRechargeRanking(params = {}) {
|
||||
return request({
|
||||
url: '/admin/statistics/recharge-ranking',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取API受欢迎程度排行榜
|
||||
* @param {Object} params - 查询参数
|
||||
* @param {string} params.period - 时间周期 (today, month, total)
|
||||
* @param {number} params.limit - 返回数量
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetApiPopularityRanking(params = {}) {
|
||||
return request({
|
||||
url: '/admin/statistics/api-popularity-ranking',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取今日认证企业列表
|
||||
* @param {Object} params - 查询参数
|
||||
* @param {number} params.limit - 返回数量
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function adminGetTodayCertifiedEnterprises(params = {}) {
|
||||
return request({
|
||||
url: '/admin/statistics/today-certified-enterprises',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user