123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- /**
- * Created by PhpStorm.
- * Author: NODELOG
- * DateTime: 2017/3/8 14:30
- * Description:
- */
- namespace api\modules\v1\controllers;
- use api\common\behaviors\QueryParamAuth;
- use api\common\controllers\Controller;
- use api\common\models\User;
- use api\modules\v1\models\LoginForm;
- use common\enums\CodeEnum;
- use common\helpers\wx\Application;
- use common\helpers\wx\mini\PhoneNumber;
- use Yii;
- use yii\helpers\ArrayHelper;
- use yii\web\ServerErrorHttpException;
- class AuthController extends Controller
- {
- public function behaviors()
- {
- return ArrayHelper::merge(parent::behaviors(), [
- [
- 'class' => QueryParamAuth::className(),
- 'tokenParam' => 'token',
- 'optional' => ['login', 'login-by-id']
- ]
- ]);
- }
- /**
- * @api {post} /v1/auth/login 微信登录
- * @apiGroup 授权
- * @apiVersion 1.0.0
- *
- * @apiDescription 微信小程序微信授权自动注册登录
- *
- * @apiSuccess {Number} errcode 状态码,0:请求成功
- * @apiSuccess {String} errmsg 提示信息
- * @apiSuccess {Object} data 用户信息
- * @apiSuccess {String} token 授权访问token
- *
- * @apiError {Number} errcode 状态码,500:请求失败
- * @apiError {String} errmsg 提示信息
- *
- * @apiSuccessExample {json} 成功响应:
- * {"errcode":0,"errmsg":"ok","data":{},"token":''}
- *
- * @apiErrorExample {json} 失败响应:
- * {"errcode":500,"errmsg":"请求失败"}
- *
- * @author nodelog
- */
- public function actionLogin()
- {
- $model = new LoginForm();
- $model->load(request()->post(), '');
- if ($model->login()) {
- /**
- * @var User $user
- */
- $user = \Yii::$app->user->identity;
- // if (empty($user->token) || $user->expired_at < time()) {
- $user->generateAccessToken(request()->headers->get('token'));
- $user->save(false);
- // }
- return ['data' => User::findOne($user->id)];
- } else {
- return ['errcode' => CodeEnum::CODE_ERROR, 'errmsg' => '登录失败' . current($model->getErrors())[0]];
- }
- }
- /**
- * @api {post} /v1/auth/logout 退出登录
- * @apiGroup 授权
- * @apiName logout
- * @apiVersion 1.0.0
- *
- * @apiDescription 清除登录状态
- *
- * @apiParam {Integer} token 授权访问token.
- *
- * @apiSuccess {Number} errcode 状态码,0:请求成功
- * @apiSuccess {String} errmsg 提示信息
- *
- * @apiError {Number} errcode 状态码,500:请求失败
- * @apiError {String} errmsg 提示信息
- *
- * @apiSuccessExample {json} 成功响应:
- * {"errcode":0,"errmsg":"ok"}
- *
- * @apiErrorExample {json} 失败响应:
- * {"errcode":500,"errmsg":"请求失败"}
- *
- */
- public function actionLogout()
- {
- if (\Yii::$app->user->logout()) {
- return [];
- }
- }
- }
|