1…国内比较有名的一套电商系统 二次开发相关手册 https://doc.crmeb.com/mer/merchant/9198
代码是使用thinkphp6.0为主体开发。
PHP的运行版本要求 7.1-7.4 (相关插件和运行环境的支持)
swoole 4 (使用的是swoole自建HTTP服务器,运行的模式 同时系统封闭掉了正常public/index.php的代码入口)
4.守护进程 需要添加俩个对应的守护进程 一个是定时任务的监听,一个是web服务器的监听,都很重要
php think swoole restart
php think queue:listen --tries=2
这样系统就完成了基础的部署,下一步安装就完成逻辑。
5.二次开发基础逻辑 设计一个API的逻辑流程
掌握API结构: (前后端开发是分离的)
/api/version (swoole会自动将路由分发出去)该API需要在对应的路由上进行配置route/api.php 同时根据该路由定位到
Route::get(‘version’, ‘admin.Common/version’); 可以看到对应的是admin/common.php文件里面的version
同样导航里面的某个分支: api/store/product/one/lst?page=1&limit=10
定位到 route/api.php 可以看到该路由Route::get(‘one/lst’, ‘StoreProductOne/lst’);
app\controller\api\store\product\StoreProductOne.php
基本上定位到逻辑点,就可以开始对代码进行二次开发。
6.代码的加密部分 (商业部分授权的源码 但是没有全开源)
当前加密代码的运行思路 授权域名搭建 超过域名之后,系统无法运行 如果直接写一套开源的 成本远远超过购买
但是又需要能进行二次开发(因为运营的需求千差万别)
6.用户端的调试 使用uniapp开发 \view\uniapp 前端H5的网页源码 开发改动
装载进入HB里面后, view/uni-app/config/app.js 里面配置服务器的访问域名(由于需要socket通讯,后台部署必须是https的访问证书)
其中默认socket的通讯端口是3000 然后编译运行即可正常看到前端H5网页的效果。
开发完成后,编译打包
7.主要访问:
/admin/login 管理员后台
/merchant/login 商家后台
/kefu/login 客服后台
全栈开发不适合同时打开前端和又打开后台 同时开发(内存压力急剧增大,容易导致电脑响应缓慢)
由于前后端是分离的,所以后端开发API对接即可。
8.加密规则: (默认拿到的用户名密码用的是)
if (!password_verify( p w d = ( s t r i n g ) pwd = (string) pwd=(string)this->request->param(‘password’), $user[‘pwd’])) t h i s − > l o g i n F a i l u r e ( this->loginFailure( this−>loginFailure(account);
注意这里 password_hash 和 password_verify 是php官方推荐的加密 匹配
建议取消传统的 md5(md5(password)*salt)的加密算法(不安全 不会升级 还有时间运算漏洞)