本文思路来源于我的答题小程序
本文背景
在云开发中,由于小程序的openid是默认静态获取的,十分方便,但是用户授权是需要用户主动交互的,所以在openid和用户信息userINfo这两者的获取途径不一样,导致存在一个问题:用户信息(opnid,userINfo)什么时候创建到数据库里面?
目前,我能先到的小程序用户数据保存有以下两种方案
(1)等用户授权后,再一起保存_openid,userINfo
(2)静默获取openid后就开始创建用户信息,授权后再更新userINfo
目前我的所有小程序都是采用方案1来执行的,但是近期遇到一些问题,我就在考虑,直到今天才将方案2考虑成熟,可以落地,
本文内容
由于小程序的授权审核需要,用户可能一直都没有授权,也就是拿不到userINfo信息,但是openid是一直可以静默获取的,那我们的用户信息什么时候保存到数据库里面呢
在用户没有授权的时候,其实也可以正常使用小程序的完整功能,记录一些数据,比如在答题小程序里面要记录答题准确率,其实只需要openid就够了,这里存在一个依赖关系,
(1)用户数据落库,Profile
(2)用户答题信息落库INfo
(3)其他相关初始化化
但是如果用户数据迟迟没有落库,后面的操作,虽然可以执行,总感觉少了一个环节,这个问题通过方案2就可以完美解决
本文总结
本文通过分析小程序用户创建的时机,进而提出两种可以落库的方案,通过这次分析,让我对方案二的落地更加坚定了