本文介绍一下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 不胜感激 !