头图

相信大家对于移动端的分享功能都不陌生,无论是使用场景,还是实现方案都非常熟悉,大体上就是一个带参数的链接,从App到H5,再到小程序,换汤不换药,但是PC端分享,似乎比较少。

需求背景

官方平台或者子商城店铺均可以生成分享链接,通过此链接注册的会员将与分享者的账户进行一个绑定关系,达成分佣提成。

实现方案

  1. 生成带参数的链接;
  2. 访问页面时,将参数存储;
  3. 用户注册时,取出参数进行注册绑定

实现难点

难点主要是平台网站有子域名店铺,本地存储是无法通过跨站存储的,并且平台使用微信扫码登录跳转,必然会跨站,本地存储方案必然不行

解决方案

参照APP常用方案之一剪切板存储和读取,这样在固定页面对地址参数进行获取和判断解析,然后写入本地剪切板,不妨碍之后的页面正常跳转

新问题

本地调试没问题,上线之后首先问题一,剪切板使用需要授权,需要给出明确提醒;问题二,即使有授权,有内容,也会有无法获取剪切板内容的时候,原因是获取内容(类似CTRL+V)需要保证当前页面处于激活(获得焦点),通俗的来说,你操作粘贴时候,习惯性的点击窗口保证处于工作状态,解决方案就是在页面中使用js获取上层dom,一般为根元素或者当前页面顶部容器,触发click事件后,执行获取剪切板内容的代码,这样就基本没有问题了。

总结

PC端使用分享链接功能,如果是固定账号登录界面,直接将参数拼接到地址即可;如果网站域名只有一个,那么可以采用本地存储方案;如果采用第三方授权登录或者存在跨站场景,则可以考虑剪切板存储方案。


何弃疗
118 声望7 粉丝

前端路上摸爬滚打;野路子前端debug