本文整理汇总了Python中wechat_sdk.WechatBasic.grant_jsapi_ticket方法的典型用法代码示例。如果您正苦于以下问题:Python WechatBasic.grant_jsapi_ticket方法的具体用法?Python WechatBasic.grant_jsapi_ticket怎么用?Python WechatBasic.grant_jsapi_ticket使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wechat_sdk.WechatBasic
的用法示例。
在下文中一共展示了WechatBasic.grant_jsapi_ticket方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_grant_jsapi_ticket
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import grant_jsapi_ticket [as 别名]
def test_grant_jsapi_ticket(self):
# 测试无 appid 和 appsecret 初始化
wechat = WechatBasic()
with self.assertRaises(NeedParamError):
wechat.grant_jsapi_ticket()
# 测试有 appid 和 appsecret 初始化(覆盖已有 jsapi_ticket,默认override=True即覆盖)
wechat = WechatBasic(appid=self.appid, appsecret=self.appsecret)
with HTTMock(wechat_api_mock):
resp = wechat.grant_jsapi_ticket()
self.assertEqual(resp['errcode'], 0)
self.assertEqual(resp['errmsg'], 'ok')
self.assertEqual(resp['ticket'], self.fixtures_jsapi_ticket)
self.assertEqual(resp['expires_in'], 7200)
self.assertEqual(wechat.conf.jsapi_ticket, self.fixtures_jsapi_ticket)
示例2: __init__
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import grant_jsapi_ticket [as 别名]
class WeixinMananger:
def __init__(self, appid="wxc2b14fc7557dc863", appsecret="67c0097d1bf2f7804f9eb2375f3d2039",
redisIp="127.0.0.1", redisPort=6379):
self.redis = redis.StrictRedis(host=redisIp)
self.appid = appid;
self.appsecret = appsecret;
self.wechat = WechatBasic(appid=appid, appsecret=appsecret);
def __getRedisWXAccessToken(self):
return self.redis.get("wx_access_token")
def __getRedisWXJsApiToken(self):
return self.redis.get("wx_jsapi_token")
def getAccessToken(self):
token = self.__getRedisWXAccessToken()
if token is None:
token = self.wechat.grant_token()
if token != None:
timeout = token["expires_in"]
self.redis.setex("wx_access_token", timeout, token["access_token"])
return token["access_token"]
else:
return None;
else:
return token
def getJsApiToken(self):
ticket = self.__getRedisWXJsApiToken()
if ticket is None:
print self.getAccessToken()
ticket = self.wechat.grant_jsapi_ticket()
if (ticket != None):
timeout = ticket["expires_in"];
self.redis.setex("wx_jsapi_token", timeout, ticket["ticket"])
return ticket["ticket"]
else:
return None
else:
return ticket
def getJsJDK(self, srcUrl):
timestamp = int(time.time())
noncestr = str(time.time())
url = srcUrl
jsApiToken = self.getJsApiToken();
data = {};
data["timestamp"] = timestamp
data["nonceStr"] = noncestr
data["appId"] = self.appid
data["signature"] = self.wechat.generate_jsapi_signature(timestamp, noncestr, url, jsApiToken)
data["jsApiList"] = ["openLocation", "getLocation", "scanQRCode", "showMenuItems"]
data["debug"] = True
return data
示例3: make_celery
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import grant_jsapi_ticket [as 别名]
# 队列
celery = make_celery(app)
# 记录日志
handler = RotatingFileHandler('app.log', maxBytes=10000, backupCount=1)
handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)s: %(message)s '
'[in %(pathname)s:%(lineno)d]'
))
handler.setLevel(logging.WARNING)
app.logger.addHandler(handler)
# 初始第三方库
redis = Redis()
# 初始化微信 SDK
wechat = WechatBasic(appid=app.config['APP_ID'],
appsecret=app.config['APP_SECRET'],
token=app.config['TOKEN'])
if not redis.exists("wechat:access_token"):
# access_token 写入缓存
wechat.grant_jsapi_ticket()
redis.set("wechat:access_token",
wechat.get_access_token()['access_token'], 7000)
# 路由
from .routes import *
# 定时任务
from .plugins.cron import *