微信公众号

分布式微信公众平台框架--架构

参考:https://blog.csdn.net/waitaction/article/details/50891038

微信JS-SDK说明文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

注意:1、微信小程序是没有SDK的,框架中已经是封装进去了。微信公众号的一个H5页面,js要调用微信app的功能,就需要SDK。

      2、微信公众平台注册之后可以获得  appId、appSecret 这两个值

1、调用 SDK 的权限配置:(比较麻烦的是 signature 这个字段的值)https://blog.csdn.net/wlsyn/article/details/49098383

wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名
    jsApiList: [] // 必填,需要使用的JS接口列表
});

  微信公众平台接口调试工具(获取access_token):https://mp.weixin.qq.com/debug

  获取 jsapi_ticket  :https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=${access_token}&type=jsapi

    微信 JS 接口签名校验工具(获取 signature):https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign

  nonceStr:随机的字符串,如 Wm3WZYTPz0wzccnN。 这个值要和生成签名时使用的一致

  timestamp:这个单位是秒。 这个值要和生成签名时使用的一致

  signature:https://blog.csdn.net/Allence_z/article/details/80993248  或  https://blog.csdn.net/qq_36627509/article/details/79745328 (官方文档有说明,生成签名的逻辑必须在服务端生成

    获取signature需要先获取access_token(通过调用微信接口可以获取到),再通过access_token去获取jsapi_ticket(通过调用微信接口可以获取到)。将noncestr、jsapi_ticket、timestamp、url按照一定的算法,生成signature。

  总结:这3个参数,前端只要调接口获取就可以了,都是后端生成的。生成signature的  url  比较麻烦,使用本地ip地址是没有用的。

2、关注公众号(关注的用户,在微信后台管理是可以看到的) 才可以进入 和  服务器交互(文字或语音)的窗口。即下面的这个对话框

3、公众号中的网页,分享给别人,别人没有关注也是可以正常打开的(这个是可以设置强制 关注后才可以打开页面)。如果页面中有调JS-SDK的话,没有关注是否可以正常使用(这个没有测试过,不清楚)

4、微信官方jssdk Demo  : https://www.weixinsxy.com/jssdk/  (手机直接扫码这个就可以知道手机是不是可以正常使用)

  里面的代码是可以直接下载下来的。

  研究下 微信官方jssdk Demo 可以知道,具体怎么使用 jssdk好。 https://www.cnblogs.com/zjx2011/p/4922745.html

 


总结开发微信公众号:

1、需要的环境:本地服务器(个人使用node)+内网穿透(服务器必须要外网可以访问)+微信公众号账号+前端H5页面

   注意:如果服务器是外网可以访问的服务器,就不需要内网穿透。因为H5页面要使用微信的东西,微信服务器(这个是在外网上的)要访问自己服务器的接口(微信的机制)。

      在测试号测试,域名没有特别的要求。自己测试的时候 用的 是3级 域名,还是可以正常调用微信的 SDK 功能。

2、调用微信的JS-SDK 会有各种问题的。苹果和安卓都要检测下,苹果常常是有问题的。

3、微信公众号开发(有5篇文章,比较详细):https://blog.csdn.net/qq_15385627/article/category/7668414

5、自定义创建菜单:这个是通过调接口 实现底边菜单的设置(可以在程序中设置,也可直接使用调试工具实现)。  https://blog.csdn.net/qq_15385627/article/details/80340984

posted @ 2018-05-09 17:41  吴飞ff  阅读(313)  评论(0编辑  收藏  举报