第1章 认识微信公众平台 1
1.1 微信公众平台账号分类 1
1.1.1 订阅号 2
1.1.2 服务号 2
1.1.3 企业号 4
1.1.4 小程序 4
1.2 微信公众号申请流程 5
1.3 微信公众号的认证 9
1.4 公众号设置 10
1.5 成为微信开发者 10
1.5.1 通过公众号 10
1.5.2 通过测试号 12
1.6 公众号的安全中心 13
1.7 本章小结 14
第2章 搭建网页JSSDK开发环境 15
2.1 JSSDK介绍 15
2.2 部署JSSDK 17
2.2.1 绑定域名 17
2.2.2 引入JS文件 18
2.2.3 通过wx.config接口验证JSSDK权限 18
2.3 使用SAE部署测试号的JSSDK 28
2.3.1 在SAE中创建应用 28
2.3.2 上传测试代码 31
2.3.3 绑定JS接口 32
2.3.4 针对SAE不支持读写操作的处理——Memcached 34
2.3.5 在公众号中测试效果 37
2.4 JSSDK的调试工具 38
2.5 JSSDK的主要功能参考列表 38
2.6 一些其他基础入门必知的知识点 41
2.7 本章小结 41
第3章 JSSDK网页开发的基础接口和分享接口 42
3.1 基础接口的作用 42
3.1.1 任何开发都要从基础接口开始 42
3.1.2 判断当前客户端版本是否支持指定JS接口 42
3.2 分享接口的作用 44
3.2.1 分享接口有什么好处 44
3.2.2 获取微信的分享接口 44
3.3 实例:微信分享一个网页到朋友圈 47
3.4 常见问题 51
第4章 JSSDK的图像处理 52
4.1 认识图像接口 52
4.1.1 从手机相册中选图 52
4.1.2 预览图片 55
4.1.3 上传图片 56
4.1.4 下载图片 59
4.2 实例:从手机相册中选择照片然后分享 61
4.2.1 项目需求 61
4.2.2 需求分解 61
4.2.3 代码实现 62
4.3 常见问题 65
第5章 JSSDK的音频处理 66
5.1 音频接口 66
5.1.1 开始录音 66
5.1.2 停止录音 67
5.1.3 监听录音自动停止 68
5.1.4 播放语音 68
5.1.5 暂停播放 70
5.1.6 停止播放 71
5.1.7 监听语音播放完毕 71
5.1.8 上传语音 72
5.1.9 下载语音 74
5.2 常见问题 75
第6章 JSSDK的界面操作 76
6.1 界面操作 76
6.1.1 关闭当前网页窗口 76
6.1.2 批量隐藏功能按钮 77
6.1.3 批量显示功能按钮 78
6.1.4 隐藏所有非基础按钮 80
6.1.5 显示所有功能按钮 80
6.2 常见问题 81
第7章 JSSDK的地理位置 82
7.1 地理位置 82
7.1.1 获取地理位置 82
7.1.2 使用微信内置地图查看位置 85
7.2 常见问题 87
第8章 JSSDK的智能操作与微信支付 88
8.1 智能接口——识别音频并返回识别结果 88
8.2 微信扫一扫 90
8.3 设备信息——获取网络状态接口 92
8.4 微信支付 93
8.4.1 微信支付公众平台申请流程 94
8.4.2 完成账户验证 95
8.4.3 设置API秘钥 96
8.4.4 下载API证书 98
8.4.5 微信支付的开发配置 99
8.4.6 微信支付测试 99
8.5 常见问题 102
第9章 JSSDK的微信商店 104
9.1 微信小店 104
9.2 微信卡券 105
9.2.1 批量添加卡券 105
9.2.2 调用适用于门店的卡券列表并获取用户选择列表 107
9.2.3 查看微信卡包中的卡券 108
9.3 常见问题 109
第10章 微信网页开发样式库 110
10.1 认识WeUI 110
10.1.1 WeUI的特色 110
10.1.2 安装WeUI 111
10.1.3 使用WeUI做一个欢迎界面 113
10.2 使用表单 114
10.2.1 按钮(Button) 114
10.2.2 表单输入(Input) 117
10.2.3 列表(List) 121
10.2.4 滑块(Slider) 122
10.2.5 上传(Uploader) 124
10.3 使用基础组件 128
10.3.1 九宫格(Grid) 128
10.3.2 进度条(Progress) 130
10.4 使用导航组件 133
10.5 网页其他样式 135
10.6 常见问题 136
第11章 实战案例1:中国好友挑战赛(HTML5混编) 137
11.1 案例概述 137
11.2 客户需求 137
11.2.1 首页 137
11.2.2 男生游戏的逻辑 139
11.2.3 女生游戏的逻辑 142
11.2.4 分享页面 147
11.3 实现代码及分析 148
11.3.1 首页模块 148
11.3.2 参加女生组模块 164
11.3.3 参加男生组模块 198
11.4 案例总结 215
第12章 实战案例2:LBS服务获取用户位置 216
12.1 案例概述 216
12.2 实现代码及分析 216
12.3 案例总结 224
第13章 微信JSSDK相关开发技巧及问题 225
13.1 判断微信浏览器 225
13.2 微信浏览器不支持打开App Store页面 226
13.3 一些提示码的问题 228
13.3.1 提示码:invalid url domain 228
13.3.2 提示码:invalid signature 229
13.3.3 提示码:the permission value is offline verifying 229
13.3.4 提示码:permission denied 229
13.3.5 提示码:function not exist 229
附录A JS-SDK使用权限签名算法 230
附录B 所有JS接口列表 233
附录C 所有菜单项列表 243
附录D 卡券扩展字段及签名生成算法 245