面向高校英语课堂教学的微信小程序前端,基于 uni-app + Vue 3 实现,提供课堂签到(教师/学生两端)、签到记录、个人中心等能力,支持数字码签到方式,并通过 Pinia 实现会话与配置持久化。
本项目用于辅助高校英语课堂教学场景,面向教师与学生两类用户:
pages/welcome/indexpages/login/indexpages/index/indexpages/profile/index
pages/checkin/*
teacher/index、select-method(选择二维码/数字码)、number-setup(设置数字签到码)、qr-active(展示实时二维码)、select-class(选择班级)index(进入签到页,输入数字码或扫码)pages/record/*
record/indexrecord/teacher、record/teacher-class-detailsrecord/studentutils/request.ts),自动附加 Authorization 头、统一 Toast 提示、白名单接口免认证user-store、签到会话 activeCheckinSession、签到配置 checkin-config-store)components/tki-qrcode 与库 uqrcodejsmanifest.json 指定 vueVersion: 3)pinia-plugin-persistedstate 4(状态持久化).ts)uni.scss)uqrcodejs、本地组件 tki-qrcodeuni-config-center、uni-id-common依赖来源请参考 package.json:
{
"dependencies": {
"pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.3.0",
"uqrcodejs": "^4.0.7"
}
}
EAIminiapp/
api/ # 与后端交互的 API 封装(如用户、签到)
components/ # 业务组件(含二维码组件 tki-qrcode)
config/
index.ts # 运行时配置(baseUrl/timeout/debug)
pages/ # 小程序页面目录(uni-app 约定式路由)
checkin/ # 签到模块(教师/学生)
record/ # 签到记录(教师/学生)
profile/ # 个人中心
login/ # 登录
index/ # 首页
welcome/ # 欢迎页
services/ # 业务服务封装(如用户领域)
static/ # 静态资源(图片等)
store/ # Pinia 状态(用户、签到、签到配置)
utils/
request.ts # 请求封装(Base URL、鉴权、错误处理)
App.vue # 根组件
main.js # 入口文件(创建应用、注册 Pinia 与持久化插件)
manifest.json # 应用清单(平台配置、appid、编译器版本等)
pages.json # 路由与页面样式配置(小程序页面清单)
uni.scss # 全局样式/变量
pages:uni-app 的页面根目录,页面路由由 pages.json 管理;static:放置静态资源(不会被编译器处理的文件,如图片);components:本地通用/业务组件;main.js:应用入口,Vue 3 下通过 createSSRApp 创建应用并 app.use(pinia);manifest.json:多端平台配置(mp-weixin、app-plus 等),其中微信 appid 使用占位符;pages.json:页面路由、导航栏、全局样式等配置;store:Pinia Store,内置持久化,管理用户/签到/配置等状态;utils/request.ts:封装统一请求、鉴权与错误提示;config/index.ts:后端地址与超时等运行时配置(可迁移为环境变量)。package-lock.json,示例使用 npm)npm install
1) 使用 HBuilderX(推荐)
manifest.json 中正确配置 mp-weixin.appid(详见下方“环境变量”)。构建产物目录:
dist/dev/mp-weixindist/build/mp-weixin3) 用微信开发者工具导入调试
dist/dev/mp-weixin);manifest.json/环境变量一致),即可运行与预览。utils/request.ts 会根据白名单 noAuthUrls 控制是否自动附加 Authorization 头;pinia-plugin-persistedstate 已启用,重要键包括 user-store、activeCheckinSession、checkin-config-store;pages.json 中维护新页面及其导航配置;@/ 指向项目根(由 uni-app/Vite 预设)。暂无。