shanshanzhong147
322d60b648
feat(抽奖): 活动删除按钮 + 格子数可选(8/9,默认8)
...
- 活动列表加"删除"(ConfirmButton→DELETE /activities/:id)
- activity-form 格子数选项 [8,9],新建默认 8(原来写死只有 9)
- service: deleteLotteryActivity;i18n 删除文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-17 00:18:02 -07:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ppanel-web
bbea15dea4
Fix unstable node sorting order
2026-03-04 08:16:28 -08:00
EUForest
dc55d85056
fix(admin): handle int64 precision loss in getUserSubscribe API
...
Add transformResponse to convert large integers to strings before JSON parsing
to prevent precision loss for int64 values like user IDs that exceed
JavaScript's MAX_SAFE_INTEGER.
2026-02-14 00:44:28 +08:00
EUForest
b45ec4b56e
Merge remote-tracking branch 'upstream/main'
2026-02-13 23:11:47 +08:00
EUForest
9765a0c742
🐛 fix: TypeScript build errors in redeem-code component
...
- Fix type error for accessing response.data.message with proper type assertion
- Remove invalid 'loading' prop from Button component
- Add conditional text rendering for loading state
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-08 21:52:43 +08:00
EUForest
1f9b7ea1db
✨ feat: add redemption code feature to user dashboard
...
- Add redemption code input component in dashboard
- Integrate redemption API endpoint
- Add i18n support for Chinese and English
- Display redemption section alongside subscriptions
2026-02-06 23:59:31 +08:00
web-ppanel
830c18c9e4
🔀 merge: main into develop
2026-01-27 18:16:34 +00:00
web-ppanel
0ec4f84fa9
🤖 chore(openapi): regenerate services & patch axios requestType typing
2026-01-27 17:52:28 +00:00
EUForest
29f9aaae8c
🐛 fix: Invalid redemption code prompts system error message
2026-01-10 12:45:36 +08:00
EUForest
585874777f
✨ feat: improve redemption feature i18n and error code handling
...
- Complete internationalization for redemption records dialog
- Add i18n for table headers and unit time translations
- Optimize redemption form validation error messages with i18n
- Add 50003 error code handling for coupon plan incompatibility
- Fix TypeScript errors in redemption-related components
- Fix TypeScript errors in user announcement page
2026-01-07 15:38:42 +08:00
EUForest
c548406a0b
🐛 fix: Registration limit
2026-01-06 22:51:09 +08:00
EUForest
8497b1159b
feat: Redemption code
2026-01-06 21:49:46 +08:00
web@ppanel
cbd6e29ded
🐛 fix: Update server and web version update descriptions to remove version prefix for clarity
2025-12-30 08:08:48 +00:00
web@ppanel
fe14002359
🐛 fix: Only update internalValue in MonacoEditor if propValue has changed
2025-12-29 09:49:48 +00:00
web@ppanel
9f95cec876
✨ feat: Added localized support for user subscription and deletion status, and optimized the subscription form and user interface.
2025-12-29 07:02:31 +00:00
web@ppanel
3751f64f73
✨ fix: Replace tag removal icon with a button for better accessibility and event handling
2025-12-29 06:18:56 +00:00
web@ppanel
5f5c33987e
✨ feat: Added the option to restore subscription, and updated the relevant description and confirmation information.
2025-12-29 05:59:30 +00:00
web@ppanel
b27b9287be
✨ feat: Enhance DatePicker component with clear button and improved value handling
2025-12-29 05:42:05 +00:00
web@ppanel
543a7b9eb9
✨ feat: Add original price display option and enhance inventory messages in subscription components
2025-12-29 05:34:01 +00:00