发表于: 2019-10-16 23:23:02

1 853


今日完成的事

       学习了移动端网页的常见bug,微信请求的部分原理

明日计划的事

       学习微信登录

收获

       移动web页面上的click事件响应都要慢上300ms,移动设备访问web页面都是pc上的页面,需要双击或捏开,放大页面,看清页面。为了判断用户是双击还是单机,就需要300ms的延迟来判断。

      移动端有个bug叫做点透的bug,

在这个例子中,红色使用的是click事件,蓝色的是tap。上方有个遮罩层。

点击红色的click的时候,触发了下方的click事件,而使用的tap并没有触发,


click这里的触发逻辑是点击之后,过了300ms之后click事件触发,

而点透的发生是遮罩层消失之后300ms的时候触发了click。


解决方法可以使

使用过度动画,过度掉300ms的延迟

在遮罩和按钮之间加入个中间层,让中间层接受这个穿透事件,稍后隐藏

或者干脆使用tap事件。


然后看了下oauth的原理

什么是OAuth2,是开放授权的一个标准,旨在让用户允许第三方应用去访问改用户在某服务器中的特定私有资源,而可以不提供其在某服务器的账号密码给到第三方应用。通俗的话可以这样去理解,假如你们公司正在开发一个 第三方应用XXX,该应用会需要在微信中分享出来一个活动页,该活动需要让微信用户去参与,你们的应用需要收集到用户的姓名,头像,地域等信息,在这个过程中,输入账户名和密码都是在微信的oAuth界面里面完成的。

这是QQ登录的界面可以看到地址栏里面有oauth的信息。

这样的话,第三方网站是绝对触碰不到你的账户密码的信息的。


综上所述可以将OAuth2分为四个角色:

Resource Owner:资源所有者 即上述中的微信用户

Resource Server:资源服务器 即上述中的微信服务器,提供微信用户基本信息给到第三方应用

Client:第三方应用客户端 即上述中你公司正在开发的第三方应用

Authorication Server:授权服务器 该角色可以理解为管理其余三者关系的中间层


OAuht2 解决问题的关键在于使用授权服务器提供一个访问凭据给到第三方应用,让第三方应用可以在不知道资源所有者在资源服务器上的账号和密码的情况下,能获取到资源所有者在资源服务器上的受保护资源,这里的受保护资源就是微信用户的姓名以及头像等信息。


返回列表 返回列表
评论

    分享到