Нет описания

tanlie 2cd3b16c89 fix 漏洞 8 часов назад
app 2cd3b16c89 fix 漏洞 8 часов назад
config 42f1a17abc v2.1.3 4 месяцев назад
cores 42f1a17abc v2.1.3 4 месяцев назад
data 42f1a17abc v2.1.3 4 месяцев назад
extend 42f1a17abc v2.1.3 4 месяцев назад
public 42f1a17abc v2.1.3 4 месяцев назад
route 42f1a17abc v2.1.3 4 месяцев назад
runtime 42f1a17abc v2.1.3 4 месяцев назад
vendor 2cd3b16c89 fix 漏洞 8 часов назад
数据库修改记录 42f1a17abc v2.1.3 4 месяцев назад
.env 42f1a17abc v2.1.3 4 месяцев назад
.gitignore 42f1a17abc v2.1.3 4 месяцев назад
.travis.yml 42f1a17abc v2.1.3 4 месяцев назад
LICENSE 42f1a17abc v2.1.3 4 месяцев назад
README.md 2cd3b16c89 fix 漏洞 8 часов назад
composer.json 42f1a17abc v2.1.3 4 месяцев назад
composer.lock 42f1a17abc v2.1.3 4 месяцев назад
think 42f1a17abc v2.1.3 4 месяцев назад
version.json 42f1a17abc v2.1.3 4 месяцев назад
更新日志.txt 42f1a17abc v2.1.3 4 месяцев назад

README.md

萤火商城V2.0开源版

项目介绍

萤火商城V2.0,是全新推出的一款轻量级、高性能、前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP,前后端源码完全开源,看见及所得,完美支持二次开发,可学习可商用,让您快速搭建个性化独立商城。

如果对您有帮助,您可以点右上角 “Star” 收藏一下 ,获取第一时间更新,谢谢!

技术特点

  • 前后端完全分离 (互不依赖 开发效率高)
  • 采用PHP7.4 (强类型严格模式)
  • Thinkphp6.0.5(轻量级PHP开发框架)
  • Uni-APP(开发跨平台应用的前端框架)
  • Ant Design Vue(企业级中后台产品UI组件库)
  • RBAC(基于角色的权限控制管理)
  • Composer一键引入三方扩展
  • 部署运行的项目体积仅30多MB(真正的轻量化)
  • 所有端代码开源 (服务端PHP、后台vue端、uniapp端)
  • 简约高效的编码风格 (可能是最适合二开的源码)
  • 源码中清晰中文注释 (小白也能看懂的代码)

页面展示

前端展示 后台-首页 后台-页面设计 后台-编辑商品 后台-订单详情

系统演示

  1. 用户端(也叫客户端、前端,uniapp开发 用于生成H5和微信小程序)

    下载地址:https://gitee.com/xany/yoshop2.0-uniapp

  2. 后台VUE端(前端工程文件,部署时无需下载,仅前端开发时用到)

    下载地址:https://gitee.com/xany/yoshop2.0-store

    下载地址:https://gitee.com/xany/yoshop2.0-admin

代码风格

  • PHP7强类型严格模式
  • 严格遵守MVC设计模式 同时具有service层和枚举类enum支持
  • 简约整洁的编码风格 绝不冗余一行代码
  • 代码注释完整易读性高 尽量保障初级程序员也可读懂 极大提升二开效率
  • 不允许直接调用和使用DB类(破坏封装性)
  • 不允许使用原生SQL语句 全部使用链式操作(可维护性强)
  • 不允许存在复杂SQL查询语句(可维护性强)
  • 所有的CURD操作均通过ORM模型类 并封装方法(扩展性强)
  • 数据库设计满足第三范式
  • 前端JS编码均采用ES6标准

环境要求

  • CentOS 7.0+
  • Nginx 1.10+
  • PHP 7.4
  • MySQL 5.7+

安装教程

  1. 后端服务端(php):https://www.yiovo.com/doc/10024
  2. 微信小程序端:https://www.yiovo.com/doc/10047

后台地址

定时任务

用于自动处理订单状态、优惠券状态、会员等级等

php think timer start

定时任务 PHP 8.1+ 崩溃修复(2026-10-24)

生产环境(PHP 8.1+)运行 php think timer start 时 worker 进程反复 process terminated / exit with status 256,主进程不停重启。根因:

  • vendor/workerman/workerman/Events/Select.php:274 的 usleep($this->_selectTimeout) 传入了浮点微秒数(_selectTimeout = (下一轮时间 - 当前时间) * 1000000),PHP 8.1+ 对「浮点隐式转 int 丢失精度」发出 E_DEPRECATED 告警,ThinkPHP 的错误处理将告警升级为 ErrorException,导致 worker 进程直接退出。
  • 该 bug 只在「纯定时器、无网络 fd」场景触发(有 fd 时走 stream_select 分支,框架自带空错误处理器保护)。

已做修复(共 2 个文件,升级 composer 依赖时注意保留):

  1. vendor/workerman/workerman/Events/Select.php:usleep($this->_selectTimeout) 改为 usleep((int)$this->_selectTimeout)(治本)。⚠️ 该文件属于 vendor,执行 composer update 后需重新打上此补丁,或升级到官方已修复的 workerman 新版本。
  2. app/timer/command/Timer.php:新增自定义错误处理器(治标兜底)——告警类错误直接落盘 runtime/timer_error.log 并吞掉,阻止其被升级为 ErrorException 打崩进程;带去重,同一位置只记首条 + 每 500 条。同时注册了未捕获异常/致命错误的落盘日志,便于以后定位 worker 崩溃。

部署:将上述 2 个文件同步到生产后执行 php think timer restart,观察 runtime/timer_error.log 不再增长即恢复。

安全&缺陷

如果您碰到安装和使用问题可以查阅Issue,或者将操作流程和截图详细发出来,我们看到后会给出解决方案。

如果有BUG或者安全问题,我们会第一时间修复。

版权须知

  1. 允许个人学习研究使用,支持二次开发,允许商业用途(仅限自运营)。
  2. 允许商业用途,但仅限自运营,如果商用必须保留版权信息,望自觉遵守。
  3. 不允许对程序代码以任何形式任何目的的再发行或出售,否则将追究侵权者法律责任。

本项目包含的第三方源码和二进制文件之版权信息另行标注。

版权所有Copyright © 2017-2026 By 萤火科技 (https://www.yiovo.com) All rights reserved。