Laravel构建注册接口

这项接口分为以下4个步骤
1.建表
首先建立一张Users表,包含有用户id、用户昵称、用户手机号、用户密码、用户头像、创建时间、更新时间


Laravel构建注册接口_第1张图片
image.png

这里使用了自建的一个ID生成服务,根据位数生成唯一的ID
2.关联模型
使用artisan命令生成一个Eloqument模型,名为Usres;
设置主键非自增;
设置表名;

3.验证码验证
生成一个校验用的控制器,名为AuthController,构建一个注册方法register,
使用CodeService来进行短信验证码校验

/*
     * 注册账号
     * */
    public function register(CodeService $codeService,RegisterRequest $request){
$phone = $request['phone'];
        //验证码校验
        if($codeService->checkCode($request['phone'],$request['code'])){
            //账号唯一性校验

            if (Users::where('phone','=',$phone)->first()){
                return $this->failed('该手机号已注册');
            }else{
                $this->userService->createUser($request);
                return $this->success('注册成功');
            }
        }else{
            return $this->failed('验证码错误');
        }
}

4.用户入库逻辑
新建一个UserService,来新建一条用户数据

/**
     * 创建用户
     *
     * @param $request
     */
    public function createUser($request){
        $autoIdService = new AutoIdService();
        $userId = $autoIdService->buildId('7');
        $phone = $request->get('phone');
        $password = $request->get('password');
        $password_bcrypt = bcrypt($request->get('password'));

        $user = new  Users();

        $user->id = $userId;
        $user->phone = $phone;
        $user->nick_name = '用户'.$userId;
        $user->password = $password_bcrypt;
        $user->head_image = 'default_head_image.png';
        var_dump($user);
        $user->save();

        return $user;
    }

最后在api.php内加上接口即可

这里将密码进行bcrypt加密入库

你可能感兴趣的:(Laravel构建注册接口)