github.com/jincm/wesharechain@v0.0.0-20210122032815-1537409ce26a/server/block/api/account/login.py (about)

     1  #coding:utf-8
     2  
     3  from tornado.web import RequestHandler
     4  import time
     5  from util.exception import ParamExist
     6  from util import common_util
     7  import logging
     8  import json
     9  from operation import user
    10  from operation import verify_manage
    11  
    12  LOG = logging.getLogger(__name__)
    13  
    14  class LoginHandler(RequestHandler):
    15      def initialize(self, **kwds):
    16          pass
    17  
    18      def post(self):
    19          try:
    20              phone = self.get_argument('phone', '')
    21              verify_code = self.get_argument('verify_code', '')
    22  
    23              op = user.UserOp()
    24              # 验证下手机
    25              filters = {
    26                  "phone": phone
    27              }
    28              user_list = op.lists(**filters)
    29              if not user_list:
    30                  self.finish(json.dumps({'state': 2, "message": "User phone not register"}))
    31                  return
    32  
    33              # 验证验证码
    34              code_op = verify_manage.VerifyOp()
    35              # code_list = code_op.lists(**filters)
    36              # if code_list:
    37              #     code_info = code_op.views(code_list[0])
    38              #
    39              # if verify_code != code_info.get('verify_code', ''):
    40              #     self.finish(json.dumps({'state': 3, "message": "Verify code not equl"}))
    41              #     return
    42              verify_re = code_op.verify_code_phone(phone=phone, code=verify_code)
    43              if not verify_re:
    44                  self.finish(json.dumps({'state': 1, "message": "Verify code failed"}))
    45                  return
    46  
    47              _ = op.login(phone)
    48              token = common_util.gen_token(_.get("id"), int(time.time()))
    49              self.finish(json.dumps({
    50                  'state': 0,
    51                  'message': 'ok',
    52                  'user_info': _,
    53                  'token': token
    54              }))
    55          except Exception as ex:
    56              LOG.error("Reset pwd error:%s" % ex)
    57              self.finish(json.dumps({'state': 10, 'message': 'Login error'}))