在设计登录注册模块时,多用户登录和找回密码的交互一直是设计难点之一;这篇文章给大家讲解,如何通过中继器完成注册登录的设计。 原型交互中的注册、登录、找回密码,已经是很成熟的案例了,大部分都是用预设用户名、密码,通过条件判断来实现交互效果;或是通过全局变量以(用户名:密码)的形式进行存储和判断。 这些做法的问题就在于: 1.客户无法自主体验真实环境注册、登录、找回密码功能,要按照原型制作者的要求输入设定好的用户名和密码来体验。 2.对于例如像微信app,用户名可以是手机、邮箱、微信号、qq号,这样的多身份登录,上述办法就显得很吃力了。比如下图这种方式: 实际利用中继器,非常方便实现真实的注册、多身份登录、找回密码等功能,不用给客户设置条件,完全是真实条件下的开发注册。 演示效果如下: 交互功能: 用户真实注册、登录,不用提前预设条件 对已经注册的用户名、邮箱地址、手机号自主排重,即不能重复注册 登录和找回密码功能,实时验证所填信息是否正确 元件准备: 1、页面中拖入动态面板dz,并设置3个state,分别为dl、zc、zhmm dl:登录界面,元件分布如下: zc:注册界面,元件分布如下: zhmm:找回密码界面,元件分布如下: 2、在页面中(不是在动态面板中)拖入一个中继器data,中继器中删除预设的矩形,无需放入任何元件,只做数据集布置,不放任何数据 添加交互: 首先从注册界面zc开始添加交互: 本文主要讲解中继器的使用,对于注册信息诸如用户名不能包含汉字,字符不能超出12位字符、手机号码不能少于11位,邮件必须包含@和.com、密码必须包含大小写字母、符号、数字不少于两种组合,等等这些设置,我们在今后的《字符串函数应用场景》中具体讲解,在此不做讲述,暂不做这些交互。 以username文本框添加交互为例: 以同样的方法,为phonenumber、e-mai文本框添加交互: password文本框交互非常简单: 最后我们为注册按钮zhuce添加交互: 接下来为登录界面dl开始添加交互: 先为两个文本框usernamedl和passworddl添加交互 接下来为登录按钮denglu添加交互 case1的讲解: 筛选条件:因为我们的文本框有提示:可以用"用户名"或"邮件地址"或"手机号"进行登录,所有我们要手写筛选条件。要勾选"移除其它筛选" [[(Item.username==LVAR1&&Item.password==LVAR2)||Item.phonenumber==LVAR1&&Item.password==LVAR2)||(Item.email==LVAR1&&Item.password==LVAR2)]] 其中&&为布尔运算符,意思为and,与 ||为布尔运算符,意思为or 或 所以筛选条件的意思为:"用户名==中继器中的用户名"并且"密码==中继器中对应的密码";或"手机号码==中继器中的手机号码"并且"密码==中继器中对应的密码"或"邮件地址==中继器中的邮件地址"并且"密码==中继器中对应的密码" 这样就实现了多身份登录。 最后为"注册新用户"和"找回密码"添加交互: 为"welcome的关闭按钮"添加交互 ——————————登录页面的所有交互完毕———————————— 最后为找回密码界面zhmm开始添加交互: 先为两个文本框添加交互: 为"提交按钮"tijiao添加交互: 筛选条件: [[Item.username==LVAR1&&Item.email==LVAR2]] 其中&&为布尔运算符,意思为and,与 所以筛选条件的意思为:"用户名==中继器中的用户名"并且"邮件地址==中继器中的邮件地址"; 至此,所有交互完毕。