def handle_info(): """ 账号详情 :return: json """ res = ResMsg() token = request.args.get("token") payload = Auth.decode_auth_token(token) userid= payload['user_id'] res_data= dict() user = db.session.query(EtAccount.id, EtAccount.name, EtAccount.role_id, EtAccount.status).filter(EtAccount.name == userid).first() if user: res_data.update(dict(zip(user.keys(), user))) if res_data['role_id']== 1: res_data['roles']= ['admin'] res_data['avatar']= 'https://qiniu.staticfile.org/user_avatar.jpg' del res_data['role_id'] res.update(code=ResponseCode.Success, data=res_data, msg='账号获取成功') return res.data else: res.update(code=ResponseCode.Success, data={},msg='账户异常') return res.data
def test_refresh_token(): """ 刷新token,获取新的数据获取token :return: """ res = ResMsg() refresh_token = request.args.get("refresh_token") if not refresh_token: res.update(code=ResponseCode.InvalidParameter) return res.data payload = Auth.decode_auth_token(refresh_token) # token被串改或过期 if not payload: res.update(code=ResponseCode.PleaseSignIn) return res.data # 判断token正确性 if "user_id" not in payload: res.update(code=ResponseCode.PleaseSignIn) return res.data # 获取新的token access_token = Auth.generate_access_token(user_id=payload["user_id"]) data = { "access_token": access_token.decode("utf-8"), "refresh_token": refresh_token } res.update(data=data) return res.data
def handle_loginout(): """ 账号登出接口 :return: """ res = ResMsg() header_token = request.headers.get("xtoken") access_token = request.args.get("token",header_token) if not access_token: res.update(code=ResponseCode.InvalidParameter) return res.data payload = Auth.decode_auth_token(access_token) if not payload: res.update(code=ResponseCode.PleaseSignIn) return res.data if "user_id" not in payload: res.update(code=ResponseCode.PleaseSignIn) return res.data # @todo 移除accesstoken access_token = None data = {"access_token": None} res.update(code=ResponseCode.Success, data=data, msg='logout success!') return res.data