1 /**

2 * 获取access_token3 *@paramrequest4 *@paramresponse5 *@throwsException6 */

7 @RequestMapping("/getAccessToken")8 public void getAccessToken(HttpServletRequest request, HttpServletResponse response) throwsException {9 String urlStr = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+CORPID+"&corpsecret="+CORPSECRET;10 processUrl(response, urlStr);11 }12

13 /**

14 * 获取jsapi_ticket15 *@paramrequest16 *@paramresponse17 *@throwsException18 */

19 @RequestMapping("/getJsapiTicket")20 public void getJsapiTicket(HttpServletRequest request, HttpServletResponse response) throwsException {21 String access_token = request.getParameter("access_token");22 String urlStr = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token="+access_token;23 processUrl(response, urlStr);24 }25

26 /**

27 * 获取签名signature28 *@paramrequest29 *@paramresponse30 *@throwsException31 */

32 @RequestMapping("/getJsSdkSign")33 public void getJsSdkSign(HttpServletRequest request, HttpServletResponse response) throwsException {34 String noncestr = request.getParameter("noncestr");35 String tsapiTicket = request.getParameter("jsapi_ticket");36 String timestamp = request.getParameter("timestamp");37 String url = request.getParameter("url");38 String jsSdkSign =getJsSdkSign(noncestr, tsapiTicket, timestamp, url);39 PrintWriter out =response.getWriter();40 out.print(jsSdkSign);41 }42

43 private voidprocessUrl(HttpServletResponse response, String urlStr) {44 URL url;45 try{46 url = newURL(urlStr);47 URLConnection URLconnection =url.openConnection();48 HttpURLConnection httpConnection =(HttpURLConnection)URLconnection;49 int responseCode =httpConnection.getResponseCode();50 if (responseCode ==HttpURLConnection.HTTP_OK) {51 InputStream urlStream =httpConnection.getInputStream();52 BufferedReader bufferedReader = new BufferedReader(newInputStreamReader(urlStream));53 String sCurrentLine = "";54 String sTotalString = "";55 while ((sCurrentLine = bufferedReader.readLine()) != null) {56 sTotalString +=sCurrentLine;57 }58 PrintWriter out =response.getWriter();59 out.print(sTotalString);60 }else{61 System.err.println("失败");62 }63 } catch(Exception e) {64 e.printStackTrace();65 }66 }67

68 /**

69 * 获得加密后的签名70 *@paramnoncestr71 *@paramtsapiTicket72 *@paramtimestamp73 *@paramurl74 *@return

75 */

76 public staticString getJsSdkSign(String noncestr,String tsapiTicket,String timestamp,String url){77 String content="jsapi_ticket="+tsapiTicket+"&noncestr="+noncestr+"&timestamp="+timestamp+"&url="+url;78 String ciphertext=getSha1(content);79

80 returnciphertext;81 }82

83 /**

84 * 进行sha1加密85 *@paramstr86 *@return

87 */

88 public staticString getSha1(String str){89 if(str==null||str.length()==0){90 return null;91 }92 char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9',93 'a','b','c','d','e','f'};94 try{95 MessageDigest mdTemp = MessageDigest.getInstance("SHA1");96 mdTemp.update(str.getBytes("UTF-8"));97

98 byte[] md =mdTemp.digest();99 int j =md.length;100 char buf[] = new char[j*2];101 int k = 0;102 for (int i = 0; i < j; i++) {103 byte byte0 =md[i];104 buf[k++] = hexDigits[byte0 >>> 4 & 0xf];105 buf[k++] = hexDigits[byte0 & 0xf];106 }107 return newString(buf);108 } catch(Exception e) {109 //TODO: handle exception

110 return null;111 }112 }113

114 /**

115 * 获得随机串116 *@return

117 */

118 public staticString create_noncestr() {119 returnUUID.randomUUID().toString();120 }

微信企业号 sdk java_基于Java spring框架的微信企业号开发中关于js-sdk的配置相关推荐

  1. 基于java spring框架开发部标1078视频监控平台精华文章索引

    部标1078视频监控平台,是一个庞杂的工程,涵盖了多层协议,部标jt808,jt809,jt1078,苏标Adas协议等,多个平台功能标准,部标796标准,部标1077标准和苏标主动安全标准,视频方面 ...

  2. 【微信小程序】基于Java+uniapp框架开发的全开源微信小程序商城系统

    应用介绍 基于Java+uniapp框架开发的全开源微信小程序商城系统,前端采用目前主流的uniapp框架开发,后端采用Java语言开发,前后端代码全部开源,减少重复造轮子,支持小程序商城秒杀.优惠券 ...

  3. java监听微信_一种基于java后台应用监控微信小程序的用户访问量的方法与流程...

    本发明涉及java应用与微信小程序应用开发技术领域,具体涉及一种基于java后台应用监控微信小程序的用户访问量的方法. 背景技术: 微信小程序,简称小程序,是一种不需要下载安装即可使用的应用,它实现了 ...

  4. 基于 Java Spring Security 的关注微信公众号即登录的设计与实现 ya

    太长不看版本 本文通过一个实际的具有一定商业价值的项目,展示了 API 优先的开发方法.通过薅羊毛的方式,落地了 Free Arch 架构. 背景和价值 通过微信公众号积累粉丝并进行商业活动宣传,是新 ...

  5. 基于java SSM框架+微信小程序实现电子书城阅读器演示【附项目源码+论文说明】分享

    基于java SSM框架+微信小程序实现电子书城阅读器演示 摘要 而随着互联网技术的不断发展,互联网已经渗入到我们生活中的各个方面.移动设备的普及使我们的生活发生了翻天覆地的变化,这种变化也深刻影响着 ...

  6. 基于java SSM框架+微信小程序实现电子书城阅读器演示【附项目源码+论文说明】

    基于java SSM框架+微信小程序实现电子书城阅读器演示 摘要 而随着互联网技术的不断发展,互联网已经渗入到我们生活中的各个方面.移动设备的普及使我们的生活发生了翻天覆地的变化,这种变化也深刻影响着 ...

  7. 基于java+SpringBoot+HTML+Mysq+微信小程序+小说阅读网站

     详细功能设计:请点击下面链接查看 基于java+SpringBoot+HTML+Mysq+微信小程序+小说阅读网站_哔哩哔哩_bilibili 源码+论文获取: 源码+论文获取请私信获取 基于Spr ...

  8. 微信公众号开发系列-13、基于RDIFramework.NET框架整合微信开发应用效果展示

    微信公众号开发系列-13.基于RDIFramework.NET框架整合微信开发应用效果展示 1.前言 通过前面一系列文章的学习,我们对微信公众号开发已经有了一个比较深入和全面的了解. 微信公众号开发为 ...

  9. java毕业设计——基于java+Spring+JSP的宠物网站设计与实现(毕业论文+程序源码)——宠物网站

    基于java+Spring+JSP的宠物网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Spring+JSP的宠物网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  10. 基于java ssm框架实大学生心理健康系统设计与开发演示【附项目源码+论文说明】

    基于java ssm框架实大学生心理健康系统设计与开发演示 摘要 近些年来,我国高等教育规模不断扩大,在校大学生人数屡创新高,大学生心理健康问题也日益严峻.虽然各高等学校对心理健康教育的重视程度较高, ...

最新文章

  1. 4一20ma电流有源与无源区别_4-20 mA电流环的工作原理是怎么样的
  2. 【计算理论】自动机设计 ( 设计自动机 | 确定性自动机设计示例 | 确定性与非确定性 | 自动机中的不确定性 )
  3. mysql union join_MySQL 超新手入门(5) JOIN 与 UNION 查询
  4. 通过cookie保存并读取用户登录信息
  5. unity android ndk的作用,Unity中编写Android下使用的so插件
  6. 游戏筑基开发之利用文件函数取出配置文件(ini文件)的数据实体(C语言)
  7. python 移动文件位置-python实现指定文件夹下的指定文件移动到指定位置
  8. 无线ap ntp服务器,我有一优科 ZoneFlex 7982 的无线AP,怎样可以进AP系统进行设置...
  9. 搭建Android开发环境——Eclipse
  10. Ubuntu 安装磁盘分区及启动项添加
  11. 当A题成为一种习惯--POJ AC100题纪念贴
  12. minio权限之IAM policy配置及用户赋权
  13. 【无锡学院/南信大滨江学院】IOS快捷指令登陆校园网——Iphone12实测
  14. uniapp 发布h5后报错,连接服务器超时,点击屏幕重试
  15. Python培训班多少钱
  16. EXCEL表格中如何给奇偶数行填充不同颜色
  17. PAT - 浙江大学计算机程序设计能力考试简介
  18. 阿里前端智能化技术探索和未来思考
  19. Python_np.sum()函数
  20. 第三天-01-批处理文件

热门文章

  1. 干货 | 6大商品数据分析模型分享!
  2. gba口袋妖怪c语言源代码,查看“精灵宝可梦 火红·叶绿”的源代码
  3. 使用 NetCat 工具实现远程文件传输
  4. hexo博客yilia-puls主题使用aplayer音乐插件
  5. 南朝皇帝简介-20170604
  6. python数据按照分组进行频率分布_python实现读取类别频数数据画水平条形图案例...
  7. latex段落悬挂缩进_使用正则表达式在Java中悬挂缩进段落
  8. 关于先有鸡蛋还是先有鸡的理解
  9. Method annotated with @Bean is called directly. Use dependency injection instead.
  10. MobileNet_v1:深度可分离卷积