# 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 Logo](https://cccimg.com/view.php/c0232923f97f7955e081dd8d77cf9db0.png) --- ## 项目演示 📸 为了帮助你快速了解 **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 > 💡 **温馨提示**:商业支持服务将根据项目复杂度和工作量进行合理定价,我们承诺提供专业、高效的技术服务,助力您的项目成功上线和稳定运行。