示例#1
0
def login():
    """用户登陆方法
    验证用户名密码,返回token"""
    username = request.json.get('username')
    password = request.json.get('password')

    # 判断用户是否存在,用户不存在返回错误信息
    user = user_manager.get_user_by_username(username)
    if not user:
        resp = helper.make_response_dict(10004, 'user not found',
                                         {'username': username})
        return make_response(jsonify(resp), 404)

    # 检查密码是否正确,密码不正确返回错误信息
    if not user.check_password(password):
        resp = helper.make_response_dict(10005, 'password incorrect',
                                         {'username': username})
        return make_response(jsonify(resp), 400)

    # 生成并返回 token
    token = user.generate_token()
    if not token:
        resp = helper.make_response_dict(10006, 'token create failed',
                                         {'username': username})
        return make_response(jsonify(resp), 500)

    resp = helper.make_response_dict(10001, 'login success', {
        'username': username,
        'token': token
    })
    return make_response(jsonify(resp), 201)
示例#2
0
def register():
    """用户注册方法"""
    username = request.json.get('username')
    password = request.json.get('password')
    email = request.json.get('email')

    # TODO: username、password、email合法性检查

    # 判断用户是否存在,用户存在时注册失败,提示用户创建失败
    user = user_manager.get_user_by_username(username)
    if user:
        resp = helper.make_response_dict(10002, 'user exists',
                                         {'username': username})
        return make_response(jsonify(resp), 400)

    # 创建新用户
    # 处理创建时的异常
    user = user_manager.create_user(username, password, email)
    if not user:
        resp = helper.make_response_dict(
            10003, 'user create failed server '
            'internal error', {'username': username})
        return make_response(jsonify(resp), 500)

    # 将用户对象赋值给 g.user,其它方法中可以通过 g.user 获取用户对象
    g.user = user
    resp = helper.make_response_dict(10001, 'user create success',
                                     {'username': g.user.username})
    return make_response(jsonify(resp), 201)
示例#3
0
def get_user_skill():
    """获取用户技能"""
    user = user_manager.get_user_by_username(g.user.username)
    user_skill = user.get_skill()

    if not user_skill:
        resp = helper.make_response_dict(10009, 'user skill not found',
                                         {'username': g.user.username})
        return make_response(jsonify(resp), 500)

    resp = helper.make_response_dict(10001, 'success', {'skill': user_skill})
    return make_response(jsonify(resp), 201)
示例#4
0
def get_user_profile():
    """获取用户信息"""
    user = user_manager.get_user_by_username(g.user.username)
    user_profile = user.get_profile()

    if not user_profile:
        resp = helper.make_response_dict(10007, 'user profile not found',
                                         {'username': g.user.username})
        return make_response(jsonify(resp), 500)

    resp = helper.make_response_dict(10001, 'success',
                                     {'user_profile': user_profile})
    return make_response(jsonify(resp), 201)
示例#5
0
def update_user_skill():
    """更新用户技能"""
    user = user_manager.get_user_by_username(g.user.username)
    update_skill = request.json.get('skill')
    user.update_skill(update_skill)

    user_skill = user.get_skill()
    if not user_skill or update_skill != user_skill:
        resp = helper.make_response_dict(10010, 'user skill update failed',
                                         {'username': g.user.username})
        return make_response(jsonify(resp), 500)

    resp = helper.make_response_dict(10001, 'success', {'skill': user_skill})
    return make_response(jsonify(resp), 201)
示例#6
0
def work_year_job_count():
    work_yesrs_job_counts = post_manager.working_year_Jobs_count()
    resp = helper.make_response_dict(40001,
                                     'success',
                                     {'jobs': work_yesrs_job_counts})

    return make_response(jsonify(resp), 200)
示例#7
0
def get_user_skill():
    """获取用户技能"""
    user = user_manager.get_user_by_username(g.user.username)
    user_skill = user.get_skill()

    resp = helper.make_response_dict(10001, 'success', {'skill': user_skill})
    return make_response(jsonify(resp), 201)
示例#8
0
def edulevel_job_avgsalary():
    edulevel_job_avgsalarys = post_manager.education_avgsalary()
    resp = helper.make_response_dict(40001,
                                     'success',
                                     {'jobs': edulevel_job_avgsalarys})

    return make_response(jsonify(resp), 200)
示例#9
0
def work_year_job_avgsalary():
    work_years_job_avgsalarys = post_manager.working_year_avageSalary()
    resp = helper.make_response_dict(40001,
                                     'success',
                                     {'jobs': work_years_job_avgsalarys})

    return make_response(jsonify(resp), 200)
示例#10
0
def education_level_job_count():
    eduLevel_job_counts = post_manager.eduLevel_JobCount()
    resp = helper.make_response_dict(40001,
                                     'success',
                                     {'jobs': eduLevel_job_counts})

    return make_response(jsonify(resp), 200)
示例#11
0
def jobsAndLauage_Top10_count():
    lauage_post = post_manager.lauage_position_top10()
    resp = helper.make_response_dict(40001,
                                     'success',
                                     {'jobs': lauage_post})

    return make_response(jsonify(resp), 200)
示例#12
0
def update_user_profile():
    """更新用户信息"""
    user = user_manager.get_user_by_username(g.user.username)
    update_profile = request.json
    # TODO: 检查 update_profile 中参数的合法性
    user.update_profile(update_profile)

    user_profile = user.get_profile()
    if not user_profile or \
            not all(map(lambda x, y: update_profile[x] == user_profile[x],
                        update_profile, user_profile)):
        resp = helper.make_response_dict(10008, 'user profile update failed',
                                         {'username': g.user.username})
        return make_response(jsonify(resp), 500)

    resp = helper.make_response_dict(10001, 'success',
                                     {'user_profile': user_profile})
    return make_response(jsonify(resp), 201)
示例#13
0
def delete_user_message():
    """删除用户消息(站内信)"""
    user = user_manager.get_user_by_username(g.user.username)
    msg_id = request.json.get('id')

    # TODO: 检查要修改的消息是否属于当前用户

    user.delete_message(msg_id)

    msg_deleted = user.message_deleted(msg_id)
    if msg_deleted == '0':
        resp = helper.make_response_dict(10012, 'message delete failed',
                                         {'msg_id': msg_id})
        return make_response(jsonify(resp), 500)

    resp = helper.make_response_dict(10001, 'message delete success',
                                     {'msg_id': msg_id})
    return make_response(jsonify(resp), 201)
示例#14
0
def update_user_message():
    """更新用户消息(站内信)状态"""
    user = user_manager.get_user_by_username(g.user.username)
    msg_id = request.json.get('id')

    # TODO: 检查要修改的消息是否属于当前用户

    user.update_message_status(msg_id)

    msg_has_read = user.get_message_status(msg_id)
    if msg_has_read == '0':
        resp = helper.make_response_dict(10011, 'message update failed',
                                         {'msg_id': msg_id})
        return make_response(jsonify(resp), 500)

    resp = helper.make_response_dict(10001, 'message update success',
                                     {'msg_id': msg_id})
    return make_response(jsonify(resp), 201)
示例#15
0
def logout():
    """用户退出方法
    退出登陆,销毁token"""
    # TODO: 处理异常
    token = request.json.get('token')
    g.user.revoke_token(token)

    resp = helper.make_response_dict(10001, 'logout success',
                                     {'username': g.user.username})
    return make_response(jsonify(resp), 201)
示例#16
0
def job_recommend():
    skills = request.json.get('skill')
    # skills = ['python', 'css']
    condition = "+.+".join(skills)
    job_recommend_user = post_manager.job_recommend(condition)
    resp = helper.make_response_dict(40001,
                                     'success',
                                     {'job': job_recommend_user})

    return make_response(jsonify(resp), 200)
示例#17
0
def get_user_messages():
    """获取用户消息(站内信)"""
    limit = request.json.get('limit')
    page = request.json.get('page')
    user = user_manager.get_user_by_username(g.user.username)
    messages = user.get_messages(limit, page)

    # TODO: 处理异常
    resp = helper.make_response_dict(10001, 'success', {'messages': messages})
    return make_response(jsonify(resp), 201)
示例#18
0
def search_post():
    token = request.json.get('token')
    search_key = request.json.get('search_key')
    limit = request.json.get('limit', 10)

    # 调用方法,在数据库中检索关键字,默认返回最近 10 条数据
    search_result = csdn_manager.search_post(search_key, limit=limit)

    user_list = []
    if token:
        # 根据 token 获取用户名,将用户名存到数据库中关键词搜索历史中
        user = user_manager.get_user_by_token(token)
        csdn_manager.add_search_history(search_key, user.username)

        # 获取最近的 20 个搜索过该关键词的用户名列表
        user_list = csdn_manager.get_search_history(search_key,
                                                    user.username, 20)

    resp = helper.make_response_dict(40001,
                                     'success',
                                     {'posts': search_result,
                                      'user_list': user_list})
    return make_response(jsonify(resp), 200)