背景:百度小程序项目想要对用户未登录的情况做一个埋点统计,计算转化率,需要对一键登录和右上角关闭做埋点。

因为百度为了防止开发者滥用,11.26版本起废弃了swan.getUserInfo 和 swan.login等,必须通过button的调用形式才能获取用户信息或者登录。

百度官方文档链接:https://smartprogram.baidu.com/docs/develop/function/login/

正常来说按照官方文档这样处理即可,设置open-type=login,能判断未登录的用户触发一键登录弹框(小程序框架行为),然后用户点击登录或者关闭能触发绑定的login回调。

由于公司为了多端编译,使用的Taro的框架,而Taro的Button组件的openType属性并不支持login(应该是因为微信小程序和支付宝小程序都是必须登录才能使用,而百度小程序不登录就能使用,所以没有兼容);

Taro官方文档:http://taro-docs.jd.com/taro/docs/components/forms/button

弄到这里,没有办法了,只能另辟蹊径,最终将方案定在了getUserInfo:根据实践发现,设置openType=getUserInfo,当用户未登录时也能自动触发一键登录弹框,同时也支持回调!那么就可以通过一些判断来实现了。上代码:

首先,进入授权登录页面,先判断用户是否登录(下图一),并根据是否登录的状态,给绑定的回调方法添加不同入参(下图二),最后在回调方法中做判断做不同处理(下图三)

Taro之百度小程序一键登录埋点统计相关推荐

  1. 百度小程序一键取号 · 解密取号

    封装成了个类,参数有注解,请自行更正没有的类,没有的方法 httpRequest();方法类中有,不需要 json_encode 代码如下: <?php/*** @author lianyu00 ...

  2. 基于uni-app实现微信小程序一键登录和退出登录功能

    起因 目前正在使用uni-app开发一个微信小程序,开发到登录模块时通过查阅uni-app官方教程.微信小程序官方文档.网上的教程终于是实现了微信小程序的登录模块,现总结分享给大家,共同学习. 总体思 ...

  3. 微信小程序和百度小程序的登录 wx.login() swan.login() , 以及存在的问题处理

    一说到小程序,很多人都知道 微信小程序,但是如果你是小程序开发者,那么也可能知道百度小程序: 有一句开发者的至理名言,如果你在开发百度小程序中遇到了问题,那么第一时间不是取看文档,逛社区论坛, 因为你 ...

  4. 微信小程序手机号一键登录--获取用户手机号--微信小程序一键登录

    前提:现在微信小程序登录我参考了几个大的公司的登录,基本分下面几种 1.微信用户一键登录,授权用户基本信息,不获取手机号 2.微信手机号一键登录,根据手机号去关联在其他平台数据,用手机号关联.然后再调 ...

  5. Taro开发微信小程序保持登录状态(本地存储)

    Taro 一.Taro官网链接 Taro是 由凹凸实验室倾力打造的 一个开放式跨端跨框架解决方案,支持使用React.Vue.js.Nerv等框架来开发小程序.H5.react Native等应用. ...

  6. 微信小程序一键登录功能,使用uni-app和springboot(JWT鉴权)

    目录 概述 微信登录接口说明 关于获取微信用户的信息 前端代码(uni-app) 后端代码(SpringBoot) 配置文件:application.yml 配置文件:Pom.xml 类:WeChat ...

  7. uniapp 阿里云开发微信小程序一键登录

    1.插件市场导入uni-id公用模块 插件市场 uni-id : https://ext.dcloud.net.cn/plugin?id=2116 导入成功后会在项目云文件夹下自动生成common目录 ...

  8. 苏宁:我们开发百度小程序遇到的那些“坑”

    2018年5月,受百度邀请,苏宁首批入驻百度小程序平台.作为微信小程序的开发工程师,我接手了"开荒"百度智能小程序(以下简称百度小程序)的任务,自5月初开发,一个多月就完成了苏宁易 ...

  9. 百度小程序怎么添加到主屏幕将百度小程序放到手机桌面?

    百度小程序在一些场景下使用还是非常方便,如果遇到需要经常使用的百度小程序,将该百度小程序添加到手机桌面上,下次直接点击打开将更方便. 例如:草柴百度小程序很多人都在用每天免费领取美团外卖红包优惠券.饿 ...

最新文章

  1. Google的其他用法
  2. 026_html表单
  3. eclipse java8报错_eclipse4.3安装支持Java8插件,之后就报错无法打开eclipse,求解?
  4. DataGrid多行数据的展示和编辑(6)
  5. 文献学习(part90)--How Can Machine Learning and Optimization Help Each Other Better?
  6. 基于.NET Compact Framework的应用程序和库汇总
  7. 黑客攻防技术宝典浏览器实战篇
  8. 不知名程序员金山云大米云主机体验日志
  9. Slate轨道工具使用(一)—Track,Clip
  10. linux配置maven环境变量
  11. 【最强实习生】20场Android面试斩获大厂offer,来看看我都会些什么
  12. 详解String的intern方法
  13. 【收藏防丢】rar压缩包忘记密码怎么办?手把手教你轻松解决
  14. mac接收gmail邮件_如何从您的Gmail帐户发送和接收Hotmail
  15. QQ会员注册完整代码
  16. UT单元测试总结实践篇
  17. 2015蓝桥真题(A组省赛)
  18. 华为mate9安装Fiddler证书
  19. Unity3d开发MOBA游戏类《王者荣耀》记录(一)
  20. chrome-Firefox-IE浏览器兼容总结

热门文章

  1. 矽力杰SY8088国产代替料RY3408
  2. 计算机视听觉机理和方法,科学网—NSFC“视听觉信息的认知计算”重大研究计划的介绍 - 刘扬的博文...
  3. Gopher China 2019 讲师专访-Grab/地图团队资深架构师胡泊
  4. FBI 打击全球 DDoS 出租市场
  5. asp_net2_0学习指导 菜鸟到中级程序员的飞跃
  6. 为什么印度人能占领硅谷,1万清华毕业生只能给他们打工?
  7. python爬虫实现爬取网页主页信息(html代码)
  8. Unsupervised Cross-Dataset Transfer Learning for Person Re-identification阅读总结
  9. 爱否赢了?华为拍月亮方法已申请专利
  10. ts给Number类型数据添加自定义方法报错:类型“Number”上不存在属性“divideStr”的解决方案