zm
2021-04-02 d6aa91642bb270e8309831d85aa1e7e09629e4da
commit | author | age
90c639 1 #禾匠商城v4后台开发文档
Z 2
3 ##前置
4
5 开始开发前需要先掌握以下技术栈
6
7 - Linux基本命令使用、文件、进程管理、Nginx+PHP+MySQL+Redis环境配置
8
9 - PHP开发
10
11 - MySQL数据库
12
13 - Redis数据库
14
15 - [Yii框架](https://www.yiiframework.com/doc/guide/2.0/zh-cn)
16
17 - [Vue](https://cn.vuejs.org/index.html)
18
19 - [Element-UI](https://element.eleme.cn/#/zh-CN)
20
21 - [Composer](https://getcomposer.org/doc/00-intro.md)
22
23 ##运行环境要求
24
25 Linux+Nginx+PHP7.2+MySQL(5.6|5.7)+Redis(4|5)
26
27
28 ##部署运行项目
29
30 ###使用打包好的开源版代码包
31
32 1. 将代码解压到Nginx的web目录;
33 2. 访问http://代码访问地址/将打开安装页面,按要求填写MySQL、redis信息、创建超级管理员的信息;
34 3. 点击安装,将自动导入数据库结构和保存配置文件,可以在config目录下找到配置文件;
35 4. 安装完成后登录商城后台,进入`设置`/`队列服务`,按要求启动队列服务,并测试通过;
36
37 ###快速上手案例
38
39
40 ##代码说明
41
42 ###目录说明
43 ```
44 /condif #配置文件
45 /controllers #控制器
46 /events #事件定义类
47 /forms #表单处理
48 /handlers #事件处理
49 /jobs #队列任务
50 /models #数据库表模型
51 /plugins #插件
52 /validators #自定义验证器
53 /views #视图文件
54 /web #入口文件、资源文件
55 ```
56
57 ###开发调试模式
58
59 要开启开发调试模式,可在项目根目录下创建`.env`配置文件,写入内容
60
61 ```.env
62 YII_DEBUG=true
63 YII_ENV=dev
64 ```
65
66 ###Yii Application调整
67
68 继承并调整了Yii Application类的部分代码,见文件`core/WebApplication.php`、`core/ConsoleApplication.php`
69
70 ###队列服务
71
72 使用Redis做存储数据库,Yii组件方式调用`Yii:$app->queue`,详细api见文档[yii2-queue](https://github.com/yiisoft/yii2-queue)
73
74 *用到的地方*
75
76 - 订单处理时保证单线程处理
77
78 - 定时任务功能
79
80 *队列服务管理*
81
82 默认启动方式是`./yii queue/listen 1`,但是只能前台运行,所以编写了一段shell脚本让服务进入后台运行,见脚本`./queue.sh`,脚本中自动写入系统的crontab,自动检测进程是否挂掉,挂掉将自动重启。
83
84 服务进入后台运行后可以使用`ps -ef | grep "yii queue" | grep -v grep`命令检查服务是否在运行
85
86 因为服务是基于Yii Console运行的,要检查队列运行情况可查看日志文件`runtime/logs/app.log`,服务没启动成功都可以检查日志文件
87
88 *注意事项*
89
90 如果使用到负载均衡,队列服务只能在一台服务器上运行!
91
92 ###插件开发
93
94 ###支付
95
96 ###后台菜单
97
98 ###下单