北京 切换校区

全国24小时免费热线

400-009-1906

前后端分离djangorestframework—— 接入微信模板消息推送

时间:2019-03-13   来源:尚学堂   阅读:140
首页> 前后端分离djangorestframework—— 接入微信模板消息推送

微信

什么是微信也不多说,跟前面的支付宝一样的

微信支付

微信支付也有个沙箱环境,沙箱环境官方文档

由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来演示了。至于为什么没有沙箱账号这就不得而知了,想接入微信支付商户的朋友,请移步先注册为商户,上传相关资料审核后方可使用:传送门

 

所以关于微信支付,由于这些种种限制,就不去注册商户了,所以支付方面本文在此略过,感兴趣的朋友自己去研究了,我看微信的文档也很浅显易懂的

 

微信模板消息推送

 

因为微信的模板消息推送改版,现在需要认证的微信企业号才能玩,所以目前来说我们只能使用微信给的沙箱测试平台了,传送门

用你的微信登录,之后会给我们自动生成一个id 和key:

还有一个测试的可用公众账号:

接着按微信官方给的文档:模板消息推送

 

其实大概的流程就是这样:

 

 

 

 

1.默认情况下,用户的微信只和微信服务端有联系,且微信服务端里有用户的唯一ID,而我们的平台的目标是要通过公众号给用户发消息

2.但是默认用户的微信和我们平台的微信不相通的,如隔了一道墙

3.我们给用户一个页面,页面上有我们的二维码,让用户扫码关注我们的公众号

4.在第3步操作也是通过微信的服务端作为中间人完成的,且当用户关注成功的同时,微信服务端会把用户ID自动回传(或者说回调)给我们平台的公众号

5.拿到用户ID之后,我们的微信公众号就可以给用户推送消息了

 

其实步骤是挺简单的,上面5步中,其实实际的业务逻辑只有第3,第4和第5三个步骤,且这几个步骤里每个的请求url都需要通过微信服务端来完成,所以还需要再看下微信的官方文档给我们解说的

前期准备:

 

1,修改地址:

还是刚才那个申请测试账号页面,滑动下面,找到网页账号这里,点修改

看到的提示,写得很清楚,我这里只是作为测试而已,这个地址不能是127.0.0.1换回地址了,至少得是局域网地址,因为一会儿用手机微信测试时需要调用这个地址,所以你的手机得和电脑是同一个局域网段,当然真实的使用时是公网的地址

 点击确认之后,显示通过安全检测的话就配置成功了

 

2.还要创建一个模板,获取一个模板id

点新增测试模板:添加模板时注意格式

按照文档给的提示操作就行,提交之后如下,所以你如果填错了,只能删除重新添加,不能修改

3.作为接收信息的用户微信号必须关注测试账号:

4.如果有需要的话,设置js的sdk url

当然是要调用微信的sdk时才会用到这个

代码实现

 

前面的准备工作准备好之后,开始写代码

 

不过,先通过微信的文档,得知我们此时需要用的url:

 

1.https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

 

相关参数:

2.获取token的url:https://api.weixin.qq.com/sns/oauth2/access_token

相关参数:

3.发送模板消息的接口:https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

4.发送非模板正文信息的url:https://api.weixin.qq.com/cgi-bin/message/custom/send

 

 

好的,开始码代码,干!

 

创建一个名为WachatTest的django项目,app名就是app:

 然后因为要生成二维码,此处运用了qrcode.js的第三方js库   文件下载:点我

 

根目录创建static目录,存放如下文件,wx.jpg就是刚才那个测试微信公众号的图片,我把它下载下来并更名为wx.jpg了

url:

html:

settings:

 还是配置文件部分,如果你启动项目时提示ALLOW_HOSTS之类的错误,作如下更改:

views:

与模板相关的配置,注意与之前创建的模板对应

model,db_index=True的意思是自动在数据创建素银的意思

运行项目之前记得迁移数据库,并写入几个数据作为测试

启动项目,登录再关注,不多说

 登录成功之后,绑定页面,点击按钮之后,把这个测试的公众号二维码图片转成了带有一些参数的url,然后qrcode把这个带有参数的url转成了二维码:

我用一个微信号测试扫码之后(前提必须先关注那个微信公众测试号才能授权),点击允许

然后会跳转到这个界面,表示成功授权

现在再做最终的模板消息发送,访问/sendmsg:

查看手机端信息,得到的信息正好是我们之前设置的

大概的流程就走完了,因为我只是测试,没有做得多么高大上,其实比如那个模板消息,可以根据不同的用户发不同的数据,或者这段数据直接搞一个form表单,让非开发人员也可以使用它,点击发送就行了,还有上面说的那个当前用户的问题,只给当前用户发,不给没有操作的人发,或者定向群发啥啥的,反正主要的开发逻辑就这些,其他的随便玩,玩出花来都可以

微信官方的全部流程:传送门

相关的代码:

models
urls
views
html:auth.html
settings主要的改动部分
html:login.html

 

总结:

感觉还是挺简单的,就是对于刚接触的朋友来说的话,可能不习惯去看第三方的API文档,也不知道怎么下手,多研究就行了,熟练了就很快了

微信支付那个,我没有企业相关材料,而且就算有,也不敢那么随意的就为了做个测试就去申请什么的,所以相关的还是看官方文档吧

相关资讯

  • 北京校区
  • 山西校区
  • 郑州校区
  • 武汉校区
  • 四川校区
  • 长沙校区
  • 深圳校区
  • 上海校区
  • 广州校区
  • 保定招生办

北京海淀区校区(总部):北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
北京京南校区:北京亦庄经济开发区科创十四街6号院1号楼 赛蒂国际工业园
咨询电话:400-009-1906 / 010-56233821
面授课程: JavaEE培训大数据就业班培训大数据云计算周末班培训零基础大数据连读班培训大数据云计算高手班培训人工智能周末班培训人工智能+Python全栈培训H5+PHP全栈工程师培训

山西学区地址:山西省晋中市榆次区大学城大学生活广场万科商业A1座702

郑州学区地址:河南电子商务产业园6号楼4层407
咨询电话:0371-55177956

武汉学区地址:湖北省武汉市江夏区江夏大道26号 宏信悦谷创业园4楼
咨询电话:027-87989193

四川学区地址:成都市高新区锦晖西一街99号布鲁明顿大厦2栋1003室
咨询电话:028-65176856 / 13880900114

网址:http://www.cssxt.com/
咨询电话:0731-83072091

深圳校区地址:深圳市宝安区航城街道航城大道航城创新创业园A4栋210(固戍地铁站C出口)
咨询电话:0755-23061965 / 18898413781

上海尚学堂松江校区地址:上海市松江区荣乐东路2369弄45号绿地伯顿大厦2层
咨询电话:021-67690939

广州校区地址:广州市天河区元岗横路31号慧通产业广场B区B1栋6楼尚学堂(地铁3号线或6号线到“天河客运站”D出口,右拐直走约800米)
咨询电话:020-2989 6995

保定招生办公室

地址:河北省保定市竞秀区朝阳南大街777号鸿悦国际1101室

电话:15132423123

Copyright 2006-2019 北京尚学堂科技有限公司  京ICP备13018289号-19  京公网安备11010802015183  
媒体联系:18610174079 闫老师  

Java基础班,免费试学三周