def post(self): action = request.args.get("action") postJSON = json.loads(request.get_data()) if action == "add": databaseOperations.replaceIntoDB("Events", postJSON) if action == "delete": databaseOperations.deleteFromDB("Events", postJSON) print(postJSON) return postJSON
def get(self): wxAPI = WXAPPAPI(appid=APP_ID, app_secret=APP_SECRET) print("string is: ", request.query_string) # BLACK MAGIC ############################################## # FIXME: Flask request parser takes + as space encrypted_data = request.args.get("encryptedData").replace(" ", "+") iv = request.args.get("iv").replace(" ", "+") ############################################## code = request.args.get("code") # print(data) # loginJSON = json.loads(data) # code = loginJSON["code"] # encrypted_data = loginJSON["encryptedData"] # iv = loginJSON["iv"] print("\ncode is : ", code) print("\ndata is : ", encrypted_data) print("\niv is : ", iv) session_info = wxAPI.exchange_code_for_session_key(code=code) # 获取session_info 后 session_key = session_info.get('session_key') crypt = WXBizDataCrypt(APP_ID, session_key) # encrypted_data 包括敏感数据在内的完整用户信息的加密数据 # iv 加密算法的初始向量 # 这两个参数需要js获取 try: user_info = crypt.decrypt(encrypted_data, iv) postJSON = stringParsing.userInfo2SQL(user_info) databaseOperations.replaceIntoDB("Users", postJSON) except: user_info = {"openId": session_info.get('openid')} return user_info