Commit Graph

81 Commits

Author SHA1 Message Date
Apple\Apple
44688fe6cc 🚀 feat(Channels): Enhance Channel Filtering & Performance
feat(api):
• Add optional `type` query param to `/api/channel` endpoint for type-specific pagination
• Return `type_counts` map with counts for each channel type
• Implement `GetChannelsByType`, `CountChannelsByType`, `CountChannelsGroupByType` in `model/channel.go`

feat(frontend):
• Introduce type Tabs in `ChannelsTable` to switch between channel types
• Tabs show dynamic counts using backend `type_counts`; “All” is computed from sum
• Persist active type, reload data on tab change (with proper query params)

perf(frontend):
• Use a request counter (`useRef`) to discard stale responses when tabs switch quickly
• Move all `useMemo` hooks to top level to satisfy React Hook rules
• Remove redundant local type counting fallback when backend data present

ui:
• Remove icons from response-time tags for cleaner look
• Use Semi-UI native arrow controls for Tabs; custom arrow code deleted

chore:
• Minor refactor & comments for clarity
• Ensure ESLint Hook rules pass

Result: Channel list now supports fast, accurate type filtering with correct counts, improved concurrency safety, and cleaner UI.
2025-06-18 02:33:18 +08:00
CaIon
a9ec62eea8 🐛 fix(ability, channel): standardize boolean value handling across database queries 2025-06-14 18:15:45 +08:00
CaIon
4371717c78 fix: Resolving conflicts caused by mixing multiple databases 2025-06-14 17:51:05 +08:00
Apple\Apple
a50601295e 🚀 feat(pagination): unify backend-driven pagination & improve channel tag aggregation
SUMMARY
• Migrated Token, Task, Midjourney, Channel, Redemption tables to true server-side pagination.
• Added total / page / page_size metadata in API responses; switched all affected React tables to consume new structure.
• Implemented counting helpers:
  – model/token.go CountUserTokens
  – model/task.go TaskCountAllTasks / TaskCountAllUserTask
  – model/midjourney.go CountAllTasks / CountAllUserTask
  – model/channel.go CountAllChannels / CountAllTags
• Refactored controllers (token, task, midjourney, channel) for 1-based paging & aggregated returns.
• Redesigned `ChannelsTable.js`:
  – `loadChannels`, `syncPageData`, `enrichChannels` for tag-mode grouping without recursion.
  – Fixed runtime white-screen (maximum call-stack) by removing child duplication.
  – Pagination, search, tag-mode, idSort all hot-reload correctly.
• Removed unused `log` import in controller/midjourney.go.

BREAKING CHANGES
Front-end consumers must now expect data.items / total / page / page_size from list endpoints (`/api/channel`, `/api/task`, `/api/mj`, `/api/token`, etc.).
2025-06-12 17:25:25 +08:00
CaIon
adb2c39564 feat: add panic recovery and retry mechanism for InitChannelCache; improve batch deletion of abilities in FixAbility 2025-05-23 01:26:52 +08:00
JoeyLearnsToCode
c56ec3b3ea feat: support searching channels by base url 2025-04-28 11:38:53 +08:00
JoeyLearnsToCode
f00ac5f27b feat: Add Parameters Override 2025-03-29 14:39:39 +08:00
1808837298@qq.com
abd5de7902 refactor: Make Channel Setting nullable and improve setting handling #836 2025-03-09 23:42:48 +08:00
1808837298@qq.com
783c60ee4d feat: Enhance channel status update with success tracking and dynamic notification #812 2025-03-06 17:46:03 +08:00
1808837298@qq.com
276f9991c5 fix: channels model_mapping 2025-02-06 19:51:33 +08:00
1808837298@qq.com
c8a8526ff3 feat: modify channel model_mapping column type to TEXT
- Change `ModelMapping` column type from varchar(1024) to TEXT in channels table
- Add MySQL migration script to alter column type during database initialization
- Improve database schema flexibility for storing complex model mappings
2025-02-06 14:35:14 +08:00
delph1s
7244adada5 fix: try to fix pgsql #685 2025-01-02 00:14:16 +08:00
CalciumIon
0a845ae69f fix: try to fix pgsql #682 2024-12-31 02:10:19 +08:00
CalciumIon
fe29ca04d5 feat: Implement batch tagging functionality for channels
- Added a new endpoint to batch set tags for multiple channels, allowing users to update tags efficiently.
- Introduced a new `BatchSetChannelTag` function in the controller to handle incoming requests and validate parameters.
- Updated the `BatchSetChannelTag` method in the model to manage database transactions and ensure data integrity during tag updates.
- Enhanced the ChannelsTable component in the frontend to support batch tag setting, including UI elements for user interaction.
- Updated localization files to include new translation keys related to batch operations and tag settings.
2024-12-25 14:19:00 +08:00
CalciumIon
7569947544 refactor: Improve channel status update logic and clean up code
- Simplified conditional checks in UpdateChannelStatusById function in channel.go to enhance readability.
- Commented out unused image number check in relay-gemini.go for clarity.
- Updated JSON field in en.json for currency consistency, changing "元" from "RMB/CNY" to "CNY" and added a space in "实付金额:" for formatting.
2024-12-17 15:33:16 +08:00
xqx333
8514572452 Update channel.go 2024-12-17 14:30:31 +08:00
xqx333
5664d55702 Update channel.go 2024-12-17 12:11:24 +08:00
CalciumIon
0ad03de153 feat: implement channel settings configuration
fix #620
2024-12-15 15:52:41 +08:00
CalciumIon
727236e6e7 fix: 渠道标签开启下使用ID排序出错 2024-12-09 20:38:03 +08:00
CalciumIon
c296dfbe0e feat: 兼容渠道搜索下标签聚合功能 2024-12-06 22:03:50 +08:00
CalciumIon
d2fc3fa739 feat: add tag aggregation mode to channels API and UI 2024-12-01 09:24:43 +08:00
CalciumIon
31df701579 feat: 完善标签编辑 2024-11-29 23:58:31 +08:00
CalciumIon
6463ad6976 fix: search channel #442 2024-11-19 01:39:27 +08:00
CalciumIon
325de98738 feat: 渠道标签分组 2024-11-19 01:13:18 +08:00
FENG
276cced99c fix: sqlite group 查询兼容 2024-08-09 11:39:19 +08:00
CalciumIon
3dd248c923 fix: 修复mysql兼容问题 2024-08-08 20:45:41 +08:00
FENG
b01c15229f fix: 渠道多分组,优化分组 like 查询 2024-08-05 22:35:16 +08:00
CalciumIon
a1284e4a58 chore: 优化自动禁用代码 2024-08-03 17:32:28 +08:00
CalciumIon
b9099b8555 fix: error channel name on notify. #338 2024-07-31 18:20:13 +08:00
CalciumIon
cbb79a5bc1 fix: channel default test model 2024-07-08 17:06:29 +08:00
1808837298@qq.com
69ceb3cac3 feat: log channel status update time 2024-06-16 14:53:39 +08:00
1808837298@qq.com
9254997601 fix panic 2024-06-16 13:38:36 +08:00
1808837298@qq.com
3085e512cd feat: 记录自动禁用原因 (close #300) 2024-06-15 01:11:03 +08:00
CaIon
3721ed796c feat: support aws claude 2024-04-23 11:44:40 +08:00
CaIon
90620827f4 feat: 状态码复写 2024-04-20 21:05:23 +08:00
CaIon
b0dcea7ee6 feat: able to set default test model (#138) 2024-04-04 17:29:25 +08:00
1808837298@qq.com
5cd2c572c2 feat: 解决渠道密钥长度限制问题 2024-03-04 14:55:26 +08:00
1808837298@qq.com
eff61d87b1 feat: Add channel search by model field (close #72) 2024-03-01 21:57:52 +08:00
CaIon
85a1540a2e fix: 减少group和model字段长度为64 2024-01-08 10:08:20 +08:00
CaIon
433f7affe9 feat: 加入渠道加权随机功能 2023-12-27 19:00:47 +08:00
CaIon
ffbde7d751 支持设置模型按次计费 2023-12-21 20:14:04 +08:00
CaIon
2b48477d2e 修改docker-compose.yml 2023-12-18 23:46:04 +08:00
CaIon
a12421ebe2 添加批量删除渠道功能 2023-12-14 16:35:03 +08:00
CaIon
f9495e91ea 更新渠道管理 2023-12-05 18:15:40 +08:00
Calcium-Ion
f439c4d553 Merge branch 'songquanpeng:main' into main 2023-10-30 16:12:09 +08:00
Bryan
58b6c88f7b fix: fix postgresql support (#606)
* fix postgresql support

fixes #517

* fix: fix pg support

* chore: delete useless code

---------

Co-authored-by: JustSong <songquanpeng@foxmail.com>
2023-10-22 18:38:29 +08:00
CaIon
ba7e6324d3 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	README.md
#	go.mod
#	go.sum
#	model/log.go
#	web/src/App.js
#	web/src/components/ChannelsTable.js
2023-10-16 17:31:26 +08:00
JustSong
63bd941d99 feat: able to delete all disabled channels 2023-10-14 17:25:48 +08:00
JustSong
cfd3093b95 feat: able to delete all manually disabled channels (close #539) 2023-10-02 13:06:27 +08:00
JustSong
e159737938 chore: sync model schema 2023-09-29 18:13:57 +08:00