shanshanzhong147
c46944aae1
新功能( #113 ): 新增促销管理后台页面
PR Check / Lint, Check, Test and Build (push) Has been cancelled
2026-05-29 00:34:37 -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
web
76481755ea
🐛 fix: Added a scroll wheel event handler to improve the scrolling experience of the combo box option list.
2025-12-16 06:52:39 -08:00
web
d22919bf57
🐛 fix: add success message for sorting in subscription table and update device limit terminology to "IP限制" for consistency
2025-12-16 06:40:48 -08:00
web
46cbdeafd4
🐛 fix: update LoadingBar color to primary for better visibility in navigation progress
2025-12-15 06:45:44 -08:00
web
b55961395f
🐛 fix: update color variables for improved theme consistency in globals.css
2025-12-15 06:45:11 -08:00
web
3920c6ff59
🐛 fix: update API prefix handling to ensure compatibility with undefined VITE_API_PREFIX
2025-12-12 09:11:42 -08:00
web@ppanel
ae5e95477c
♻️ refactor: Refactor API endpoints to use dynamic API prefix from environment variables
...
- Updated all service files to replace hardcoded API paths with `${import.meta.env.VITE_API_PREFIX}` for better configurability.
- Ensured consistency across user, common, and gateway services by applying the new API prefix format.
- Removed unnecessary comments and maintained ESLint disable directives where applicable.
2025-12-11 03:58:26 +00:00
web
3cf6a5cfb4
✨ feat: update localization files and improve system version management
...
- Changed output path for i18next configuration in admin and user apps to "public/assets/locales/{{language}}/{{namespace}}.json".
- Added new translation keys in English and Chinese for admin and user updates in tool.json files.
- Refactored SystemVersionCard component to utilize new service version checking and updating logic.
- Introduced basic service version checking and updating functions in the gateway service.
- Added typings for new API endpoints related to service version management.
- Updated Vite configuration to rewrite API paths.
- Added TypeScript error handling in various service files.
2025-12-01 03:00:47 -08:00
web
5f3354e948
♻️ refactor(api): update endpoints to include '/api' prefix and add new types for IP location and withdrawal logs
...
- Updated all user and common service endpoints to include '/api' prefix for consistency.
- Added new API types for querying IP location and withdrawal logs.
- Introduced commission withdrawal functionality in user service.
- Enhanced user service typings to include rules and withdrawal log structures.
2025-11-30 18:20:06 -08:00