Commit Graph

241 Commits

Author SHA1 Message Date
meoacgx
74f6b7e249 fix(accounts): 批量刷新状态仅刷新已选 2025-12-27 20:39:48 +08:00
meoacgx
ef3ce9f910 feat(accounts): 导出账号包包含 2fa.txt 2025-12-27 00:35:13 +08:00
meoacgx
3b2971905f fix(web): 优化账号/频道列表 UI(移动端) 2025-12-27 00:18:58 +08:00
meoacgx
42f3161748 fix(web): 移动端修复批量操作与标题遮挡 2025-12-26 22:47:17 +08:00
meoacgx
4906c1d812 fix(web): 批量操作菜单适配移动端工具栏 2025-12-26 22:29:33 +08:00
meoacgx
b3366dc003 fix(web): 优化账号列表与Bot频道移动端布局 2025-12-26 21:59:14 +08:00
meoacgx
510f51415c 优化IOS手机端复制url 2025-12-26 16:49:24 +08:00
meoacgx
4bab1f88d3 feat: 列表分页/批量操作与Bot管理员预设 2025-12-26 15:46:01 +08:00
meoacgx
b850134cd6 更新检查:新增 GitHub Release/Tag 检测与提示 2025-12-26 14:11:27 +08:00
meoacgx
ab0df75600 1.1.0:二级密码存储/导入优化;版本信息弹窗改进 2025-12-26 13:54:29 +08:00
meoacgx
4875aefdd7 模块卸载:移除 trash 软删除,改为直接删除
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-26 10:16:32 +08:00
meoacgx
a71417cb32 手机号显示补全国家码格式 2025-12-24 02:20:16 +08:00
meoacgx
cd5a07543e 修复风控登录时间记录与历史账号判断 2025-12-24 02:02:43 +08:00
meoacgx
84d358d349 账号:批量修改分类;账号分类支持编辑颜色/描述 2025-12-24 01:28:43 +08:00
meoacgx
be1a6db30a 修复Bot频道同步:手动同步支持新增+清理,缓存回放my_chat_member 2025-12-23 23:21:12 +08:00
meoacgx
4a601570d1 fix(bot): manual sync reconciles stale channels 2025-12-23 16:37:49 +08:00
meoacgx
d862246c8b chore(nav): reorder menu 2025-12-23 16:14:31 +08:00
meoacgx
7e06556d8d feat(settings): add timezone support 2025-12-23 13:35:24 +08:00
meoacgx
7661eccb4c feat(channels): invite and admin actions 2025-12-23 12:41:14 +08:00
meoacgx
1a8fd4acd9 feat(accounts): join/leave actions and compact toolbar 2025-12-22 21:40:46 +08:00
meoacgx
8f018f9456 feat(modules): auto restart after module changes 2025-12-22 21:40:29 +08:00
meoacgx
1758680f3d fix: stabilize bot polling and simplify tasks 2025-12-22 19:07:31 +08:00
meoacgx
3c1e54ec4f feat(ui): 持续任务可配置与模块页面弹窗 2025-12-21 13:30:23 +08:00
meoacgx
5535aedeef 修改上传模块描述 2025-12-21 12:57:46 +08:00
meoacgx
b753d5bbff fix(dashboard): 正确统计受限/封禁账号数 2025-12-21 11:54:29 +08:00
meoacgx
02fbca010d feat(ui): 顶栏添加 GitHub 跳转按钮 2025-12-21 11:46:53 +08:00
meoacgx
6055655664 docs: 更新外置模块说明与任务示例
- README 增加外置模块购买说明\n- modules.md 补充批量订阅/加群/退群示例与配置\n- core 增加 LeaveChatOrChannelAsync 支持退群/取消订阅
2025-12-21 11:41:30 +08:00
meoacgx
3427c68f12 移除内置批量操作入口,改为模块提供 2025-12-21 11:08:02 +08:00
meoacgx
58c9de9017 模块系统:支持任务/API/UI 扩展与示例模块
- 增加模块加载隔离与依赖解析,避免类型身份不一致

- 模块管理:安装/启用/停用/删除与回滚

- 新建任务:支持模块自定义编辑器草稿回传(修复提交提示‘请先完善任务配置’)

- 新增示例模块:用户任务‘批量订阅/加群’与打包脚本
2025-12-21 09:50:50 +08:00
meoacgx
09feeed2db feat(modules): 模块系统支持任务/API/UI 扩展
- 新增模块抽象与 manifest/版本范围、安装/启用/停用/回滚\n- 模块管理页面:上传 .tpm/.zip、状态与冲突提示\n- 任务中心/新建任务改为基于模块贡献动态展示(system 不出现在新建列表)\n- API 管理改为基于模块贡献动态创建与通用配置编辑\n- 支持模块扩展任务执行器与扩展页面入口 /ext/{moduleId}/{pageKey}\n\n内置模块:builtin.kick-api、builtin.tasks
2025-12-21 08:01:55 +08:00
meoacgx
cfa53eb9b6 feat: /api/kick 支持任务中心记录与可读错误响应 2025-12-21 05:21:45 +08:00
meoacgx
b9c338fc0b feat: API 管理与 /api/kick 外部接口 2025-12-21 02:43:59 +08:00
meoacgx
016a38949a fix: 完善订阅加群任务并补充文档 2025-12-21 01:44:39 +08:00
meoacgx
76496f935e feat: 任务中心区分用户/Bot任务并新增批量订阅加群 2025-12-21 01:23:32 +08:00
meoacgx
5c2b59ed02 feat: 账号列表批量改用户名(模板随机变量) 2025-12-21 01:06:49 +08:00
meoacgx
0aee049813 feat: 批量改昵称支持列表模式并优化冻结提示 2025-12-21 00:24:02 +08:00
meoacgx
31ecb75c9b fix: 账号列表三态选择按钮编译错误 2025-12-20 23:35:34 +08:00
meoacgx
68d41ad437 fix: Bot 编辑频道忽略未修改错误 2025-12-20 23:21:55 +08:00
meoacgx
22e63f065d feat: Bot 编辑频道支持修改头像 2025-12-20 23:04:49 +08:00
meoacgx
987be180d0 feat: BOT频道增强 - 踢人/封禁功能及用户ID获取提示
新增功能:
- Bot频道支持批量踢人/封禁用户(支持两种模式:仅踢出 or 永久封禁)
- 踢人对话框支持选择操作模式(默认仅踢出,可选永久封禁)

体验优化:
- 踢人和设置管理员对话框添加"如何获取用户ID"的详细步骤提示
- 统一用户ID输入方式(使用纯文本输入框,移除数字增减按钮)

技术改动:
- BotTelegramService: 新增 BanChatMemberAsync 支持踢人/封禁
- BotTelegramService: 新增 CanBotBanMembersAsync 权限检查
- 新增 BotBanMemberDialog 踢人对话框组件
- BotChannelsHome: 添加踢出用户按钮及批量处理逻辑

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 22:36:47 +08:00
meoacgx
1f805ace84 实现Bot频道批量设置分类功能
新增功能:
- 在Bot频道页面工具栏添加"批量设置分类"按钮
- 支持多选频道后批量修改分类
- 显示当前选中的频道数量(实时更新)

新增组件:
- BotBatchSetCategoryDialog.razor - 批量设置分类对话框
  - 显示选中频道数量的信息提示
  - 下拉选择目标分类(包含"未分类"选项)
  - 简洁的确认/取消操作

功能特点:
- 支持设置为"未分类"(取消分类)
- 批量操作时显示成功/失败统计
- 操作完成后自动刷新列表并清空选择
- 错误处理:部分失败不影响其他频道
- 与现有批量操作保持一致的交互体验

用户体验改进:
- 按钮动态显示选中数量:批量设置分类(N)
- 未选中频道时按钮禁用
- 操作后显示详细的成功/失败统计

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 22:07:18 +08:00
meoacgx
ce8ee3dd4c 优化Bot频道分类管理UI
改进内容:
- 将"新建分类"功能从页面底部移至顶部工具栏
- 在分类筛选器旁添加"+"按钮,点击打开对话框
- 新增 BotChannelCategoryDialog 对话框组件
  - 支持创建分类(输入名称和描述)
  - 保留编辑模式接口(待后续实现)
- 删除原有页面底部的分类创建表单
- 提升用户体验,操作更集中便捷

UI改进:
- 分类筛选器 + 新建按钮 紧密集成
- 对话框使用 MudDialog 标准样式
- 保持与现有对话框一致的交互体验

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 21:55:44 +08:00
meoacgx
654a8fe1a3 修复 BotChannelsHome 页面类型转换崩溃问题
问题:
- MudSelect 泛型类型是 int?(可空整数)
- MudSelectItem 的 Value 使用了 int 类型
- 导致类型不匹配,运行时崩溃

修复:
- 将分类选择下拉框中的 Value="@(c.Id)" 改为 Value="@((int?)c.Id)"
- 确保类型一致性

错误信息:
Unable to cast object of type 'MudBlazor.MudSelect`1[System.Nullable`1[System.Int32]]'
to type 'MudBlazor.MudSelect`1[System.Int32]'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 21:47:55 +08:00
meoacgx
ccb3f3e8a2 实现账号风控系统:24小时登录时长检查
核心功能:
- 新增 AccountRiskService 风控检查服务
- 添加 Account.LastLoginAt 字段记录登录时间
- 实现 24 小时风控阈值检查逻辑
- 新增 RiskWarningDialog 风控警告对话框

风控集成点:
- 创建频道(ChannelCreate)
- 深度探测账号状态(Accounts - 深度探测)
- 批量修改昵称(BatchChangeNicknameDialog)
- 批量修改个性签名(BatchChangeBioDialog)
- 编辑用户资料(EditUserProfileDialog)

风控逻辑:
- 刚导入账号(LastLoginAt 为 null)→ 高风险
- 登录时长 < 24 小时 → 高风险,提示剩余等待时间
- 登录时长 ≥ 24 小时 → 安全,允许操作

数据库变更:
- 添加 Accounts.LastLoginAt (nullable DateTime) 字段
- 创建数据库迁移 20251220000000_AddLastLoginAt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 21:23:28 +08:00
meoacgx
5412b2d997 修复仪表盘页面主题切换无响应问题
- 在 ToggleDarkMode 方法中添加 StateHasChanged() 调用
- 在 OnInitializedAsync 方法中添加 StateHasChanged() 调用
- 确保在异步操作后 UI 能及时更新状态
- 解决 Blazor InteractiveServer 模式下的状态同步问题

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 19:21:16 +08:00
meoacgx
449e4d1358 修复主题切换持久化问题
- 新增 UiPreferencesService 服务用于管理UI配置
- 主题选择自动保存到 appsettings.local.json
- 刷新页面后自动恢复用户的主题偏好
- 无需额外的设置选项,点击切换按钮即可

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 19:15:13 +08:00
meoacgx
5b8187e12a Revert "记住白天/黑夜模式选择"
This reverts commit 5adf991cd2.
2025-12-20 16:08:35 +08:00
meoacgx
0fbdb9472f Revert "禁用系统主题跟随并修复主题切换"
This reverts commit 8b39488f47.
2025-12-20 16:08:29 +08:00
meoacgx
8b39488f47 禁用系统主题跟随并修复主题切换 2025-12-20 15:55:58 +08:00
meoacgx
5adf991cd2 记住白天/黑夜模式选择 2025-12-20 15:49:18 +08:00