总结:开发一个微信应用的基本流程

发布于:2023-06-20 22:33:56

什么是服务号?

微信服务号区别于订阅号,前者直接显示在微信会话列表中,后者被收进订阅号里。做微信服务类型的产品,为了获取曝光度以及获得更加高级的api接口,还是得用服务号。需要注意的是,微信为了防止用户过度被骚扰,服务器一个月内只能发4篇图文推送。

申请账号

个人无法申请服务号,因此如果你想拥有一个服务号,第一步是去注册一个公司。有了公司,做了对公银行账号后,可以申请服务号,并开通微信支付了。一个微信服务号的认证费用是300块钱,一年要认证一次。

无论你想在服务号里放H5还是想放小程序,你都得有一个ICP备案域名,在申请域名的时候顺便把https的CA证书申请下来,阿里云有免费的。

好了,经过一系列的操作,你已经拥有了一台服务器,一个备案后的域名。可以开始做一些前期准备工作了。

微信API授权准备

第一步,去公众号设置那填写你的应用域名。

第二步,去公众号基本配置IP白名单及获取开发者密码。

开发者密码很重要,后面要用于请求微信用户的数据,是微信识别公众号身份的参数。IP白名单填写你应用部署的服务器IP,否则无法获得access_token,这个token在微信很多api中都需要用到。

申请微信支付

如果你的应用没有用到微信支付,可以跳过,如果用到了,则需要去开通微信支付授权。开通微信支付的第一步是开通一个微信商户账号,此账号独立与公众号。拿着公司的营业执照和对公账号即可申请。

开发一个扫码点餐公众号网页

场景及简单的需求:

角色1:管理员。管理员负责后台对菜品的维护。对餐厅的每个座位生成对应的二维码。

角色2:用户。用户微信扫码,授权注册,选择菜品,支付。

管理员所涉及的功能是传统的网页功能,并不设计到微信端,所以重点介绍用户端。

用户授权登录

科代表总结:

根据公众号的appid,redirect_uri以及其他的一些参数,跳转到微信授权页。用户授权完成后,会重定向至redirect_uri中所指向的url,并且会在这个url中带有一个code。这个code作为参数,通过自己的登录接口传给后端。后端拿到code作为参数,通过微信授权api,拿到此用户的openid及access_token。此时通过用户openid查询数据库,如果匹配到了,直接返回用户数据给前端。登录完成。如果没匹配上,则说明是一个新用户注册。把openid以及access_token作为参数,通过微信用户信息api接口,拿到了用户基本的信息,如昵称,头像,性别,地区等。把这些信息存到数据库,并且回显至前端就行了。

用户登录成功,浏览菜品,觉得这个豉汁排骨不错,下单。

微信支付

科代表总结:

用户选择商品购买,把商品id通过自己的接口传给后端。后端根据商品id,获取到价格等,加上公众号appid,商户号id等参数,根据微信支付的规则,生成了一个有规定顺序的xml,并对这个xml进行MD5签名。这里有一个参数notify_url要特别注意下,用户支付后,微信会请求这个接口,通知支付结果。把这个xml的MD5签名结果作为参数,请求微信支付统一下单api。返回的也是xml。根据xml的结果,拿到下单id,把这个下单id返回到前端。通过后端返回的信息,前端通过微信js接口,拉起微信支付。支付完成后,微信会请求notify_url,body中会带有支付结果的xml。解析这个xml,得到支付结果,并处理相应的逻辑即可。前端拉起支付时,也有一个success参数,也可以使用同一个逻辑。最终的结果是执行用户下单成功的逻辑,管理员的后台页面接收到相应的通知。

所以其实开发一个微信应用不难,只满足以下的条件就行了:

有一个公司。

有一个对公账号。

有一个ICP备案后的域名。

有一台过得去的服务器。

一个不错的产品想法。

最后只差一个程序员了。


免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。

上一篇:5款微信小程序开发工具使用报告,官方坑太多!

下一篇:如何入门微信小程序开发,有哪些学习资料?

资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。