Skip to content
关注公众号,获取新课通知
【重要通知】uniapp实战社区交友交流群更换为:602180461,靓仔/靓女可以重新申请加入哦~

加入黑名单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;
}