示例#1
0
def confirm(phone, input_code):
    # 从缓存cache中读取phone对应的验证码
    # 和input_code进行比较,如果通过则返回True
    if  rd.get(phone):
        if input_code == rd.get(phone).decode():
            rd.delete(phone)
            return True
示例#2
0
文件: sms.py 项目: nancb/mywk
def confirm_code(phone, input_code):
    try:
        phone1 = "*" + phone
        if rd.get(phone1).decode() == input_code:
            return True
        else:
            return False
    except:
        return False
示例#3
0
文件: sms.py 项目: nancb/mywk
def confirm(phone, input_code):
    # 从缓存cache中读取phone对应的验证码
    # 和input_code进行比较,如果通过则返回True
    # print(rd.get(phone))
    # print(rd.get(phone).decode())
    try:
        if rd.get(phone).decode() == input_code:
            return True
        else:
            return False
    except:
        return False
示例#4
0
def user_login():
    # 登录
    req_data = request.get_json()
    code = get_code()
    if not all((req_data.get('tel', False), req_data.get('idtf', False))):
        phone = str(req_data.get('tel'))
        result = check_login_tel(phone).get_json()
        if result.get('code') == 300:
            resp = send_sms_code(phone, code).decode()
            if resp[-4:-2] == "OK":
                rd.set(phone, code)
                rd.expire(phone, 120)
                return jsonify({
                    'code': 200,
                    'msg': '验证码发送成功',
                })
            else:
                return jsonify({'code': 400, 'msg': '验证码发送失败'})
        else:
            return jsonify({'code': 403, 'msg': '该手机号尚未注册注册!'})
    else:
        phone = req_data.get('tel')
        idtf = str(req_data.get('idtf'))
        temp2 = rd.get(phone)
        if not temp2:
            return jsonify({
                'code': 404,
                'msg': '验证码已过期',
            })
        temp2 = temp2.decode()
        if temp2 == idtf:
            token = cache.new_token()
            data = UserDao().get_jd_user(phone)
            user_id = data[0]['user_id']
            pay_pwd = data[0]['pay_pwd']
            if pay_pwd is None:
                result_pwd = False
            else:
                result_pwd = True
            rd.set(token, user_id)
            rd.expire(token, 3600 * 12)
            return jsonify({
                'code': 200,
                'msg': '登录成功!',
                'token': token,
                'data': data[0],
                'bool_pay_pwd': result_pwd
            })
        else:
            return jsonify({'code': 400, 'msg': '注册失败,验证码错误'})
示例#5
0
def check_sms(u_phone, msg_code):
    res = None
    try:
        r_msg_code = rd.get(u_phone)
        if not r_msg_code:
            return {'code': 203, 'msg': '短信验证码不存在,或已过期'}
        r_msg_code = r_msg_code.decode()
        if r_msg_code != msg_code:
            return {'code': 204, 'msg': '短信验证码输入错误'}
    except Exception as e:
        api_logger.error(e)
        res = {'code': 202, 'msg': '数据库查询失败'}

    return res
示例#6
0
def user_regist():
    code = get_code()
    req_data = None
    print(code)
    api_logger.info(request.headers)

    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()

    if req_data is None:
        api_logger.warn('%s 请求参数未上传-json' % request.remote_addr)
        return jsonify({'code': 400, 'msg': '请上传json数据,且参数必须按api接口标准给定'})

    api_logger.debug(req_data)
    if not all((req_data.get('tel', False), req_data.get('idtf', False))):

        phone = str(req_data.get('tel'))
        ret = re.match(r"^1[35678]\d{9}$", phone)
        if ret:
            result = check_login_tel(phone).get_json()
            if result.get('code') == 400:
                resp = send_sms_code(phone, code).decode()
                if resp[-4:-2] == "OK":
                    rd.set(phone, code)
                    rd.expire(phone, 120)
                    return jsonify({
                        'code': 200,
                        'msg': '验证码发送成功',
                    })
                else:
                    return jsonify({'code': 400, 'msg': '验证码发送失败'})
            else:
                return jsonify({'code': 403, 'msg': '该账号已注册'})
        else:
            return jsonify({'code': 400, 'msg': '请输入正确的手机号'})
    else:
        phone = req_data.get('tel')
        idtf = str(req_data.get('idtf'))
        temp2 = rd.get(phone).decode()
        if temp2 == idtf:
            user_id = get_uid()
            dao = UserDao()
            req_data = {
                'tel': phone,
                'user_id': user_id,
                'user_name': user_id,
                'auth_string': 'jd' + phone,
                "asset": 0,
                "u_intg": 100
            }
            dao.save(**req_data)
            token = cache.new_token()
            rd.set(token, user_id)
            rd.expire(token, 3600 * 12)
            req_data = {
                'tel': phone,
                'user_id': user_id,
                'user_name': user_id,
                'auth_string': 'jd' + phone,
                "u_intg": 100,
                "asset": 0,
                "token": token,
                'bool_pay_pwd': False
            }
            return jsonify({'code': 200, 'msg': '注册成功', 'data': req_data})
        else:
            return jsonify({'code': 400, 'msg': '注册失败,验证码错误'})
示例#7
0
def get_token_user_id(token):
    # 通过token获取user_id
    if check_token(token):
        return rd.get(token).decode()
示例#8
0
文件: cache.py 项目: nancb/mywk
from libs import rd
import uuid
def new_token():
    return uuid.uuid4().hex
def save_token(token,user_id):
    #保存
    rd.set(token,user_id)
    rd.expire(token, 12 * 3600)  # 有效时间: 12小时
def check_token(token):
    # 验证token
    return rd.exists(token)
def get_token_user_id(token):
    # 通过token获取user_id
    if check_token(token):
        return rd.get(token).decode()
if __name__ == '__main__':
    # print(rd.exists('e620b40cd10d4049b12fd47787d36dc1'))
    print(rd.get('6b5110772b24453599e90bfb59794149').decode())