MOMOJI.故事接龙·让我们一起讲故事,做个有故事的人

momoji.技术架构及算法

~获取wx用户信息(web接入vs公众号vs小程序)~
{ 任一段落可 [ 切到该章节 ] 进行续写接龙 }

~momoji.技术架构及算法~

选取python3为开发语言,版本python 3.7.3;

web架构为pyramid;

数据库访问采用sqlalchemy;

使用jinja2模板,也提供api,但非完全前后端分离;

前端使用了echarts2;

考虑该站点依靠iis挂了几个应用,80端口已占就用iis做了application request routing 和 url rewrite,后续考虑换为nginx;

数据库mysql,版本mysql 8.0.16.0;后续考虑换位文件系统;

存储结构具有为单父属性的节点,即tree或者multi-tree;但最终实现可成环的有向图,非dag(因为有向且成环);

momoji.技术架构及算法 by 飞~甜 @ 2019-06-11 14:56:51

切到该章 收藏 从此续写

~wx小程序~

采用wepy2.0

wx小程序 by 田飞 @ 2019-12-07 11:08:36

切到该章 收藏 从此续写

~获取wx用户信息(web接入vs公众号vs小程序)~

这段时间先后进行了web站点的微信扫码登录,momo鸡公众号和momo鸡小程序的开发,

web站点集成wx登录,和公众号wx浏览器中集成wx授权,流程一致,oauth2流程:用户授权成功后,浏览器会从wx系统带code参数重定向到业务系统,业务系统在server端用code换token和openid,然后在获取userinfo;

公众号可以通过openid与本地账户体系的对应关系做个性化的消息对话开发;

小程序的开发与上述开发有着明显的不同,小程序是端上的开发,是在各用户手机端上执行的程序,而非集中运行的server端系统;

从用户打通这个层面体现很明显,从官方给出的api可以看出,基本都是wx端上的api,比如wx.login(),wx.getUserInfo();在端上进行用户信息的获取和使用,若要和业务账号体系打通需要将端上获取的用户信息同步到业务系统;

具体地,方法一:通过连续调用wx.login和wx.getUserInfo,即通过wx.login获取js_code,然后通过业务系统调用wxserver端api获取对应的openid/unionid/session_key存到账户体系并返回到端上(分配业务系统账户标识),然后端上调用wx.getUserInfo来获取用户信息,并将此信息通过openid更新到业务系统;

方法二:wx.login和wx.getUserInfo没有连续调用,但后者仍旧在前者"有效期"内,这时,单从wx.getUserInfo的明文信息中没有包含openid字段,则可以通过其密文字段和加密验证字段发送到业务server,通过其在wx.login阶段存储的还在"有效期"内的session_key来验证并揭秘这个密文字段获取带有openid的用户信息,从而完善业务系统的用户体系;

获取wx用户信息(web接入vs公众号vs小程序) by 佚名 @ 2019-12-08 10:18:12

切到该章 收藏 从此续写

last by 匿名 @ 2019-12-08 10:18:12

章节模式 复制地址