From 6dc807dfc347405c3a1805550fb6d9cadb43202a Mon Sep 17 00:00:00 2001 From: danial Date: Sun, 23 Nov 2025 01:34:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(camel-oil):=20=E6=9B=B4=E6=96=B0=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E7=9B=B8=E5=85=B3API=E6=A8=A1=E5=9E=8B=E5=92=8C?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 从账号历史记录模型中移除historyUuid字段 - 在创建令牌请求模型中新增phone字段用于绑定手机号 - 在令牌信息模型中新增phone字段 - 移除账号详情页面中的账号ID显示和统计信息卡片 - 更新账号历史记录组件的筛选条件和展示字段 - 修改账号列表中的状态选项和显示逻辑 - 移除账号关联订单统计弹窗及相关功能 - 更新订单历史记录模型枚举值,新增FillCard类型 - 调整.clau ``` --- .claude/settings.local.json | 4 +- .../KamiApiCamelOilV1AccountHistoryItem.md | 2 - .../docs/KamiApiCamelOilV1CreateTokenReq.md | 12 +- .../docs/KamiApiCamelOilV1OrderHistoryItem.md | 2 - .../docs/KamiApiCamelOilV1TokenInfo.md | 2 + ...i-api-camel-oil-v1-account-history-item.ts | 4 - .../kami-api-camel-oil-v1-create-token-req.ts | 4 + ...ami-api-camel-oil-v1-order-history-item.ts | 5 +- .../kami-api-camel-oil-v1-token-info.ts | 4 + .../account/components/account-orders.vue | 257 ------------------ .../account/components/detail.vue | 95 +------ .../account/components/history.vue | 236 ++++++++++------ .../account/components/order-detail-modal.vue | 135 --------- src/views/camel-oil-info/account/index.vue | 141 ++++------ .../order/components/order-detail-modal.vue | 126 +++------ src/views/camel-oil-info/order/index.vue | 107 +++++--- .../token/components/add-edit-modal.vue | 30 ++ .../components/binding-records-modal.vue | 18 ++ src/views/camel-oil-info/token/index.vue | 40 ++- 19 files changed, 421 insertions(+), 803 deletions(-) delete mode 100644 src/views/camel-oil-info/account/components/account-orders.vue delete mode 100644 src/views/camel-oil-info/account/components/order-detail-modal.vue diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 5e67c27..040ebaf 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -9,7 +9,9 @@ "Bash(pnpm lint:*)", "Bash(pnpm prettier:fix)", "Bash(pnpm eslint:*)", - "Bash(mkdir:*)" + "Bash(mkdir:*)", + "Bash(pnpm build)", + "Bash(pnpm eslint:fix)" ], "deny": [], "ask": [] diff --git a/src/api/generated/docs/KamiApiCamelOilV1AccountHistoryItem.md b/src/api/generated/docs/KamiApiCamelOilV1AccountHistoryItem.md index 76651bc..76d2292 100644 --- a/src/api/generated/docs/KamiApiCamelOilV1AccountHistoryItem.md +++ b/src/api/generated/docs/KamiApiCamelOilV1AccountHistoryItem.md @@ -4,7 +4,6 @@ | Name | Type | Description | Notes | | ---------------- | ---------- | ------------ | --------------------------------- | -| **historyUuid** | **string** | 历史记录UUID | [optional] [default to undefined] | | **accountId** | **number** | 账号ID | [optional] [default to undefined] | | **changeType** | **string** | 变更类型 | [optional] [default to undefined] | | **changeText** | **string** | 变更类型文本 | [optional] [default to undefined] | @@ -20,7 +19,6 @@ import { KamiApiCamelOilV1AccountHistoryItem } from './api'; const instance: KamiApiCamelOilV1AccountHistoryItem = { - historyUuid, accountId, changeType, changeText, diff --git a/src/api/generated/docs/KamiApiCamelOilV1CreateTokenReq.md b/src/api/generated/docs/KamiApiCamelOilV1CreateTokenReq.md index f7d4543..6bad826 100644 --- a/src/api/generated/docs/KamiApiCamelOilV1CreateTokenReq.md +++ b/src/api/generated/docs/KamiApiCamelOilV1CreateTokenReq.md @@ -2,11 +2,12 @@ ## Properties -| Name | Type | Description | Notes | -| -------------- | ---------- | ----------- | --------------------------------- | -| **tokenName** | **string** | Token名称 | [default to undefined] | -| **tokenValue** | **string** | Token值 | [default to undefined] | -| **remark** | **string** | 备注 | [optional] [default to undefined] | +| Name | Type | Description | Notes | +| -------------- | ---------- | ------------ | --------------------------------- | +| **tokenName** | **string** | Token名称 | [default to undefined] | +| **tokenValue** | **string** | Token值 | [default to undefined] | +| **phone** | **string** | 绑定的手机号 | [optional] [default to undefined] | +| **remark** | **string** | 备注 | [optional] [default to undefined] | ## Example @@ -16,6 +17,7 @@ import { KamiApiCamelOilV1CreateTokenReq } from './api'; const instance: KamiApiCamelOilV1CreateTokenReq = { tokenName, tokenValue, + phone, remark }; ``` diff --git a/src/api/generated/docs/KamiApiCamelOilV1OrderHistoryItem.md b/src/api/generated/docs/KamiApiCamelOilV1OrderHistoryItem.md index 3c07194..209da7a 100644 --- a/src/api/generated/docs/KamiApiCamelOilV1OrderHistoryItem.md +++ b/src/api/generated/docs/KamiApiCamelOilV1OrderHistoryItem.md @@ -4,7 +4,6 @@ | Name | Type | Description | Notes | | --------------- | ---------- | ------------ | --------------------------------- | -| **historyUuid** | **string** | 历史记录UUID | [optional] [default to undefined] | | **orderNo** | **string** | 订单号 | [optional] [default to undefined] | | **changeType** | **string** | 变更类型 | [optional] [default to undefined] | | **changeText** | **string** | 变更类型文本 | [optional] [default to undefined] | @@ -20,7 +19,6 @@ import { KamiApiCamelOilV1OrderHistoryItem } from './api'; const instance: KamiApiCamelOilV1OrderHistoryItem = { - historyUuid, orderNo, changeType, changeText, diff --git a/src/api/generated/docs/KamiApiCamelOilV1TokenInfo.md b/src/api/generated/docs/KamiApiCamelOilV1TokenInfo.md index 0fa124e..4eff154 100644 --- a/src/api/generated/docs/KamiApiCamelOilV1TokenInfo.md +++ b/src/api/generated/docs/KamiApiCamelOilV1TokenInfo.md @@ -7,6 +7,7 @@ | **id** | **number** | Token ID | [optional] [default to undefined] | | **tokenName** | **string** | Token名称 | [optional] [default to undefined] | | **tokenValue** | **string** | Token值 | [optional] [default to undefined] | +| **phone** | **string** | 绑定的手机号 | [optional] [default to undefined] | | **status** | **number** | 状态 | [optional] [default to undefined] | | **bindCount** | **number** | 已绑定卡密数量 | [optional] [default to undefined] | | **totalBindAmount** | **object** | | [optional] [default to undefined] | @@ -25,6 +26,7 @@ const instance: KamiApiCamelOilV1TokenInfo = { id, tokenName, tokenValue, + phone, status, bindCount, totalBindAmount, diff --git a/src/api/generated/models/kami-api-camel-oil-v1-account-history-item.ts b/src/api/generated/models/kami-api-camel-oil-v1-account-history-item.ts index 7b1d4a2..aafc1ac 100644 --- a/src/api/generated/models/kami-api-camel-oil-v1-account-history-item.ts +++ b/src/api/generated/models/kami-api-camel-oil-v1-account-history-item.ts @@ -13,10 +13,6 @@ */ export interface KamiApiCamelOilV1AccountHistoryItem { - /** - * 历史记录UUID - */ - historyUuid?: string; /** * 账号ID */ diff --git a/src/api/generated/models/kami-api-camel-oil-v1-create-token-req.ts b/src/api/generated/models/kami-api-camel-oil-v1-create-token-req.ts index 57208ad..9260db0 100644 --- a/src/api/generated/models/kami-api-camel-oil-v1-create-token-req.ts +++ b/src/api/generated/models/kami-api-camel-oil-v1-create-token-req.ts @@ -21,6 +21,10 @@ export interface KamiApiCamelOilV1CreateTokenReq { * Token值 */ tokenValue: string; + /** + * 绑定的手机号 + */ + phone?: string; /** * 备注 */ diff --git a/src/api/generated/models/kami-api-camel-oil-v1-order-history-item.ts b/src/api/generated/models/kami-api-camel-oil-v1-order-history-item.ts index 8df020c..594988b 100644 --- a/src/api/generated/models/kami-api-camel-oil-v1-order-history-item.ts +++ b/src/api/generated/models/kami-api-camel-oil-v1-order-history-item.ts @@ -13,10 +13,6 @@ */ export interface KamiApiCamelOilV1OrderHistoryItem { - /** - * 历史记录UUID - */ - historyUuid?: string; /** * 订单号 */ @@ -57,6 +53,7 @@ export enum KamiApiCamelOilV1OrderHistoryItemChangeTypeEnum { CheckPay = 'check_pay', Create = 'create', Fail = 'fail', + FillCard = 'fill_card', GetPayUrl = 'get_pay_url', Paid = 'paid', Submit = 'submit', diff --git a/src/api/generated/models/kami-api-camel-oil-v1-token-info.ts b/src/api/generated/models/kami-api-camel-oil-v1-token-info.ts index 0e29138..4fb2aad 100644 --- a/src/api/generated/models/kami-api-camel-oil-v1-token-info.ts +++ b/src/api/generated/models/kami-api-camel-oil-v1-token-info.ts @@ -25,6 +25,10 @@ export interface KamiApiCamelOilV1TokenInfo { * Token值 */ tokenValue?: string; + /** + * 绑定的手机号 + */ + phone?: string; /** * 状态 */ diff --git a/src/views/camel-oil-info/account/components/account-orders.vue b/src/views/camel-oil-info/account/components/account-orders.vue deleted file mode 100644 index 1368990..0000000 --- a/src/views/camel-oil-info/account/components/account-orders.vue +++ /dev/null @@ -1,257 +0,0 @@ - - - - - diff --git a/src/views/camel-oil-info/account/components/detail.vue b/src/views/camel-oil-info/account/components/detail.vue index 6ac9ec3..f2ff42b 100644 --- a/src/views/camel-oil-info/account/components/detail.vue +++ b/src/views/camel-oil-info/account/components/detail.vue @@ -10,9 +10,6 @@ - - {{ accountDetail.accountId }} - {{ accountDetail.accountName }} @@ -35,33 +32,6 @@ - - - - - - - - - - - - - - - @@ -98,13 +68,6 @@ const loading = ref(false); const accountDetail = ref(null); -// 统计数据 -const statistics = ref({ - todayAmount: '0', - todayCount: '0', - monthAmount: '0' -}); - // 计算属性 const modalVisible = computed({ get: () => props.visible, @@ -112,26 +75,19 @@ const modalVisible = computed({ }); /** - * 获取账号详情和统计信息 + * 获取账号详情 */ const fetchAccountDetail = async () => { if (!props.accountId) return; loading.value = true; try { - // 获取账号统计信息 + // 获取账号详情信息 const { data } = await jdV2AccountClient.apiJdV2AccountStatisticsGet({ accountId: parseInt(props.accountId) }); accountDetail.value = data.accountInfo; - - // 暂时使用默认统计信息,等待API完善 - statistics.value = { - todayAmount: '0', - todayCount: '0', - monthAmount: '0' - }; } catch (error) { console.error('获取账号详情失败:', error); accountDetail.value = null; @@ -148,20 +104,20 @@ const fetchAccountDetail = async () => { const statusMapper = ( status: number | undefined ): { text: string; color: string } => { - if (!status) return { text: '未知', color: 'gray' }; + if (!status) return { text: '未知状态', color: 'gray' }; switch (status) { case 0: - return { text: '失效', color: 'red' }; + return { text: '待登录', color: 'orange' }; // 需要登录验证 case 1: - return { text: '正常', color: 'green' }; + return { text: '发送验证码', color: 'blue' }; // 正在发送验证码 case 2: - return { text: '充值过快', color: 'orange' }; + return { text: '在线', color: 'green' }; // 账户在线,可用 case 3: - return { text: '账号受限', color: 'red' }; + return { text: '已暂停', color: 'orange' }; // 账户被暂停使用 case 4: - return { text: '异常', color: 'gray' }; + return { text: '已失效', color: 'red' }; // 账户已失效 default: - return { text: '未知', color: 'gray' }; + return { text: '未知状态', color: 'gray' }; } }; @@ -200,39 +156,8 @@ watch( margin-bottom: 0; } -.balance-text { - color: #00b42a; - font-weight: 600; - font-size: 16px; -} - -.recharge-text { - color: #165dff; - font-weight: 600; - font-size: 16px; -} - :deep(.arco-descriptions-item-label) { font-weight: 600; - background-color: #f7f8fa; -} - -:deep(.arco-statistic) { - text-align: center; - padding: 16px; - border-radius: 6px; - background-color: #f7f8fa; -} - -:deep(.arco-statistic-title) { - color: #86909c; - font-size: 14px; - margin-bottom: 8px; -} - -:deep(.arco-statistic-value) { - color: #1d2129; - font-size: 24px; - font-weight: 600; + background-color: var(--color-fill-2); } diff --git a/src/views/camel-oil-info/account/components/history.vue b/src/views/camel-oil-info/account/components/history.vue index 31f4b9f..e53d5ee 100644 --- a/src/views/camel-oil-info/account/components/history.vue +++ b/src/views/camel-oil-info/account/components/history.vue @@ -27,18 +27,26 @@ - + - 创建 - 更新 - 删除 - 充值 - 消费 + 创建账号 + 登录成功 + 检测到掉线 + 登录失败 + 订单数达到10,暂停使用 + 次日重置,恢复使用 + + 单日下单不足10个,账号失效 + + 绑定订单 + 订单完成 + 更新账号信息 + 删除账号 @@ -79,31 +87,39 @@ @page-change="onPageChange" @page-size-change="onPageSizeChange" > -