108 Commits

Author SHA1 Message Date
PANDA-JSR 3081bcf283 feat: 新增班优浏览器登录导入 2026-07-11 18:47:36 +08:00
PANDA-JSR 5595062278 feat: 新增局域网浏览器访问 2026-07-11 12:20:01 +08:00
PANDA-JSR 7971c6adbc feat: 新增独立管理窗口 2026-07-10 22:26:07 +08:00
PANDA-JSR 795bae1f03 revert: OAuth 回调回退为 secscore:// URI 方案
SECTL token 接口对 loopback/private IP 的 redirect_uri 返回 403
("Local or private network IP addresses are not allowed"),
HTTP/localhost/HTTPS loopback 均不可行,回退到 URI 方案。

- callbackUrl 改为 secscore://oauth/callback
- OAuthLogin 改回 deep link (ss:oauth-deep-link) 流程,移除
  本地 HTTP 回调服务器的启动/停止逻辑
- oauth_server.rs 保留(未被登录流程调用)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-05 21:16:18 +08:00
PANDA-JSR c0898b5f6f chore: 为 OAuth 回调链路添加墙钟时间日志
定位 19s 延迟:Rust 命令本体 0ms 完成,延迟在 Tauri IPC 往返。
前后端各步骤加 wall= 时间戳,便于比对 invoke 投递 vs 结果返回耗时。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-05 20:22:14 +08:00
PANDA-JSR 276e33a563 fix: 修复 OAuth 回调服务器启动卡顿 40s
定位:oauth_start_callback_server 在端口被占用时调用 lsof 未加 -n/-P,
触发反向 DNS 解析,遇到不可达解析器会卡 ~40s 才超时返回。

修复:
- lsof 加 -n -P 跳过 DNS/端口名解析,并用 tokio::time::timeout 包 5s
- 改用 JoinHandle + abort() 硬中止服务任务,停止时立即 drop listener
  释放端口,避免遗留服务导致下次启动走到 kill 路径
- netstat 同样加 5s 超时

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-05 18:50:46 +08:00
PANDA-JSR b46acd7581 chore: 为 SECTL Auth 登录链路添加耗时日志
定位点击登录到浏览器弹出之间约 1 分钟延迟的来源,在前端
(handleOAuthLogin / getAuthorizationUrl) 与 Rust (oauth_start_callback_server)
各步骤加 +Nms 相对耗时日志。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-05 18:44:59 +08:00
PANDA-JSR e40ba986b2 feat: SECTL Auth 回调改用本地 HTTP 服务 (端口 51267)
将 OAuth 回调从 secscore:// URI 协议改为本地 HTTP 回调服务,点击登录时
启动 127.0.0.1:51267 上的回调服务器,端口被占用时强杀占用进程后重试,
登录成功/失败/超时/关闭弹窗时关闭服务。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-05 18:31:11 +08:00
PANDA-JSR 2937043e40 fix: 复用本地 SQLite 连接池,修复偶发连接池耗尽
realtime_dual_write_sync 之前每次写命令都新建 sqlx 连接池并跑
migration,高频写入下导致 "pool timed out while waiting for an
open connection"。改为在 AppState 缓存启动时建立的本地 SQLite
连接并复用。同时把 execute_rule 里的冷却检查改到事务连接内
执行,避免事务开启时再额外借一条池连接。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-05 18:15:40 +08:00
PANDA-JSR c460800532 feat: macOS 改用原生圆角与原生红绿灯
- tauri.conf.json: decorations=true + titleBarStyle=Overlay + transparent
  + hiddenTitle + trafficLightPosition,启用原生圆角/squircle 与原生红绿灯
- main.css: 移除 #root 的 CSS border-radius,避免圆弧覆盖原生连续曲率
- App.tsx: macOS 下隐藏自绘 Windows 风格三按钮
- ContentArea.tsx: 侧栏隐藏(沉浸/竖屏)时 header 左侧为红绿灯留白
- Sidebar.tsx: macOS 下 logo 区上内边距增大,避开红绿灯

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-05 16:16:28 +08:00
PANDA-JSR 210a1994e6 fix: 修复 macOS Dock 图标模糊问题
icon.png 由 32x32 升级为 512x512,并新增 icon.icns 等全平台图标
从 resources/SecScore.svg 重新生成 1024 源图后用 tauri icon 输出

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-05 15:42:03 +08:00
Yukino_fox fe8d381168 merge: resolve auth API endpoint conflicts
- 保留 token 刷新端点为 /api/oauth/refresh

- 修正云空间用量端点为 /api/cloud/storage/usage(与前端一致)

- 保留 Deep Link 回调 URL secscore://oauth
2026-07-05 10:55:50 +08:00
Yukino_fox 21c1183b1d chore: 完成项目多维度优化与功能迭代
本次提交包含多项改进:
1. 新增Vitest测试配置与相关测试用例
2. 完善Deep Link监听与OAuth回调支持
3. 修复并优化多个React组件的依赖与性能
4. 更新后端API域名与端点地址
5. 优化KV存储服务实现与类型定义
6. 调整用户信息展示与权限相关逻辑
7. 重构部分业务逻辑,使用useCallback优化性能
8. 更新依赖包与Cargo.lock依赖版本
2026-07-05 10:28:36 +08:00
NanGua-QWQ f7340af4fa FEAT: sectl.top->sectl.cn 2026-05-20 16:58:13 +08:00
Yukino_fox a2ec923788 feat(URL协议): 增强URL协议注册健壮性
- 新增check_url_protocol_status命令检测注册状态
- 新增unregister_url_protocol命令取消注册
- 改进register_url_protocol命令增加验证逻辑
- 前端增加状态检测、自动重试和操作日志功能
- 更新多语言翻译支持新功能
2026-05-04 12:11:18 +08:00
Yukino_fox 3e85c32c9c Revert "feat: 实现依赖注入系统、插件架构和窗口管理"
This reverts commit 18eada8ff3.
2026-05-02 14:08:44 +08:00
Yukino_fox c1da3421d8 Revert "fix: 修复登陆失败无法弹出登录窗口的问题"
This reverts commit 10f9a0540e.
2026-05-02 14:06:25 +08:00
NanGua-QWQ 10f9a0540e fix: 修复登陆失败无法弹出登录窗口的问题 2026-04-28 19:38:42 +08:00
Yukino_fox 18eada8ff3 feat: 实现依赖注入系统、插件架构和窗口管理
- 引入ExamAware的DI系统并适配SecScore项目
- 添加服务注册表和窗口管理器
- 实现基于Koishi的Disposable设计的插件系统
- 集成Winston日志服务
- 分离设置窗口为独立页面
- 将非核心功能改为内置插件
- 更新README文件
- 添加相关hooks和工具函数
2026-04-26 19:39:56 +08:00
Yukino_fox a39355d62a Merge branch 'main' of https://github.com/SECTL/SecScore 2026-04-25 14:58:48 +08:00
Yukino_fox 2a2ec8504a refactor(auth): 移除OAuth中的permission字段及相关逻辑
OAuth登录仅用于云服务,不再影响本地权限系统。移除相关字段和权限映射逻辑,简化代码结构。
2026-04-25 14:58:38 +08:00
NanGua-QWQ 0b39a1fffd feat: 自动化支持奖励兑换并修复主页滚动同步 2026-04-24 18:16:59 +08:00
NanGua-QWQ 388d935241 fix: 修复云空间用量Failed to fetch 2026-04-23 22:41:29 +08:00
Yukino_fox 2ef088def5 feat(auth): 添加OAuth登录状态持久化功能
实现OAuth登录状态的保存、加载和清除功能,包括:
- 添加三个新的API接口用于状态管理
- 创建useOAuthPersist hook处理状态持久化逻辑
- 在登录流程中自动保存状态
- 在应用启动时自动恢复登录状态
2026-04-16 20:51:45 +08:00
Yukino_fox c58ae5c731 feat(auth): 添加设备在线状态上报和UUID功能
添加设备UUID生成和存储功能,实现设备在线状态上报API
新增oauth_report_online和oauth_get_device_uuid命令
优化OAuth token处理流程,支持JWT格式解析
2026-04-13 20:59:55 +08:00
Yukino_fox 90fe00d119 Merge branch 'main' of https://github.com/SECTL/SecScore 2026-04-12 17:02:18 +08:00
Yukino_fox 98afd446c9 feat(auth): 实现 OAuth PKCE 安全流程并优化错误处理
添加 PKCE code_verifier 和 code_challenge 支持以增强 OAuth 安全性
重构 OAuth 回调处理逻辑,添加全局锁防止重复处理
优化错误处理和信息打印,增加调试日志
移除不必要的 setTimeout 包装导出功能
格式化代码以提高可读性
2026-04-12 17:01:32 +08:00
NanGua-QWQ 7abe1b9fdc feat: 插件系统 V1 2026-04-11 22:22:52 +08:00
Yukino_fox a2f82cb869 Merge branch 'main' of https://github.com/SECTL/SecScore 2026-04-11 13:36:55 +08:00
Yukino_fox 498af7a09c refactor: 优化代码格式和OAuth请求处理
- 统一组件参数格式和换行风格
- 将OAuth请求参数从数组改为JSON格式
- 更新OAuth相关API的域名
2026-04-11 13:35:46 +08:00
Yukino_fox d428da200f chore: 删除不再使用的data.sql文件 2026-04-11 13:35:19 +08:00
NanGua-QWQ 0fd138d49d Merge branch 'main' of https://github.com/SECTL/SecScore 2026-04-11 13:33:08 +08:00
NanGua-QWQ 4304f301e7 feat: 现在可以在离线期间重新打开后补加分 2026-04-11 13:32:11 +08:00
Yukino_fox ee03046bbd 合并冲突 2026-04-11 12:21:15 +08:00
Yukino_fox 4db3238a63 Merge branch 'main' of https://github.com/SECTL/SecScore 2026-04-11 12:13:34 +08:00
NanGua-QWQ f2c062f904 feat: 自动化加上学生分数大于或小于的trigger
feat: 自动化表格tyle统一
2026-04-10 22:35:42 +08:00
Yukino_fox bf9cb9af41 feat: 添加SECTL云服务集成功能
实现SECTL云服务的全面集成,包括:
1. 添加OAuth认证服务,支持PKCE流程
2. 实现云存储管理功能
3. 添加积分数据同步服务
4. 实现通知服务和KV存储服务
5. 添加多语言支持
6. 创建相关React组件和上下文
7. 更新依赖项添加crypto-js
8. 优化HTTP客户端重用
2026-04-10 21:47:24 +08:00
NanGua-QWQ eef6b703f7 feat: Enhance AutoScore functionality with interval triggers and JSON tree support
- Added support for trigger trees in AutoScoreRule interface.
- Implemented functions to convert query trees to JSON and vice versa.
- Updated IntervalValue to use days, hours, and minutes instead of a single amount and unit.
- Refactored IntervalValueWidget to allow separate input for days, hours, and minutes.
- Added validation to ensure at least one interval trigger is present.
- Enhanced user interface with informative alerts and tooltips for better user experience.
- Updated localization files to include new strings for interval triggers and UI elements.
2026-04-10 21:09:04 +08:00
NanGua-QWQ 3caea0afe5 feat: 自动化更新 2026-04-06 19:40:19 +08:00
NanGua-QWQ ed4891210d feat: 自动化加分基本修复完毕 现在是全新的自动化qwqqq! 2026-04-06 14:41:27 +08:00
Yukino_fox 448df1a40b feat(auth): 改进 OAuth 授权流程和界面
- 将 JSON payload 改为 form 参数提交
- 使用 sessionStorage 存储 state 防止丢失
- 优化 OAuth 回调页面的 UI 和动画效果
- 修复状态检查逻辑并立即取消监听防止重复触发
2026-04-04 15:13:15 +08:00
Yukino_fox c2fe7af7d0 feat(oauth): 实现 OAuth 回调服务器与完整令牌管理功能
- 新增 OAuth 回调服务器模块,支持本地 HTTP 服务器处理授权回调
- 添加令牌撤销和令牌内省 API 端点
- 重构 OAuth 授权流程,增加 state 参数防止 CSRF 攻击
- 改进前端 OAuth 登录组件,适配新的回调机制
2026-04-04 13:46:42 +08:00
NanGua-QWQ c015ff3768 fix: 字体选择列表加载不了的问题
feat: 整理项目文件
2026-03-31 19:28:34 +08:00
NanGua-QWQ 9a022f3b31 feat(设置): 添加全局字体选择功能
fix: 自动化不能保存的问题
2026-03-30 22:26:56 +08:00
NanGua-QWQ 927bc59a82 Merge branch 'main' of https://github.com/SECTL/SecScore 2026-03-30 22:01:51 +08:00
NanGua-QWQ 9c3e84d912 feat: 增强自动加分规则管理,支持规则的创建、更新、删除和持久化 2026-03-30 19:12:03 +08:00
Yukino_fox 1dfdd24e00 Merge branch 'main' of https://github.com/SECTL/SecScore 2026-03-29 19:36:39 +08:00
Yukino_fox 7a59572f11 feat(auth): 添加 SECTL Auth OAuth 登录功能
- 新增 OAuth 登录组件和回调页面
- 集成 Tauri 深度链接插件处理 OAuth 回调
- 添加账户设置页面显示登录信息
- 更新 CI 配置添加 OAuth 环境变量
- 扩展 API 接口支持 OAuth 相关操作
- 添加国际化支持
2026-03-29 19:30:27 +08:00
NanGua-QWQ e4d9ee0c85 feat: 间隔时间加分可以按照多少天、月、分钟后加分
fix: 修复若干问题
下雨了好害怕我靠
2026-03-29 18:17:54 +08:00
PANDA-JSR 4af6157e0d feat: 支持移动端底部导航自定义与更多收纳 2026-03-28 10:01:01 +08:00