<?php namespace App\Http\Controllers\QuickApp\Oauth; use App\Consts\SysConsts; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Modules\User\Services\QappUserService; use JWTAuth; class UsersController extends Controller { /** * @apiDefine Login 登录 */ /** * @apiVersion 1.0.0 * @apiDescription 登录 * @api {post} login 登录 * @apiParam {String} device_no 设备号 * @apiParam {String} device_info 设备信息json格式 * @apiParam {Int} send_order_id send_order_id * @apiParam {String} sign 签名(见微信支付签名https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=4_3) * @apiGroup Login * @apiName index * @apiSuccess {int} code 状态码 * @apiSuccess {String} msg 信息 * @apiSuccess {object} data 结果集 * @apiSuccess {String} data.uid 用户uid * @apiSuccess {String} data.token token * @apiSuccess {Int} data.time 过期时间 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * code: 0, * msg: "", * data: { * token:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, * time:123455, * uid:1 * } * } */ public function index(Request $request) { $send_order_id = $request->input('send_order_id', 0); $device_no = $request->input('device_no', ''); $device_info = $request->input('device_info', ''); if ($device_no) { $data = QappUserService::loginStatic(compact('send_order_id', 'device_no', 'device_info')); return response()->success($data); } else { return response()->error('PARAM_ERROR'); } } /** * @apiVersion 1.0.0 * @apiDescription 刷新token * @api {get} refreshToken 刷新token * @apiParam {String} [token] token * @apiHeader {String} [Authorization] token 两个token任选其一 * @apiGroup Login * @apiName RefreshToken * @apiSuccess {int} code 状态码 * @apiSuccess {String} msg 信息 * @apiSuccess {object} data 结果集 * @apiSuccess {String} data.token token * @apiSuccess {Int} data.time 过期时间 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * code: 0, * msg: "", * data: { * token:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, * time:123455 * } * } */ public function refreshToken() { try { $old_token = JWTAuth::getToken(); $token = JWTAuth::refresh($old_token); $time = time() + SysConsts::ONE_HOUR_SECONDS * 2; return response()->success(compact('token', 'time')); } catch (Exception $e) { return response()->error('QAPP_NOT_LOGIN'); } } }