微信 getAccessToken 和 getJsapi_ticket缓存支持

AccessToken   JsapiTicket  获取这个两个参数的接口每天都有上线,所以我们应该使用缓存把它们保存起来,减少对这两个接口的调用

示例:

/**
	 * 获取access_token
	 * 
	 * @updateDate 2015年8月3日23:22:39 增加对缓存的处理
	 * @return
	 * @throws Exception
	 */
	public static String getAccessToken(String appId, String appSecret)
			throws Exception {
		String accessToken = (String) CacheUtils.get("wxCache", "accessToken");
		if (StringUtils.isBlank(accessToken)
				|| StringUtils.isEmpty(accessToken)) {
			String jsonStr = HttpKit.get(ACCESSTOKEN_URL.concat("&appid=")
					+ appId + "&secret=" + appSecret);
			Map<String, Object> map = JSONObject.parseObject(jsonStr);
			accessToken = map.get("access_token").toString();
			CacheUtils.put("wxCache", "accessToken", accessToken);
		}
		return accessToken;
	}
/**
	 * 获得jsapi_ticket(有效期7200秒)
	 * 
	 * @updateDate 2015年8月4日00:00:46 z 增加对缓存的
	 * @param accessToken
	 * @return
	 * @throws InterruptedException
	 * @throws ExecutionException
	 * @throws NoSuchAlgorithmException
	 * @throws KeyManagementException
	 * @throws IOException
	 * @throws NoSuchProviderException
	 */
	public static JSONObject getTicket(String accessToken)
			throws InterruptedException, ExecutionException,
			NoSuchAlgorithmException, KeyManagementException, IOException,
			NoSuchProviderException {
		String jsonStr = (String) CacheUtils.get("wxCache", "jsapi_ticket");
		if (StringUtils.isBlank(jsonStr) || StringUtils.isEmpty(jsonStr)) {
			jsonStr = HttpKit.get(JSAPI_TICKET.concat(accessToken));
			CacheUtils.put("wxCache", "jsapi_ticket", jsonStr);
		}
		return JSONObject.parseObject(jsonStr);
	}

ehcache.xml

<cache name="wxCache" 
maxElementsInMemory="100" 
eternal="false" 
timeToLiveSeconds="6000" 
overflowToDisk="true"/>
时间: 2024-10-14 00:22:27

微信 getAccessToken 和 getJsapi_ticket缓存支持的相关文章

微信菜单更新,可以支持多个服务号更新C#。

微信菜单更新,可以支持多个服务号更新C#. 效果Demo页面 /// <summary> /// 更新菜单/// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button4_Click(object sender, EventArgs e) { WXRespons

微信公众平台改版 终于支持图文消息链接了

微信公众平台发布更新了,终于允许在图文消息中加入跳转链接,但仅针对开通了微信支付的公众号,开通微信支付应该不算难,大伙赶紧去开通吧.本次微信公众平台改版升级还新增开发者中心.界面扁平化.改善用户体验等,以下是微信团队的公告: 微信公众平台改版说明 1. 允许在图文消息中加入跳转链接 对开通了微信支付的公众号,允许在图文消息中加入跳转链接 2. 将服务中心升级为功能插件 每个公众号都可以在添加功能插件页面,看到该帐号能申请的所有功能. 3. 商户功能改名为微信支付 为便于企业或商家认知及申请微信支

针对微信小程序目前不支持require(&quot;/根目录/。。。。.js&quot;)

针对微信小程序目前不支持require("/根目录/.....js")解决方法1.在app.js定义个全局引用2.页面中要用到的时候可以将作用域this传过去方法中就可以通过this获取到当前页面page对象了..如: 原文链接:http://bbs.jointforce.com/topic/24268

Mybatis入门实例(二)——添加ehcache缓存支持

为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方案,在此我们主要是做查询缓存,提高查询的效率. 在Mybatis的官网上把集成ehcache的文档下载下来看了看,说的太简单了,对于新手很难理解,而且里面说的也不是很清楚,经过一番折腾,终于将ehcache加入了. 官网上提供了一个MyBatis-ehcache.jar的包用于整合ehcache缓存,文档中还说明需要一个ehcache-co

WP8微信5.3开始内测 支持Cortana语音 两微破冰了?

WP版微信v5.3内测版昨发布了,进行了一些小幅升级,最意外的是原生支持WP8.1版Cortana语音命令操作.要知道微软的聊天机器人“小冰”在微信上存在不到4天,就被微信全面封杀退出,现在微信又内测支持Cortana语音,两微是要破冰的节奏吗? WP版微信 v5.3内测版更新日志: 1.两分钟内发出的最后一条消息可撤回 2.转账给朋友 3.零钱包 4.选多图可以一起原图发送 5.视频通话界面做优化 6.删除群聊前,如果这个群聊没保存到通讯录,会先给提示 7.打招呼和通过加好友验证的时候,可以先

关于微信页面调试清除缓存问题

最近做微信的活动页发现缓存问题很头疼,ios设备微信通过 设置-通用-清除微信存储空间 可以清除缓存,android设备可以通过访问debugx5.qq.com来清除 参考https://www.zhihu.com/question/22471239 xiaoxiyao的回答

安卓手机微信中清除页面缓存的方法

安卓手机微信中清除页面缓存的方法只在安卓中有效,ios微信刷新页面即可清除缓存. 1.微信中打开网页 http://debugx5.qq.com. 2.滑动到底部,如图所示勾选4个缓存选项,点击清除即可. 此外,该网页还提供了其他功能,如使用VConsole进行调试等. 原文地址:https://www.cnblogs.com/luoyihao/p/12207327.html

微信 使用单例设计模式 提供AccessToken 和Jsapi_ticket缓存支持

上一篇 是使用ecache 做的缓存, 有些简单的微信项目并不需要这么复杂,So就想到单例设计模式  首先,我们先定义一个单例对象 import java.util.HashMap; import java.util.Map; /**  *   * @author wangiegie  * @date 2015年9月29日下午8:13:06  * @description  */ public class Singleton { //缓存accessToken 的Map  ,map中包含 一个a

微信查询高考分数已支持20个城市

高考成绩陆续出炉,高考分数也能用微信查询了,如四川考生可用微信查高考成绩了,目前已支持海南全省,广州.鹰潭等20个城市,但不同城市的查询方法可能不太一样,下面是微信官方以海南省和广州市为例带来了两种查询方式. 1.海南省微信查询高考分数方法:打开微信,进入我→钱包→城市服务→高考查询 2.广州市微信查询高考分数方法:点击微信进入我→钱包→城市服务→全部“政务办事”→招考查询 当然,高考分数查询除了传统的考试服务网站.电话和短信外,还有更方便快捷的支付宝等互联网方式.有亲戚朋友参加高考的小伙伴赶紧