java微信开发

0  前言

之前做过一点微信开发,想简单记录一下。

 

1  概述

简单说一下大致过程。

有一些公众号申请认证,服务器配置和验证,凭证获取,域名绑定,ICP备案,接口权限繁琐细节就不说了。

微信有一份开发者文档有详细的解释,可参考这份开发者文档。这里记录的信息可能已过时。

 

1.1 在微信公众号后台中配置你的服务器信息相关签名参数(一开始没给服务器,我用的natapp对自己电脑进行http隧道穿透来测试)。

1.2 配置提交后微信服务器会发送一个请求进行校验,你需要根据签名参数做一些处理和sha1加密,确认该消息来自微信服务器并给出相应的回复

1.3 校验通过以后,当用户发送消息或者触发什么事件后,微信就会把这些相应的信息发到你的服务器上,你要在服务器上监听这些信息并给出反应

1.4  调用微信http接口时要用到凭据参数access_token,用公众号的id和secret来获取,这个参数会定时刷新且获取次数有限,可以在服务器开启线程去定时更新这个参数

1.5  调用微信的js接口时要用到凭据参数jsapi_ticket,用access_token来获取,这个也需要定时更新

1.6  对于微信http接口和微信js接口的调用详见开发者文档。

1.7  我调用过的微信http接口有:接收消息,被动回复,自定义菜单,下载多媒体文件。调用过的微信js接口是上传图片相关的接口。

 

2  需求

之前老师让我做这个是希望把体质识别的应用整合到微信上。

当用户在公众号上发送消息或者点击菜单时,推送或者弹出一个页面,用户可以在页面上上传自己的人脸和舌苔,返回体质类型。

或者在页面上给出一些问题让用户回答,根据用户的答案给出用户的体质类型。或者有别的业务可以往这上面加。

 

3  涉及知识点

java, servlet, 加密, http请求, 多线程, tomcat部署和nginx转发

关于nginx转发可以多说一句。

因为微信公众平台接口调用仅支持80端口,我的java项目部署到tomcat上是8080,而服务器上80端口已经被别的服务占用了。

所以用nginx监听80端口,转发请求到8080。这样就可以在微信配置那里填写80的服务器地址(不写端口就默认是80了)。

posted @ 2017-10-04 15:10  PilgrimHui  阅读(393)  评论(0编辑  收藏  举报