feat: 7月迭代
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m21s

This commit is contained in:
luo
2026-07-28 14:00:22 +08:00
parent f0a2b84e53
commit 2706c52a47
63 changed files with 4113 additions and 3945 deletions

View File

@@ -37,6 +37,7 @@ export interface AgentRecharge {
remark?: string // 运营备注
submitter_name?: string | null // 提交人名称
submitter_id?: number | null
approval_source?: 'none' | 'legacy' | 'wecom' | null // 审批来源
approval_provider?: 'wecom' | null
approval_instance_id?: number | null
approval_status?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | null // 企微审批状态

View File

@@ -72,23 +72,46 @@ export type AssetRealnamePolicy = 'none' | 'before_order' | 'after_order'
export type ExpiryEstimateStatus = 'exact' | 'waiting_activation' | 'none' | 'invalid_data'
// 临期等级由后端返回,前端仅用于展示和筛选结果标识
export type ExpiryLevel = string
export type ExpiryLevel = 'red' | 'purple' | 'pink' | string
export type ExpiringAssetType = 'iot_card' | 'device'
export interface ExpiringAssetItem {
asset_type: AssetType
asset_id: number
asset_type: ExpiringAssetType
days_until_final_expiry: number | null
estimated_final_expires_at: string | null
expiry_estimate_status: ExpiryEstimateStatus
expiry_estimate_status_name: string
expiry_level: ExpiryLevel
expiry_level_name: string
identifier: string
shop_name?: string | null
package_name?: string | null
estimated_final_expires_at: string
days_until_final_expiry: number
expiry_level?: ExpiryLevel | null
expiry_level_name?: string | null
can_renew: boolean
is_expiring: boolean
is_priority: boolean
package_id?: number
package_name: string
package_usage_id?: number
shop_id?: number | null
shop_name: string
}
export interface ExpiringAssetSummary {
card_count: number
device_count: number
total_count: number
window_days: number
}
export interface ExpiringAssetListResponse {
items: ExpiringAssetItem[]
page: number
size: number
summary: ExpiringAssetSummary
total: number
}
export interface ExpiringAssetQueryParams {
asset_type?: AssetType
asset_type?: ExpiringAssetType
keyword?: string
shop_id?: number
package_id?: number
@@ -97,7 +120,7 @@ export interface ExpiringAssetQueryParams {
expires_from?: string
expires_to?: string
page?: number
size?: number
page_size?: number
}
// 批量更新资产实名认证策略请求

View File

@@ -18,7 +18,8 @@ export enum BulkPurchaseTaskStatus {
}
export interface BulkPurchaseCreateResponse {
task_id: number
id?: number
task_id?: number
task_no?: string
status?: BulkPurchaseTaskStatus
status_name?: string

View File

@@ -215,9 +215,11 @@ export enum DeviceImportTaskStatus {
}
// 导入任务查询参数
export type DeviceImportTaskOperationType = 'import' | 'assign_shop' | 'assign_series' | 'recall'
export interface DeviceImportTaskQueryParams extends PaginationParams {
status?: DeviceImportTaskStatus // 任务状态
operation_type?: 'import' | 'assign_shop' | 'assign_series'
operation_type?: DeviceImportTaskOperationType
batch_no?: string // 批次号(模糊查询)
start_time?: string // 创建时间起始
end_time?: string // 创建时间结束
@@ -232,13 +234,14 @@ export interface DeviceImportTask {
file_key?: string // 原始导入文件存储键
creator_name?: string // 创建人姓名
status: DeviceImportTaskStatus // 任务状态
status_name?: string // 任务状态名称
status_text: string // 任务状态文本
total_count: number // 总数
success_count: number // 成功数
fail_count: number // 失败数
skip_count: number // 跳过数
error_message: string // 错误信息
operation_type: 'import' | 'assign_shop' | 'assign_series'
operation_type: DeviceImportTaskOperationType
operation_name: string
target_id: number | null
realname_policy: 'none' | 'before_order' | 'after_order'
@@ -273,8 +276,8 @@ export interface DeviceImportTaskDetail extends DeviceImportTask {
export interface DeviceBatchAllocationRequest {
file_key: string
operation_type: 'assign_shop' | 'assign_series'
target_id: number
operation_type: Exclude<DeviceImportTaskOperationType, 'import'>
target_id?: number
}
export interface DeviceBatchAllocationResponse {

View File

@@ -69,7 +69,7 @@ export interface ExportTaskListResponse {
export interface CreateExportTaskRequest {
scene: ExportTaskScene
format: ExportTaskFormat
query?: Record<string, unknown>
query?: Record<string, string>
}
export interface CreateExportTaskResponse {
@@ -85,15 +85,6 @@ export interface ExportTaskDetail extends ExportTaskItem {
download_expires_at?: string
}
export interface CancelExportTaskResponse {
task_id: number
status: ExportTaskStatus
status_name: string
cancel_requested: boolean
message: string
}
export type ExportTaskListApiResponse = BaseResponse<ExportTaskListResponse>
export type CreateExportTaskApiResponse = BaseResponse<CreateExportTaskResponse>
export type ExportTaskDetailApiResponse = BaseResponse<ExportTaskDetail>
export type CancelExportTaskApiResponse = BaseResponse<CancelExportTaskResponse>

View File

@@ -49,6 +49,10 @@ export interface NotificationReadResponse {
success: boolean
}
export interface NotificationReadRequest {
id: number
}
export interface NotificationReadAllRequest {
category?: string
}

View File

@@ -281,8 +281,8 @@ export interface CommissionTier {
* 套餐信息(用于系列授权)
*/
export interface GrantPackageInfo extends PackageAllocationExpiryBaseFields {
allocation_id?: number
package_id: number
allocation_id: number // 套餐分配记录 ID用于修改生效条件
package_name?: string
package_code?: string
cost_price: number // 成本价(分)

View File

@@ -113,6 +113,7 @@ export interface CreateRefundRequest {
requested_refund_amount: number // 申请退款金额(分)
actual_received_amount: number // 实收金额(分)
attachments: RefundAttachment[]
package_usage_id?: number // 关联套餐使用记录 ID
refund_reason?: string
remark?: string
}

View File

@@ -68,6 +68,37 @@ export interface WecomSceneRequest {
status?: 0 | 1
}
export interface WecomTemplateInspectRequest {
template_id: string
}
export interface WecomTemplateControl {
id: string
option_keys?: string[] | null
required: boolean
title: string
type: string
}
export interface WecomTemplateDetail {
controls?: WecomTemplateControl[] | null
name: string
template_id: string
}
export interface WecomBusinessField {
code: string
description: string
name: string
value_type: string
}
export interface WecomBusinessFieldList {
business_type: WecomBusinessType
business_type_name: string
items?: WecomBusinessField[] | null
}
export interface WecomAccountBindingRequest {
application_id: number
userid: string
@@ -85,11 +116,13 @@ export type WecomSceneListResponse = BaseResponse<PaginationData<WecomScene>>
export type WecomApplicationResponse = BaseResponse<WecomApplication>
export type WecomSceneResponse = BaseResponse<WecomScene>
export type WecomSyncMembersApiResponse = BaseResponse<WecomSyncMembersResponse>
export type WecomTemplateDetailResponse = BaseResponse<WecomTemplateDetail>
export type WecomBusinessFieldListResponse = BaseResponse<WecomBusinessFieldList>
export interface WecomMemberQueryParams extends PaginationParams {
keyword?: string
}
export interface WecomApplicationQueryParams extends PaginationParams {}
export type WecomApplicationQueryParams = PaginationParams
export interface WecomSceneQueryParams extends PaginationParams {}
export type WecomSceneQueryParams = PaginationParams