一、开发前准备
1)准备一个服务器,一个已经备案的域名(小程序开发必须使用:https)
2)涉及到微信支付的,需提前在微信支付商户平台,申请商户号和秘钥
3)如果需要将微信公众号或微信小程序相互打通,需提前在微信开放平台注册账号,并将微信公众号或小程序绑定在一起(此时才会获取到unionid)
二、配置
1)开发配置
操作路径:微信公众平台 —— 开发 —— 基本配置
注意:如果是进行公众号网页开发以上配置不是必须的
2)公众号设置
操作路径:微信公众平台 —— 设置 —— 公众号配置
注意:以上设置,只有在进行公众号网页开发的时候需要,小程序开发不需要
三、开发
1)微信公众号的开发
微信公众号开发要分为:与微信服务器交互的开发和不与微信服务器交互的开发。与微信服务器交互的开发,就是微信服务器主动与你的服务器通讯,以响应你的请求。例如,你的用户向你的公众号发送一条信息,你的服务器接受到信息后自动发送一条回复消息。
对于与微信服务器交互的开发,首先需要验证微信服务器。在上面的开发配置处,我们已经配置了服务器地址。此服务器地址就是验证微信服务器时,微信服务器需要调用的地址。验证微信服务器时,微信服务器会向此地址发送POST请求,传递一些参数,此地址接受到参数后,需要作出相应的处理。
下面以ThinkPHP的案例来说明
注意:不需要与微信服务器交互的开发,以上内容可以省略
不管是否需要与微信服务器交互,access_token是必不可少的。因为access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。因此在调用其他接口之前,需要先调用接口获取access_token。
获取access_token,可以调用如下接口:
注意:由于access_token的有效期目前为2个小时,所以在获取到access_token后可以将其以文件的形式保存起来,使用时,先判断保存的access_token是否过期,没有过期则直接使用,过期了则重新调用接口获取新的access_token并保存到文件中。
access_token获取之后,其他接口即可按开发文档直接调用。
2)小程序开发
小程序开发相对于公众号开发而言是比较简单的,其难点就是调起授权登录窗,获取用户信息。那么如何获取用户的登录信息呢?
具体步骤如下:
-
调用wx.login(OBJECT)接口,获取登录凭证(code),调用后台自己的接口,用code 换取 session_key,获取到session_key后,使用自己的加密方式生成新的session_key,将其返回给客户端,客户端接收到新的session_key后将其保存在本地。
-
进入其他需要用户信息的页面,先调用wx.checkSession(OBJECT)接口,检测用户登录态是否失效,如果用户登录态失效了,需要重新操作第一步,获取新的session_key
-
如果登录态没有失效,将之前本地已经保存的session_key传至后台,后台接收到后,通过session_key获取用户信息
3)微信支付开发
微信开发数据的传输使用的是XML格式,因此在接受数据和发送数据时,需要进行XML的封装和解析。微信官方Demo中已经封装相关方法,大家可以根据需要选择版本。
扫码支付。微信扫码支付,有两种模式,模式一不需要预先指定支付用户的openid,而模式二需要预先指定用户的openid。对于模式一,需要先在微信支付商户后台,配置扫码回调地址,然后再根据商品或订单信息生成二维码。微信扫码时,微信服务器会将商品或订单信息及扫码人的openid推送到扫码回调地址。模式一和模式二的不同之处在于获取openid的方式,其他的步骤基本一样,都是调用统一下单API。
请发表评论