CRMEB多商户二开教程1
定义新的接口
本文介绍一下CRMEB多商户二次开发的操作流程,从创建数据库,到实现一个完整添加数据的过程,其他更多方法实现只是路由和方法名的差异。
一、创建数据库
例如数据库名为:eb_is_test
字段为:id,name
CREATE TABLE eb_is_test
(
id
int(11) unsigned NOT NULL AUTO_INCREMENT,
name
varchar(111) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、创建必要文件
为了更好的管理我给这个模块单独增加一个test文件目录。
创建model
路径:app/common/moel/test/IsTest.php
<?php namespace app\common\model\test; use app\common\model\BaseModel; class IsTest extends BaseModel { public static function tablePk(): ?string { return 'id'; } public static function tableName(): string { return 'is_test'; } } 创建dao文件 路径 :app/common/dao/test/IsTestDao.php <?php namespace app\common\dao\test; use app\common\dao\BaseDao; use app\common\model\test\IsTest; class IsTestDao extends BaseDao { protected function getModel(): string { return IsTest::class; } } 创建repository文件 路径:app/common/repository/test/IsTestRepository.php <?php namespace app\common\repositories\test; use app\common\dao\test\IsTestDao; use app\common\repositories\BaseRepository; class IsTestRepository extends BaseRepository { protected $dao; public function __construct(IsTestDao $dao) { $this->dao = $dao; } } 创建contorller 平台后台的操作就创建在admin目录,商户创建在merchant目录,用户创建在 api 目录 路径:app/conotroller/admin/test/IsTest.php <?php namespace app\controller\admin\test; use app\common\repositories\test\IsTestRepository; use crmeb\basic\BaseController; use think\App; class IsTest extends BaseController { protected $repository; public function __construct(App $app,IsTestRepository $repository) { parent::__construct($app); $this->repository = $repository; } } 这样我们的必备的几个基础文件就好了,以上每个文件中的方法,都是必须创建的,否则会报错。 controller主要是针对路由对外访问的接口方法 repository就是写一些公用的会重复利用的逻辑处理等方法 dao针对数据库的操作 model定义数据表映射对象 三.创建新的接口,开发功能 因为是平台功能,就在route/admin.php文件增加路由,修改路由文件后记得重启一下swoole服务。 Route::group('is_test',function(){ Route::post('create', '/create')->name('systemIsTestCreate'); })->prefix('admin.test.IsTest); 在controller文件中写相对应的功能,创建方法create <?php namespace app\controller\admin\test; use app\common\repositories\test\IsTestRepository; use crmeb\basic\BaseController; use think\App; class IsTest extends BaseController { protected $repository; public function __construct(App $app,IsTestRepository $repository) { parent::__construct($app); $this->repository = $repository; } public function create() { $data = $this->request->params(['name']); $this->repository->create($data); return app('json')->success('添加成功'); } } 这样我们的一个添加数据的功能就完成了,当然如果有更多数据和逻辑需要处理,就可以在IsTestRepository 这个文件中创建一个create()方法,然后做想相对应的处理,比如把name存储为json字符串 <?php namespace app\common\repositories\test; use app\common\dao\test\IsTestDao; use app\common\repositories\BaseRepository; class IsTestRepository extends BaseRepository { protected $dao; public function __construct(IsTestDao $dao) { $this->dao = $dao; } public function create($data) { $data = [ 'name' => json_encode($data) ]; $this->dao->create($data); } } 如果需要调用别的控制器的方法可以是用make方法,例如想在添加的时候调用user表查看数据 <?php namespace app\common\repositories\test; use app\common\dao\test\IsTestDao; use app\common\repositories\BaseRepository; use app\common\repositories\user\UserRepository; class IsTestRepository extends BaseRepository { protected $dao; public function __construct(IsTestDao $dao) { $this->dao = $dao; } public function create($data) { //$user = app()->make(UserRepository::class)->get(1); //此处方法和上面一行的写法一致,只是这样写可以不用重复make $make = app()->make(UserRepository::class); $user = $make->get(1); $data = [ 'name' => json_encode($data) ]; $this->dao->create($data); } }
CRMEB多商户二开教程1相关推荐
- CRMEB多商户二开教程3
**创建新的组合数据** 本文给大家介绍CRMEB多商户如何创建,维护,使用组合数据功能. 创建组合数据规则 先找到组合数据管理页面,点击添加组合数据按钮 创建组合数据规则 这里以首页banner数据 ...
- CRMEB多商户二开教程2
**创建新的页面** 新建一个页面的流程 一. 在原来的文件夹中添加一个新的页面: 比如在product文件夹下新建一个商品保障服务的页面productGuarantee 首先在views目录下的pr ...
- crmeb多商户二开crmeb多商户授权失败
crmeb多商户二开crmeb多商户授权失败 如果测试域名crmeb-test.授权域名 提示授权失败, 例如: 授权域名 mer.crmeb.net, 则测试域名为crmeb-test.mer.cr ...
- CRMEB多商户二开流程介绍
本文介绍一下CRMEB多商户二次开发的操作流程,从创建数据库,到实现一个完整添加数据的过程,其他更多方法实现只是路由和方法名的差异,也就不过多赘述. 一.创建数据库 例如数据库名为:eb_is_tes ...
- crmeb多商户二开更换短信模板二开文档
使用多商户系统的时候,可能某些短信的模板并不太符合我们的需求,所以需要修改短信的模板及发送的短信内容,这里演示一下完整的操作. 一.申请短信模板 这里申请后等待审核,也可以联系客服或者售后技术处理,{ ...
- crmeb多商户二开crmeb类库二开文档 Basic基类【1】
Basic基类 目录结构 ├─basic │ BaseController.php │ BaseManager.php │ BaseMessage.php │ BaseStorage.php │ Ba ...
- crmeb多商户二开退款流程文档
退款流程 一. 申请退款 \app\controller\api\store\order\StoreRefundOrder::refund 业务逻辑: 检查订单状态 检查退款数量,退款金额 创建退款单 ...
- crmeb 多商户app打包教程
crmeb 多商户app打包教程 App打包(使用Hbuilder进行App打包) 一.修改接口地址 1.打开uni-app下config/app.js修改接口地址,将下图两个地址修改成您的域名 二. ...
- crmeb开源版二开好方便
crmeb使用thinkphp6框架就能行底层逻辑的搭建,thinkphp是一款非常好用的框架也容易上手,开发教程又多加之crmeb开源版对目录结构.代码功能.数据库字典一一列出,方便有需要的开发者对 ...
最新文章
- 2019年全球企业人工智能发展现状分析报告
- java不能修改表_java中不可修改列表的类型是什么
- 树莓派3b+在tf卡配置wifi连接+ssh
- DICOM 开发工具总结
- 【效率】这个神器可以摆脱变量命名纠结!
- 合工大计算机研究生毕业工资,合肥工业大学2019届薪酬统计
- 公差基本偏差代号_508/f7:基本偏差怎么查,标准公差又怎么查?
- SURF特征提取分析(一)
- vue 使用axios发送的请求使用md5加密
- python时间序列预测不连续怎么办_手把手教你用Python处理非平稳时间序列(附代码)...
- C# in Depth
- Protel99SE多张原理图的设计步骤
- 网线连接威纶触摸屏失败的解决方法
- mysql 1236错误_mysql故障~Got fatal error 1236 解决方法
- VMware教程:设置 CentOS 7 共享文件夹
- 2022年国庆红旗头像制作微信小程序源码
- Linux基本操作1
- android app安装的过程,Pm install App流程
- 加密衍生品赛道异军突起 CBOEX如何做到攻守兼备灵巧破局?
- 搞不定Serverless?让你秒懂掌握Profiling让一份程序优雅自适应
热门文章
- Matlab舌体分割,中医舌体图像自动分割算法的研究
- 深入解析SpringBoot核心运行原理和运作原理源码
- [附源码]Python计算机毕业设计SSM基于协同过滤算法的甜品推荐系统(程序+LW)
- 替换法(代入法)求解递归式
- vue请求数据放在created好还是mounted里好
- 技术笔记:如何在win10操作系统中卸载自带的office(前提是无法在控制面板中卸载)
- 项目实战——产品设计
- BatchFormer:有效提升数据稀缺场景的模型泛化能力|CVPR2022
- Laravel博客系统开发--邮件操作(忘记/重置密码)
- 暴雪中国:上周与网易探讨顺延六个月现有游戏服务协议遭拒绝