# Thinker
**Repository Path**: 392223903/thinker
## Basic Information
- **Project Name**: Thinker
- **Description**: Thinker 开源、轻量、高效的在线答题小程序系统、Uniapp题库源码
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 85
- **Forks**: 27
- **Created**: 2025-02-15
- **Last Updated**: 2025-09-01
## Categories & Tags
**Categories**: weixin-lapp
**Tags**: None
## README
# Thinker 开源、轻量、高效的在线答题与网课学习小程序 (Uniapp版本) 🚀

---
## 项目演示 📸
为了帮助你快速了解 **Thinker** 的功能和界面设计,我们准备了一些关键的演示:
### 扫描微信小程序码,体验在线答题与网课学习系统
### 题库首页
### 题库搜索界面
### 考试类型选择界面
### 题库选择界面
### 答题页面
### 答题结果页面
### 网课详情页面
### 会员中心页面
---
## 一、项目简介 📚
**Thinker** 是一款开源的在线答题与网课学习系统,旨在为学习者和开发者提供一个轻量、高效且易于扩展的学习平台。它通过简洁的设计和强大的功能,满足学生备考、职场技能提升以及教育机构的需求。Thinker 采用现代化的技术栈构建,支持多平台部署,致力于推动教育公平和技术共享。
---
## 二、项目特色 🌟
### (一)轻量设计
- **无冗余代码**:采用精简的架构,去除不必要的功能模块,确保系统高效运行。
- **低资源占用**:即使在性能有限的服务器上也能轻松部署,适合多种运行环境。
- **快速部署**:支持一键部署,无论是本地开发环境还是云服务器,都能快速启动。
### (二)高效体验
- **智能题库管理**:支持多学科、多题型的题库管理,题目按难度和知识点分类,方便用户筛选和练习。
- **实时反馈与解析**:用户提交答案后,系统立即显示正确答案和详细解析,帮助用户及时巩固知识点。
- **错题回顾与强化**:自动记录错题,支持错题集功能,用户可以随时回顾并强化薄弱知识点。
- **后台导入题库**:支持通过 Excel 文件批量导入题库,方便管理员快速初始化和更新题库内容。
- **在线网课学习**:支持在线视频课程播放、课程进度记录、笔记功能,提供完整的网课学习体验。
### (三)开源与灵活
- **完全开源**:采用开源协议,开发者可以自由查看、修改和分发代码。
- **高度可定制**:支持自定义题库、网课内容、界面风格和功能模块,开发者可以根据需求进行二次开发。
- **社区支持**:提供活跃的开源社区,开发者可以在这里交流经验、解决问题。
---
## 三、技术架构 💻
### (一)前端
- **框架**:基于 **uni-app** 和 **Vue 2.0** 开发,支持微信小程序、H5页面、APP等多种运行环境,实现一次开发、多端部署。
- **性能优化**:利用 Vue 2.0 的响应式数据绑定和组件化开发,确保页面加载速度快、交互流畅。
- **视频播放**:集成高效的视频播放组件,支持多种格式视频流,保证网课播放流畅稳定。
### (二)后端
- **语言**:使用 **PHP 7.4** 开发,具备高性能和良好的兼容性。
- **数据库**:支持 **MySQL**,满足系统数据存储需求。
- **搜索引擎**:集成 **Elasticsearch**,提供全文搜索功能,提升题库与课程检索效率。
- **缓存**:使用 **Redis** 缓存系统,优化数据读取速度,提升用户体验。
### (三)部署
- **容器化**:支持 Docker 容器化部署,一键启动,方便开发和运维。
---
## 四、开源协议 📜
**Thinker** 采用 **Apache License 2.0** 开源协议。您可以自由使用、修改和分发代码,但需遵守协议条款。Apache License 是一种宽松的开源协议,允许您在商业项目中使用本项目代码,同时保留原作者的版权声明。
---
## 五、开源计划 📦
**Thinker** 的代码包含以下部分:
- **前端代码**:基于 uni-app 和 Vue 2.0 开发的用户界面代码,支持多平台运行。【已开源】
- **接口服务**:提供前后端交互的接口代码,支持高效的数据传输和交互。【已开源】
- **后台管理**:用于管理题库、网课、用户、权限等功能的后台管理代码【已开源】
- **数据结构**:用于初始化数据库的 SQL 脚本,帮助快速搭建数据库环境。【已开源】
由于开发团队人力有限,代码将**分批开源**。我们会逐步开放前端代码、后台管理系统代码、API 接口代码以及 SQL 初始化脚本。我们将尽力加快开源进度,感谢您的理解与支持!
---
## 六、开源目标 🎯
1. **推动知识共享**:通过开源,让更多人能够免费使用和学习 Thinker,降低学习门槛。
2. **促进技术交流**:欢迎开发者参与项目贡献,共同完善代码、修复漏洞、优化功能。
3. **助力教育公平**:开源项目可以被自由使用和二次开发,让更多人受益于优质的教育资源。
---
## 七、如何参与 🤝
### (一)项目部署
#### 1. 获取项目代码
- **推荐方式**:通过 Gitee 发行版下载稳定版本
```bash
# 访问 Gitee 发行版页面下载最新稳定版本
https://gitee.com/392223903/thinker/releases
```
> 注意:推荐使用发行版下载代码,确保代码与数据库结构匹配,避免因代码库更新速度快于 SQL 脚本更新导致的启动问题
- **备选方式**:如需最新开发版本,可克隆代码库(风险自负)
```bash
git clone https://gitee.com/392223903/thinker.git
```
#### 2. 环境要求
- PHP 7.4+
- MySQL 5.7+
- Redis 7.4+
- Elasticsearch 8.15.0+(可选,用于全文搜索功能)
#### 3. 后端部署
- 配置数据库连接(修改 `api/config/database.php` 文件)
- 导入初始化SQL脚本(使用 `db/install.sql`)
- 启动后端服务:`php think run`
- 启动定时任务:`php think task start`
#### 4. 前端部署
- 根据uni-app官方文档进行相应平台的部署
### (二)Docker部署
#### 1. 环境要求
- Docker
- Docker Compose
#### 2. 部署步骤
- 构建并启动容器:
```bash
docker-compose up -d
```
- 添加以下条目到hosts文件:
```
127.0.0.1 api.cn
127.0.0.1 admin.cn
```
* Windows系统:编辑 `C:\Windows\System32\drivers\etc\hosts`
* macOS/Linux系统:编辑 `/etc/hosts`
- 访问应用:
* API: http://api.cn:9501
* Admin: http://admin.cn:9501
#### 3. Docker环境详情
- PHP 7.4 环境已配置以下扩展:
* pdo_mysql、mysqli、mbstring、exif、pcntl
* bcmath、gd、opcache、zip、sockets
* calendar、soap、intl、fileinfo、redis、igbinary
- 包含服务:
* Nginx (端口 9501)
* Redis
* PHP-FPM
#### 4. 故障排查
如遇问题,请检查日志:
```bash
docker-compose logs
```
访问容器shell:
```bash
docker-compose exec thinker bash
```
### (三)贡献代码
- **提交问题**:在开源仓库的 Issues 页面提交问题或改进建议。
- **贡献代码**:按照贡献指南提交 Pull Request,帮助完善项目。
- **参与讨论**:加入开源社区,与其他开发者交流经验。
### (四)反馈与建议
- **社区交流**:加入我们的 QQ 群 💬 777241713 或通过邮箱 📧 392223903@qq.com 与我们联系,我们将及时回复。
---
## 八、商业支持 💼
如果您需要更专业的技术支持和定制化服务,我们提供以下商业支持方案:
### (一)功能定制开发
- **个性化需求**:根据您的具体业务需求,定制开发专属功能模块
- **界面定制**:个性化UI设计,打造符合品牌特色的用户界面
- **功能扩展**:在现有功能基础上,扩展更多实用功能
- **第三方集成**:集成支付、短信、邮件等第三方服务
### (二)运维技术支持
- **部署服务**:提供专业的系统部署和配置服务
- **性能优化**:系统性能调优,提升用户体验
- **安全加固**:系统安全评估和加固,保障数据安全
- **故障排查**:快速响应,及时解决系统运行中的问题
- **定期维护**:提供定期系统维护和更新服务
### (三)联系我们
- **微信咨询**:skr-web(请备注来意:功能定制/运维支持)
- **邮箱联系**:📧 392223903@qq.com
- **QQ交流群**:💬 777241713
> 💡 **温馨提示**:商业支持服务将根据项目复杂度和工作量进行合理定价,我们承诺提供专业、高效的技术服务,助力您的项目成功上线和稳定运行。