- 登录接口又双叕变了,三行代码挑战全网最少修改工作量
小程序登录、用户信息样关接口又双叕变了。 https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801 几家悲伤几家愁。。。 微信的一小步,人猿的一大步。。。 没办法,改吧。。。 翻出以前小程序这部分的代码,惊喜地发现,只需要三行代码,就能平滑过渡; 感谢我以前看似丑陋却很省事的登录代码逻辑!!! 登录逻辑如下: 1、判断库里有用户的信息没有,没有,则wx.navigateTo一个专门的授权页面:auth 2、授权成功后获得userInfo,保存到库里; auth页代码修改如下: auth.wxml: 修改一行代码 <button style='margin:15px;font-size:16px' type='primary' size="mini" bindtap='getUserProfile'>授权微信头像和昵称</button> auth.js: 修改两行代码 //原wx.getUserInfo接口 getUserInfo: function (e) { let userInfo = e.detail.userInfo if (userInfo) this.onSaveUserInfo(userInfo) }, //新增wx.getUserProfile接口 getUserProfile: function (e) { wx.getUserProfile({ desc: '业务需要', success: res => this.onSaveUserInfo(res.userInfo) }) }, //保存userInfo到DB onSaveUserInfo:function(userInfo){ console.log(app.globalData.userInfo = userInfo) db.collection('user') .where({ _id: this.openid }) .count() .then(res => { if (res.total > 0) { //doc.update db.collection('user').doc(this.openid).update({ data: userInfo }).then(res => console.log(res)) } else { //doc.add db.collection('user').doc(this.openid).add({ data: userInfo }).then(res => console.log(res)) } }) wx.navigateBack() }, 以下是判断用户信息是否存在的代码: xxxx.js: onSubmit:async function () { if (await app.hasUserInfo()) { } else return //其他代码 }, app.js: hasUserInfo: async function () { if (this.globalData.userInfo && this.globalData.userInfo.nickName && this.globalData.userInfo.avatarUrl) return true let res = await wx.cloud.database().collection('user').doc(this.openid).get().catch(err => console.log(err)) if (res && res.data && res.data.nickName && res.data.avatarUrl) { this.globalData.userInfo = res.data return true } else { wx.navigateTo({ url: '/base/auth/auth' }) return false } }, 关于用户信息自动更新: 我们一直以来的方法如下: 1、留给用户手动授权的入口,用户更换头像后,发现自己的头像不显示,则需要手动授权刷新userInfo; 2、一般会在这个页面:我的--个人信息--授权微信头像和昵称,用户点击后,wx.navigateTo到授权页。 笔者团队认为:用户信息自动更新其实是个伪需求。理由如下: 假设某用户修改了头像: 1、用户自己打开小程序,发现头像和昵称怎么没有改过来,那么手动更新一下。用户体验没毛病,没必要非要自动更新; 2、用户如果后来不再进入小程序,别人看到的都是一张碎的头像,那么此时,自动更新也毫无作用,因为该用户都不打开小程序。 3、微信团队肯定考虑过自动更新这种要求,但他们宁愿千夫所指,也依然坚持推出新的登录接口,那就肯定是已经经过了中国最牛逼团队的全面考衡了。 补充: 登录和授权其实是两码事,可以毫无关系这么说,以上的内容主要都是关于授权微信用户信息的,下面补充一下登录的内容: 登录其实就是获取用户的openid,我们一直采用云函数来获取openid。方案如下: 在每个页面:page.js: onLoad: async function (options) { this.openid = await app.getOpenid() }, 在app.js: getOpenid: async function () { if (this.openid) return this.openid let res = await this.globalData.cloud.callFunction({ name: 'login' }) console.log(res) return this.openid = res.result.FROM_OPENID||res.result.OPENID },
2021-04-07 - icp 备案流程(光速入门篇)专为自媒体老师准备的素材
材料准备营业执照照片或者电子档营业执照法人身份证正反面照片正在使用的邮箱、联系方式手机号码一台可操作的电脑下载好阿里云App文中的图片较大,推荐使用电脑打开阅读体验更好。视频版🔗:https://www.bilibili.com/video/BV1Si4y1j72n/备案前准备注册账号登陆阿里云注册登陆即可,记得记下你的账号和密码。如果你还没有注册过账号,那么可以从点击下面的链接注册 。https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=oclxhd7y (毕竟免费的福利,不要白不要哈~。如果注册过也可以点击领取优惠券哈) [图片] 采购篇购买域名这里呢,首先大家去想一个自己想要的域名,说白了就是在互联网上的一个地址,比如baidu.com 或者 XX.com,推荐大家注册.com结尾的域名。 域名购买完成之后,需要进行域名的企业实名认证(记得一定要操作这一步,一定要是企业实名认证)。企业实名认证需要材料「营业执照,」 [图片] 点击实名认证 [图片] 然后我们来操作企业实名认证。这里是需要企业的营业执照,记得准备的是1MB以内的BMP格式的图片。(可以使用Windows 画图调整)。证件号码就是工商营业执照。 域名认证的时候需要保证 公司名称与营业执照的一致。 [图片] [图片] 点击保存之后,等待审核,大概两到三个工作日即可完成实名认证。根据地区而定。耐心等待邮箱或者短信通知结果即可。 购买服务器按需购买,但是为了后续如果需要icp经营许可证办理,这里我们推荐购买ECS服务器。如图。 [图片] 推荐配置 [图片] 配置如何选择?选择一键购买,然后按照步骤操作 地域及可用区:推荐选择华东1 或者 华东2(选择离你最近的地区即可) 实例规格:推荐选择第二个配置「1vCPU 2GiB」,方便后期部署自己的产品。 镜像:这里随便选,推荐选择 「CentOS 7.6 64位」便于开发部署你的网站。 网络类型、公网宽带这些按照默认即可。 购买时长:建议一年起,三年是五折。 [图片] 新用户首购是有折扣的,推荐购买3年。当完成购买域名与ECS后,我们可以操作备案。特别提醒,域名必须需要先企业认证之后才可操作 icp 备案,这期间大概需要等待管局审核,各地区不一样,最快只需3个工作日。 备案操作备案链接 🔗 https://beian.aliyun.com/ 选择开始备案,这里需要准备身份证的正反面,需要与营业执照上的法人一致。可以在阿里云app上完成此操作。 [图片] 备案成功最后一步(工信部截图发送给抖音官方) 说明:备案成功后,会收到邮件通知和短信通知。并可在工信部查询,点击详情可截图发送给抖音小店官方人员。 工信部官方网址点击可快速进入:https://beian.miit.gov.cn/#/Integrated/recordQuery [图片] [图片] 国家工信部截图 icp备案流程图 [图片] icp备案流程图 更多合作如果在备案中或者咨询 icp 经营许可证有其他问题,可使用钉钉扫码联系钉钉,或者微信扫码联系企业微信。 特殊说明:这几天咨询我办理icp备案的朋友比较多,所以如果需要我这边代操作icp备案的,需要给到我,你的阿里云账号与营业执照照片,单次服务是收费的,凡是好友推荐可享折扣价,具体折扣咨询推荐给你的好友。 [图片] 其他文章推荐给新来的微信小程序伙伴儿们指条官方指导路径~
2020-11-17