def login_pwd(): api_logger.debug('user phone_login get action!') resp = eval(request.get_data()) if resp: u_phone = resp.get('u_phone') u_auth_string = resp.get('u_auth_string') if all((bool(u_phone), bool(u_auth_string))): udao = UserDao() # 验证手机号在数据库中是否存在 if udao.check_login_phone(u_phone): try: # 验证密码是否正确 login_user = udao.login_pwd(u_phone, u_auth_string)[0] if login_user.get('id'): token = cache.new_token() cache.save_token(token, login_user.get('id')) udao.user_update('is_active', 1, 'u_phone', u_phone) return jsonify({'code': 200, 'token': token, 'user_data': login_user }) return jsonify(login_user) except Exception as e: return jsonify({'code': 202, 'msg': str(e) }) return jsonify({'code': 304, 'msg': '该手机尚未注册' }) else: return jsonify({ 'code': 101, 'msg': '请求参数u_phone和u_auth_string必须存在' }) return jsonify({'code': 304, 'msg': '传入数据为空'})
def forgot_pwd(): api_logger.debug('user forget get action!') resp = eval(request.get_data()) if resp: u_phone = resp.get('phone') msg_code = resp.get('msg') u_auth_string = resp.get('auth_string') if all((bool(u_phone), bool(msg_code), bool(u_auth_string))): udao = UserDao() # 验证手机号在数据库中是否存在 if udao.check_login_phone(u_phone): login_user = udao.login_msg(u_phone, msg_code) # 检查验证码 if login_user.get('id'): token = cache.new_token() cache.save_token(token, id) udao.user_update('u_auth_string', u_auth_string, 'u_phone', u_phone) # 更新密码 udao.user_update('is_active', 1, 'u_phone', u_phone) # 更新状态 # PhoneDao().save(**{'phone': u_phone, 'code': msg_code, 'send_type': '登录', }) return jsonify({'code': 200, 'token': token, 'user_data': login_user}) return jsonify(login_user) else: # 手机号码不存在,提示 return jsonify({'code': 300, 'msg': '请填写注册手机号'}) else: return jsonify({ 'code': 101, 'msg': '请求参数u_phone,msg_code,u_auth_string必须存在' }) return jsonify({'code': 304, 'msg': '传入数据为空'})
def change(): api_logger.debug('user forget get action!') resp = eval(request.get_data()) if resp: u_phone = resp.get('phone') nickname = resp.get('nickname') auth_string = resp.get('auth_string') u_auth_string = make_password(auth_string) if all((bool(u_phone), bool(nickname), bool(u_auth_string))): udao = UserDao() details = udao.get_profile(u_phone) if details.get('id'): token = cache.new_token() cache.save_token(token, id) udao.user_update('nickname', nickname, 'u_auth_string', u_auth_string) # 更新密码 udao.user_update('is_active', 1, 'u_phone', u_phone) # 更新状态 # PhoneDao().save(**{'phone': u_phone, 'code': msg_code, 'send_type': '登录', }) return jsonify({'code': 200, 'token': token, 'user_data': details}) else: return details return jsonify({ 'code': 300, 'msg': '数据不能为空' }) return jsonify({'code': 304, 'msg': '传入数据为空' })
def login_str(): try: phone = request.form.get('phone') auth_str = request.form.get('auth_str') dao = UserDao() if dao.check_login_name(phone): # 检测用户名是否存在 if dao.login_str(phone, auth_str): # 检测密码是否正确 token = cache.new_token() user_id = dao.find_userid(phone) save_token(token, user_id) return jsonify({ 'code': 200, 'msg': 'ok', 'token': token, }) return jsonify({ 'code': 406, 'msg': '用户名或密码输入错误', }) except: return jsonify({ "code": 400, "msg": "注册登录失败" })
def login_msg(): api_logger.debug('user phone_login get action!') resp = eval(request.get_data()) if resp: u_phone = resp.get('u_phone') msg_code = resp.get('msg_code') if all((bool(u_phone), bool(msg_code))): udao = UserDao() login_user = udao.login_msg(u_phone, msg_code) # 检查验证码并检查手机号,如果存在,且验证码正确,则登录,否则注册 if login_user.get('id'): # 验证码正确 token = cache.new_token() cache.save_token(token, login_user.get('id')) udao.user_update('is_active', 1, 'u_phone', u_phone) # PhoneDao().save(**{'phone': u_phone, 'code': msg_code, 'send_type': '登录'}) return jsonify({'code': 200, 'token': token, 'user_data': login_user }) return jsonify(login_user) else: return jsonify({ 'code': 101, 'msg': '请求参数u_phone和msg_code必须存在' }) return jsonify({'code': 304, 'msg': '传入数据为空'})
def user_login(): api_logger.debug('user login get action!') # 验证参数 userTel = request.args.get('userTel', None) password = request.args.get('password', None) if all((bool(userTel), bool(password))): dao = UserDao() # 获取登录用户的信息 try: login_user = dao.login(userTel, password) # 生成token token = cache.new_token() #用户基本信息 sql = 'select * from wklc_users ' \ 'where userTel=%s' user_datas = dao.query(sql, userTel)[0] # 将token存在redis的缓存中,绑定的数据可以是用户Id也可以是用户的信息 cache.save_token(token, user_datas['id']) user_id = user_datas['id'] sql = 'select lendTime from wklc_lendrecords ' \ 'where user_id=%s and product_id=9022' product = dao.query(sql, user_id) if product: if product[0]['lendTime'].toordinal() + 7 < datetime.now( ).toordinal(): user_datas['xyMoney'] = 0 money = 0 for i in login_user[:-2]: money += i["num"] totalMoney = float('%.2f' % (user_datas['zyMoney'] + money)) yersterdayReturn = login_user[5]['num'] totalReturn = login_user[6]['num'] dao.update_user(totalMoney, yersterdayReturn, totalReturn, user_id) return jsonify({ 'code': 200, 'token': token, 'userTel': user_datas['userTel'], 'userGrade_id': user_datas['userGrade_id'], 'totalMoney': totalMoney, 'zyMoney': user_datas['zyMoney'], 'xyMoney': user_datas['xyMoney'], 'yersterdayReturn': yersterdayReturn, 'totalReturn': totalReturn, 'userKfCoin': user_datas['userKfCoin'], 'userfuZuan': user_datas['userfuZuan'], 'Account': login_user[:-2] }) except Exception as e: return jsonify({'code': 202, 'msg': str(e)}) else: return jsonify({'code': 101, 'msg': '请求参数login_name和auth_str必须存在'})
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': '注册失败,验证码错误'})
def login_code(): try: # 前端请求的Content-Type: application/json phone = request.form.get('phone') input_code = request.form.get('input_code') # 验证上传的必须的数据是否存在 if not confirm(phone, input_code): # 验证验证码是否一致 return jsonify({ "code": 400, "msg": "验证码输入错误,请重新输入", }) req_data = {"phone": phone} # 验证通过之后将验证码从req_data中删除 dao = UserDao() if not dao.check_login_name(phone): # 检测用户名是否存在 req_data['phone'] = phone req_data['nick_name'] = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba', 14)) req_data['create_time'] = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S') req_data['photo'] = '7b6b118c30e345ca8f1f6e6584b2e7fe' req_data['login_auth_str'] = '677698c118bf5e6974f19fd2eb2a5b67' req_data['update_time'] = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S') req_data["balance"] = '50000' req_data["pay_pwd"] = "fb95decf3125dc6057a09188b238ff18" req_data['activated'] = '1' dao.save(**req_data) # 不存在则存入数据库中,在读取数据 user_id = dao.find_userid(phone) token = cache.new_token() # 设置新token save_token(token, user_id) return jsonify({ 'code': 200, 'msg': 'ok', 'token': token, }) except: return jsonify({ "code":400, "msg":"注册登录失败" })
def user_login(): api_logger.debug('user login get action!') # 验证参数 login_name = request.args.get('login_name', None) auth_str = request.args.get('auth_str', None) if all((bool(login_name), bool(auth_str))): dao = UserDao() # 获取登录用户的信息 try: login_user = dao.login(login_name, auth_str) # 生成token token = cache.new_token() # 将token存在redis的缓存中,绑定的数据可以是用户Id也可以是用户的信息 cache.save_token(token, login_user.get('user_id')) return jsonify({ 'code': 200, 'token': token, 'user_data': login_user }) except Exception as e: return jsonify({'code': 202, 'msg': e}) else: return jsonify({'code': 101, 'msg': '请求参数login_name和auth_str必须存在'})
def checking_code(): try: phone = request.form.get('phone') input_code = request.form.get('input_code') # 验证上传的必须的数据是否存在 if not confirm(phone, input_code): # 验证验证码是否一致 return jsonify({ "code": 400, "msg": "验证码输入错误,请重新输入", }) token = cache.new_token() # 设置新token dao = UserDao() user_id = dao.find_userid(phone) save_token(token, user_id) return jsonify({ 'code': 200, 'msg': 'ok', 'token': token, }) except: return jsonify({ "code":400, "msg":"验证失败" })
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': '注册失败,验证码错误'})
def user_regist(): # 前端请求的Content-Type: application/json req_data = None 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': 9000, 'msg': '请上传json数据,且参数必须按api接口标准给定'}) api_logger.debug(req_data) # 验证上传的必须的数据是否存在 if all((req_data.get('userTel', False), req_data.get('password', False), req_data.get('code', False))): input_code = req_data.get('code') phone = req_data.get('userTel') password = req_data.get('password') if dao.check_login_name(phone): if confirm(phone, input_code): req_data['password'] = make_password(req_data.get('password')) req_data['userName'] = req_data[ 'userTel'][:3] + "******" + req_data['userTel'][-3:] req_data['userGrade_id'] = '1', req_data['totalMoney'] = '0' req_data['yersterdayReturn'] = '0' req_data['totalReturn'] = '0' req_data['userKfCoin'] = '500000' req_data['userfuZuan'] = '0' req_data['xyMoney'] = '5000' req_data['zyMoney'] = '0' req_data['is_Verify'] = '0' req_data['userPic'] = '0' req_data.pop('code') if dao.save(**req_data): sql = 'select * from wklc_users ' \ 'where userTel=%s' userTel = req_data['userTel'] user_datas = dao.query(sql, userTel)[0] req_data2 = {} req_data2['user_id'] = user_datas['id'] req_data2['monthAccount'] = 0 req_data2["sensonAccount"] = 0 req_data2["yearAccount"] = 0 req_data2['specialAccount'] = 0 req_data2['virtualPrincipal'] = 0 dao.save2(**req_data2) login_user = dao.login(userTel, password) token = cache.new_token() # 用户基本信息 sql = 'select * from wklc_users ' \ 'where userTel=%s' # 将token存在redis的缓存中,绑定的数据可以是用户Id也可以是用户的信息 cache.save_token(token, user_datas['id']) #注册成功添加出借50000出借7天 data = {} data['user_id'] = user_datas['id'] data['product_id'] = 9022 data['lendUserTel'] = req_data['userName'] data['lendTime'] = datetime.now() data['lendMoney'] = 5000 dao.lend_save2(**data) money = 0 for i in login_user[:-2]: money += i["num"] totalMoney = float('%.2f' % (user_datas['zyMoney'] + money)) yersterdayReturn = login_user[5]['num'] totalReturn = login_user[6]['num'] dao.update_user(totalMoney, yersterdayReturn, totalReturn, user_datas['id']) return jsonify({ 'code': 200, 'token': token, 'userTel': user_datas['userTel'], 'userGrade_id': user_datas['userGrade_id'], 'totalMoney': totalMoney, 'zyMoney': user_datas['zyMoney'], 'xyMoney': user_datas['xyMoney'], 'yersterdayReturn': yersterdayReturn, 'totalReturn': totalReturn, 'userKfCoin': user_datas['userKfCoin'], 'userfuZuan': user_datas['userfuZuan'], 'Account': login_user[:-2] }) else: return jsonify({ 'code': 300, 'msg': '插入数据失败, 可能存在某一些字段没有给定值' }) else: return jsonify({'code': 203, 'msg': '验证码输入错误'}) else: return jsonify({'code': 201, 'msg': '用户名已存在,不能再注册'}) else: return jsonify({'code': 204, 'msg': '输入参数不全,参数必须按api接口标准给定'})