mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-23 21:18:09 +00:00
refactor: 小程序端代码瘦身与功能补齐
- 清理冗余代码与配置: - 删除废弃的 mock 适配器、通用 mock 模块与示例API - 移除冗余的 ts 类型文件与 patch 目录 - 简化 tsconfig 组件路径配置 - 新增功能与优化: - 新增全局水印组件与水印配置 - 接入微信小程序登录/手机号登录 - 新增系统参数配置 store 与国际化支持 - 新增 markdown 渲染插件与样式配置 - 优化 pinia 持久化逻辑修复 - 新增微信小程序 access_token 缓存配置 - 修复登录趋势数据结构定义 - 优化全局请求防抖重定向逻辑 - 页面与路由优化: - 补全引导页首次启动逻辑 - 统一页面底部安全区适配 - 更新页面路由类型声明 - 代码质量优化: - 移除无用 console.log 调试代码 - 修复全局弹窗重复重登录问题 - 优化 mp-html 组件配置
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# 小程序缺失功能补齐报告
|
||||
|
||||
**日期**: 2026-08-05
|
||||
**范围**: 补齐 3 个实质功能缺口(登录趋势 / 邀请海报 / 订阅消息)
|
||||
|
||||
---
|
||||
|
||||
## 缺口 1:登录趋势真实接口(消除首页 mock 假数据)
|
||||
|
||||
**问题**:首页"登录趋势"图表是硬编码 mock 数据,后端无对应接口。
|
||||
|
||||
| 端 | 文件 | 变更 |
|
||||
|----|------|------|
|
||||
| 后端 | `module_monitor/online/schema.py` | +`LoginTrendItem`(day/logins/unique_users/new_users);`DashboardStatsSchema` +`login_trend` 字段 |
|
||||
| 后端 | `module_monitor/online/service.py` | +`_build_login_trend()`:近 7 天按日聚合登录次数/独立用户/新增用户(基于登录日志 status=1 + 用户表),日期缺口补 0 |
|
||||
| 前端 | `api/module_monitor/dashboard.ts` | +`LoginTrendItem` 类型 |
|
||||
| 前端 | `pages/index/index.vue` | 删除 mock 数组,图表改用 `stats.login_trend` 真实数据,X 轴显示 MM-DD |
|
||||
|
||||
## 缺口 2:邀请海报入口(获客功能接线)
|
||||
|
||||
**问题**:`useSharePoster` 已实现但无任何页面调用(死代码)。
|
||||
|
||||
**方案**:`pages/mine/index.vue` 新增"邀请好友"卡片:
|
||||
- **立即邀请**:微信原生 `open-type="share"` 转发按钮(分享卡片由 useShare 配置)
|
||||
- **海报**:调 `generateQrCode({ scene: 'invite_{userId}' })` 生成带参小程序码 → popup 预览(支持**长按识别**)→ **保存到相册**(base64 → 本地文件 → saveImageToPhotosAlbum)
|
||||
|
||||
至此获客闭环:好友通过转发卡片或扫海报码进入小程序 → 场景值可追踪来源用户。
|
||||
|
||||
## 缺口 3:订阅消息发送能力(后端)
|
||||
|
||||
**问题**:前端 `useSubscribeMessage` 只能请求授权,后端无法下发通知。
|
||||
|
||||
**方案**:`wx_mini_service.py` 新增:
|
||||
- `send_subscribe_message()` — 调用微信 `cgi-bin/message/subscribe/send`;**防御性静默**:未配置 AppID / 模板 ID 为空 / 用户未订阅(43101)时跳过,绝不阻断业务主流程
|
||||
- `extract_openid_from_username()` — 从 `wxmini_*` 用户名提取标识的工具函数
|
||||
|
||||
## 验证
|
||||
|
||||
- ✅ 后端全部模块导入通过
|
||||
- ✅ 前端 `vue-tsc --noEmit` 0 错误
|
||||
|
||||
## 遗留(需用户配置后接线)
|
||||
|
||||
| 事项 | 说明 | 依赖 |
|
||||
|------|------|------|
|
||||
| 订阅消息业务触发 | 工单状态变更 → 自动下发通知 | ① 公众平台申请模板 ID ② 用户表扩展存完整 openid(DB 迁移) |
|
||||
| AppID / AppSecret | 小程序登录/海报/订阅前置 | 微信公众平台申请 |
|
||||
| 小程序码 | 开发版无法生成,需体验版/上线版 | 提审发布 |
|
||||
Reference in New Issue
Block a user