这是一个基于Taro的微信小程序项目,为江西理工大学学生提供服务,欢迎各位开发者一起为小程序设计功能,贡献代码!
- 离线优先设计:课表数据本地缓存,支持离线查看
- 版本检测机制:基于
last_modified时间戳的增量更新,减少流量消耗 - 灵活编辑:支持单个课程格子的新增、编辑和删除
- 多周切换:手势滑动切换周次,快速跳转到任意周
- 班级绑定:一键绑定班级,自动同步课表数据
- 周末显示控制:可选择显示/隐藏周末课程
- 分类浏览:支持多级分类导航,面包屑路径清晰
- 智能搜索:
- 搜索历史记录
- 热搜词推荐
- 实时搜索建议
- 资料热榜:
- 下载热榜(7天/30天)
- 评分热榜(7天/30天)
- 资料评分:用户可对资料进行评分,帮助他人选择优质资源
- 下载追踪:记录下载行为,生成热门资料统计
- 匿名评价:保护学生隐私,鼓励真实反馈
- 多维度评价:
- 推荐度统计
- 评价内容展示
- 校区信息标注
- 智能搜索:快速查找教师,查看历史评价
- 审核机制:管理员审核确保评价质量
- 便捷投稿:用户可投稿通知、资料等内容
- 审核流程:
- 待审核/已通过/已拒绝状态管理
- 审核备注反馈
- 积分奖励机制
- 投稿统计:
- 总投稿数
- 各状态投稿数量
- 累计获得积分
- 管理后台:运营人员可高效审核投稿内容
- 积分获取:
- 投稿通过奖励积分
- 评价贡献获得积分
- 积分查询:
- 当前积分余额
- 积分交易记录(分页)
- 积分统计信息
- 管理员功能:手动赋予积分
- 分类管理:支持多种通知分类
- 发布流程:
- 运营创建通知
- 管理员审核
- 发布到用户端
- 置顶功能:重要通知可置顶显示
- 转换日程:通知可转换为个人日程提醒
- 挂科率查询:搜索课程挂科率数据,辅助选课决策
- 绩点计算器:快速计算GPA
- 校历查询:查看学期重要时间节点
- 英雄榜:展示优秀学生/贡献者
- 期末复习:期末复习资料专区
- 群聊推荐:推荐相关学习群聊
- 自动UUID生成:使用微信小程序加密级随机数生成器生成 UUID v4
- 智能幂等性Key:
- 基于请求内容(method + url + data)生成唯一标识
- 防止快速重复点击导致的重复提交
- 1分钟保护期,2分钟自动清理
- 请求追踪:每个请求自动添加
X-Request-ID用于日志追踪 - 详细文档:完整的幂等性实现说明(见
docs/idempotency_implementation.md)
- 角色系统:支持多角色管理(管理员、运营、普通用户等)
- 权限控制:细粒度的权限管理
- 用户角色绑定:管理员可为用户分配角色
- Pinia Store:
authStore:用户认证状态scheduleStore:课表数据管理notificationStore:通知数据管理reviewsStore:评价数据管理studyTasksStore:学习任务管理countdownStore:倒数日管理
- 统一封装:所有API调用统一封装在
src/api/index.js - 拦截器机制:
- 请求拦截:自动添加 token、幂等性Key等
- 响应拦截:统一处理错误、token过期等
- RESTful规范:遵循RESTful API设计规范
- 课表数据本地缓存,无网络也可查看
- 资料搜索历史本地存储
- 适配不同屏幕尺寸
- 流畅的动画过渡效果
- 下拉刷新
- 上拉加载更多
- 骨架屏加载状态
- Toast提示反馈
- 防抖防重复点击
- 分页加载,减少单次数据量
- 图片懒加载
- 请求缓存机制
- 框架: Taro 4.x
- 前端: Vue 3 + Composition API
- 状态管理: Pinia
- 样式: Weapp-Tailwind CSS + DaisyUI
- 平台: 微信小程序
src/
├── pages/
│ ├── home/ # 首页
│ ├── schedule/ # 课表功能
│ ├── materials/ # 资料库
│ ├── final-review/ # 期末复习
│ ├── points/ # 积分系统
│ ├── discover/ # 发现页
│ ├── profile/ # 个人中心
│ ├── notifications/ # 通知公告
│ ├── contributions/ # 投稿系统
│ ├── teacher-reviews/ # 教师评价
│ ├── failrate/ # 挂科率查询
│ ├── gpa-calculator/ # 绩点计算器
│ ├── map/ # 校区地图
│ ├── address/ # 校区地址
│ ├── calendar/ # 校历查询
│ ├── groupchat/ # 群聊推荐
│ ├── achieveprint/ # 成绩证明
│ ├── graduation/ # 毕业相关
│ ├── gotojw/ # 教务跳转
│ ├── login/ # 登录页面
│ ├── webview/ # 网页浏览
│ ├── terms-of-service/ # 服务条款
│ ├── hero/ # 英雄榜
│ └── admin/ # 管理后台
│ ├── config/ # 配置管理
│ ├── heroes/ # 英雄榜管理
│ ├── teacher-reviews/ # 评价管理
│ ├── rbac/ # 权限管理
│ └── points/ # 积分管理
├── api/ # API接口封装
├── stores/ # Pinia状态管理
├── utils/ # 工具函数
├── components/ # 通用组件
└── assets/ # 静态资源
└── icons/ # 图标文件
# 安装依赖
npm install
# 微信小程序开发
npm run dev:weapp# 构建微信小程序
npm run build:weapp- 修改
src/utils/request.js中的BASE_URL为实际API地址 - 调整
src/utils/constants.js中的学期配置
- Fork 本仓库到你的 GitHub 账号下。
- 按照要求规范填写 commit message。
- 提交 Pull Request(PR)。
- 等待代码审核与合并。