Beispiel #1
0
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': '传入数据为空'
                    })
Beispiel #2
0
def upload_avator():
    # 上传的头像字段为 img
    # 表单参数: token
    file: FileStorage = request.files.get('img', None)
    token = request.form.get('token', None)
    if all((bool(file), bool(token))):
        # 验证文件的类型, png/jpeg/jpg, 单张不能超过2M
        # content-type: image/png, image/jpeg
        print(file.content_length, 'bytes')
        if file.content_type in ('image/png',
                                 'image/jpeg'):
            filename = uuid.uuid4().hex \
                       + os.path.splitext(file.filename)[-1]
            file.save(filename)

            # 上传到oss云服务器上
            key = oss.upload_file(filename)

            os.remove(filename)  # 删除临时文件

            # 将key写入到DB中
            resp = request.get_json()
            token = resp.get('token', None)
            user_id = get_token_user_id(token)
            u_dao = UserDao()
            user_id = u_dao.get_profile(user_id)
            if user_id:
                pass
                # 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)  # 更新状态

            return jsonify({
                'code': 200,
                'msg': '上传文件成功',
                'file_key': key
            })
        else:
            return jsonify({
                'code': 201,
                'msg': '图片格式只支持png或jpeg'
            })

    return jsonify({
        'code': 100,
        'msg': 'POST请求参数必须有img和token'
    })
Beispiel #3
0
def userdetails():
    api_logger.debug('user change get action')
    # token = request.args.get('token',None)
    resp = request.get_json()
    token = resp.get('token', None)
    user_id = get_token_user_id(token)
    u_dao = UserDao()
    details = u_dao.get_profile(user_id)
    if details:
        nickname = details.get('nickname')
        gender = details.get('gender')
        u_auth_string = details.get('u_auth_string')
        return jsonify({
            'code': 200,
            'msg': '获取成功',
            'nickname': nickname,
            'gender': gender,
            'u_auth_string': u_auth_string
        })
    return jsonify({
        'code': 300,
        'msg': "用户未登录,请重新登录"
    })
Beispiel #4
0
def payorder():
    token = request.get_json().get('token', None)
    if cache.check_token(token):
        user_id_id = cache.get_token_user_id(token)
        order_list = request.get_json().get("order_list")
        total = request.get_json().get("total")
        paypassword = request.get_json().get("paypassword")
        dao2 = OrderDao()
        if all((order_list, total)):
            order_rd_list = rd.lindex(order_list[0], 0)
            if not order_rd_list:
                #删除订单
                for i in range(len(order_list)):
                    dao2.UpdateOrder(user_id_id, 5, order_list[i])
                return jsonify({'code': 404, 'msg': '订单已过期'})
            order_rd_list = order_rd_list.decode()[1:-1]
            order_rd_list = order_rd_list.split("'")

            for i in range(len(order_list)):
                print(order_list[i], order_rd_list[i * 2 + 1])
                if order_list[i] != order_rd_list[i * 2 + 1]:
                    return jsonify({'code': 400, 'msg': '支付请求出错'})
            dao = UserDao()
            user_info = dao.get_profile(user_id_id)[0]
            asset = user_info['asset']
            pay_pwd = user_info['pay_pwd']
            # paypassword = make_password(paypassword)
            if pay_pwd != paypassword:
                return jsonify({'code': 400, 'msg': '支付密码错误,请重新输入'})
            if asset < total:
                return jsonify({'code': 400, 'msg': '余额不足,请先充值'})

            asset -= total
            dao.update_asset(user_id_id, asset)

            for i in range(len(order_list)):
                dao2.UpdateOrder(user_id_id, 1, order_list[i])

            return jsonify({'code': 200, 'msg': '支付成功'})
        else:
            o_num = request.get_json().get("orderid")
            dao3 = UserDao()
            dao4 = OrderDao()
            order_info = dao4.get_oreder_info(o_num)
            if not order_info:
                return jsonify({"code": 401, "msg": "订单不存在"})
            order_info = order_info[0]
            total1 = order_info['o_relpay']
            user_info = dao3.get_profile(user_id_id)
            asset = user_info['asset']
            pay_pwd = user_info['pay_pwd']
            if pay_pwd != paypassword:
                return jsonify({'code': 400, 'msg': '支付密码错误,请重新输入'})
            if asset < total1:
                return jsonify({'code': 400, 'msg': '余额不足,请先充值'})

            asset -= total1
            dao3.update_asset(user_id_id, asset)
            dao4.UpdateOrder(user_id_id, 1, o_num)
            return jsonify({'code': 200, 'msg': '支付成功'})

    else:
        return jsonify({'code': 400, 'msg': '您还未登陆,请先登录'})