| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Modes\User;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Validator;
- class AuthController extends Controller
- {
- /**
- * 注册
- * @author fatty
- * @date 2018/12/13
- * @description
- */
- public function reg(Request $request)
- {
- $validator = Validator::make($param = $request->all(), [
- 'mobile' => [
- 'required',
- 'string',
- 'regex:/^[1][3,4,5,7,8][0-9]{9}$/',
- function ($attribute, $value, $fail) {
- if (User::whereMobile($value)->exists()) {
- return $fail('手机号码已注册');
- }
- },
- ],
- 'password' => 'required|min:6',
- 'invitor' => [
- 'required',
- function ($attribute, $value, $fail) {
- if (User::whereInviteCode($value)->exists() == false) {
- return $fail('邀请码不存在');
- }
- },
- ],
- ]);
- if ($validator->fails()) {
- return showJson(102, $validator->errors()->first());
- }
- $param['invitor'] = User::whereInviteCode($param['invitor'])->first()->id;
- $user = User::addGetId($param);
- if ($user == false) {
- return showJson(102, '注册失败,请稍后重试');
- }
- return showJson(101, '注册成功', [
- 'accessToken' => Auth::guard('api')->tokenById($user),
- ]);
- }
- /**
- * 登录
- * @author fatty
- * @date 2018/12/13
- * @description
- */
- public function login(Request $request)
- {
- $validator = Validator::make($param = $request->post(), [
- 'type' => 'required|between:1,2',
- 'mobile' => 'required|string|exists:user,mobile',
- ]);
- //修改wsl20190624
- if(@$param['type'] == 1){
- $validator = Validator::make($param = $request->post(), [
- 'password' => 'required_without:sms|min:6',
- ]);
- }
- if ($validator->fails()) {
- return showJson(102, $validator->errors()->first());
- }
- if ($param['type'] == 1) {//密码登录
- $users = Auth::guard('api')->attempt(['mobile' => $param['mobile'], 'password' => $param['password']]);
- if (!$users) {
- return showJson(102, 10003);
- }
- $user = User::whereMobile($param['mobile'])->first();
- if ($user->status == 2) {
- return showJson(102, '账号已冻结');
- }
- } else {
- // 验证短信
- $smsProvider = \App::make('sms');
- $sms = $smsProvider->verifySms($param['mobile'], $param['sms']);
- if ($sms == false) {
- return showJson(102, '短信验证码错误');
- }
- $user = User::whereMobile($param['mobile'])->first();
- }
- if ($user->is_frontend != 1) {
- return showJson(102,'抱歉,您不是前端用户');
- }
- return showJson(101, '登录成功', [
- 'accessToken' => Auth::guard('api')->tokenById($user->id)
- ]);
- }
- /**
- * 忘记密码
- * @author fatty
- * @date 2019/2/28
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- */
- public function forgetpass(Request $request)
- {
- $validator = Validator::make($param = $request->post(), [
- 'mobile' => 'required|exists:user,mobile',
- 'password' => 'required|min:6',
- 'sms' => 'required|size:4'
- ]);
- if ($validator->fails()) {
- return showJson(102, $validator->errors()->first());
- }
- // 验证短信
- $smsProvider = \App::make('sms');
- $sms = $smsProvider->verifySms($param['mobile'], $param['sms']);
- if ($sms == false) {
- return showJson(102, '短信验证码错误');
- }
- $update = User::whereMobile($param['mobile'])->update(['password' => User::encodePassword($param['password'])]);
- if (empty($update)) {
- return showJson(102, '修改失败');
- }
- return showJson(101, '修改成功');
- }
- }
|