dark
|
5aaba71819
|
feat: 菜单拖拽排序、侧边栏树形结构、系统密钥管理、API 文档
- 菜单管理支持拖拽排序(dnd-kit)
- 侧边栏改为递归树形渲染,支持折叠展开
- 修复 RouteGuard 嵌套菜单路径匹配
- 修复 getcurrentmenuslogic 祖先节点回溯保证树形完整
- 新增系统密钥 CRUD(后端 4 接口 + Casbin admin 策略)
- AI 模型管理页新增"系统密钥"tab(仅 admin 可见)
- 生成 API 接口文档(api-reference.md + openapi.yaml)
- 清理根目录截图和测试临时文件
- .gitignore 增加 uploads/、test-results/、__pycache__/
|
1 month ago |
dark
|
6f002f438b
|
feat: Phase 4 — CSV bill export + Wenxin/ERNIE provider
- Add CSV export endpoint (GET /ai/usage/export) with UTF-8 BOM for Excel
- Implement Wenxin (Baidu ERNIE) provider with Chat + ChatStream SSE
- Add wenxin case to provider factory
- Seed wenxin provider + ERNIE 4.0/3.5 models
- Add Casbin policy for usage export
- Add export button to frontend AIUsagePage
|
1 month ago |
dark
|
5e4efc2a0e
|
feat: Phase 3 billing system — quota management, usage records, stats
Backend:
- Add quota/usage/stats API types to ai.api
- Add 4 new routes: GET /ai/quota/records (user), GET /ai/quotas,
POST /ai/quota/recharge, GET /ai/stats (admin)
- Add model methods: AIUserQuotaFindList, AIUserQuotaRecharge,
AIUsageRecordFindList, ModelStats, DailyStats, TotalStats
- Implement quota list, recharge, usage records, stats logic
- Add Casbin policies for new endpoints
- Add menu seeds: 用量统计, 额度管理
Frontend:
- Add quota/usage/stats TypeScript types and API client methods
- Create AIUsagePage with stats cards + usage records table
- Create AIQuotaManagementPage with quota table + recharge modal
- Register routes, page titles, sidebar icons (BarChart3, Wallet)
|
1 month ago |
dark
|
899288180a
|
feat: Phase 2 AI management CRUD — providers, models, API keys
Backend:
- Add provider/model/key types and routes to ai.api + base.api
- Generate 11 handler + logic stubs via goctl
- Implement provider CRUD logic (list/create/update/delete)
- Implement model admin CRUD logic (create/update/delete)
- Implement API key CRUD logic (list/create/update/delete)
- Add Casbin policies for key management and admin endpoints
- Add menu seeds with proper icons (Cpu, Key, MessageSquare)
Frontend:
- Add provider/model/key TypeScript types and API client methods
- Create AIModelManagementPage with provider + model tabs
- Create AIKeyManagementPage with key CRUD and provider dropdown
- Register routes and page titles for /ai/models and /ai/keys
- Add Cpu, Key, MessageSquare icons to Sidebar icon map
|
1 month ago |
dark
|
9be5893f6f
|
feat: implement conversation CRUD + model list + quota logic
- Conversation list/create/get/update/delete (user-scoped)
- Model list with provider names
- Quota info (ensure + return balance)
|
1 month ago |
dark
|
f1d1549595
|
feat: implement AI chat completions with SSE streaming
- Custom SSE handler (replaces goctl stub)
- Chat() for non-streaming, ChatStream() for SSE
- Provider selection (user key > system key)
- Quota freeze/settle/unfreeze billing flow
- Usage recording + conversation message saving
|
1 month ago |
dark
|
e672c8eb76
|
feat: add AI API definitions and goctl-generated code
- ai.api: chat completions, conversations CRUD, models, quota
- 8 handlers + 8 logic stubs generated
- Routes registered with Cors,Log,Auth middleware
|
1 month ago |
dark
|
38f4e740fa
|
feat: implement all backend logic for menu, role, org management
|
1 month ago |
dark
|
6df3f8795f
|
feat: API definitions and goctl generated code for menu/role/org
|
1 month ago |
dark
|
41b1e091ce
|
feat: add currentOrgId to User entity, JWT Claims, and auth middleware
|
1 month ago |
dark
|
d2cb7fa8c8
|
feat: login by phone/username, register requires phone, seed uses username
|
1 month ago |
dark
|
d92aba8294
|
feat: 仪表盘对接后端 API,添加仪表盘 E2E 测试
|
1 month ago |
dark
|
40e5ccfb70
|
user
|
1 month ago |
dark
|
8a12ad04db
|
Initial commit: Add project structure and .gitignore
|
2 months ago |