From 49ac519a5eeb72f0903636125815b65a732c8092 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Mon, 13 Feb 2023 19:58:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BA=8C=E7=BB=B4=E7=A0=81=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/UsersController.php | 34 +++ package.json | 1 + resources/assets/js/pages/login.vue | 224 ++++++++++++------ resources/assets/js/pages/manage.vue | 2 - .../assets/js/pages/manage/setting/index.vue | 2 - resources/assets/sass/pages/common.scss | 16 ++ resources/assets/sass/pages/page-login.scss | 69 ++++-- 7 files changed, 255 insertions(+), 93 deletions(-) diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 20ec2711c..244f3b9c2 100755 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -144,6 +144,40 @@ class UsersController extends AbstractController return Base::retSuccess($type == 'reg' ? "注册成功" : "登录成功", $user); } + /** + * @api {get} api/users/login/qrcode 02. 二维码登录 + * + * @apiDescription 通过二维码code登录(或:是否登录成功) + * @apiVersion 1.0.0 + * @apiGroup users + * @apiName login__qrcode + * + * @apiParam {String} type 类型 + * - login: 登录(用于:app登录) + * - status: 状态 (默认,用于:网页、客户端获取) + * @apiParam {String} code 二维码 code + * + * @apiSuccess {Number} ret 返回状态码(1需要、0不需要) + * @apiSuccess {String} msg 返回信息(错误描述) + * @apiSuccess {Object} data 返回数据 + */ + public function login__qrcode() + { + $type = trim(Request::input('type')); + $code = trim(Request::input('code')); + // + if (strlen($code) < 32) { + return Base::retError("参数错误"); + } + if ($type === 'login') { + $user = User::auth(); + Cache::put("User::qrcode:" . $code, $user->userid, Carbon::now()->addMinute()); + return Base::retSuccess("扫码成功"); + } + // todo 登录成功 + return Base::retError("No identity"); + } + /** * @api {get} api/users/login/needcode 02. 是否需要验证码 * diff --git a/package.json b/package.json index 7ee43f56a..cfa5afd65 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "url": "git+https://github.com/kuaifan/dootask.git" }, "devDependencies": { + "@chenfengyuan/vue-qrcode": "^1.0.2", "axios": "^0.24.0", "cross-env": "^7.0.3", "css-loader": "^6.7.2", diff --git a/resources/assets/js/pages/login.vue b/resources/assets/js/pages/login.vue index 03d512876..ff97c2d02 100644 --- a/resources/assets/js/pages/login.vue +++ b/resources/assets/js/pages/login.vue @@ -4,82 +4,99 @@