共计 2024 个字符,预计需要花费 6 分钟才能阅读完成。
本文介绍一下 CRMEB 单商户 PRO 二次开发的操作流程,从创立数据库,到实现一个残缺增加数据的过程,其余更多办法实现只是路由和办法名的差别,也就不过多赘述。
一、创立数据库
例如数据库名为:eb_test
字段为:id,uid,sort,status,add_time
SQL:
CREATE TABLE eb_test
(id
int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT,uid
int(10) NOT NULL DEFAULT ‘0’ COMMENT ‘ 用户 id’sort
SMALLINT(5) NOT NULL DEFAULT ‘0’ COMMENT ‘ 排序 ’,status
tinyint(1) NOT NULL DEFAULT ‘1’ COMMENT ‘ 状态 ’,add_time
int(10) NOT NULL DEFAULT ‘0’ COMMENT ‘ 增加工夫 ’
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’test 表 ’;
二、创立必要文件,为了更好的治理我给这个模块独自减少一个 test 文件目录。
1. 首创立 model:
门路:app/model/test/Test.php
代码如下:
namespace app\model\test;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
class Test extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'test';
}
2. 创立 dao 文件:
门路:app/dao/test/Test.php
代码如下:
namespace app\dao\test;
use app\dao\BaseDao;
use app\model\test\Test;
/**
*
- Class TestDao
- @package app\dao\diy
*/
class TestDao extends BaseDao
{
/**
* 设置模型
* @return string
*/
protected function setModel(): string
{return Test::class;}
}
3、创立 services 文件
门路:app/services/test/Test.php
代码如下:
namespace app\services\test;
use app\services\BaseServices;
use app\dao\test\TestDao;
/**
*
- Class DiyServices
- @package app\services\test
*/
class TestServices extends BaseServices
{
/**
* PageLinkServices constructor.
* @param TestDao $dao
*/
public function __construct(TestDao $dao)
{$this->dao = $dao;}
}
4、创立控制器文件
后盾的控制器咱们写在 app/admin,前台接口控制器 app/api
比方咱们当初写后盾的控制器代码如下:
·namespace app\controller\admin\v1\test;
use app\controller\admin\AuthController;
use app\services\test\TestServices;
use think\facade\App;
/**
- Class PageLink
- @package app\controller\admin\v1\test
*/
class Test extends AuthController
{
/**
* PageLink constructor.
* @param App $app
* @param TestServices $services
*/
public function __construct(App $app, TestServices $services)
{parent::__construct($app);
$this->services = $services;
}
/**
- 获取列表
- @return mixed
*/
public function list()
{
return $this->success($this->services->getList());
}
}
5、路由文件:
后盾的接口路由 route/admin。前台接口路由 route/api
// 获取列表
Route::get(‘get_test_list’,’v1.test.Test/list)->option([‘real_name’ => ‘ 获取列表 ’]);
如果你感觉这篇文章对你有点用的话,麻烦请给咱们的开源我的项目点点 star: http://github.crmeb.net/u/defu 不胜感激!