Commit Graph

460 Commits

Author SHA1 Message Date
liuwei
d8bfdd54e3 后台UI优化:统计区间并入二级标题栏
将统计区间控件从内容区移至二级导航栏

控件与二级菜单同排显示,节省正文纵向空间

保持 timeRange 与 loadData 交互不变
2026-04-16 16:52:51 +08:00
liuwei
3b633b1b1d 后台UI优化:统计区间改为右上角紧凑悬浮控件
- 将基础模板中的统计区间从整行卡片改为右上角小胶囊控件\n- 保留原有 timeRange 与 loadData 功能,不影响统计页面交互\n- 新布局减少纵向占用,避免挤压主内容区
2026-04-16 16:50:18 +08:00
liuwei
6b07be6a33 后台交互优化:移除系统/插件定时页按表重载按钮
- 系统定时任务页面移除按表重载按钮,保留刷新按钮\n- 插件定时任务页面移除按表重载按钮,保留刷新按钮\n- 清理前端未使用的 reload 方法,避免误导用户\n- 说明:保存配置后已自动重载到运行时,手动重载接口保留用于运维兜底
2026-04-16 16:39:56 +08:00
liuwei
410db34acd 后台导航调整:系统定时任务归入系统菜单
将系统定时任务从消息分组移除

在系统分组新增系统定时任务入口

路由保持 /system_jobs 不变,仅调整菜单归类
2026-04-16 16:32:58 +08:00
liuwei
1a1306ec71 系统定时任务日志持久化:新增入库与后台查询
- 新增系统任务日志表 t_system_job_logs,持久化记录每次执行结果、摘要、耗时、详情JSON\n- SystemJobLoader 注册任务时增加执行包装器:成功/失败均写入数据库日志,失败后继续抛出保证运行态状态一致\n- 系统任务后台日志接口改为查询数据库日志(不再依赖仅内存的 async_job logs),解决重启后日志丢失问题\n- 保持前端日志字段兼容,接口返回映射为 time/level/message 结构
2026-04-16 16:27:53 +08:00
liuwei
1166323ab5 插件定时能力扩展:接入天气/群总结/百科问答/成员画像并补齐周月触发器编辑
- 将 weather、message_summary、game_task、member_context 从硬编码 async_job 注册迁移为插件调度能力(get_schedule_actions/run_scheduled_action)\n- 保持原有默认时间与默认启用行为,新增执行统计结果用于后台日志展示\n- 为群总结与天气推送增加目标群范围适配,支持按后台配置选择 all/白名单/单群执行\n- 成员交互摘要支持日/周/月三类动作接入调度中心,兼容指定群与全量群刷新\n- 后台插件调度页面新增 every_week_time 与 every_month_last_day_time 的编辑支持
2026-04-16 15:49:02 +08:00
liuwei
184999b175 feat(plugin-schedule): support group dropdown selector for whitelist and single target 2026-04-16 15:34:32 +08:00
liuwei
014985ac4a feat(plugin-schedule): add DB-driven plugin scheduler and xiuren scheduled push 2026-04-16 15:24:23 +08:00
liuwei
66a9b7c4a3 feat(schedule): move system jobs to DB-driven config and dashboard management 2026-04-16 14:54:23 +08:00
liuwei
7ad8570c08 修复首页顶部未铺满问题并恢复栅格稳定性
变更项:

1. 移除 hero-row 的 flex 覆盖样式,避免与 Element 栅格宽度计算冲突。

2. 保留顶部行断点比例配置,继续支持大屏与中小屏响应式切换。

3. 仅调整顶部行样式,不改下方新增指标区布局。
2026-04-15 17:37:24 +08:00
liuwei
45133464ce 修复首页顶部行响应式兼容问题
变更项:

1. 仅调整首页顶部 Hero 行栅格断点配置,替代固定 span 比例。

2. 当前账号卡片改为 xl=7/lg=9/md~xs=24,右侧指标区改为 xl=17/lg=15/md~xs=24。

3. 保证中等屏和移动端自动上下堆叠,提升这一行的响应式表现。
2026-04-15 17:34:56 +08:00
liuwei
cad64bc9c9 回退下方新增指标布局调整,仅保留顶部宽度优化
变更项:

1. 回退下方新增用户数/群渗透率/群健康分区域的结构与样式调整。

2. 保持下方新增指标区不变,避免影响既有展示。

3. 仅保留首页顶部当前账号区域宽度调整(8:16)。
2026-04-15 17:32:24 +08:00
liuwei
16eacdbe99 调整首页当前账号卡片宽度比例
变更项:

1. 仅调整首页顶部 Hero 区栅格比例,从 9:15 改为 8:16。

2. 缩小当前账号卡片宽度,提升右侧核心指标区的展示空间。

3. 未调整下方新增用户数、群渗透率、群健康分区域布局。
2026-04-15 17:31:02 +08:00
liuwei
26c534540d 修复首页指标区不规整和留白问题
变更项:

1. 将首页 Hero 区指标恢复为 6 张基础卡片,避免左侧用户信息卡被异常拉高。

2. 将新增用户数、群渗透率、群健康分拆分为独立一行展示,解决中间空位与视觉不规整。

3. 补充 metric-extended-row 的响应式样式,确保桌面与移动端布局一致。
2026-04-15 17:23:54 +08:00
liuwei
d472b1523b 优化首页指标展示并修复群唯一用户统计
变更项:

1. 修复首页卡片等高问题,统一用户信息与右侧指标区高度,统一热门用户/群组/插件卡片高度。

2. 首页新增三个分析指标:新增用户数、群渗透率、群健康分,并完成前端数据绑定。

3. 优化仪表盘摘要接口,新增 new_users、avg_group_penetration、group_health_score 返回字段。

4. 修复 t_group_stats.unique_users 统计口径,改为按 group_id+plugin_name+command+user_id 去重统计,避免跨群串数据。

5. 新增 t_group_command_user_stats 表结构及索引,并补充到 init.sql。
2026-04-15 17:19:38 +08:00
liuwei
b37396db50 Revert "feat(dashboard): unify global UI theme across all admin templates"
This reverts commit cb8adc40ce.
2026-04-15 17:02:34 +08:00
liuwei
cb8adc40ce feat(dashboard): unify global UI theme across all admin templates 2026-04-15 17:00:15 +08:00
liuwei
ee5c1ebadc 只用表情 XML 里的 md5 + len/totallen 作为发送参数。
不再用图片文件大小、文件名等回退逻辑去“猜参数”。
发送接口不再“先返回发送中”,而是直接调用 SendEmoji 并等待结果:
成功才返回 表情发送成功
失败直接返回具体错误(不会再假成功)
2026-04-15 11:36:22 +08:00
liuwei
d0fa823557 改动结果:
聊天窗口工具栏新增了“表情”按钮,打开表情库弹窗。
表情库会从历史“已下载落盘的表情消息”里自动聚合。
选中后直接通过 send_emoji_message(wxid, md5, total_length) 发原生表情,不是当普通图片发。
仍保持你现在的发送通道和聊天刷新逻辑。
主要改动文件:

后端接口与发送支持:contacts.py
表情资源查询:message_storage.py
前端表情面板与发送交互:contacts_management.html
新增接口:

GET /contacts/api/emojis:返回聚合后的表情库(md5、total_length、预览图)。
POST /contacts/api/send_message 新增 type=emoji。
我也做了 Python 语法检查,相关后端文件都通过了。
你可以直接在聊天弹窗里点“表情”试一下。如果表情库为空,通常是该群还没落盘到 image_path,让媒体下载功能先抓几条表情就会出现。
2026-04-15 11:29:18 +08:00
liuwei
d326ad164f 改动结果:
聊天窗口工具栏新增了“表情”按钮,打开表情库弹窗。
表情库会从历史“已下载落盘的表情消息”里自动聚合。
选中后直接通过 send_emoji_message(wxid, md5, total_length) 发原生表情,不是当普通图片发。
仍保持你现在的发送通道和聊天刷新逻辑。
主要改动文件:

后端接口与发送支持:contacts.py
表情资源查询:message_storage.py
前端表情面板与发送交互:contacts_management.html
新增接口:

GET /contacts/api/emojis:返回聚合后的表情库(md5、total_length、预览图)。
POST /contacts/api/send_message 新增 type=emoji。
我也做了 Python 语法检查,相关后端文件都通过了。
你可以直接在聊天弹窗里点“表情”试一下。如果表情库为空,通常是该群还没落盘到 image_path,让媒体下载功能先抓几条表情就会出现。
2026-04-15 11:24:46 +08:00
liuwei
47f8bd5717 改动结果:
聊天窗口工具栏新增了“表情”按钮,打开表情库弹窗。
表情库会从历史“已下载落盘的表情消息”里自动聚合。
选中后直接通过 send_emoji_message(wxid, md5, total_length) 发原生表情,不是当普通图片发。
仍保持你现在的发送通道和聊天刷新逻辑。
主要改动文件:

后端接口与发送支持:contacts.py
表情资源查询:message_storage.py
前端表情面板与发送交互:contacts_management.html
新增接口:

GET /contacts/api/emojis:返回聚合后的表情库(md5、total_length、预览图)。
POST /contacts/api/send_message 新增 type=emoji。
我也做了 Python 语法检查,相关后端文件都通过了。
你可以直接在聊天弹窗里点“表情”试一下。如果表情库为空,通常是该群还没落盘到 image_path,让媒体下载功能先抓几条表情就会出现。
2026-04-15 11:21:32 +08:00
liuwei
1800ae585a fix: show group plugin stats in detail dialog 2026-04-13 17:16:38 +08:00
liuwei
299a32fa16 feat: add real detail views for stats pages 2026-04-13 17:09:21 +08:00
liuwei
29dc59c3f1 style: improve plain button contrast across dashboard 2026-04-13 16:21:49 +08:00
liuwei
d581b9650e feat: improve system message display in dashboard 2026-04-13 15:30:33 +08:00
liuwei
f7da70e920 chore: drop local emoji test artifacts 2026-04-13 12:22:22 +08:00
liuwei
7ee5ba93ab fix: support spaced emoji media attributes 2026-04-13 12:21:06 +08:00
liuwei
45d97b2989 feat: preview emoji media in message list 2026-04-13 12:10:37 +08:00
liuwei
ada1b656e0 feat: dedupe and schedule emoji media downloads 2026-04-13 12:06:58 +08:00
liuwei
9698f9577f feat: revamp contacts chat workspace 2026-04-13 11:47:34 +08:00
liuwei
e20d57b291 chore: remove legacy robot navigation copy 2026-04-13 11:21:00 +08:00
liuwei
f52ace9487 refactor: merge group permissions into contacts 2026-04-13 11:18:59 +08:00
liuwei
ec6c1308db feat: add group detail dashboard insights 2026-04-13 11:04:20 +08:00
liuwei
4e2dea86af fix(dashboard): avoid blocking admin web requests 2026-04-09 09:20:47 +08:00
liuwei
772f45cb2f feat: separate global llm settings from monitor page 2026-04-08 14:16:37 +08:00
liuwei
3d671c0da0 feat: improve llm settings ui and douyu daily fallback 2026-04-08 14:09:21 +08:00
liuwei
aecb62cb4d refactor: centralize llm backend configuration 2026-04-08 13:43:41 +08:00
liuwei
1671bea3a3 fix: fallback quoted image lookup by md5 2026-04-07 17:58:34 +08:00
liuwei
d99f1a07d1 fix: only use downloaded media paths for quoted images 2026-04-07 17:50:08 +08:00
liuwei
f9417a201f fix: prefer local quoted media paths in dashboard 2026-04-07 17:46:55 +08:00
liuwei
238e478f52 fix: reuse referenced message media in dashboard quotes 2026-04-07 17:44:15 +08:00
liuwei
e823c1049f fix: proxy quoted media in dashboard messages 2026-04-07 17:40:10 +08:00
liuwei
867f00435c feat: improve quoted message rendering in dashboard 2026-04-07 17:35:03 +08:00
liuwei
61edbbe987 fix: simplify emoji message display in dashboard 2026-04-07 13:29:35 +08:00
liuwei
389e4db37e fix: improve dashboard action button visibility 2026-04-07 13:18:08 +08:00
liuwei
7cdda82e39 feat: add dashboard restart action and improve text button contrast 2026-04-07 13:14:13 +08:00
liuwei
4423f64272 feat: improve friend circle like state handling 2026-04-07 13:08:12 +08:00
liuwei
dd8c5b1829 feat: improve friend circle media and detail rendering 2026-04-07 13:04:19 +08:00
liuwei
2938a6b056 fix: normalize dashboard nav path matching 2026-04-07 12:56:48 +08:00
liuwei
684a22b3a6 fix: repair friend circle dashboard template 2026-04-07 12:55:34 +08:00