| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Helpers\Jwt;
- use App\Http\Validator\MemberValidator;
- use App\Services\Api\MemberService;
- use App\Services\ConfigService;
- use App\Services\EmailService;
- use App\Services\RedisService;
- use App\Services\SmsService;
- /**
- * 授权登录控制器基类
- * Class LoginController
- * @package App\Http\Controllers
- */
- class LoginController extends webApp
- {
- /**
- * 用户登录
- * @return array
- */
- public function login()
- {
- $params = request()->all();
- $account = isset($params['account']) ? $params['account'] : '';
- $type = isset($params['type']) && $params['type'] ? $params['type'] : 1;
- if (empty($account)) {
- return message("210{$type}", false);
- }
- if (!in_array($type, [1, 2, 3])) {
- return message("登录类型暂不支持", false);
- }
- // 授权
- if ($res = MemberService::make()->login($params)) {
- return showJson('登录成功', true, $res);
- } else {
- return showJson(MemberService::make()->getError(), false);
- }
- }
- /**
- * 邀请注册账号
- * @return array
- */
- public function register()
- {
- $params = request()->all();
- $account = isset($params['account']) ? $params['account'] : '';
- $incode = isset($params['incode']) ? $params['incode'] : '';
- $type = isset($params['type']) && $params['type'] ? $params['type'] : 1;
- if (empty($account)) {
- return message("210{$type}", false);
- }
- if(empty($incode)){
- return message("请填写邀请码", false);
- }
- if (!in_array($type, [1, 2, 3])) {
- return message("账号类型暂不支持", false);
- }
- // 授权
- if ($res = MemberService::make()->register($params)) {
- return showJson('注册成功,请下载APP后登录使用', true, $res);
- } else {
- return showJson(MemberService::make()->getError(), false);
- }
- }
- /**
- * 修改账号信息
- * @param MemberValidator $validator
- * @return array
- */
- public function forget(MemberValidator $validator)
- {
- $params = request()->all();
- $params = $validator->check($params, 'modify_password');
- if (!is_array($params)) {
- return showJson($params, false);
- }
- if(!MemberService::make()->forget($params)){
- $error = MemberService::make()->getError();
- return showJson($error,false,'',$error==1040?405:0);
- }else{
- return showJson(MemberService::make()->getError(),true);
- }
- }
- /**
- * 发送短信验证码
- * @return array
- */
- public function smsSend(MemberValidator $validator)
- {
- $params = request()->all();
- $params = $validator->check($params, 'sms');
- $appSources = isset($params['app_sources']) ? $params['app_sources'] : '';
- if (!is_array($params)) {
- return showJson($params, false);
- }
- // 发送验证码处理
- $mobile = isset($params['account']) ? $params['account'] : '';
- $scene = isset($params['scene']) ? $params['scene'] : '';
- switch ($scene) {
- case 'reg':
- if (MemberService::make()->checkExists('mobile', $mobile)) {
- return showJson(1035, false,'', 406);
- }
- break;
- case 'modify_mobile':
- if (MemberService::make()->checkExists('mobile', $mobile)) {
- return showJson(1035, false,'', 406);
- }
- break;
- case 'reset_password':
- }
- if (!SmsService::make()->send($mobile, $scene)) {
- return showJson(SmsService::make()->getError(), false);
- }
- return showJson(1011, true);
- }
- /**
- * 发送邮箱验证码
- * @return array
- */
- public function emailSend(MemberValidator $validator)
- {
- $params = request()->all();
- $params = $validator->check($params, 'email');
- $appSources = isset($params['app_sources']) ? $params['app_sources'] : '';
- if (!is_array($params)) {
- return showJson($params, false);
- }
- // 发送验证码处理
- $email = isset($params['account']) ? $params['account'] : '';
- $scene = isset($params['scene']) ? $params['scene'] : '';
- switch ($scene) {
- case 'reg':
- if (MemberService::make()->checkExists('email', $email)) {
- return showJson(2009, false, ['app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"),], 406);
- }
- break;
- case 'modify_email':
- if (MemberService::make()->checkExists('email', $email)) {
- return showJson(2009, false, ['app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"),], 406);
- }
- break;
- case 'reset_password':
- }
- if (!EmailService::make()->send($email, $scene)) {
- return showJson(EmailService::make()->getError(), false);
- }
- return showJson(2020, true);
- }
- }
|