1 Star 0 Fork 14

iceMan / sc

forked from 铅笔刀 / sc 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
开发文档.md 2.52 KB
一键复制 编辑 原始数据 按行查看 历史
铅笔刀 提交于 2020-12-12 05:46 . 'init'

#禾匠商城v4后台开发文档

##前置

开始开发前需要先掌握以下技术栈

  • Linux基本命令使用、文件、进程管理、Nginx+PHP+MySQL+Redis环境配置

  • PHP开发

  • MySQL数据库

  • Redis数据库

  • Yii框架

  • Vue

  • Element-UI

  • Composer

##运行环境要求

Linux+Nginx+PHP7.2+MySQL(5.6|5.7)+Redis(4|5)

##部署运行项目

###使用打包好的开源版代码包

  1. 将代码解压到Nginx的web目录;
  2. 访问http://代码访问地址/将打开安装页面,按要求填写MySQL、redis信息、创建超级管理员的信息;
  3. 点击安装,将自动导入数据库结构和保存配置文件,可以在config目录下找到配置文件;
  4. 安装完成后登录商城后台,进入设置/队列服务,按要求启动队列服务,并测试通过;

###快速上手案例

##代码说明

###目录说明

/condif #配置文件
/controllers #控制器
/events #事件定义类
/forms #表单处理
/handlers #事件处理
/jobs #队列任务
/models #数据库表模型
/plugins #插件
/validators #自定义验证器
/views #视图文件
/web #入口文件、资源文件

###开发调试模式

要开启开发调试模式,可在项目根目录下创建.env配置文件,写入内容

YII_DEBUG=true
YII_ENV=dev

###Yii Application调整

继承并调整了Yii Application类的部分代码,见文件core/WebApplication.phpcore/ConsoleApplication.php

###队列服务

使用Redis做存储数据库,Yii组件方式调用Yii:$app->queue,详细api见文档yii2-queue

用到的地方

  • 订单处理时保证单线程处理

  • 定时任务功能

队列服务管理

默认启动方式是./yii queue/listen 1,但是只能前台运行,所以编写了一段shell脚本让服务进入后台运行,见脚本./queue.sh,脚本中自动写入系统的crontab,自动检测进程是否挂掉,挂掉将自动重启。

服务进入后台运行后可以使用ps -ef | grep "yii queue" | grep -v grep命令检查服务是否在运行

因为服务是基于Yii Console运行的,要检查队列运行情况可查看日志文件runtime/logs/app.log,服务没启动成功都可以检查日志文件

注意事项

如果使用到负载均衡,队列服务只能在一台服务器上运行!

###插件开发

###支付

###后台菜单

###下单

1
https://gitee.com/thatsimple/sc.git
git@gitee.com:thatsimple/sc.git
thatsimple
sc
sc
master

搜索帮助