post(); // 根据手机号查询用户 $db = Users::where('phone', '=', $data['phone'])->first(); // 如果未找到用户,返回错误 if (!$db) { return ApiResponse::error(402, '用户未注册'); } // 获取用户输入的密码 $password = $data['password']; // 验证密码是否正确 if (password_verify($password, $db->password)) { $user = [ 'id' => $db->id, 'nickname' => $db->nickname, 'phone' => $db->phone ]; // 如果密码正确,生成 JWT 令牌 $token = JwtToken::generateToken($user); // 返回成功响应和用户信息(可以将 token 添加到响应中) return ApiResponse::success(200, [ 'user' => $user, // 返回用户信息 'token' => $token // 返回生成的 token ]); } else { // 密码错误,返回错误响应 return ApiResponse::error(402, '密码错误'); } } /** * @Apidoc\Title("1.0 注册") * @Apidoc\Url("api/v1/user/register") * @Apidoc\Method("POST") * @Apidoc\Param("phone", type="string",require=true, desc="用户名|手机号") * @Apidoc\Param("password", type="string",require=true, desc="密码") * @Apidoc\Param("idcard", type="string",require=true, desc="身份证号") * @Apidoc\Returned("token", type="object", desc="令牌") */ public function register(Request $request) { $data = $request->post(); $user = UserDao::register($data['phone'], $data['password'], $data['idcard']); if ($user['code'] != 200) { return ApiResponse::error(402, [], $user['message']); } $db = Users::where('phone', '=', $data['phone'])->first(); $user = [ 'id' => $db->id, 'nickname' => $db->nickname, 'phone' => $db->phone ]; // 如果密码正确,生成 JWT 令牌 $token = JwtToken::generateToken($user); $msg = new Message(); $msg->title ="系统提醒"; $msg->content = "您已注册成功"; $msg->type =0; $msg->userid =$db->id; $msg->parameters=""; // 返回成功响应和用户信息(可以将 token 添加到响应中) return ApiResponse::success(200, [ 'user' => $user, // 返回用户信息 'token' => $token // 返回生成的 token ]); } /** * @Apidoc\Title("1.0 修改用户信息") * @Apidoc\Url("api/v1/user/edi") * @Apidoc\Method("POST") * @Apidoc\Param("nickname", type="string",require=true, desc="昵称") * @Apidoc\Param("oldpassword", type="string",require=true, desc="旧密码") * @Apidoc\Param("password", type="string",require=true, desc="密码") */ public function edi(Request $request) { $data = $request->post(); $user = $request->data; $userid = $user['id']; $db = Users::where('id', '=', $userid)->first(); if (isset($data['password']) && $data['password'] != '') { if (password_verify($data['oldpassword'], $db->password)) { UserDao::chang_passwd($userid, $data['password']); return ApiResponse::success(200, [], "修改密码成功"); } return ApiResponse::success(402, [], "旧密码错误"); } if (isset($data['nickname']) && $data['nickname'] != '') { UserDao::chang_nickname($userid, $data['nickname']); $user = [ 'id' => $db->id, 'nickname' => $data['nickname'], ]; // 返回成功响应和用户信息(可以将 token 添加到响应中) return ApiResponse::success(200, [ 'user' => $user, // 返回用户信息 ]); } } /** * @Apidoc\Title("1.0 获取用户信息") * @Apidoc\Url("api/v1/user/get_info") * @Apidoc\Method("POST") */ public function get_info(Request $request) { $data = $request->post(); $user = $request->data; $userid = $user['id']; $db = Users::where('id', '=', $userid)->first(['phone', 'nickname']); return ApiResponse::success(200, $db); } /** * @Apidoc\Title("1.0 设置用户短信是否接受") * @Apidoc\Url("api/v1/user/set_msg_setting") * @Apidoc\Param("acceptmessages", type="int",require=true, desc="1接受0不接受") * @Apidoc\Method("POST") */ public function set_msg_setting(Request $request) { $data = $request->post(); $user = $request->data; $userid = $user['id']; $db = Users::where('id', '=', $userid)->first(); $db->acceptmessages=$data['acceptmessages']; $db->save(); return ApiResponse::success(200, $db); } /** * @Apidoc\Title("1.0 获取用户短信设置") * @Apidoc\Url("api/v1/user/get_msg_setting") * @Apidoc\Method("POST") */ public function get_msg_setting(Request $request) { $data = $request->post(); $user = $request->data; $userid = $user['id']; $db = Users::where('id', '=', $userid)->first(['acceptmessages']); return ApiResponse::success(200, $db); } }