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


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 相关文章推荐
newxtree.js代码
Mar 13 Javascript
JavaScript中yield实用简洁实现方式
Jun 12 Javascript
javascript中eval解析JSON字符串
Feb 27 Javascript
confirm确认对话框的实现方法总结
Jun 17 Javascript
Bootstrap精简教程中秋大放送
Sep 15 Javascript
JavaScript之生成器_动力节点Java学院整理
Jun 30 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
Aug 17 Javascript
前端js中的事件循环eventloop机制详解
May 15 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
Jun 27 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
Jul 04 Javascript
ionic+html5+API实现双击返回键退出应用
Sep 17 Javascript
Element实现动态表格的示例代码
Aug 02 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+javascript液晶时钟
2006/10/09 PHP
PHP集成FCK的函数代码
2008/09/27 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
了解重排与重绘
2019/05/29 Javascript
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
在Python中移动目录结构的方法
2016/01/31 Python
13个最常用的Python深度学习库介绍
2017/10/28 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
汽车驾驶求职信
2013/10/25 职场文书
药学专业个人自我评价
2013/11/11 职场文书
2014年元旦活动方案
2014/02/15 职场文书
专科生就业求职信
2014/06/22 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL