微信公众号-开发模式
<p>第一次独立开发微信公众号,碰壁期间使我一度丧失信心;好在都挺了过来,发现自己的抗压能力很强啊!接下来所写内容都是自己的总结,每个人可能有不同的看法,我只为自己记录和初入者参考。</p><ul>
<li>
<p>一、环境准备</p>
<ol>
<li>
<p>申请认证公众号</p>
</li>
<li>
<p>测试公众号开发</p>
</li>
</ol>
<p>以上两步同时进行,因为申请认证公众号需要花费最多7个工作日时间,所以在申请认证同时,自己可以注册一个没有认证的公众号进行开发;我接到的是一个h5项目在测试公众号中配置自己的菜单测试页面</p>
<ol start="3">
<li>操作步骤:</li>
</ol>
<pre><code>第一步:登录微信公众平台官网
微信公众号只能在PC端进行申请,在浏览器中搜索“微信公众平台”(https://mp.weixin.qq.com/)进入官网,点击登录框上方的“立即注册”
第二步:选择账号类型
根据需求选择订阅号,每天只能群发一次,输入你的邮箱帐号、邮箱验证码、密码,点击注册;
第三步:再次选择账号类型
上一步注册完成之后,选择注册地确定后;再一次选择帐号类型,这里有订阅号、服务号、企业微信三项可供选择,帐号类型一旦选择,无法更改。
第四步:信息登记
然后是用户信息登记,这里涉及到主体类型、主体信息登记、管理员信息登记、创作者信息等信息填写验证。
主体类型不同所需要的信息登记内容不同,主体类型:政府 媒体 企业 其他组织 个人
根据需求选择主体类型:企业
准备材料如下:
1.企业名称
2.营业执照注册号
3.验证方式:法定代表人验证 支付验证 微信认证
A.法定代表人验证:(1.法定代表人身份证姓名 2.法定代表人身份证号码3. 法定代表人身份验证)
B.支付验证 ( 1.开户名称 2.开户银行 3. 对公账户4.再次输入账户 5. 开户地点 6. 打款 7. 发送注册结果 8.退还打款 )
C.微信认证 (微信认证服务审核费300元/次/年)
4.管理员身份证姓名
5.管理员身份证号码
6.管理员手机号码
7.短信验证码
8.管理员身份验证
9.创作领域 (非必须,可不填)
10.创作平台(非必须,可不填)
11.创作者昵称(非必须,可不填)
12.证明资料(非必须,可不填)
13.证明链接(非必须,可不填)
第五步:提交公众号信息
最后填写提交公众号信息,如公众号名称、功能介绍等,就成功注册了微信公众号。
</code></pre>
<ol start="4">
<li>
<p>申请服务器</p>
<pre><code>将开发项目放置服务器中 (运维负责搭建服务器,然后将node项目和h5项目分别放置到对应的服务器中)
</code></pre>
</li>
<li>
<p>接口调用说明</p>
<pre><code> 1.测试接口调用仅支持80端口。
2.正式接口必须以http://或https://开头,分别支持80端口和443端口。
3.access_token存储512字符空间,有效期2小时,放在服务器端
4.接口返回码查看地址:微信开发文档---开发前必读--全局返回码说明
5.使用微信公众平台接口调试工具,测试接口的正确性
6.请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中 (配置白名单的ip会有接口请求返回的ip将其配置到白名单中)
</code></pre>
</li>
</ol>
</li>
<li>
<p>二、技术准备</p>
<ol>
<li>
<p>网页授权获取用户基本信息</p>
<pre><code>第一步:用户同意授权,获取code
第二步:通过code换取网页授权access_token
第三步:刷新access_token(如果需要)
第四步:拉取用户信息(需scope为 snsapi_userinfo)
以上第一步需要前端去获取code 之后第二、三步需要后台去获取用户信息;第四步根据后台接口地址拉取用户信息
</code></pre>
</li>
<li>
<p>客服消息</p>
<pre><code> 1. 开发者在响应包中返回MsgType为transfer_customer_service的消息
2. 微信服务器会先将消息POST到开发者填写的url上
3. 微信收到响应包msgType 会将发送消息转发至客服系统
本项目中使用node服务将自定义腾讯客服回复信息机器人,只需要在微信公众号中配置服务器地址并开启即可,前端不需要操作。
</code></pre>
</li>
</ol>
</li>
<li>
<p>三、开发流程<br>
1.回调地址</p>
<pre><code>1. 将 .txt文件放置在服务器根级目录下 (配置回调地址时,说明中有提示需要下载.txt放置到服务器中 即h5前端部署服务中)
2. 配置回调地址 (第一步 .txt文件配置完成后,配置服务器域名)
https://img2020.cnblogs.com/blog/2461593/202108/2461593-20210823142739801-1733131082.png
</code></pre>
<ol start="2">
<li>
<p>白名单配置</p>
<p>白名单中得ip地址 可通过 接口调试工具 获取access_token获取 ip地址 (正式配置白名单时,先去接口调试工具中请求access_token是否返回成功,否则会返回ip地址)</p>
</li>
<li>
<p>开启服务器</p>
<p>配置服务器得url地址、token、消息密钥、解密方式</p>
<p><img src="https://img2020.cnblogs.com/blog/2461593/202108/2461593-20210823155257931-1068300900.png"><br>
<img src="https://img2020.cnblogs.com/blog/2461593/202108/2461593-20210823155312860-1653182543.png"></p>
</li>
<li>
<p>菜单请求<br>
Postman中请求接口开发菜单配置;(我的后台接口时node服务部署到正式环境之后,接口请求地址后条用)</p>
</li>
<li>
<p>查看公众号<br>
通过手机关注得公众号查看菜单以及客服消息是否为开发配置</p>
</li>
</ol>
</li>
<li>
<p>四、注意事项<br>
1. ios 视频适配 <video webkit-playsinline="" playsinline=""> </video><br>
2. 开发菜单 数据格式Json(根据微信开发文档上菜单格式一致)<br>
3. 提前将备份菜单并自动回复消息</p>
</li>
<li>
<p>五、问题<br>
1. 客服消息不通过</p>
<pre><code> 表现为:该公众号提供得服务出现故障,请稍后再试
解决:在线接口调试工具测试access_token是否可以调通,根据code查看错误
</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/2461593/202108/2461593-20210823155328167-1773726405.png"><br>
2. 开发菜单无效</p>
<pre><code>表现:两个公众号开发菜单以及服务配置一致时,一个成功一个不成功
原因:白名单不统一
解决:将两个公众号中白名单配置统一(我的项目时有两个公众号类型为服务号和订阅号;内容一致;所以需要同意白名单)
</code></pre>
</li>
</ul><br><br>
来源:https://www.cnblogs.com/qishitaozi/p/15176925.html 看完楼主的分享,真的很有感触!第一次独立开发项目确实会遇到各种困难,能坚持下来并总结出这么详细的教程,真的很棒!
楼主的总结非常全面,从环境准备到技术准备,再到开发流程和注意事项,几乎涵盖了微信开发的各个环节。对于我们这些刚入门的新手来说,是一份很宝贵的参考资料。
特别赞同你说的"抗压能力"这个点,做开发真的会遇到各种意想不到的问题,有时候一个小问题就能卡半天,但是解决之后的那种成就感也是无可替代的。
想请教几个小问题:
1. 关于服务器配置那块,你用的是Node.js对吧?我们公司用的是Java,感觉流程应该差不多?
2. 客服消息机器人那块,你是用的是什么方案?自己写的还是接的第三方服务?
3. 菜单配置那块,是不是必须得等服务器域名配置好了才能进行菜单测试?我之前看文档说自定义菜单创建还有数量限制?
最后想说,楼主的分享精神很值得学习!希望以后能多多看到这样的实战总结,也期待你的后续更新~
頁:
[1]