猜你喜欢
微信企业号开发完全自学手册

微信企业号开发完全自学手册

书籍作者:牟云飞 ISBN:9787121308093
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4601
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
下载地址
内容简介

《微信企业号开发完全自学手册》是微信公众平台企业号开发较全面、系统的一本书,以实战开发为原则,讲解微信各个模块的开发使用,以实例引导企业号的开发与运用,以Struts、Hibernate、Servlet、HttpClients、JSP、Ajax、jQuery等热门技术实现微信Light App 的开发,通过QPID、代理服务、页面有效期等方式实现数据的安全交互。除此之外,对SPA 单页面应用框架如何在微信中运用也做了详细介绍。

《微信企业号开发完全自学手册》共11 章,涵盖的主要内容有:微信公众号概述、企业号的发展与注册、配置微信开发环境、JCE安全策略、微信企业号开发基础知识、主动推送模式、被动回调模式、企业会话模式、JSAPI 模式、通讯录管理、语音导航、腾讯地图使用、WebSocket 微信开发、微信单页面应用、QPID、前置机数据安全访问、企业资讯、微信考勤等。

《微信企业号开发完全自学手册》由简入深,实用性较强,即便没有微信开发经验的读者,也能够一步步学习微信开发,学会每个接口的调用及问题处理。有公众号开发经验的读者,则可以重点阅读JSAPI 和数据安全章节,丰富企业号应用,解决微信SPA 物理回退、语音导航等问题。

作者简介

牟云飞,高级研发工程师,烟台海颐软件股份有限公司产品经理。参与众多项目开发,具有丰富的项目实战经验,同时也是微信企业号开发的先行者,在实际开发过程中,积累了丰富的知识和经验。

编辑推荐
适读人群 :Android平台开发人员。

实战:八个实际项目案例,从基础入门到高级应用,手把手教你成为微信大牛

简单:30天,上千行核心代码让你精通微信企业号开发

丰富:AngularJS、ECharts、Qpid、WebSocket、Servlet等10余种技术与微信的结合

创新:类似微信小程序的单页面应用开发讲解

《微信企业号开发完全自学手册》电子书免费下载

pdf下载 txt下载 epub下载 mobi下载 azw3下载

前言

为什么要写这本书

智能手机的日渐普及不断地推动着移动互联网在各行业的应用,众多的App琳琅满目,App开发也从最初的Native App开发,发展到Native App、Web App等多种开发技术。开发越来越容易,各类客户需求的分散,导致App越来越多,大量功能单一的应用被搁置,成为“僵尸应用”。越来越多的用户将视线聚集到微信、QQ、新浪微博等超级应用中,在超级应用倍受关注的形势下,Light App应运而生。Light App又被称为轻应用、微应用,是一种无须下载、即搜即用的全功能App,既有媲美甚至超越Native App的用户体验,提升用户群体,又具备Web App快速开发节约开发成本等特性,前景更加广阔。

微信公众号是腾讯公司在微信的基础上推出的,属于Light App的范畴,使广大微信用户无须下载便能够借助微信直接享受个人或企业提供的各类服务。对于企业推广和发展来说,企业可以通过订阅号、服务号打造一个基于微信的服务或推广平台;而对企业内部,企业能够通过微信新推出的企业号实现对内部管理系统的集成,包括:人力资源管理系统、报销管理系统、企业论坛、新闻通知公告、即时通信系统、OA协同办公等系统,使各类系统移动化,提高工作效率。

企业号能够高效地帮助政府、企业及组织构建自己独有的生态系统,随时随地连接员工、上下游合作伙伴及内部系统和应用,实现业务及管理的互联网移动化。2014年9月企业号进行公测,2015年笔者因工作需要开始进行微信企业号开发,当时市面上基本没有企业号开发的相关文章,笔者先后完成多个企业号项目开发,编写数个微信企业号建设方案,并在CSDN发布了几篇博文,收到许多读者和企业的来信。随着企业号近两年的发展,越来越多的企业想开发企业号,企业号开发人员也受到软件公司的青睐。

为了把微信公众平台开发经验以及企业号的运用更详细、系统地分享出来,笔者在源智图书李幸编辑的鼓励下编写了这本书,希望认识更多的IT人才。


本书内容及知识体系

第1篇 微信企业号概述及开发基础知识(第1~2章)

本篇介绍了微信公众平台企业号概述以及微信企业号开发环境的配置和开发基础知识,主要包括微信公众号的区别、企业号的发展与注册、配置微信开发环境、JCE安全策略的调整、微信调试工具的安装与使用、HttpClients服务请求调用、域名发布使用以及Properties文件配置等。

第2篇 典型模块开发(第3~7章)

本篇介绍了微信开发各种模式下接口调用及开发实现,主要包括AccessToken申请、Token缓存处理、各类消息的主动推送、素材管理、开启回调模式、消息的接收与响应、ECharts运用、语音导航实现、WebSocket连接实现、SPA开发、企业IM与微信的对接、通讯录异步任务维护以及现场业务上报实现等。

第3篇 微信数据安全及数据库基础(第8~9章)

本篇主要介绍了微信公众号数据安全访问的方式策略,主要从软件开发角度实现数据的传输,通过识别浏览、OAuth 2.0身份验证、页面访问有效期、QPID以及前置机代理服务等方式实现数据的传输。

第4篇 项目案例实战(第10~11章)

本篇主要以案例的方式介绍了微信企业号应用的开发过程,从应用创建到应用开发实现,一步步带领读者学习企业号开发,学习企业资讯、微信考勤等应用的实现。


适合阅读本书的读者

需要全面学习微信企业号开发技术的人员;

微信公众号开发技术人员;

微信单页面应用开发人员

Java程序员;

Java EE开发工程师;

希望提高微信项目开发水平的人员;

专业培训机构的学员;

微信企业号应用开发项目经理;

需要一本微信功能查询与实现手册的人员。


阅读本书的建议

没有微信开发经验的读者,建议从第1章顺次阅读并演练每一个实例。

有一定微信开发基础的读者,可以根据实际情况有选择地阅读各个模块和项目案例。

对于有微信公众号项目经验或者对单页面应用开发有兴趣的读者,可以重点阅读第5章JS-SDK的相关开发。

阅读时建议首先阅读一遍书中的模块和项目案例,然后从Hello World写起,“千里之行,始于足下”。大到每个案例,小到每行代码,哪怕简单的变量定义也在SDK中书写一遍,这样不仅能够提高代码速度、效率,而且理解起来也会更加深刻、容易。


致谢

感谢微信创始人张小龙先生及其团队创造了微信这一优秀的平台;

感谢海颐软件李锐、宋庆伟、于洋提供的微信公众账号开发机遇;

感谢徐国智、李明、马金刚在技术上的启蒙与指导;

感谢于春洋在我写书期间在生活上给予的鼓励与帮助;

感谢身边的同事以及广大IT网友对这本书的支持与鼓励。

目录

第一篇 从零开始学企业号
第1章 微信公众平台―认识企业号 2
1.1 微信企业号简介 2
1.1.1 平台发展历程 2
1.1.2 企业号定位 3
1.1.3 与订阅号、服务号区别 3
1.1.4 企业号应用 4
1.2 企业号注册 5
1.2.1 基本信息 5
1.2.2 邮箱激活 5
1.2.3 选择类型 6
1.2.4 信息登记 7
1.2.5 公众号信息 10
1.2.6 绑定管理员 11
1.2.7 增加管理员 11
1.2.8 认证 13
1.3 应用创建 14
1.3.1 进入应用中心 14
1.3.2 选择应用类型 15
1.3.3 填写应用信息 15
1.3.4 完成应用创建 16

第2章 平台开发基础入门 17
2.1 JDK及JCE补丁部署 17
2.1.1 安装JDK 17
2.1.2 环境变量 19
2.1.3 JCE安全策略补丁 21
2.2 开发环境 22
2.2.1 安装MyEclipse 22
2.2.2 绑定服务器 24
2.2.3 调整编译环境 26
2.2.4 微信web开发工具 27
2.3 HttpClients使用技巧 29
2.4 HttpURLConnection使用技巧 32
2.5 Properties配置文件使用 36
2.6 接口调试工具 37
2.7 发布外网服务 38
2.8 公众平台消息模式 39
2.9 微信企业号入门Hello World 40

第二篇 微信企业号开发核心技术
第3章 主动调用模式 46
3.1 主动调用模式介绍 46
3.2 申请AccessToken 47
3.3 AccessToken的缓存处理 50
3.4 主动调用频率限制 53
3.5 信息推送 53
3.5.1 接口说明 54
3.5.2 推动文本消息 56
3.5.3 推送图片消息 61
3.5.4 推送语音消息 62
3.5.5 推送视频消息 66
3.5.6 推送文件消息 70
3.5.7 推送新闻消息 73
3.5.8 推送永久图文消息 79
3.5.9 管理端推送消息 86
3.6 素材管理 87
3.6.1 接口说明 87
3.6.2 上传临时素材文件 87
3.6.3 获取临时素材文件 90
3.6.4 上传永久素材(非图文素材) 92
3.6.5 上传永久素材(图文素材) 93
3.6.6 获取永久素材(非图文素材) 97
3.6.7 获取永久素材(图文素材) 98
3.6.8 删除永久素材 99
3.6.9 修改永久图文素材 100
3.6.10 获取素材总数 101
3.6.11 获取素材列表 102
3.6.12 管理端素材维护 104
3.7 企业号应用管理 105
3.7.1 获取企业号应用 105
3.7.2 设置企业号应用 107
3.7.3 获取应用概况列表 108
3.7.4 管理端应用管理 109
3.8 主动模式自定义菜单 110
3.9 信息自动回复 111
3.10 案例:业务派单 113

第4章 被动回调模式 117
4.1 被动回调模式介绍 117
4.2 开启回调模式 119
4.3 加密/解密算法 123
4.4 被动模式自定义菜单 125
4.4.1 限制与说明 125
4.4.2 创建菜单 127
4.4.3 删除菜单 132
4.4.4 获取菜单列表 133
4.4.5 管理端菜单维护 134
4.5 接收消息Dom解析 135
4.6 消息响应Xstream转换 138
4.7 接收普通消息 141
4.7.1 接口说明 141
4.7.2 接收文本消息 145
4.7.3 接收图片消息 146
4.7.4 接收音频消息 147
4.7.5 接收位置消息 148
4.7.6 接收小视频消息 149
4.7.7 接收链接消息 151
4.7.8 接收视频消息 152
4.8 接收事件消息 153
4.8.1 接口说明 153
4.8.2 接收关注/取消关注事件 155
4.8.3 接收地理位置事件 157
4.8.4 接收进入应用事件 158
4.8.5 接收菜单事件 159
4.8.6 接收异步任务完成事件 166
4.9 被动响应消息 167
4.9.1 接口说明 167
4.9.2 被动响应文字消息 169
4.9.3 被动响应图片消息 171
4.9.4 被动响应音频消息 173
4.9.5 被动响应视频消息 175
4.9.6 被动响应图文消息 177
4.10 案例:企业通讯录快速搜索 180

第5章 JSAPI模式 192
5.1 JSAPI模式介绍 192
5.2 页面接口引入 193
5.2.1 配置“可信域名” 193
5.2.2 引入微信JS文件 194
5.2.3 权限验证 194
5.2.4 验证成功事件 199
5.2.5 验证失败事件 199
5.3 Debug调试及基础接口说明 199
5.3.1 Debug调试模式开启 199
5.3.2 判断当前客户端版本是否支持指定JS接口 200
5.3.3 接口通用函数 201
5.4 微信JS-SDK接口说明 201
5.5 权限接口应用 202
5.5.1 隐藏右上角菜单 202
5.5.2 GPS定位获取位置信息 204
5.5.3 图片处理接口 205
5.5.4 语音及智能接口 206
5.6 ECharts在微信中的应用 208
5.6.1 ECharts简介 208
5.6.2 ECharts快速接入 208
5.6.3 ECharts微信应用 210
5.7 微信中的地图语音导航 214
5.7.1 微信内置地图导航 214
5.7.2 腾讯地图语音导航 215
5.7.3 百度地图语音导航 217
5.8 微信SPA开发 219
5.8.1 基于AngularJS的onsenUI 219
5.8.2 创建AngularJS微信服务 220
5.8.3 SPA下JSAPI模式权限初始化 221
5.8.4 SPA下获取OAuth 2.0成员身份信息 222
5.8.5 解决微信物理回退 223
5.9 微信WebSocket开发 224
5.9.1 WebSocket客户端 224
5.9.2 WebSocket服务端 226
5.10 微信中的支付宝 228
5.11 常见问题 229
5.12 案例:现场业务上报 232
5.12.1 场景回顾 232
5.12.2 示例代码展示 232

第6章 企业会话模式 240
6.1 企业会话模式介绍 240
6.2 开启企业会话 242
6.3 推送聊天信息 245
6.3.1 信息推送接口说明 245
6.3.2 聊天消息体结构说明 247
6.3.3 创建多聊会话 250
6.3.4 修改多聊会话 253
6.3.5 退出多聊会话 255
6.3.6 获取多聊会话信息 256
6.3.7 清除未读会话状态 257
6.3.8 会话消息免打扰 258
6.4 接收聊天信息 260
6.4.1 信息接收接口说明 260
6.4.2 普通消息结构体说明 262
6.4.3 事件消息结构体说明 265
6.5 案例:企业IM与微信的对接 267

第7章 通讯录管理及异步任务 275
7.1 成员验证关注 275
7.2 部门管理 276
7.2.1 新增部门 276
7.2.2 更新部门 277
7.2.3 删除部门 278
7.2.4 获取部门列表 278
7.3 成员管理 279
7.3.1 新增成员 280
7.3.2 成员扩展属性extattr 281
7.3.3 维护成员信息 282
7.3.4 删除单个成员 283
7.3.5 批量删除成员 284
7.3.6 获取成员信息 284
7.3.7 获取部门成员 286
7.3.8 获取部门成员及详细信息 287
7.4 异步任务管理 289
7.4.1 上传CVS文件 290
7.4.2 全量覆盖部门 292
7.4.3 全量覆盖成员 296
7.4.4 jobid获取异步任务结果 299
7.4.5 callback接收异步任务通知 302
7.5 标签管理 305
7.5.1 创建标签 305
7.5.2 新增标签成员 307
7.5.3 删除标签成员 310
7.5.4 获取标签成员 313
7.5.5 删除标签 313
7.6 案例:企业通讯录异步维护 314

第8章 数据安全访问策略 321
8.1 OAuth 2.0身份验证 321
8.1.1 获取code 322
8.1.2 根据code获得成员信息 323
8.2 浏览器类型安全访问 325
8.3 全局验证码变量 326
8.4 页面有效期访问 327
8.4.1 JS定时任务校验 328
8.4.2 事件校验 329
8.5 QPID消息队列 330
8.5.1 QPID消息Hello World 330
8.5.2 QPID发送MAP消息 333
8.5.3 8080端口问题 336
8.6 代理服务器 337
8.7 企业号服务IP白名单 339
8.8 案例:通过DMZ服务器获取内网图片 341

第9章 数据库及服务器 348
9.1 常用SQL语句 348
9.1.1 查询语句 348
9.1.2 新增语句 350
9.1.3 更新语句 350
9.1.4 删除语句 351
9.2 HQL语句基础语法 351
9.3 HQL方言处理 354
9.4 Tomcat服务器 355
9.4.1 在SDK中部署 355
9.4.2 8080端口号冲突 356
9.4.3 内存调整 358
9.4.4 清理数据缓存 358
9.5 JBoss服务器 359
9.5.1 JBoss在SDK中安装 359
9.5.2 修改8080端口 360
9.5.3 JBoss内存调整 361
9.5.4 发布缓存处理 363
9.6 WebLogic服务器 363
9.6.1 域的创建 363
9.6.2 WebLogic在SDK中安装 367
9.6.3 7001端口号调整 368
9.6.4 服务器缓存清理 368

第三篇 综合案例
第10章 基础应用―企业资讯 370
10.1 创建应用 371
10.2 获取开发者信息 371
10.3 开发实现 372
10.3.1 创建数据库Table 372
10.3.2 生成PO/VO实体类 374
10.3.3 创建工具类WxUtil 379
10.3.4 创建Web服务 382
10.3.5 Service处理Web请求 384
10.4 开启企业资讯应用回调 390
10.5 创建最新资讯菜单 391
10.6 本章小结 391

第11章 更近一步:微信考勤 392
11.1 场景回顾 393
11.2 腾讯地图引入 393
11.2.1 腾讯地图Key申请 394
11.2.2 腾讯地图Demo 395
11.2.3 腾讯地图坐标转换 397
11.3 开发实现 397
11.3.1 创建微信工具类 398
11.3.2 编写回调服务 406
11.3.3 考勤信息实体类 408
11.3.4 创建业务层服务类 409
11.3.5 服务跳转类 415
11.3.6 JSP考勤打卡Map页 421
11.3.7 考勤查询JSP页 426
11.3.8 其他考勤页 433
11.4 开启微信考勤回调模式 435
11.5 绑定可信域名 436
11.6 微信考勤应用菜单 437
11.7 本章小结 437

附录A 微信表情转换表 438
附录B 返回码说明表 441

产品特色