# 26MBA_DI **Repository Path**: cyj_lucky/26MBA_DI ## Basic Information - **Project Name**: 26MBA_DI - **Description**: 2026级MBA数智班自研信息集成app - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-22 - **Last Updated**: 2026-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 首经贸 MBA 班级通知任务聚合工具 首都经济贸易大学工商管理学院 · MBA 26 数智班内部使用。把班级通知、官网 MBA 通知、待办截止日期、重要归档、腾讯文档入口收在一个本地网页里,解决「群消息刷掉、腾讯文档找不到、班委要改同学只看」的问题。 **请把班级入口网址发到群里,不要再发 HTML 文件。** 同学打开同一条链接并刷新,就能看到你刚发布的页面和文档库。 双击 `index.html` 只适合班委自己预览。数据若只存在本机,同学看不到。 --- ## 1. 一分钟上手 1. **同学**:打开班委置顶的班级入口链接(https 网址),可「添加到主屏幕」。 2. 首页是「近期待办」;文档库未过期按创建时间最新在上,已过期灰色沉底。 3. 点「允许通知」,之后有新班级通知或官网更新会弹系统提醒。 4. 班委点顶栏身份按钮,或左侧「班委工作台」,口令: ``` mba26bw ``` (可在 `index.html` 里改 `COMMITTEE_PASSWORD`。) --- ## 2. 页面结构 左侧菜单切换五个独立页面: | 导航 | 谁能看 | 做什么 | | --- | --- | --- | | 首页待办 | 全员 | 近期待办看板,来源 / 截止 / 备注 | | 通知列表 | 全员 | 班级内部通知 + 官网 MBA 通知;待办 / 普通可筛选;未读红点 | | 重要归档 | 全员 | 培养方案、通讯录等永久收藏,标签分类,不被新通知冲刷 | | 文档库 | 全员 | 统计表、Word、PDF、腾讯文档链接,未过期新→旧,过期灰色沉底 | | 班委工作台 | 口令后 | 增删改、检测官网更新、导入导出 JSON、恢复演示数据 | --- ## 3. 权限说明 - **普通同学**:只读全部内容;可搜索、点开通知(点过变已读)、接收桌面弹窗;不能新增 / 修改 / 删除。 - **班委**:维护班级通知、重要归档、文档库;可把一条通知同时写入归档。 - 初期**没有服务器登录**,口令校验 + 角色存在本机。换电脑 / 换浏览器要再输一次口令。 - 同学清站点数据会丢掉本机缓存,班委请先「导出备份 JSON」。 --- ## 4. 班级入口怎么部署(全班看到同一份最新页面) 本地 `localStorage` **不能**同步到同学的手机。正确做法是把这个文件夹发布成一个**固定网址**,群里只发这一条。 ### 推荐:Netlify Drop(约 1 分钟,无需命令行) 1. 打开 https://app.netlify.com/drop 2. 把整个项目文件夹拖进去。 3. 得到类似 `https://xxxxx.netlify.app/` 的地址 → **这就是班级入口**,置顶到群。 4. 注册/登录 Netlify 后把站点认领下来,以后更新仍用**同一个地址**。 5. 每次 Cursor 改完:再部署到该站点(拖文件夹或 Git 推送),同学只需刷新。 站点已配置 `netlify.toml`:HTML 和 `data/class-data.json` 禁止缓存,避免同学看到旧页。 ### 认领 Netlify 要钱吗? **不要钱。** Free 计划 $0/月,认领 = 注册免费账号。额度用完不会自动扣费。请**先登录再 Drop**,否则网址可能带临时密码。海外节点国内有时偏慢。 ### 国内免费(效果一样):Gitee Pages 完整步骤见 `docs/班级入口.md`。简要:gitee.com 建公开仓库 → 上传本项目(根目录要有 `index.html`)→ 服务 → Gitee Pages → 启动。得到 `https://用户名.gitee.io/仓库名/`,置顶到群。每次更新后在 Pages 页点「更新」,同学刷新同一链接即是新软件。 ### 备选:GitHub Pages / Cloudflare Pages 均为免费静态托管,和上面同一原理。 ### 本机预览(只有你自己看得见) ```bash python -m http.server 8080 ``` 打开 `http://localhost:8080/`。用 `file://` 双击则读不到云端 JSON,顶栏会提示「本机模式」。 ### 班委改完文档库之后 1. 工作台点「下载发布包(让全班看到)」,覆盖 `data/class-data.json`。 2. 把 `SEED_VERSION` / `APP_VERSION` 加一(若是 Cursor 改种子文档,开发备忘里有说明)。 3. 部署到**同一个**班级入口。 详细约定见 `docs/开发备忘.md`。 --- ## 5. 官网爬虫对接方案(不要在前端跨域硬爬) 目标网页占位: - MBA 教育中心: - 招生/通知栏目示例: - 工商管理学院: - 研究生院(培养/答辩等): **为什么前端不 `fetch` 官网?** 浏览器同源策略会拦截跨域;本地双击的 `file://` 页面更不能安全爬 HTTPS 站点。正确分工: ``` 后端脚本定时抓列表页 → 解析 标题 / 发布时间 / 正文 / 原文链接 → 写出 crawler/official-notices.json 前端 consumeOfficialPayload() → 按 id 去重写入 localStorage → 有新 id 就弹出桌面通知 ``` JSON 字段见 `crawler/official-notices.sample.json`。班委也可以在工作台直接「导入官网爬虫 JSON」。 Python 思路(在服务器或班委电脑跑,**不要**写进浏览器): ```python # 伪代码:用 requests + BeautifulSoup 拉 MBA 教育中心通知列表 # 输出 official-notices.json,字段:id, title, publishAt, content, link ``` 可用 Windows「任务计划程序」、GitHub Actions 或一台轻量云函数每天跑一次。 点击页面上的「检测官网更新」时: 1. 先尝试读 `./crawler/official-notices.json`(需静态服务)。 2. 读不到则写入一条**演示公告**,用于验证红点 + 桌面通知。对接真实脚本后可关掉该模拟分支。 --- ## 6. 改成微信小程序要动哪些部分 单 HTML 是为了双击即用。迁小程序时不要整文件塞进去,按下面拆: | 现有实现 | 小程序对应改动 | | --- | --- | | 一个 `index.html` 多 section 切视图 | 拆成 `pages/home` `pages/notice` `pages/archive` `pages/docs` `pages/admin` | | HTML + CSS | 改为 `wxml` + `wxss`;弹性布局可保留,去掉 `position:sticky` 复杂层叠若有兼容问题 | | `innerHTML` 渲染列表 | 改为 `wx:for` + `setData`,禁止拼接 HTML | | `localStorage` | `wx.setStorageSync` / `wx.getStorageSync` | | `Notification` 桌面弹窗 | 小程序没有该 API,改为订阅消息或模板消息(需公众号/企业类目) | | `window.open` / `` 打开腾讯文档 | `wx.setClipboardData` 复制链接,或 `web-view`(需业务域名) | | 班委口令写在前端 | 仅适合内部分发;上线应换成云函数 + 登录(微信openid) | | `fetch('./crawler/...')` | 改为云函数拉取 JSON,或班委在后台录入 | | 文件协议双击打开 | 改为微信开发者工具上传;不能再「发一个 html 文件」 | 结论:界面信息和字段都可以复用,**存储、通知、跳转、登录必须重写**。 --- ## 7. 模拟运行:怎么验证每个功能点 打开页面后按下列顺序点一遍。演示数据已预置,无需先录入。 1. **近期待办看板** 首页应能看到「到课填报」「案例 PPT」「注册选课」等未过期项,按截止日期从近到远。「教材费缴纳」在「已过期待办」里,颜色更淡。三天内到期的卡片偏橙色,带「即将到期」标签。 2. **待办 vs 普通通知** 进「通知列表」,切「待办通知 / 普通通知」。聚餐、开题安排等普通通知不应出现在首页「需要完成」里。 3. **未读红点** 导航「通知列表」右上角有红点。点开一条通知,红点应消失(全部已读后导航红点也消失)。 4. **全局搜索** 搜「导师」应命中文档库;搜「培养」应命中归档。 5. **重要归档** 培养方案、通讯录、校园指引、论文节点都在。点标签可过滤。新发一条班级通知**不会**把归档挤掉。 6. **文档库** 按创建时间最新在前:第一条是「硕士研究生导师统计表」,最后一条是「管理经济学」案例。点「打开原文」进入对应腾讯文档。 7. **班委权限** 同学视角下没有「编辑 / 删除」。输入口令后,列表右侧出现按钮,工作台可新增。用错误口令应提示不正确。 8. **班委新增班级通知 + 桌面弹窗** 先点「允许通知」。班委新增一条待办,保存后:首页待办应出现;若已授权,系统应弹出桌面通知。 9. **检测官网更新** 点「检测官网更新」。无本地 JSON 时会写入「教学安排临时调整」演示条,通知列表出现未读官网通知,并尝试桌面弹窗。 10. **导入官网 JSON** 工作台导入 `crawler/official-notices.sample.json`,应合并样例里的奖学金 / 开题通知(已存在的 id 不会重复)。 11. **导出 / 恢复演示数据** 导出后应得到 `.json` 文件。点「恢复演示数据」会覆盖本机内容(需确认)。 12. **手机浏览器** 缩小窗口或开手机:导航可横滑,搜索仍在顶部,文档改为单列,表单不挤在一行。 --- ## 8. 修改口令 打开 `index.html`,找到: ```javascript var COMMITTEE_PASSWORD = 'mba26bw'; ``` 改成班级自己的口令即可。不要把真正的个人密码写进会群发的文件里。