前后端分离(VUE+SPRINGBOOT)十五 微信移动端 企业微信的开发token和jsapi_ticket的存取
调用接口很简单,写2个方法,先写一个POST,一个GET,
配置文件里配置好
每次需要用token或者是jsapi_ticket的时候,先去数据库查找有效的token
如果有则返回需要的token或者jsapi_ticket或者txlaccesstoken,
找不到,则清除表,重新调用微信接口,保存至数据库并返回,
相关代码如下。
/***
* 获取acess_token
* @return
*/
public static String getAccessToken(String appid,String appSecret) {
String url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+appid+"&corpsecret="+appSecret;
String backData = WebCharUtil.sendGet(url, "utf-8", 10000);
String accessToken = JSON.parseObject(backData).getString("access_token") ;
return accessToken;
}
/***
*
* 获取jsapiTicket
* @return
*
*/
public static String getJSApiTicket(String acessToken) {
String urlStr = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token="+acessToken;
String backData = WebCharUtil.sendGet(urlStr, "utf-8", 10000);
String ticket = JSON.parseObject(backData).getString("ticket");
return ticket;
}
/**
* 获取微信token,先从本地数据库判断是否有未失效的,
* 有 则从本地读取出来,
* 没有 则从微信端获取来,在更新到数据库并缓存
* (最好是放缓存,此处还未加缓存)
* @return
*/
@Override
public String getWebChatCache(JSONObject jsonObject1) {
JSONObject jsonObject = webChatCacheDao.getWebChatCache(jsonObject1);
System.out.println(jsonObject);
if(jsonObject==null) { //失效或者不存在,调用微信接口获取并保存数据库
String accessToken =WebCharUtil.getAccessToken(this.cortid, this.secret);
String txlAccessToken =WebCharUtil.getAccessToken(this.cortid, this.txlsecret);
String jspApiTicket = WebCharUtil.getJSApiTicket(accessToken);
webChatCacheDao.deleteWebChatCache(null);//清掉之前的数据
JSONObject insertObject = new JSONObject();
//微信的token和JSapiticket默认失效2小时
insertObject.put("expireTime", this.getBeforeByHourTime(2));
insertObject.put("key", WebChatCommon.ACCESSTOKEN);
insertObject.put("value", accessToken);
webChatCacheDao.insertWebChatCache(insertObject);
insertObject.put("key", WebChatCommon.JSAPITICKET);
insertObject.put("value", jspApiTicket);
webChatCacheDao.insertWebChatCache(insertObject);
insertObject.put("key", WebChatCommon.TXLJSAPITICKET);
insertObject.put("value", txlAccessToken);
webChatCacheDao.insertWebChatCache(insertObject);
if(WebChatCommon.ACCESSTOKEN.equals(jsonObject1.getString("key"))){
return accessToken;
}else if(WebChatCommon.JSAPITICKET.equals(jsonObject1.getString("key"))){
return jspApiTicket;
}else {
return txlAccessToken;
}
}else { //有则直接从数据库返回
return jsonObject.getString("value");
}
}
前后端分离(VUE+SPRINGBOOT)十五 微信移动端 企业微信的开发token和jsapi_ticket的存取相关推荐
- 学生选课系统 前后端分离 vue springboot
学生选课系统 前后端分离 vue springboot 系统描述 一.系统功能 二.系统截图 1.网络爬虫 新闻获取代码 2.pom 源码 系统描述 基于spring boot vue的学生选课系统 ...
- 记录一种ssh旧系统和前后端分离新系统结合的解决方案,以及两系统间通过token进行认证的方式
一.背景介绍 公司现有一个ssh框架的旧系统,想要转型使用前后端分离vue+springboot的新框架.由于一些原因,无法完全转型,所以考虑新增的业务需求,使用在旧系统中嵌套新系统页面的方式,之后新 ...
- Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品排序,Thymeleaf快速入门,商品详情页的展示)
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品详情页的展示) 一.商品排序 1.完善页面信息 这是用来做排序的,默认按照综合排序 ...
- Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十四(Spring Data Elasticsearch,将数据添加到索引库)
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十四(Spring Data Elasticsearch,将数据添加到索引库) 一.创建El ...
- 前后端分离的探索(五)
文桥,13级机械工程系,机械电子工程专业,大四学生.在LSGO软件技术团队负责前端部分,本图文是介绍目前流行的前后端分离技术的第五篇(一共六篇),希望大家能够对这块有所了解.
- Java实现图片上传功能(前后端:vue+springBoot)
Java实现图片上传功能(前后端:vue+springBoot) 前言: 前端: 组件引入 基础文件上传 自定义上传方法 后端: 需要引入的jar包: 基础文件上传 Controller层: serv ...
- 单realm模式下前后端分离实现springboot+shiro+jwt+vue整合
shiro+jwt实现前后端分离 一.RBAC概念 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在R ...
- Nginx实现前后端分离(springboot+vue)+双机互备
背景介绍 项目采用springboot+vue开发,之 前项目布署时,都是采用pom中配置,把vue打包的dist文件copy到springboot项目中resource/static下做的,这样每次 ...
- Vue iView Admin 动态路由菜单加载 前后端分离(springboot 2.x iview admin vue 前后端分离 模型设计器 动态数据权限...
宣传官网 xb.exrick.cn 在线Demo xboot.exrick.cn 开源版Github地址 github.com/Exrick/x-bo- 开发文档 www.kancloud.cn/ex ...
- 前后端分离:SpringBoot治好了我的时间内耗
1.前后端分离为了什么 1.1前言 本文作为系列文章的第一篇,是铁柱在工作之余对自我学习的总结,以下内容是搭建基础的前后端分离的Demo来展开的,需要对MySQL,Spring,SpringMVC ...
最新文章
- lintcode:打劫房屋 III
- shell下输出字体颜色
- 如何将四个一字节的数转换为一个四字节数
- coreelec ssh访问被拒绝_GitLab官网在线仓库SSH连接故障排查和经验总结实例
- H5页面随机数字键盘支付页面
- 仿抖音视频自动播放html,vue 仿抖音视频播放切换
- 关于百万用户服务器架构能力(一)QQ游戏服务器架构
- 怎么用Linux命令查看BIOS信息,LINUX下怎样获取主板的信息用到什么命令
- 转载:HTML5及移动端BUG
- jQuery学习笔记03
- 2019 related conferences 相关会议 ISMAR, VRST, UIST
- matlab实现文本内容批量替换
- 14 、软件测试-MySQL的基本使用方法-增删改查
- 吉他效果器插件-IK Multimedia AmpliTube 5 MAX 5.0.3 macOS
- CSS精灵优化Retina显示屏下的网站图像
- hdu 4747(区间更新)
- cmd中的arp指令
- 【仅供娱乐】计算机算命之Python通天六十四卦
- UML 协作图(通信图) collaboration diagram
- 疯子坐飞机,第1个人疯了,随便坐下,第n个人能够坐在自己位置上的概率