Exemple #1
0
def index(userid=None):
    userinfo = {"userid": userid, "messid": None}
    code = request.args.get('code')
    if code:
        source_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?'\
            +'appid={APPID}&secret={APPSECRET}&code={CODE}&grant_type=authorization_code'
        access_token_url = source_url.format(APPID=wechat_secure.appdi, APPSECRET=wechat_secure.secret, CODE=code)
        resp = requests.get(access_token_url)
        if resp.ok:
            data = eval(resp.text) # 将字符串转为字典
            openid = data['openid']
            access_token = data["access_token"]
            info_url = " https://api.weixin.qq.com/sns/userinfo?access_token={ACCESS_TOKEN}&openid={OPENID}&lang=zh_CN"
            resp_user = requests.get(info_url.format(ACCESS_TOKEN=access_token, OPENID=openid))
            if resp_user.ok:
                result = eval(resp_user.text)

                user = User.add_openid(openid=openid, headimgurl=result["headimgurl"])    # 查询数据数据不存在就储存数据
                if user:
                    userid = User.get_user_id(openid=openid)
                    messid = Message.get_messid(uid=userid)
                    userinfo["messid"] = messid
                    userinfo["userid"] = userid
        else:
            return "登录失败"
    #
    # data = Message.get_index()          # 查询数据库
    #
    # for mess, select in data:
    #     mess_dic = mess.__dict__
    #
    #     delattr(mess, "cardid")
    #
    #     setattr(mess, "images", eval(mess_dic["images"])[0])
    #     setattr(mess, "userinfo", userinfo)
    #     mess._fields.append("userinfo")
    # result = jsonify(data)
    result = []
    data = Message.get_mess_all()

    for mess in data:
        mess_dict = mess.__dict__
        setattr(mess, "images", eval(mess_dict["images"])[0])
        setattr(mess, "userinfo", userinfo)
        mess._fields.append("userinfo")
        result.append(mess.__dict__)

    return render_template("index.html", result=result)