Beispiel #1
0
def login():
    resp = {'code': 200, 'msg': '操作成功', 'data': {}}  # 定义全局变量,操作成功返回信息
    req = request.values
    code = req['code'] if 'code' in req else ''
    if not code or len(code) < 1:
        resp['code'] = -1
        resp['msg'] = "需要code"
        return jsonify(resp)

    ## 通过code 可以获得用户的一些基本信息。获得的方法分到了公共方法里面
    openid = MemberService.getWeChatOpenId(code)
    if openid is None:  # 如果用户的请求里面拿到的code没有 openid(用户唯一标识)
        resp['code'] = -1
        resp['msg'] = "调用微信出错"
        return jsonify(resp)

    nickname = req['nickName'] if 'nickName' in req else ''
    sex = req['gender'] if 'gender' in req else 0  # 性别
    avatar = req['avatarUrl'] if 'avatarUrl' in req else ''  # 头像链接

    ## 建立数据库,确认这个openid是不是唯一的
    """
    判断是否已经注册过了,注册了直接返回一些信息
    """
    bind_info = OauthMemberBind.query.filter_by(
        openid=openid, type=1).first()  # type=1:信息来源表示是微信用户

    if not bind_info:  # 没有信息,即没注册。进行注册
        model_member = Member()
        model_member.nickname = nickname
        model_member.sex = sex
        model_member.avatar = avatar
        model_member.salt = MemberService.geneSalt()  # 秘钥
        model_member.created_time = getCurrentData()
        model_member.updated_time = getCurrentData()
        db.session.add(model_member)
        db.session.commit()

        # 建立绑定关系
        model_bind = OauthMemberBind()
        model_bind.member_id = model_member.id
        model_bind.type = 1  # 信息来源1,
        model_bind.openid = openid
        model_bind.extra = ''
        model_bind.created_time = getCurrentData()
        model_bind.updated_time = getCurrentData()
        db.session.add(model_bind)
        db.session.commit()

        bind_info = model_bind  # 将新的变量赋值给 bind_info,

    member_info = Member.query.filter_by(
        id=bind_info.member_id).first()  # 如果注册过了。会员信息 = 会员id (上面绑定用户的id)

    token = "%s#%s" % (MemberService.geneAuthCode(member_info), member_info.id
                       )  # 将token(加密字符串),返回给前台处理
    resp['data'] = {'token': token}  # 返回给前台的数据
    return jsonify(resp)
Beispiel #2
0
def set():
    if request.method == "GET":
        resp_data = {}
        req = request.args
        id = int(req.get("id",0))
        info = None
        if id:
            info = Member.query.filter_by(id=id).first()
        resp_data['info'] = info
        return ops_render('member/set.html',resp_data)
    # POST  更新数据库
    resp = {
        'code':200,
        'msg':"操作成功",
        'data':{}
    }
    # ajax 发送的数据
    req = request.values
    ids = req['id'] if 'id' in req else 0
    nickname = req['nickname'] if 'nickname' in req else ''


    if nickname is None or len(nickname) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的昵称"
        return jsonify(resp)
   

    
    Member_info = Member.query.filter_by(id = ids).first()
    if Member_info:
        model_Member = Member_info
    else:
        model_Member = Member()
        model_Member.created_time = getCurrentDate()
        model_Member.login_salt = UserService.generateSalt()

    model_Member.nickname = nickname

    model_Member.id = 4
    model_Member.avatar = 1
    # if Member_info and Member_info.id == 1:
    #     resp['code'] = -1
    #     resp['msg'] = "该用户为Dws,不允许修改"
    #     return jsonify(resp)
    # model_Member.login_pwd = UserService.generatePwd(login_pwd,model_Member.login_salt)
    model_Member.updated_time = getCurrentDate()
    
    db.session.add(model_Member)
    db.session.commit()
    return jsonify(resp)
Beispiel #3
0
def login():
    resp = {'code': 200, 'msg': 'success', 'data': {}}
    req = request.values
    code = req['code'] if 'code' in req else ''
    if not code or len(code) < 1:
        resp['code'] = -1
        resp['msg'] = "需要code"
        return jsonify(resp)

    openid = MemberService.getWeChatOpenId(code)
    if openid is None:
        resp['code'] = -1
        resp['msg'] = "调用微信出错,请重新调用"
        return jsonify(resp)

    nickname = req['nickName'] if 'nickName' in req else ""
    sex = req['gender'] if 'gender' in req else 0
    avatar = req['avatar'] if 'avatar' in req else ""
    """
    判断是否注册过,如果注册过直接返回
    """
    bind_info = OauthMemberBind.query.filter_by(openid=openid, type=1).first()
    if not bind_info:
        model_member = Member()
        model_member.nickname = nickname
        model_member.sex = sex
        model_member.avatar = avatar
        model_member.salt = MemberService.geneSalt()
        model_member.updated_time = getCurrentDate()
        model_member.created_time = getCurrentDate()
        db.session.add(model_member)
        db.session.commit()

        model_bind = OauthMemberBind()
        model_bind.member_id = model_member.id
        model_bind.type = 1
        model_bind.openid = openid
        model_bind.extra = ''
        model_bind.updated_time = getCurrentDate()
        model_bind.created_time = getCurrentDate()
        db.session.add(model_bind)
        db.session.commit()

        bind_info = model_bind

    member_info = Member.query.filter_by(id=bind_info.member_id).first()
    token = "%s#%s" % (MemberService.geneAuthCode(member_info), member_info.id)
    resp['data'] = {'token': token}
    return jsonify(resp)
Beispiel #4
0
def login():
    resp = {'code': 200, 'msg': "操作成功"}
    req = request.values
    code = req['code'] if 'code' in req else ''
    if not code or len(code) < 1:
        resp['code'] = -1
        resp['msg'] = '需要code'
        return jsonify(resp)

    openid = MemberService.getOpenId(code)

    nickname = req['nickName'] if 'nickName' in req else ''
    gender = req['gender'] if 'gender' in req else ''
    avatarUrl = req['avatarUrl'] if 'avatarUrl' in req else ''
    '''
        判断是否注册过
    '''
    bind_info = OauthMemberBind.query.filter_by(openid=openid, type=1).first()
    if not bind_info:
        model_member = Member()
        model_member.nickname = nickname
        model_member.sex = gender
        model_member.avatar = avatarUrl
        model_member.salt = MemberService.geneSalt()
        model_member.updated_time = getCurrentDate()
        model_member.created_time = getCurrentDate()

        db.session.add(model_member)
        db.session.commit()

        model_bind = OauthMemberBind()
        model_bind.member_id = model_member.id
        model_bind.type = 1
        model_bind.openid = openid
        model_bind.extra = ''
        model_bind.created_time = getCurrentDate()
        model_bind.updated_time = getCurrentDate()

        db.session.add(model_bind)
        db.session.commit()

        bind_info = model_bind

    member_info = Member.query.filter_by(id=bind_info.member_id).first()

    token = "%s#%s" % (MemberService.geneAuthCode(member_info), member_info.id)
    resp['data'] = {'token': token}

    return jsonify(resp)