def addcard(tuid): lib = LibManager() user = UserManager() uid = session["uid"] result = "false" if user.hasUid(tuid) and not lib.hasCard(uid, tuid): if lib.addCard(uid, tuid): result = "true" return result
def delcard(tuid): lib = LibManager() user = UserManager() uid = session["uid"] result = "false" if user.hasUid(tuid) and lib.hasCard(uid, tuid): if lib.deleteCard(uid, tuid): result = "true" return result
def gettoken(): if request.method == "GET": state = request.args.get("state", "") code = request.args.get("code", "") if code: url = "https://api.weixin.qq.com/sns/oauth2/access_token?" para = {"appid" : app.config["APPID"], "secret" : app.config["APPSECRET"], "code" : code, "grant_type" : "authorization_code", } try_time = 0 while(try_time<3): url += urllib.urlencode(para) content = urllib.urlopen(url).read() if content: break else: return u"获取token失败" info = eval(content) try: openid = info["openid"] except KeyError: openid = "" #openid为空则返回错误 if not openid: return "获取openid失败, url=%s" % url userManager = UserManager() uid = userManager.getUidByOpenID(info["openid"]) if uid: session["uid"] = uid else: userManager.insertUser(info) uid = userManager.getUidByOpenID(info["openid"]) session["uid"] = uid stateManager = StateManager() url = stateManager.getUrlByState(state) return redirect(url) else: return u"获取code失败"