94 Commits

Author SHA1 Message Date
5a493fce67 fix: 修复订阅跳转引号问题 + 设备组显示设备类型 + 统一用户名显示
Some checks failed
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
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
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
ef54d2479d chore: 恢复本地定制修改(stash pop) 2026-03-23 22:08:58 -07:00
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
3806264343 merge: 同步 upstream/main 新功能到定制版本
Some checks failed
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
830430645c merge: 同步 origin/main (v1.4.0) 到定制版本
Some checks failed
Build and Release / Build (push) Has been cancelled
2026-03-19 02:56:42 -07:00
6b92979c7c feat: 自定义版本功能更新
Some checks failed
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
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
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
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
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
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
ppanel-web
6e3ef8ab7e fix(user): satisfy biome check for oauth/payment UI 2026-02-08 08:49:17 +00:00
ppanel-web
b32ba55ab8 fix(user): mobile announcement close + payment method selection (Fixes #8) 2026-02-08 08:45:46 +00:00
ppanel-web
fee44fa1b2 fix(auth): support OAuth callbacks with hash router (Fixes #9) 2026-02-08 08:42:16 +00: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
ppanel-web
30a6967187 🧹 fix(payment): satisfy img size lint rule 2026-02-06 07:09:55 +00:00
ppanel-web
160e6da3f6 🐛 fix(payment): use native WeChat Pay QR data 2026-02-06 07:06:16 +00:00
EUForest
902e5fe59a feat: Device short code lookup 2026-01-31 11:58:17 +08:00
web-ppanel
ed3f6cb737 🧹 fix(i18n): remove duplicate locale keys 2026-01-27 18:27:20 +00:00
web-ppanel
052a0a4209 🐛 fix(build): ensure version.lock directory exists + fix merge typo 2026-01-27 18:21:39 +00:00
web-ppanel
830c18c9e4 🔀 merge: main into develop 2026-01-27 18:16:34 +00:00
web-ppanel
6dd743bbf4 🧹 fix(ci): avoid void|Promise union for refetch 2026-01-27 18:11:32 +00:00
web-ppanel
7e1d5746d4 🐛 fix(admin): refresh user list after balance update 2026-01-27 18:08:34 +00:00
web-ppanel
9e0dd4c874 🌐 i18n: add admin subscription UI strings 2026-01-27 18:02:18 +00:00
web-ppanel
7223eb41c6 admin: subscription controls + show original price 2026-01-27 17:57:46 +00:00
EUForest
29f9aaae8c 🐛 fix: Invalid redemption code prompts system error message 2026-01-10 12:45:36 +08:00
EUForest
d38e8f1676 🐛 fix: announcement build error 2026-01-08 17:53:05 +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
93926d9c99 🐛 fix: announcement manager 2026-01-06 23:09:48 +08:00
EUForest
22b24041a7 🔨 update: IP restrictions during development 2026-01-06 22:56:24 +08:00
EUForest
b85013e276 feat: Redemption code 2026-01-06 22:52:43 +08:00
EUForest
ef6044cfef fix bug: The client cannot be downloaded without a schema configured. 2026-01-06 21:08:20 +08:00
EUForest
2b708dbbcc fix bug: Repeatedly opening new tabs on the payment page. 2026-01-06 21:07:56 +08:00
EUForest
980bb2120d fix bug: Internationalized translation of document content 2026-01-06 21:07:29 +08:00
EUForest
2c4518cbab feat: Redemption Code 2026-01-06 21:05:23 +08:00
EUForest
45b9b523b1 feat: Device Bind Limit 2026-01-06 21:03:31 +08:00
EUForest
e3c0dc2569 feat: Device Bind Limit 2026-01-06 21:02:38 +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