| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- // +----------------------------------------------------------------------
- // | Niucloud-admin 企业快速开发的saas管理平台
- // +----------------------------------------------------------------------
- // | 官方网址:https://www.niucloud.com
- // +----------------------------------------------------------------------
- // | niucloud团队 版权所有 开源版本可自由商用
- // +----------------------------------------------------------------------
- // | Author: Niucloud Team
- // +----------------------------------------------------------------------
- namespace app\api\controller\login;
- use app\dict\member\MemberLoginTypeDict;
- use app\service\api\captcha\CaptchaService;
- use app\service\api\login\ConfigService;
- use app\service\api\login\LoginService;
- use core\base\BaseController;
- use Exception;
- use think\Response;
- class Login extends BaseController
- {
- /**
- * 登录
- * @return Response
- */
- public function login()
- {
- $data = $this->request->params([
- ['username', ''],
- ['password', ''],
- ]);
- //校验登录注册配置
- ( new ConfigService() )->checkLoginConfig(MemberLoginTypeDict::USERNAME);
- //参数验证
- //验证码验证
- $result = (new LoginService())->account($data['username'], $data['password']);
- if (!$result) {
- //账号密码错误, 重置验证码
- return fail('ACCOUNT_OR_PASSWORD_ERROR');
- }
- return success($result);
- }
- /**
- * 登出
- * @return Response
- */
- public function logout()
- {
- (new LoginService)->logout();
- return success('MEMBER_LOGOUT');
- }
- /**
- * 创建验证码
- * @return Response
- */
- public function captcha()
- {
- return success((new CaptchaService())->create());
- }
- /**
- * 发送手机验证码
- * @param $type
- * @return Response
- * @throws Exception
- */
- public function sendMobileCode($type)
- {
- $data = $this->request->params([
- ['mobile', ''],
- ]);
- return success((new LoginService())->sendMobileCode($data['mobile'], $type));
- }
- /**
- * 手机号登录
- * @return Response
- */
- public function mobile()
- {
- $data = $this->request->params([
- ['mobile', ''],
- [ 'nickname', '' ],
- [ 'headimg', '' ],
- [ 'mobile', '' ],
- [ 'openid', '' ]
- ]);
- //校验登录注册配置
- ( new ConfigService() )->checkLoginConfig(MemberLoginTypeDict::MOBILE);
- return success((new LoginService())->mobile($data));
- }
- /**
- * 重置密码
- * @return Response
- */
- public function resetPassword()
- {
- $data = $this->request->params([
- ['mobile', ''],
- ['password', '']
- ]);
- //参数验证
- $this->validate($data, 'app\validate\member\Member.reset_password');
- (new LoginService())->resetPassword($data['mobile'], $data['password']);
- return success('PASSWORD_RESET_SUCCESS');
- }
- }
|