shanshanzhong147
9172107ea9
修复( #120 ): 补齐用户订阅限速配置前端实现
2026-05-28 22:00:53 -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
ppanel-web
08702fb643
fix(admin): stabilize node sorting with duplicate sort values
2026-03-04 08:16:29 -08:00
ppanel-web
bbea15dea4
Fix unstable node sorting order
2026-03-04 08:16:28 -08:00
ppanel-web
98da7b1476
🐛 fix node sort persistence on drag reorder
2026-03-04 08:16:26 -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
a2689b4892
fix: remove pinned and popup parameters when querying all announcements
2026-02-13 23:09:23 +08:00
semantic-release-bot
f486c62475
🚀 chore(release): Release 1.3.10 / 发布版本 1.3.10 [skip ci]
...
## [1.3.10](https://github.com/perfect-panel/frontend/compare/v1.3.9...v1.3.10 ) (2026-02-10)
### 🐛 Bug Fixes / 问题修复
* **admin:** persist reset-password Turnstile verify setting (Fixes [#10 ](https://github.com/perfect-panel/frontend/issues/10 )) ([8831c9b ](https://github.com/perfect-panel/frontend/commit/8831c9be9c847f9873634112ce614576325d6d3a ))
2026-02-10 00:58:43 +00:00
ppanel-web
8831c9be9c
fix(admin): persist reset-password Turnstile verify setting ( Fixes #10 )
2026-02-10 00:57:42 +00:00
EUForest
4c753adaa6
fix: show redemption code entry for all users regardless of subscription status
2026-02-09 00:21:22 +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
0a57896d87
Merge branch 'main' of https://github.com/OmnTeam/ppanel-frontend
2026-02-08 21:43:36 +08:00
semantic-release-bot
860200c059
🚀 chore(release): Release 1.3.9 / 发布版本 1.3.9 [skip ci]
...
## [1.3.9](https://github.com/perfect-panel/frontend/compare/v1.3.8...v1.3.9 ) (2026-02-08)
### 🐛 Bug Fixes / 问题修复
* **auth:** support OAuth callbacks with hash router (Fixes [#9 ](https://github.com/perfect-panel/frontend/issues/9 )) ([fee44fa ](https://github.com/perfect-panel/frontend/commit/fee44fa1b22bfc6077a758d2cf82cc32840dadd5 ))
* **user:** mobile announcement close + payment method selection (Fixes [#8 ](https://github.com/perfect-panel/frontend/issues/8 )) ([b32ba55 ](https://github.com/perfect-panel/frontend/commit/b32ba55ab8b0af3557a282ff02563d04335106f0 ))
* **user:** satisfy biome check for oauth/payment UI ([6e3ef8a ](https://github.com/perfect-panel/frontend/commit/6e3ef8ab7ed5903d50ec43ba60544fd88d779c3e ))
2026-02-08 08:50:27 +00:00