更新记录
1.0.0(2026-05-15)
知识圈v1.0
一个基于 UniApp 打造的学习闭环知识社区 —— 从提醒学习、制定计划、获取资料、学习输入、刷题考试到排名反馈,形成完整的学习闭环。
项目简介
星云知识圈是一个以学习闭环为核心理念的综合知识平台。不同于传统的单向学习工具,它围绕"提醒 → 计划 → 输入 → 检验 → 反馈 → 激励"六大环节,将智能提醒、模板化计划、知识册子/课程/笔记、章节刷题与考试、科目排名、社交激励深度融合,让学习不再是碎片化的孤立行为,而是一个持续驱动、正向循环的成长过程。
学习闭环架构
星云知识圈围绕六大环节构建完整的学习闭环,让学习从"被动接收"变为"主动循环":
┌─────────────────────────────────────────────────────────┐
│ 学习闭环 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ ① 提醒 │───▶│ ② 计划 │───▶│ ③ 输入 │ │
│ │ 智能提醒 │ │ 模板计划 │ │ 知识获取 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ▲ │ │
│ │ ▼ │
│ ┌──────────┐ ┌──────────┐ │
│ │ ⑥ 激励 │◀──────────────────│ ④ 检验 │ │
│ │ 排名激励 │ │ 刷题考试 │ │
│ └──────────┘ └──────────┘ │
│ ▲ │ │
│ │ ┌──────────┐ │ │
│ └────────│ ⑤ 反馈 │◀───────────┘ │
│ │ 成绩分析 │ │
│ └──────────┘ │
└─────────────────────────────────────────────────────────┘
| 环节 |
核心能力 |
对应功能 |
| ① 智能提醒 |
基于记忆曲线、学习计划、活跃时段,智能推送学习提醒 |
学习提醒、计划到期通知、复习闹钟 |
| ② 模板计划 |
提供多学科学习计划模板,一键生成个性化学习路径 |
计划模板、快速制定、进度跟踪 |
| ③ 知识输入 |
多形态知识获取:购买学习手册、阅读他人笔记心得、课程视频 |
知识册子、圈子笔记、课程、资料库 |
| ④ 刷题检验 |
每个章节/进度节点配备对应题库和考试,即学即测 |
章节刷题、模拟考试、错题巩固 |
| ⑤ 成绩反馈 |
学后即测、测后即析,精准定位薄弱环节 |
成绩分析、知识点掌握度、错题本 |
| ⑥ 排名激励 |
每个科目独立排名,社交互动驱动持续学习 |
科目排行榜、等级体系、成就奖励 |
项目结构
1. 应用核心配置
├── app.vue # 应用入口(全局配置、生命周期)
├── main.js # 入口逻辑(Vue实例挂载、全局插件配置)
├── manifest.json # 应用配置(平台设置、权限声明等)
├── pages.json # 页面路由配置(主包/分包路由、tabBar配置)
├── uni.scss # 全局样式变量(主题色、尺寸规范等)
2. 公共资源
├── common/ # 公共资源
│ ├── styles/ # 全局样式
│ │ ├── global.scss # 全局通用样式(重置样式、基础类)
│ │ └── theme.scss # 主题样式(深色/浅色模式)
│ ├── utils/ # 工具函数
│ │ ├── format.js # 数据格式化(时间、等级等)
│ │ └── memory-curve.js # 记忆曲线算法工具
│ └── mixins/ # 全局混合
│ ├── study-mode.js # 学习模式(通勤/图书馆/睡前模式切换+状态保存)
│ └── user-level.js # 等级计算(等级条件校验、进度计算)
3. 全局状态管理
├── store/ # 全局状态管理
│ ├── index.js # store入口
│ ├── app.js # 应用状态(主题、语言等)
│ ├── auth.js # 认证状态(登录、注册、退出等)
│ ├── question.js # 刷题状态(当前题库、进度、多个数据缓存等)
│ ├── exam.js # 考试状态(当前考试、进度、多个数据缓存等)
│ ├── user.js # 用户状态(信息、等级、VIP等)
│ ├── circle.js # 圈子状态(点赞、评论、收藏、退粉、关注等)
│ ├── video.js # 视频状态(播放、收藏、点赞、历史记录等)
│ ├── message.js # 消息状态(收发、查看等)
│ ├── study.js # 学习状态(进度、模式等)
│ ├── course.js # 课程状态(收藏、历史等)
│ ├── order.js # 订单状态(待付款、待收货、待评价等)
│ └── cart.js # 购物车状态
4. 主包页面(高频访问模块)
├── pages/ # 主包页面
│ ├── index/ # 首页模块
│ ├── circle/ # 圈子模块
│ │ ├── index.vue # 圈子首页
│ │ ├── detail.vue # 圈子详情页
│ │ ├── list.vue # 圈子列表
│ │ ├── edit.vue # 新增编辑圈子
│ │ └── statistics.vue # 圈子统计
│ ├── book/ # 知识册子模块(分包模块)
│ │ ├── index.vue # 首页
│ │ ├── list.vue # 知识册子分类列表
│ │ ├── edit.vue # 新增编辑知识册子
│ │ ├── detail.vue # 知识册子详情
│ │ ├── question.vue # 题库
│ │ ├── statistics.vue # 知识册子统计
│ │ ├── doQuestion.vue # 做题
│ │ ├── doQuestionResult.vue # 做题结果
│ │ ├── order.vue # 订单
│ │ ├── pay.vue # 支付
│ │ └── success.vue # 支付成功
│ ├── question/ # 题库模块(分包模块)
│ │ ├── index.vue # 首页
│ │ ├── doQuestion.vue # 做题页
│ │ ├── list.vue # 题库列表
│ │ ├── edit.vue # 新增编辑题库
│ │ └── statistics.vue # 题库统计
│ ├── exam/ # 考试模块(分包模块)
│ │ ├── index.vue # 考试首页
│ │ ├── doExam.vue # 考试做题页
│ │ ├── result.vue # 考试结果页
│ │ ├── edit.vue # 创建编辑考试页
│ │ └── statistics.vue # 考试统计
│ ├── plan/ # 计划模块(分包模块)
│ │ ├── index.vue # 首页
│ │ ├── detail.vue # 计划详情页
│ │ ├── edit.vue # 新增编辑计划
│ │ └── statistics.vue # 计划统计
│ ├── course/ # 课程模块
│ │ ├── index.vue # 课程首页
│ │ ├── detail.vue # 课程详情页
│ │ ├── list.vue # 课程列表
│ │ ├── edit.vue # 新增编辑课程
│ │ └── statistics.vue # 课程统计
│ ├── video/ # 视频模块
│ │ ├── index.vue # 视频首页
│ │ ├── detail.vue # 视频详情页
│ │ ├── list.vue # 视频列表
│ │ ├── edit.vue # 新增编辑视频
│ │ └── statistics.vue # 视频统计
│ ├── message/ # 消息模块
│ │ ├── index.vue # 消息首页
│ │ ├── detail.vue # 消息详情页
│ │ └── list.vue # 消息列表
│ ├── notice/ # 通知中心模块
│ │ ├── index.vue # 通知首页
│ │ ├── detail.vue # 通知详情页
│ │ └── list.vue # 通知列表
│ ├── setting/ # 设置模块
│ │ ├── index.vue # 设置首页
│ │ ├── material.vue # 资料库设置
│ │ ├── notice.vue # 通知设置
│ │ ├── user.vue # 用户设置
│ │ ├── system.vue # 系统设置
│ │ ├── theme.vue # 主题设置
│ │ ├── module.vue # 模块设置
│ │ ├── auth.vue # 权限设置
│ │ ├── security.vue # 安全设置
│ │ ├── history.vue # 历史设置
│ │ └── statistics.vue # 统计用户
│ ├── material/ # 资料库模块
│ │ ├── index.vue # 资料库首页
│ │ ├── detail.vue # 资料详情页
│ │ ├── list.vue # 资料列表
│ │ ├── edit.vue # 新增编辑资料
│ │ ├── statistics.vue # 资料统计
│ │ ├── upload.vue # 资料上传
│ │ ├── order.vue # 资料订单
│ │ ├── confrim.vue # 资料确认
│ │ ├── import.vue # 资料导入
│ │ └── pay.vue # 资料支付
│ ├── mall/ # 商城模块
│ │ ├── index.vue # 商城首页
│ │ ├── category.vue # 分类列表
│ │ ├── detail.vue # 商品详情页
│ │ ├── goods.vue # 商品列表
│ │ ├── cart.vue # 购物车页
│ │ ├── order.vue # 订单页
│ │ ├── pay.vue # 支付页
│ │ └── success.vue # 支付成功页
│ ├── coupon/ # 优惠券模块
│ │ ├── list.vue # 优惠券列表
│ │ ├── detail.vue # 优惠券详情页
│ │ └── use.vue # 优惠券使用
│ ├── vip/ # 会员中心模块
│ │ ├── index.vue # 会员中心首页
│ │ ├── card.vue # 会员卡页
│ │ ├── recharge.vue # 会员充值页
│ │ ├── record.vue # 会员记录页
│ │ ├── pay.vue # 支付页
│ │ ├── success.vue # 支付成功页
│ │ ├── withdraw.vue # 提现页
│ │ ├── withdraw-record.vue # 提现记录页
│ │ └── report.vue # 会员报表页
│ └── mine/ # 个人中心模块
│ │ ├── index.vue # 个人中心首页
│ │ ├── profile.vue # 个人资料页
│ │ ├── wallet.vue # 钱包页
│ │ ├── setting.vue # 设置页
│ │ ├── address.vue # 地址管理页
│ │ ├── feedback.vue # 意见反馈页
│ │ └── about.vue # 关于我们页
│ └── user/ # 用户模块
│ ├── index.vue # 用户首页
│ ├── detail.vue # 用户详情页
│ ├── follow.vue # 关注列表页
│ ├── fans.vue # 粉丝列表页
│ ├── collection.vue # 收藏列表页
│ ├── comment.vue # 评论列表页
│ └── collect.vue # 我的收藏
5. 圈子模块
circle/
├── index.vue # 首页(笔记信息流)
├── user/
│ ├── index.vue # 圈子用户列表
│ ├── detail.vue # 圈子用户详情
│ ├── follow.vue # 关注列表
│ ├── fans.vue # 粉丝列表
│ ├── collection.vue # 收藏列表
│ └── comment.vue # 评论列表
├── group/ # 群组相关
│ ├── list.vue # 我的群组列表
│ ├── chat.vue # 群聊界面
│ ├── create.vue # 创建群组
│ ├── detail.vue # 群组详情
│ ├── member.vue # 群组成员
│ ├── notice.vue # 群组公告
│ ├── setting.vue # 群组设置
│ ├── invite.vue # 邀请成员
│ ├── exit.vue # 退出群组
│ ├── disband.vue # 解散群组
│ ├── kick.vue # 踢出成员
│ ├── ban.vue # 禁言成员
│ ├── unban.vue # 解除禁言
│ ├── mute.vue # 禁言群组
│ ├── permission.vue # 群组权限
│ ├── audit.vue # 群组审核
│ ├── noticeSetting.vue # 群组通知设置
│ └── memberSetting.vue # 群组成员设置
├── note/ # 笔记相关
│ ├── index.vue # 笔记首页
│ ├── edit.vue # 编辑笔记
│ ├── list.vue # 笔记列表(按分类/标签)
│ ├── detail.vue # 笔记详情页
│ ├── publish.vue # 笔记发布页
│ ├── comment.vue # 笔记评论页
│ ├── collect.vue # 笔记收藏页
│ ├── share.vue # 笔记分享页
│ ├── reward.vue # 笔记打赏页
│ ├── like.vue # 笔记点赞页
│ └── favorite.vue # 笔记收藏页
└── message/ # 私信相关
├── list.vue # 私信列表
└── chat.vue # 私信聊天页
6. 商城模块
mall/
├── index.vue # 商城首页
├── goods/
│ ├── list.vue # 商品列表页
│ ├── detail.vue # 商品详情页
│ ├── classify.vue # 商品分类页
│ └── search.vue # 商品搜索页
├── cart.vue # 购物车页
├── order/ # 订单相关
│ ├── list.vue # 订单列表
│ ├── detail.vue # 订单详情
│ └── confirm.vue # 订单确认页
└── user/
├── profile.vue # 个人资料页
├── wallet.vue # 钱包页
├── order.vue # 订单页
├── address.vue # 地址管理页
├── feedback.vue # 意见反馈页
├── about.vue # 关于我们页
├── collect.vue # 我的收藏页
├── setting.vue # 设置页
└── vip/ # 会员中心分包
├── index.vue # VIP首页(权益展示:商城折扣/题库付费减免/辅导优惠)
├── recharge.vue # VIP充值(月度/季度/年度套餐选择)
├── record.vue # VIP记录(充值记录、有效期)
└── withdraw.vue # 提现(学霸辅导收益提现,平台分后金额)
️ 技术栈
- 前端框架: UniApp
- 状态管理: Vuex
- UI 框架: uView UI
- 云服务: uniCloud
- 数据库: uniCloud 云数据库
功能模块
① 智能提醒 —— 学不遗忘
- 学习提醒: 基于艾宾浩斯记忆曲线,在最佳复习节点自动推送提醒
- 计划通知: 学习计划到期、每日任务未完成时智能催促
- 活跃时段识别: 分析用户学习习惯,在最高效时段推送提醒
- 复习闹钟: 针对错题、薄弱知识点定时提醒巩固
② 模板计划 —— 快速起步
- 计划模板库: 提供考研、考公、语言学习、职业技能等多学科模板
- 一键生成: 选择模板即可自动生成分阶段、分章节的学习路径
- 自定义计划: 拖拽调整章节顺序、时间节点,灵活适配个人节奏
- 进度可视化: 甘特图 + 百分比双维度展示计划完成情况
③ 知识输入 —— 多元获取
- 知识册子(学习手册): 用户可创作并出售自己的学习手册,他人可购买学习
- 圈子笔记: 浏览他人分享的学习笔记、心得感悟,社区共建知识库
- 课程视频: 视频课程学习,支持收藏、历史记录、倍速播放
- 资料库: 学习资料上传、下载、购买,支持多种文件格式
- 学霸辅导: 预约学霸一对一辅导、在线答疑
✏️ ④ 刷题检验 —— 即学即测
- 章节配套刷题: 每个知识册子章节、每个学习进度节点配备专项题库
- 模拟考试: 全真模拟考试环境,限时答题、自动评分
- 错题本: 自动收录错题,按知识点分类,支持反复练习
- 题目收藏: 收藏重点题目,考前集中回顾
⑤ 成绩反馈 —— 精准定位
- 成绩分析报告: 考试后自动生成详细分析,展示各知识点得分率
- 知识点掌握度: 热力图展示各章节掌握程度,薄弱环节一目了然
- 错题归类: 按错误类型(概念混淆、计算失误、记忆遗忘等)智能归类
- 学习建议: 基于成绩数据,推荐优先复习的知识点和对应题库
⑥ 排名激励 —— 持续驱动
- 科目排行榜: 每个学科独立排名,支持日榜/周榜/月榜/总榜
- 等级体系: 学习积分累积升级,解锁更高等级和特权
- 成就奖励: 连续打卡、满分考试、刷题达人等成就徽章
- 学习统计: 学习时长、刷题数量、正确率等多维度数据看板
社交互动
- 圈子: 笔记分享、点赞评论、关注收藏、打赏激励
- 群组: 群组聊天、成员管理、群公告、学习小组
- 私信: 一对一聊天,学友交流
- 通知: 系统通知、互动消息、学习动态
商城 & VIP
- 商城: 学习手册、课程、资料一站式购买
- 购物车: 批量选购、统一结算
- 优惠券: 领取使用,学习消费更优惠
- 会员中心: VIP充值、专属折扣、提现功能
个人中心
- 个人资料: 信息编辑、头像设置、学籍信息
- 我的订单: 知识册子/课程/资料购买记录
- 钱包: 余额管理、充值提现
- 设置: 主题切换、学习模式、通知管理、账号安全
快速开始
环境要求
- Node.js >= 14.0.0
- HBuilder X 最新版
- 微信开发者工具(小程序开发)
安装依赖
npm install
开发运行
# 运行到微信小程序
npm run dev:mp-weixin
# 运行到 H5
npm run dev:h5
# 运行到 App
npm run dev:app
构建发布
# 构建微信小程序
npm run build:mp-weixin
# 构建 H5
npm run build:h5
# 构建 App
npm run build:app
项目特色
- 学习闭环: "提醒 → 计划 → 输入 → 检验 → 反馈 → 激励"六大环节首尾相连,学习不再是单向行为
- ⏰ 智能提醒: 基于艾宾浩斯记忆曲线,在最佳遗忘节点自动提醒复习,对抗知识遗忘
- 模板化计划: 多学科学习计划模板一键套用,告别"不知道从何学起"的困境
- 知识交易: 用户可创作并出售学习手册,知识变现,激发优质内容生产
- ✏️ 章节即测: 每完成一个章节/进度节点,立即匹配专项题库和考试,学完即测
- 精准反馈: 成绩分析 + 知识点热力图,精准定位薄弱环节,避免盲目学习
- 科目排名: 每个学科独立排行榜,日/周/月/总榜多维度竞争
- 社交学习: 圈子笔记分享、群组讨论、学霸辅导,学习不再孤单
- 主题切换: 支持深色/浅色模式,通勤/图书馆/睡前多场景适配
- 多端适配: 支持微信小程序、H5、App 等多端运行,学习随时随地
- ⚡ 分包加载: 采用分包策略,优化首屏加载速度
开发规范
文件命名
- 页面文件使用小写字母,多个单词用连字符连接:
user-profile.vue
- 组件文件使用大驼峰命名:
UserAvatar.vue
- 静态资源使用小写字母,多个单词用连字符连接:
icon-home.png
代码规范
- 使用 ESLint 进行代码检查
- 遵循 Vue.js 官方风格指南
- 组件数据使用函数返回对象形式
- 合理使用计算属性和侦听器
提交规范
- 使用语义化提交信息
- 格式:
类型(范围): 描述
- 示例:
feat(circle): 添加笔记点赞功能
平台兼容性
云端兼容性
uni-app(4.36)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
× |
√ |
√ |
√ |
× |
× |
× |
× |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
- |
× |
× |
其他
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+