コード例 #1
0
def auto_login():
    """
    自动登陆接口, 通过用户id和token同步登陆状态
    :return:
    """
    if request.method == 'POST':
        user_id = request.form['user_id']
        token = request.form['token']
    else:
        user_id = request.args.get('user_id', type=int, default=None)
        token = request.args.get('token', type=str, default=None)
    db = UserDB()  # 连接数据库
    user_data = db.check_token(user_id, token)  # 验证用户
    if user_data:
        return jsonify({
            'code': 0,
            'msg': '',
            'data': {
                'id': user_data['id'],  # 用户id
                'status': user_data['status'],  # 用户状态码
                'token': user_data['token'],  # 用户token
                'endtime': user_data['endtime'],  # 接口有效期
                'username': user_data['username'],  # 用户名
                'userrank': user_data['userrank'],  # 用户等级
            }
        })
    else:
        return jsonify({'code': 3, 'msg': 'token不匹配, 需要重新登陆'})
コード例 #2
0
def login():
    """
    使用用户名和密码进行用户登陆操作
    :return:
    """
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
    else:
        username = request.args.get('username', type=str, default=None)
        password = request.args.get('password', type=str, default=None)
    db = UserDB()  # 连接数据库
    user_data = db.check_user(username, password)  # 尝试获取用户信息
    if user_data:
        # 如果成功取得用户信息:
        data = {
            'id': user_data['id'],
            'token': get_md5(text=str(datetime.datetime.now().timestamp()))
        }
        db.update_information(data)  # 每次使用口令登陆时更新token
        return jsonify({
            'code': 0,
            'msg': '',
            'data': data,
        })
    else:
        return jsonify({'code': 1, 'msg': '用户名或密码错误'})
コード例 #3
0
def take_token():
    """
    提供id2的test用户的token
    :return:
    """
    db = UserDB()
    data = db.take_token()
    if data:
        return jsonify({'code': 0, 'msg': '', 'data': data})
コード例 #4
0
def get_user_information():
    """
    获取全部用户信息
    :return:
    """
    # 提取请求中的参数
    user_id = request.args.get('user_id', type=str, default=None)
    token = request.args.get('token', type=str, default=None)
    db = UserDB()
    if db.check_token(user_id, token):
        return jsonify({
            'code': 0,
            'msg': '',
            'data': db.get_users_information()
        })
コード例 #5
0
def do_the_get_status(user_id, uuid):
    db = UserDB()  # 连接数据库
    try:
        c = WeChatChecker(data={
            'cookies': None,
            'baseurl': None,
            'uuid': uuid
        })
        data = c.loading()
        if data:
            # 更新数据
            db.update_information(
                user_data={
                    'id': user_id,
                    'cookies': data['cookies'],
                    'baseurl': data['baseurl'],
                    'status': 1
                })
            return jsonify({'code': 0, 'msg': '', 'data': data})
        else:
            return jsonify({'code': 2, 'msg': '二维码过期,需要刷新'})
    except Exception as e:
        print('微信登陆失败: ', e.args)
コード例 #6
0
def qq_check():
    """
    QQ网址检测
    :return:
    """
    user_id = request.args.get('user_id', type=str, default=None)
    token = request.args.get('token', type=str, default=None)
    url = request.args.get('url', type=str, default=None)
    db = UserDB()
    user_data = db.check_token(user_id, token)
    if user_data:
        if user_data['endtime'] >= datetime.datetime.now():  # 验证用户有效期
            c = QQChecker()  # 创建检测对象
            data = c.check(url)
            data.update({
                'username': user_data['username'],
                'endtime': user_data['endtime'].strftime('%Y-%m-%d')
            })  # 加入会员信息和有效期
            return jsonify({'code': 0, 'msg': '', 'data': data})
        else:
            return jsonify({'code': 1, 'msg': '会员服务到期, 请及时续费'})
    else:
        return jsonify({'code': 1, 'msg': '用户名或密码错误'})
コード例 #7
0
def do_we_chat_check(user_id, token, domain):
    """
    验证用户并进行域名检测
    :param user_id:
    :param token:
    :param domain:
    :return:
    """
    db = UserDB()
    user_data = db.check_token(user_id, token)  # 验证用户
    if user_data:
        if user_data['endtime'] >= datetime.datetime.now():  # 验证用户有效期
            if user_data['cookies'] is None or user_data['baseurl'] is None:
                return jsonify({
                    'code': 4,
                    'msg': '需要先登陆微信',
                })  # 如果没有足够的信息进行检测, 则返回查询失败
            c = WeChatChecker(
                data={
                    'uuid': None,
                    'cookies': eval(user_data['cookies']),
                    'baseurl': user_data['baseurl']
                })  # 创建检测对象
            data = c.check(domain)
            if data['status'] == 3:
                db.update_information(user_data={
                    'id': user_data['id'],
                    'status': 0
                })
                return jsonify({'code': 4, 'msg': '需要先登陆微信'})
            data.update({
                'username': user_data['username'],
                'endtime': user_data['endtime'].strftime('%Y-%m-%d')
            })  # 加入用户名和有效期
            return jsonify({'code': 0, 'msg': '', 'data': data})
        else:
            db.update_information(user_data={
                'id': user_data['id'],
                'status': 0
            })
            return jsonify({'code': 1, 'msg': '会员服务到期, 请及时续费'})
    else:
        return jsonify({'code': 1, 'msg': '用户名或密码错误'})