AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

微信公众账号开发入门

发布者 snandy   简介 JD前端工程师
主页 http://snandy.cnblogs.com  发布于 1447850473665  浏览 5619 关键词 移动开发 
分享到

第1页

微信公众账号开发入门
 @snandy  2015.11

第2页

内容
背景
注册篇
设置篇
获取篇
测试篇



第3页

背景
1. 越来越多的业务开通微信公众号
2. 不少开发同学不清楚微信API调用流程

第4页

1.0 微信开发的四种平台类型

第5页

1.1 APP/网站/公众账号

第6页

1.2 订阅号,服务号和企业号的区别

第7页

1.3 引子
微信公众账号开发过程中,有一些功能需要调用微信的接口,如 “分享到朋友圈”,“扫描二维码” 等

第8页

1.4 更多API
http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

第9页

1.5 开始想的设想…

第10页

1.6 实际却是报错

第11页

2 注册
注册一个公众账号是必须的,5 个步骤
填写基本信息
邮箱激活
选择账号类型
信息登记
查看公众号信息

第12页

2.1 访问https://mp.weixin.qq.com

第13页

2.2 激活邮箱

第14页

2.3 选择账号类型

第15页

2.4 信息登记

第16页

2.5 信息登记
选“个人”,需要填写一些身份证等信息

第17页

2.6 扫描二维码确认
填写完身份证号后还需要验证运营者身份,这个需要用绑定了运营者本人银行卡的微信扫描二维码

第18页

3.1 查看注册信息

第19页

3.2AppID(应用ID) 和AppSecret(应用密钥)

第20页

3.3 绑定域名
进入 “公众号设置” 的 “功能设置” 里填写 “JS接口安全域名”
最多可以绑定三个不同域名

第21页

4.1 获取access_token
access_token是必须的,后面还需要用它来获取Jsapi_ticket
access_token有效期7200秒(2小时),开发者必须在自己的服务全局缓存 access_token
接口:https://api.weixin.qq.com/cgi-bin/token
三个参数:appid,secret,grant_type
appid 和 secret 在开发者中心 - 配置项 里可以查看获取在开发者中心 - 配置项 里可以查看获取
grant_type 固定为client_credential

第22页

4.1 获取access_token
完整URL


返回的数据结构

第23页

4.2获取jsapi_ticket
接口(需要用到前面的 access_token)
返回的JSON格式

第24页

4.3 签名算法 sign
参与签名的字段包括 noncestr(随机字符串),  jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分)
拼接字符串后

第25页

4.4 签名算法SHA1加密
SHA1加密 (https://github.com/brix/crypto-js)


加密后


注意
签名用的 noncestr 和 timestamp 必须与 wx.config 中的 nonceStr 和timestamp相同
签名用的 url 必须是调用JS接口页面的完整URL
安全考虑,开发者必须在服务器端实现签名的逻辑

第26页

4.5 页面配置
两个步骤
引入微信 JSAPI
调用 wx.config 进行配置
http://res.wx.qq.com/open/js/jweixin-1.0.0.js  (基本) 
http://res.wx.qq.com/open/js/jweixin-1.1.0.js (含摇一摇)
微信 JS API

第27页

4.6 页面配置
wx.config

第28页

4.6 API示例

第29页

5.1 测试篇
做好的页面是不能直接通过手机端浏览器访问的,一定要嵌在微信里
把页面放到一个线上服务器(新浪云)
将测试页面 url 转成二维码,比如http://cli.im/
用微信扫二维码

第30页

5.2 线上示例

第31页

资源
jsapi_ticket
http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
https://github.com/brix/crypto-js


第32页

Thanks
支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。