zoukankan      html  css  js  c++  java
  • 微信(公众号、小程序)开发

    一、开发前准备

    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。

    微信(公众号、小程序)开发

    微信(公众号、小程序)开发

  • 相关阅读:
    Codeforces 414A
    使用Homebrew在Mountain Lion上安装MySQL
    hdu2066:一个人的旅行(最短路)
    hdu2066:一个人的旅行(最短路)
    hdu1297:Children’s Queue(大数递推)
    hdu1297:Children’s Queue(大数递推)
    hdu1175: 连连看(bfs)
    hdu1175: 连连看(bfs)
    PID72 / 拔河比赛 (动态规划)
    PID72 / 拔河比赛 (动态规划)
  • 原文地址:https://www.cnblogs.com/zytrue/p/8547674.html
Copyright © 2011-2022 走看看