【微服务架构】-【架构设计】-从前端到后端再到运维-全程开发一个系统—一切从0开始—登陆功能

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Coder_Boy_/article/details/99255695

 几乎所有系统都必有的模块——登陆与注册与登出,那么我就从此开始我的博客系统搭建(主要考虑常用技术都可以使用到)

 先熟理下业务流程与可能的技术选型(技术预研),再到数据库设计, 最后开始代码开发。

0.熟悉业务背景

 这一部分不属于开发,属于产品设计这块的内容,由产品经理负责,但是开发简单了解一下对业务流程会更清晰些

 从注册登录登出开始,详解产品流程

 登录和注册大概是所有线上平台都拥有的功能模块,也是用户最早能够接触到的平台功能,不仅业务流程简约,而且模块功能单一,甚至设计的页面也很少。但是要设计出行云流水般、给予用户良好体验的产品功能也并非易事。

1、产品功能

首先,我们要明确注册、登录的核心需求:

1)提高登录注册转化率,用户留存率

2)登录注册提示明确,把每个使用场景和触发事件想清楚,形成闭环

3)用户ID真实有效,方便后续产品运营推进

4)防止机器人频繁请求从而给服务器造成过大压力

业务要闭环具体是什么意思呢?

登录成功去哪里?

登录失败又去哪里?

注册成功去哪里?

注册失败又去哪里?

为了完成这个业务流程的闭环,我们就需要增加几个页面:

登录成功页:通常是跳转到首页,或者个人主页。

登录失败页:通常是跳转到登录失败页,提示用户登录失败的原因,并且用户能够重新输入。

注册成功页:通常自动登录并跳转至首页。

注册失败页:通常是跳转到注册失败页,或者提示用户注册失败的原因,在同页面重新输入。

注册登陆的方式分类需考虑以下几点:

1)普遍性:此种注册方式是否能被绝大多数用户所接受?是否有门槛限制?

2)便捷性:注册ID方便、登陆快捷、易记忆

3)注册方式是否存在安全性问题

注册登录方式:邮箱、手机、第三方登录

邮箱 :针对不喜欢暴露手机号的人群 信息可以长期留存

手机号:便于记忆,安全性高

第三方登录:注册快捷,但受限于第三方

3、产品细节-校验

1、邮箱/手机号合法性判断:

i) 手机号:暂时只支持国内,即86开头

长度是否为13位

每一位都是数字

以13、15、18开头

ii)邮箱:

邮箱名称部分包含大小写数字、大小写字母、下划线

邮箱域名部分正则  @[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+

2、登录密码机制:

长度大于8位小于20位

必须包含大小写和数字

特殊字符只包括下划线

密码可选明文可见或不可见

输入一次密码后,需二次输入密码进行确认

3、验证码问题

短信验证:6位数字;60s后可选择再次发送验证码

语音验证:6位数字,重复语音播报

4、登陆错误问题:

用户名或密码错误,经后台验证后在当前页面给予用户有效的反馈提示

连续输入3次密码错误后,页面下显示“忘记密码”按钮,进入到找回密码界面

5、是否允许多端同时登陆

6、注册完/登录完成

用户登录注册完成后,一定要直接切回到之前请求登录前的节点中去。

4、用户体验

如果用户名使用电子信箱,是否需要增加自动补充以帮助用户能够快速完成电子信箱的录入?

如何设计良好的登录页错误提示?

登陆成功后自动跳转页面?一般是主页

是否需要记住密码?还是需要2周内不用登录?

能否不用鼠标来切换用户名和密码框?

能否用回车键来替代鼠标完成登录或提交的操作?

如何限定注册页的必填字段?

如何设计密码强度的提示?

如果注册页有用户头像,是否需要锁定头像比例?是否提供预览功能?是否提供在线裁剪?

是否需要给用户设置默认头像?

第一个页面开发最终效果图:——注册功能页面

 1.业务流程分析-我先做登录与登出

   用户请求 /login ——>响应登录页面——>录入登录用户名与密码——>点击登录按钮后做些数据格式校验再请求后台处理——>

  后台做用户信息校验(包含权限与数据格式)——>后台业务处理流程访问数据库获取信息——>返回响应结果提示用户登录状态。

   ——>登录成功后可点击登出按钮 退出系统

 2.技术选型设计:

    根据业务需求合理采用相关技术,对应团队不熟悉的技术要做预研工作,选型原则:最适合业务的技术才是最好的技术方案。

    技术预研:

     研究一些新的技术,可能是项目以后要用到的东西,或者对现有问题攻关,写预研文档,还有示例代码,给研发的码农培 训。  研发部,说是研发,其实很多公司差不多就是研究部的做项目,写代码,感觉没啥研究的成份。不过国内也有许多公司研发部除了日常项目开发外,还负责新技术的研究。

3.数据库表设计 

   表结构与表索引等的设计,这部分是重点

4.项目代码开发

    大概的思路与设计流程如下:初稿

关于技术选型与预研:给出一个很吊的技术全景图,感受下技术的繁多与更新之快

展开阅读全文

没有更多推荐了,返回首页