On this page
加入黑名单api
创建相关文件
php
// 创建黑名单控制器
php think make:controller api/v1/Blacklist
// 创建黑名单模型
php think make:model Blacklist
// 创建黑名单验证器
php think make:validate BlacklistValidate
controller层:application\api\controller\v1\Blacklist.php
php
<?php
namespace app\api\controller\v1;
use think\Controller;
use think\Request;
use app\common\controller\BaseController;
use app\common\validate\BlacklistValidate;
use app\common\model\Blacklist as BlacklistModel;
class Blacklist extends BaseController
{
// 加入黑名单
public function addBlack(){
(new BlacklistValidate())->goCheck();
(new BlacklistModel())->addBlack();
return self::showResCodeWithOutData('加入黑名单成功');
}
}
route层:route\route.php
php
// 用户操作(绑定手机)
Route::group('api/:v1/',function(){
// 加入黑名单
Route::post('addblack','api/:v1.Blacklist/addBlack');
})->middleware(['ApiUserAuth','ApiUserBindPhone','ApiUserStatus']);
validate层:application\common\model\BlacklistValidate.php
php
protected $rule = [
'id'=>'require|integer|>:0|isUserExist'
];
BaseValidate:application\common\model\BaseValidate.php
php
// 用户是否存在
protected function isUserExist($value, $rule='', $data='', $field='')
{
if (\app\common\model\User::field('id')->find($value)) {
return true;
}
return "该用户已不存在";
}
model层:application\common\model\Blacklist.php
php
// 自动写入时间
protected $autoWriteTimestamp = true;
// 加入黑名单
public function addBlack(){
$param = request()->param();
$user_id = request()->userId;
$black_id = $param['id'];
// 不能拉黑自己
if ($user_id == $black_id) TApiException('非法操作',50000,200);
$arr = [ 'user_id'=>$user_id, 'black_id'=>$black_id ];
// 已经存在该记录
if ($this->where($arr)->find()) TApiException('对方已被你拉黑过',40001,200);
// 直接创建
if (!$this->create($arr)) TApiException();
return true;
}