小程序绑定用户方案优化小结


Posted in Javascript onMay 15, 2019

在做过一系列小程序之后,对小程序的登陆鉴权的流程也有一定的理解,类似于 B 端小程序自不必说,要用户信息手机号地址可以一把梭,做一个引导页面进行判断然后要求用户给与绑定,用户自然不会多说什么,毕竟这是企业级别应用。但是当涉及到 C 端小程序时候。想让用户进行绑定,就势必要给与用户便利。这里我列出一些我觉得较为不错的小程序应用方案以供参考。

预先绑定类

该类小程序在使用之前就需要绑定用户信息。常见于线下门店类功能性小程序。线下操作时有大量的优惠活动来支持小程序的流量。

功能介绍

例如 便利蜂。之前在上海经常使用,价格和优惠都非常不错,这类小程序属于线下功能类小程序,内部有抽奖,付款等一系列功能。该小程序第一次打开就先用户直接要求用户绑定信息和地址,考虑到线下门店都会有一定的店员辅助。所以该小程序的绑定操作实际上用户都是可以接受的。图片如下所示。

小程序绑定用户方案优化小结

技术要点

技术1: 使用自定义导航栏让头部可以配置

全局配置

"window": {
 "navigationStyle": "custom"
}

如果微信 app 的版本在 7.0.0之上,我们就可以使用页面级别的配置了。

{
 "usingComponents": {},
 "navigationStyle": "custom"
}

该配置默认时default,当使用custom时候可以自定义导航,可以在头部配置 loading。

第二种这个需要 app 版本,所以如果是想简化,反而在全局下定义,再使用微信官方的组件 avigation-bar 即可。

技术2:使用小程序骨架屏

骨架屏方案在后端不能很快给与前端数据时候采用这种方案,亦或者前端可以使用 Service Worker 把上次缓存数据返回到前端,等到从后端获取数据之后刷新页面也是一种方案,但是因为这是第一次打开小程序,所以采用骨架屏是一个很好的方法。

采用 小程序骨架屏 组件,如果不需要骨架屏动画效果,可以试试直接加载图片作为骨架屏。

惰性绑定类

该类小程序在展示时无需绑定用户信息,但是当用户进行操作时在询问绑定。常用于线上商城等一系列无需专人引导的用户项目。

功能介绍

基本上线上大部分 c 端小程序都采用此做法,功能上倒是没什么可以介绍的,但是实践上却有不同做法。

实践方式

方式 1: 页面跳转 (京东购物)

在每个需要绑定的按钮上添加跳转逻辑,如果当前小程序没有绑定,可以跳转到另外一个页面上确认授权。

方式2: 按钮控制 (华为商城+)

在每个需要绑定按钮上添加 open-type='getuserinfo',后续可以根据状态变化,切换掉按钮(也可以不切换,因为第二次绑定数据不会跳出组件)。

方式3: 遮罩层拦截 (抽奖助手)

在需要绑定的页面添加一个 透明模态框,增加以整个页面大小的button。用fixed布局,还可以向下滚动。无论在当前页面点击任何地方都会出现需要绑定选项。

组件代码:

// wxml
<view style="z-index: {{zIndex}}" class="mask">
 <button open-type="{{ openType }}"
     bindtap="onClick"
     bindgetuserinfo="bindGetUserInfo"
     bindgetphonenumber="bindGetPhoneNumber"
     bindopensetting="bindOpenSetting"
     binderror="bindError"
     class="mask"/>
</view>

// wxss
.mask{
 position: fixed;
 top: 0;
 bottom:0;
 left:0;
 right:0;
 background-color: inherit;
 opacity: 0;
}

然后在绑定后令 mask 消失。该方案初看起来不是那么的合适,但是仔细想想却也没什么问题,因为用户99%可能点击所需求的按钮,就算点击到按钮之间的空隙之处跳出要求绑定也没有什么问题。

上面方式实际上都没有太大的问题,需要在不同场景下做最合适的选择。

结语

人机交互功能是决定计算机系统“友善性”的一个重要因素。读书学习时候要先把书读厚,再把书读薄,做程序也是一样,如何把系统做的复杂而更加复杂,如何让用户的体验简单而更为简单都不是那么容易的一件事。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在JavaScript中获取请求的URL参数
Dec 22 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
Jan 11 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
使用firebug进行调试javascript的示例
Dec 16 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
Oct 23 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
Dec 30 Javascript
JavaScript实现打开链接页面的方式汇总
Jun 02 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
Nov 29 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
vue-router相关基础知识及工作原理
Mar 16 Javascript
vue-socket.io接收不到数据问题的解决方法
May 13 Javascript
element中el-container容器与div布局区分详解
May 13 Javascript
pm2发布node配置文件ecosystem.json详解
May 15 #Javascript
JQuery常见节点操作实例分析
May 15 #jQuery
JS算法题之查找数字在数组中的索引位置
May 15 #Javascript
JQuery属性操作与循环用法示例
May 15 #jQuery
前端js中的事件循环eventloop机制详解
May 15 #Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 #Javascript
微信小程序的tab选项卡的实现效果
May 15 #Javascript
You might like
PHP新手入门学习方法
2011/05/08 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
FireFox中textNode分片的问题
2007/04/10 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
轻量级JS Cookie插件js-cookie的使用方法
2018/03/22 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
外国语学院毕业生自荐信
2013/10/28 职场文书
《鸟的天堂》教学反思
2014/02/27 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
公司员工离职感言
2015/08/03 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
php实例化对象的实例方法
2021/11/17 PHP