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


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跑马灯悬停放大效果实现代码
Dec 12 Javascript
js实现鼠标触发图片抖动效果的方法
Feb 27 Javascript
Bootstrap每天必学之表格
Nov 23 Javascript
两种简单的跨域方法(jsonp、php)
Jan 02 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
Vue.js实现实例搜索应用功能详细代码
Aug 24 Javascript
浅谈webpack编译vue项目生成的代码探索
Dec 11 Javascript
JS中精巧的自动柯里化实现方法
Dec 12 Javascript
vue2配置scss的方法步骤
Jun 06 Javascript
新手快速入门JavaScript装饰者模式与AOP
Jun 24 Javascript
关于Layui Table隐藏列问题
Sep 16 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
基于mysql的论坛(5)
2006/10/09 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
PHP 序列化和反序列化函数实例详解
2020/07/18 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
python中模块的__all__属性详解
2017/10/26 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
pycharm永久激活超详细教程
2020/10/29 Python
Python爬虫定时计划任务的几种常见方法(推荐)
2021/01/15 Python
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
经典优秀个人求职信分享
2013/12/12 职场文书
社区活动总结报告
2014/05/05 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript