shanshanzhong147
508cfa91ba
feat(抽奖): 后台"抽奖记录"页 — 中奖/发放流水列表
...
- draws-panel(新): ProTable 列出中奖人/奖品/发放状态/发放结果,按 是否中奖/发放状态/用户ID 过滤
- activity-detail: 新增"抽奖记录"Tab
- service+types: getLotteryDrawList + AdminLotteryDraw
- i18n: draw.* zh/en
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-16 23:41:47 -07:00
shanshanzhong147
143773c928
fix(抽奖): 概率按 weight/1000 显示与录入(支持小数%,总权重100000=100%)
...
- prize-grid: 概率预览/合计/卡片改用 weightToPercent(weight/1000),
合计校验对齐 FULL_TOTAL_WEIGHT=100000;修正原来把原始 weight 当 % 显示(如 49901%)
- prize-form: 概率输入按百分比(0-100,step 0.001),提交 ×1000 存 weight,回填 ÷1000
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-16 21:03:18 -07:00
shanshanzhong147
dd837cac7c
feat(抽奖): 开放人工奖(crypto/physical/manual_other) + 领奖工单管理 + REST 对齐
...
- prize-form: 解禁 crypto/physical/manual_other 并加各自 config;权重改为中奖概率(%),
合计校验;vpn_duration 加"无订阅时新建订阅套餐"
- prize-grid: 概率合计=100% 校验告警;卡片渲染真实 config(时长/金额)
- claims-panel(新): 领奖工单列表 + 审核通过/驳回/标记发放
- activity-detail: 新增"领奖工单"Tab
- service: 奖品改/删 id 走 /prizes/:id(对齐后端 REST);新增 claims 5 个接口 + 类型
- i18n: 补齐 zh-CN/en-US lottery 文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-16 20:29:47 -07:00
shanshanzhong147
ea4f6799e9
chore: 更新本地 Claude Code 权限配置
2026-07-09 13:36:08 -07:00
shanshanzhong147
ab327f5118
feat: 后台抽奖活动管理(Stage 1)
...
- 服务层:12 个 /v1/admin/lottery 接口封装与 API 类型定义
- 活动列表:状态筛选、上架/暂停(带确认)、编辑、管理、发次数
- 奖品管理:3×3 九宫格可视化编辑、概率预览、保底奖警告、佣金元↔分转换、无限库存
- 规则设置:chance_sources 动态编辑,eligibility 简单/高级(JSON)双模式,本地 rulecaps 校验(深度≤8/节点≤64/≤8KB),Stage 1 未接线警示
- 手动发次数:自动生成幂等 source_ref
- 路由 /dashboard/lottery、Commerce 菜单项、en-US/zh-CN 双语文案
- 对接文档见 vpn/aaaa.txt(Stage 1)
2026-07-09 13:35:35 -07:00
shanshanzhong147
dfe1bafd1c
feat: 用户订阅流量限速规则编辑器与列表信息增强
...
- 订阅表单新增卡片式流量限速规则编辑器(TrafficLimitRuleEditor),替换 ArrayInput
- 用户列表与订阅详情展示会员状态(member_status)、最近登录时间(last_login_time)
- ProTable 支持列级 meta.className 自定义样式
- 仪表盘统计与促销规则表单配套调整,用户文案双语同步
2026-07-09 13:34:03 -07:00
shanshanzhong147
511ce4ff65
Merge branch 'internal' into main
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
2026-06-23 08:49:48 -07:00
shanshanzhong147
64fe23f877
fix: show user subscription speed override
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
2026-06-11 02:39:16 -07:00
shanshanzhong147
09c5216f60
修复( #14 ): 调整 USDT 提现方式枚举口径
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
2026-06-09 06:37:15 -07:00
shanshanzhong147
4d84095af2
修复( #14 ): 支持 USDT 提现方式展示
2026-06-09 06:37:14 -07:00
shanshanzhong147
d66b664198
修复( #122 ): 补齐促销价档位提交
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
2026-05-29 02:36:30 -07:00
shanshanzhong147
a7d89acc7f
新功能( #113 ): 发布促销管理后台页面到main
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
2026-05-29 00:40:33 -07:00
shanshanzhong147
2a3d5a3234
修复( #117 ): 补齐用户订阅限速配置 UI
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
2026-05-29 00:31:56 -07:00
shanshanzhong147
100b641552
修复( #97 ): 区分邀请管理加载失败状态
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
2026-05-27 20:24:22 -07:00
shanshanzhong147
aeca20ad1e
新功能( #93 ): 新增管理后台邀请管理页面
...
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
新增 /dashboard/invite-management 页面,调用 GET /v1/admin/invite/list 接口展示全局邀请关系列表。
包含邀请人/被邀请人信息、状态、佣金、赠送天数等列,支持关键词和 ID 筛选、分页。
附带修复提现页收款码图片缺少 width/height 的 lint 问题。
2026-05-27 11:11:15 -07:00
shanshanzhong147
d1697bed75
新功能( #43 ): 提现前端优化 — 收款方式选择 + 收款码上传 + 取消按钮
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
2026-05-26 08:37:03 -07:00
shanshanzhong147
14d4c5f36f
配置( #54 ): 前端 PR 质量门禁与 auto-merge 安全加固
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Build and Release / Build (push) Has been cancelled
2026-05-25 22:08:48 -07:00
shanshanzhong147
37ceb5adfc
修复( #55 ): 修复前端 lint/build 失败阻塞质量门禁
Build and Release / Build (push) Has been cancelled
2026-05-25 22:03:36 -07:00
shanshanzhong147
71aaa08230
fix(#HIF-37): 修复备注表单提交时未携带完整用户数据
...
Build and Release / Build (push) Has been cancelled
备注保存前获取完整用户详情构造请求体,TC03 清空备注场景不再丢失其他字段。
拆出 RemarkForm 组件,增加保存中禁用态和失败错误提示。
2026-05-25 21:36:44 -07:00
shanshanzhong147
cad75b92bc
fix: 备注表单提交时携带完整用户数据
...
Build and Release / Build (push) Has been cancelled
RemarkForm 的 onSave 回调之前只传 user_id 和 remark,
导致后端用零值覆盖邀请人、余额、佣金等字段。
参考 enable 开关的模式,排除不兼容字段后展开 ...rest,
保证 updateUserBasicInfo 收到完整的用户数据。
Co-authored-by: multica-agent <github@multica.ai >
2026-05-25 20:04:57 -07:00
shanshanzhong147
11c3ce26a6
feat: add withdrawal management pages
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
2026-05-25 02:20:38 -07:00
shanshanzhong147
65641838f9
feat: add admin order refund action
Build and Release / Build (push) Has been cancelled
2026-05-24 20:41:53 -07:00
shanshanzhong147
d8b65c6d82
feat: 新增提现申请与提现管理页面
Build and Release / Build (push) Has been cancelled
2026-05-24 20:25:12 -07:00
shanshanzhong147
55c78276fb
chore: 调整 dashboard 续费英文文案
Build and Release / Build (push) Has been cancelled
2026-05-24 17:48:52 -07:00
sepakeloudest
ce6ab4f05b
增加工单关闭按钮
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
Issue Check Inactive / issue-check-inactive (push) Has been cancelled
2026-05-10 12:58:03 +03:00
sepakeloudest
750cab5cc9
增加备注功能
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
2026-05-09 06:11:07 +03:00
sepakeloudest
3e2873fb90
取消工单功能
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
2026-05-08 14:26:46 +03:00
sepakeloudest
644b20ebef
工单组件
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
2026-05-01 17:09:24 +03:00
shanshanzhong147
7400137b3c
feat: 节点/服务器批量编辑 Sheet、Server 表单协议合并修复、设备类型解析
...
Build and Release / Build (push) Has been cancelled
- 新增 NodeBatchSheet 与 ServerBatchSheet,支持批量选中后一键编辑公共字段
- Server 表单:引入 mergeProtocol / buildSanitizedProtocols,过滤空字符串避免 Zod 枚举校验失败;renderGroupCard 改为具名导出供批量 Sheet 复用;优化嵌套错误提示递归取第一条
- 新增 parseDeviceType 工具函数,从 User-Agent 解析设备平台(iPhone/Android/Mac 等)
- 用户列表:登录标识旁展示设备平台 Badge
- 注册安全设置表单:引入 Textarea 组件并完善字段布局
- 类型定义补充及 i18n 本地化更新
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 05:17:01 -07:00
shanshanzhong147
de87133061
feat: 用户订阅列表显示节点分组名,限速详情显示起止时间
...
- UserSubscribe 类型新增 node_group_id/node_group_name 字段
- UserSubscribeDetail 类型新增 throttle_start/throttle_end/node_group_id/node_group_name 字段
- 订阅列表表格新增「节点分组」列
- 限速卡片新增限速窗口起止时间显示
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-03-29 10:36:11 -07:00
shanshanzhong147
dd30b8eb8b
fix: notify-settings-form 补充 enable_trade_notify 字段修复类型错误
...
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-03-28 08:36:59 -07:00
shanshanzhong147
e6c2370d02
feat: 限速状态可视化 - 订阅详情 Sheet 顶部展示实时限速状态
...
- typings.d.ts 新增 UserSubscribeDetail.effective_speed/is_throttled/throttle_rule 字段
- SubscriptionDetail Sheet 打开时拉取订阅详情,顶部展示 SpeedLimitCard
- 被降速时显示警告样式 + 实际速率 + 划掉原始速率 + 触发规则说明
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-03-28 08:32:05 -07:00
shanshanzhong147
785c832e02
fix: 限速输入统一为 Mbps,去掉 mbToBits 转换
...
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
Issue Check Inactive / issue-check-inactive (push) Has been cancelled
- 订阅表单 speed_limit 去掉 bitsToMb/mbToBits 转换,直接存 Mbps
- traffic_limit speed_limit 标签从 KB 改为 Mbps
- 节点组 speed_limit 标签从 KB/s 改为 Mbps
- Display trafficSpeed 类型直接显示 {value} Mbps
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-03-27 02:47:40 -07:00
shanshanzhong147
5a493fce67
fix: 修复订阅跳转引号问题 + 设备组显示设备类型 + 统一用户名显示
...
Build and Release / Build (push) Has been cancelled
- 去掉所有 Link search 中的 String() 包装(7处),修复 URL 引号问题
- View Owner 改用 useNavigate 强制导航,解决同页面跳转不生效
- 设备组详情成员列表添加 auth_type Badge 和 device_type Badge
- 设备组列表 owner 列统一为 [AUTH_TYPE Badge] + identifier 格式
- UserDetail 组件统一设备标识逻辑,去掉 shortenDeviceIdentifier
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-03-26 21:36:12 -07:00
shanshanzhong147
5019f76a73
fix: 修复用户管理搜索栏被 ProTable params 覆盖问题
...
ProTable 的渲染逻辑是:有 params 就渲染内置 ColumnFilter,
否则才渲染 header.title。导致自定义 UserSearchBar 不显示。
- 删除 params 配置
- 新增 buildSearchParams() 将 searchRef 的 type/value 转换为 API 参数
- request 直接调用 buildSearchParams() 而非依赖 filter
2026-03-24 01:34:14 -07:00
shanshanzhong147
8d0ddbb5ef
fix: 修复合并后 TypeScript 编译错误
...
- 补充 RefObject import(local-captcha、slider-captcha、node-group-form)
- 删除 slider-captcha 中无用的 _scaleX/_scaleY 变量
- user_subscribe_id 类型转换 number → string
- 移除 services 文件中失效的 @ts-expect-error 指令
2026-03-24 01:23:36 -07:00
shanshanzhong147
ef54d2479d
chore: 恢复本地定制修改(stash pop)
2026-03-23 22:08:58 -07:00
shanshanzhong147
d6616c5859
merge: 同步 upstream/main 新功能到定制版本
...
- feat: Add slider verification code (bd67997)
- fix bug: Inventory cannot be zero (1f7a6ee)
- fix: resolve merge conflicts and lint errors
2026-03-23 21:50:10 -07:00
shanshanzhong147
3806264343
merge: 同步 upstream/main 新功能到定制版本
...
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
- 分流规则 + 用户流量统计
- 验证码功能
- 节点分组管理 UI
- 重构用户分组组件
2026-03-19 03:16:59 -07:00
shanshanzhong147
830430645c
merge: 同步 origin/main (v1.4.0) 到定制版本
Build and Release / Build (push) Has been cancelled
2026-03-19 02:56:42 -07:00
shanshanzhong147
6b92979c7c
feat: 自定义版本功能更新
...
Build and Release / Build (push) Has been cancelled
- 新增家庭共享订阅管理
- 新增用户邀请统计
- 新增签名和订阅模式设置表单
- 更新 API 服务层和国际化文件
- UI 组件优化(enhanced-input、pro-table)
2026-03-19 01:56:13 -07:00
EUForest
f8fbf5529f
✨ feat: add traffic limit rules and user traffic statistics
2026-03-14 17:59:27 +08:00
EUForest
eac7b27f60
✨ feat: Authentication verification code
2026-03-10 19:03:39 +08:00
shanshanzhong147
31803a1d24
feat: 后台订单列表新增手动激活按钮
...
- API 层新增 activateOrder 方法 (POST /v1/admin/order/activate)
- pending(1) 和 cancelled(3) 状态的订单显示 Activate 按钮
- 点击后调用后端手动激活接口,强制发放订阅权益
2026-03-09 04:08:23 -07:00
EUForest
4b4edd48e3
refactor(group): remove deprecated user group components
...
Remove unused user group management components as user groups have been deprecated in favor of node groups only.
2026-03-08 23:42:39 +08:00
EUForest
ae31019477
feat(group): add node group management UI
...
Add node group management interface with automatic user assignment and traffic-based grouping.
Features:
- Node group CRUD with traffic range configuration
- Three grouping modes: average, subscription-based, and traffic-based
- Group recalculation with preview and history tracking
- Subscribe-to-group mapping management
- User subscription group locking
- Group calculation history with detailed reports
- Multi-language support (en-US, zh-CN)
- Enhanced node and subscription forms with group selection
2026-03-08 23:39:30 +08:00
web@ppanel
778e78ac68
fix(user): show expire time & improve renewal dialog on mobile ( #22 )
...
* 🐛 fix(admin): prioritize follow-up tickets by updated time
* ✨ feat(dashboard): show node/user traffic ranks side-by-side
* 🐛 fix(user): show expire time & improve renewal dialog on mobile
2026-03-04 08:16:33 -08:00
semantic-release-bot
8317e93d6b
🚀 chore(release): Release 1.3.12 / 发布版本 1.3.12 [skip ci]
...
## [1.3.12](https://github.com/perfect-panel/frontend/compare/v1.3.11...v1.3.12 ) (2026-02-26)
### 🐛 Bug Fixes / 问题修复
* **admin:** prioritize follow-up tickets ([#18 ](https://github.com/perfect-panel/frontend/issues/18 )) ([a07d1ca](https://github.com/perfect-panel/frontend/commit/a07d1ca48e6471077f2ec86e55e967c7d1aa8acd ))
2026-03-04 08:16:32 -08:00
web@ppanel
116f6e5360
fix(admin): prioritize follow-up tickets ( #18 )
...
* 🐛 fix(admin): prioritize follow-up tickets by updated time
* ✨ feat(dashboard): show node/user traffic ranks side-by-side
2026-03-04 08:16:31 -08:00
semantic-release-bot
370d59d5ad
🚀 chore(release): Release 1.3.11 / 发布版本 1.3.11 [skip ci]
...
## [1.3.11](https://github.com/perfect-panel/frontend/compare/v1.3.10...v1.3.11 ) (2026-02-21)
### 🐛 Bug Fixes / 问题修复
* **admin:** stabilize node sorting with duplicate sort values ([15fc37d](https://github.com/perfect-panel/frontend/commit/15fc37db9eae389644c287763b09c88eed9e2f75 ))
2026-03-04 08:16:30 -08:00