一、微信框架介绍

1、access_token是公众号的全局唯一调用接口的凭证,它两个小时更新一次。

获取access_token方法:

https请求方式: GET

https://api.weixin.qq.com/cgi-bin/token?

grant_type=client_credential&appid=APPID&secret=APPSECRET

本项目使用github上的开源微信项目:

二、整合微信开发框架WxJava

将demo下面的类(除了controller包)全部复制到我们自己的项目里面,引入

maven jar包,并且还有把demo项目中的application中也要设置成一样的。

验证是否将框架整合完成,就是将demo下面的那个验证放入项目中去配置一下看能不能配置成功。

如果配置成功了,说明框架整合完成。

三、微信返回模板消息接口

这个模版消息接口可以参考微信的官方文档 ,这里面解释的很详细。

测试微信模板消息接口推送,使用postman推送。

发送消息接口使用POST方式

http请求方式: POST

模板消息 ,使用json格式发送

{

"touser":"OPENID",

"template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",

"url":"http://weixin.qq.com/download",

"miniprogram":{

"appid":"xiaochengxuappid12345",

"pagepath":"index?foo=bar"

},

"data":{

"first": {

"value":"恭喜你购买成功!",

"color":"#173177"

},

"keyword1":{

"value":"巧克力",

"color":"#173177"

},

"keyword2": {

"value":"39.8元",

"color":"#173177"

},

"keyword3": {

"value":"2014年9月22日",

"color":"#173177"

},

"remark":{

"value":"欢迎再次购买!",

"color":"#173177"

}

}

}

四、使用wxJava框架来发送消息模版

发送的json模板数据:

--

注意了:这个模板跟上面微信的那个模板不一样,不一样的地方名字、和参数,data是list类型的。

{

"toUser": "o8c0W1rRGfQBoP7i9vfeWg_kxMok",

"templateId": "16FCCw39w8xuI26M5xTU60nstxh5NQN-rQlIgVZX_DQ",

"url": "http://www.itmayiedu.com",

"data": [

{

"name": "first",

"value": "2019年1月16日",

"color": "#173177"

},

{

"name": "money",

"value": "1000",

"color": "#173177"

},

{

"name": "orderNo",

"value": "1676767677677",

"color": "#173177"

}

]

}

本地调用方法:

/**

* 发送模版消息请求 发送消息模版

* @throws WxErrorException

*/

@RequestMapping("/sendTemplete")

public String sendTemplete(@RequestBody WxMpTemplateMessage wxMpTemplateMessage) throws WxErrorException {

WxMpTemplateMsgService wxMpTemplateMsgService = wxService.getTemplateMsgService();

log.info("####微信消息模版正在推送####");

return wxMpTemplateMsgService.sendTemplateMsg(wxMpTemplateMessage);

}

调用:

http://127.0.0.1:81/wechat/portal/sendTemplete

五、Http协议参数转义知识

1、http协议转义:http协议对于特殊字符要进行转义,如:+ - 号等特殊字符,

需要转义才能去访问,否则会变成空格。

2、为什么要回调的时候转义?

答:因为重定向到浏览器的时候自己进行重定向。转义主要是防止特殊字符变成空格

java 微信api框架_Java架构学习(五十二)使用框架开发微信微信框架介绍整合微信开发框架WxJava使用微信返回消息模板接口使用WxJava框架发送模板消息http协议参数转义知识...相关推荐

  1. Java架构学习(十二)java内存结构新生代老年代JVM参数调优堆内存参数配置解决堆栈溢出

    JVM参数调优与垃圾回收机制 一.java内存结构 Java内存模型:是多线程里面的,jmm与线程可见性有关 Java内存结构:是JVM虚拟机存储空间. Java内存结构图 Java内存机构分为:方法 ...

  2. java session 生命周期_Java架构师第十四步——Session的生命周期(读书笔记)

    Session生命周期 Session中的数据保存在服务器端,在客户端需要的时候创建Session,在客户端不需要的时候销毁Session,使它不再占用服务器内存.前面说了服务器并不管客户端是否依然存 ...

  3. java mysql查询试题_java 面试题三十二 mysql查询面试题

    题一: 新建学生-课程数据库的三个表: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) Sno为主码; 课程表:Course(Cno,Cname,Cpno,Credeit ...

  4. 最详细的【微信小程序+阿里云Web服务】开发部署指引(十二):开发小程序用户反馈功能

    文章目录 前言 一.功能说明 二.代码实现 1.创建界面Page 2.WXML 3.JS 4.WXSS 专题文章链接 前言 案例的运行效果,可以扫码观看: 本篇文章,我们将实现应用的用户反馈功能. 一 ...

  5. java netty聊天室_java架构之路-(netty专题)netty的基本使用和netty聊天室

    上次回顾: 上次博客,我们主要说了我们的IO模型,BIO同步阻塞,NIO同步非阻塞,AIO基于NIO二次封装的异步非阻塞,最重要的就是我们的NIO,脑海中应该有NIO的模型图. Netty概念: Ne ...

  6. 25000字总结Android优秀的第三方框架、各种学习资料汇集 二 Camera、Video、指纹、聊天IM、投屏等等

    前言 前几天总结了Android中常用到的系统组件.Design组件.自定义组件等等系列 点击跳转地址: 25000字总结Android优秀的第三方框架.各种学习资料汇集 一 系统组件.Design组 ...

  7. 插入DLL和挂接API——Windows核心编程学习手札之二十二

    插入DLL和挂接API --Windows核心编程学习手札之二十二 如下情况,可能要打破进程的界限,访问另一个进程的地址空间: 1)为另一个进程创建的窗口建立子类时: 2)需要调试帮助时,如需要确定另 ...

  8. JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件

    JavaWeb学习总结(五十二)--使用JavaMail创建邮件和发送邮件 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两 ...

  9. OpenCV学习笔记(五十一)——imge stitching图像拼接stitching OpenCV学习笔记(五十二)——号外:OpenCV 2.4.1 又出来了。。。。。 OpenCV学习笔记(五

    OpenCV学习笔记(五十一)--imge stitching图像拼接stitching stitching是OpenCV2.4.0一个新模块,功能是实现图像拼接,所有的相关函数都被封装在Stitch ...

最新文章

  1. HDU2091 空心三角形
  2. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 cosωn 的傅里叶变换 | 复变函数欧拉公式 )
  3. React中redux原理图
  4. ftp 速度_如何评价我的骑行功率(FTP)?
  5. java.util.concurrent.locks.LockSupport
  6. iOS 音频播放时听筒及扬声器切换
  7. 在Mind+下使用Easy loT实现mqtt消息消息的通讯
  8. 先进核反应堆 ——新能源概论结课作业
  9. Jenkins修改插件下载地址
  10. ECMAScript
  11. 常用坐标系汇总(更新)
  12. Vue中@click.stop与@click.prevent、@click.native
  13. SQL中COUNT的用法
  14. 管道与系统调用pipe
  15. linux系统支持ntfs吗,Linux支持NTFS格式文件的方法
  16. android使用xml定义背景边框
  17. 局域网内,两台电脑时间同步
  18. react中使用阿里Viser图表
  19. 数字营销(三)如何确定合适的流量渠道?
  20. html + layui 打开word文档

热门文章

  1. Protobuf序列化的原理-总结
  2. TCP/IP协议的TCP握手协议
  3. 使用SpringTask定时获取传感器设备信息并缓存到Redis
  4. 字符流读数据的2种方式
  5. 权限操作-springSecurity概述及快速入门步骤分析
  6. 日志规范之阿里巴巴开发手册中的其它规范讲解
  7. 什么是Eureka注册中心
  8. MySQL复制常见问题处理
  9. Zookeeper_实际应用讲解
  10. 前端浏览器兼容知识点整理