发表于: 2017-11-01 20:02:27
4 905
今天完成的事情:
我觉得我现在就缺一个服务号了。。
微信的图片上传
上传头像或者封面什么的时候,其实在微信端是调用了微信的图片上传接口的,先把图片上传到微信服务器
问题来了,图片上传到微信服务器分为两种,临时和永久。临时只能存在3天,肯定是不能作为我们储存用的;而永久的更有意思
只能在腾讯系域名里使用,而我们服务器的域名很明显不是腾讯系域名。
所以这里用到了任务7的知识,图片迁移。就是从一个服务器迁到另一个服务器(这里我选择七牛云)。
关于微信上传图片接口,这个其实是前端搞的
如图,前端要调微信上传图片接口的话需要配置一个wx.config
看一下里边几个参数,其中signature签名需要后端提供,整这个的话就用到了一个加密工具类,SHA1,昨天的日报有写
我们可以通过AppID和AppSecret去获取access_token,需要知道这个token和微信授权的token是不一样的,到底哪里不一样我还不太清楚。
用access_token拼接url发送get请求来获取jsapi_ticket,然后就是加密签名了
jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg
&
noncestr=Wm3WZYTPz0wzccnW
&
把上面这些个东西用SHA1加密类加密之后就是signature了,返回就前端就好了
用户网页授权
这个在微信公众平台文档上写的很清楚,附链接
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
我简单总结一下
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。这个必须是认证的服务号才有的功能。
1、关于这个网页授权回调域名,必须是全域名,而不是URL,不能加协议头。
2、两种scope。一个snsapi_base是用来获取openid的,静默授权;一个snsapi_userinfo是用来获取用户基本信息的,用户不关注公众号的话需要手动同意,关注之后也是静默授权。
3、用户授权之后,前端就可以拿到一个code了,这个code时效只有五分钟。很明显用户每次申请的code都不一样。
4、后端用code去换取access_token和openid,access_token安全级别很高,只能存到服务器,要发送请求也只能从服务器发送。同时有效期也只有7200秒,失效之后用refresh_token进行刷新。
5、用access_token和openid拼接url发请求获取用户基本信息,要求scope为snsapi_userinfo。
差不多就这些吧,剩下的等有了服务号之后再弄。
明天计划的事情:
代码生成
遇到的问题:
我想了一下,如果公司没有能用的服务号的话,我们测试也可以使用微信提供的测试号
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
那么复盘做完了,我们这个项目也不上线么,直接测一下就完了??
评论