Commit Graph

55 Commits

Author SHA1 Message Date
shanshanzhong147 1834b97fe2 修复(#134): 促销前端展示对齐 (expires_at / billing 补 promo_discount / 类型补字段)
PR Check / Lint, Check, Test and Build (push) Has been cancelled
Squash merge of fix/134-促销前端展示对齐 (4702dee).

HIF-79/HIF-113 落地后前端有三处对齐缺失:

- promo-info.tsx 仍读 promo.end_time,但后端 SubscribeDiscountPromo
  JSON 字段是 expires_at(×2 处)
- billing.tsx 缺 Promo Discount 行,PreOrderResponse 拿到 promo_discount
  时无处可渲染
- typings.d.ts: SubscribeDiscountPromo 缺 expires_at/rule_type,
  PreOrderResponse 缺 promo_discount

本次仅修字段对齐与展示行,不动业务逻辑、不动 OrderDetail 类型 (后端
当前未透出 promo_discount)。新增 billing.promoDiscount 中英文文案。
2026-06-02 20:27:54 -07:00
shanshanzhong147 23f51a1ef4 修复(#122): 合并促销价档位提交到测试环境
PR Check / Lint, Check, Test and Build (push) Has been cancelled
2026-05-29 04:15:40 -07:00
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