产品设计中的“注册”说明
在使用网站或应用的时候必不可少的就是账号系统,账号系统有些人可能觉得简单,无非就是账号密码。真的是这样吗?
一个完整的账号系统通常大家会分成四部分:
1.注册(手机号、邮箱、用户名/密码限制/验证码)
2.登录(已有账号/第三方授权/动态登录)
3.维护密码(修改密码/重置密码)
4.注销账号
由于篇幅有限,我们就不把所有部分都说明了,这里我们重点说一下“注册”。
以陪学网的注册为主要例子,一起来看看“注册”可以如何设计

很明显可以看出,用的是很常见的注册流程:输入用户名-输入密码-输入确认密码-输入邮箱-点击邮件激活-输入验证码-注册。
一、账号
从上面的图片看,采用的是自定义用户名的方式。这种方式下,用户自行填写自己的用户名,作为自己在网站上的名称。一般情况用户名的填写会做一些格式的限制。

陪学网就对用户名的长度做了限制。也可能会有其他的限制,比如注册QQ的时候,没有对长度做限制,但是对字符有规定:

另外一种常见的注册账号是手机号码。这也是现在非常流行的一种,尤其在移动端的APP上尤为常见,因为方便。比如微信、网易云音乐、抖音等。

还有一种注册账号是邮箱。用邮箱进行注册大多数是在WEB网站的注册中使用。常用的支付平台,除了用手机号之外,还可用邮箱进行登录。

现在有些WEB端的网站在产品升级更新之后,取消了邮箱注册,但之前已经注册的用户已让可以用邮箱登录。也就造成了登录方式有两种,但是注册方式只有一种的情况。

用手机号或者邮箱进行注册,并不意味这用户不可以设置自己的用户名,一般是可以在用户的个人信息中进行修改,在登录时可以使用用户名登录。
二、密码
密码的设置不同的应用或网站会有不同的规定,密码的设置有一点共同的是,不予许设置为汉字。长度、大小写、符号、数字、字母,从这几个方面去做密码的设置规定。
看看陪学网对于密码的规定是如何的。

可以看到,只对密码的长度做了规定,其它的均可以由用户自由发挥。有些密码的设置就较为复杂了。


密码长度不适宜过短,所以应用或网站均会对长度有一定限制。密码的复杂性就各自有不同的要求,一般建议不要过于简单。有一些会对一些特殊字符做出显示,比如上图的“不能包含空格”。
假如需要确认密码的话,很简单,只需要让两次输入的密码保持一致即可。

三、验证码
验证码需要由服务器提供,一是直接显示在页面中,二是发送到邮箱或者手机号。用户填写与验证码一直的内容即可通过系统的验证。陪学网采用的就是第一种,直接显示在页面中。

发送至邮箱或者手机号的验证码,前提是需要获取邮箱或手机,如果是使用邮箱或手机为注册账号的话,就可以直接点击获取了。

四、激活
有一些应用或网站在使用前需要进行激活,方可使用该账号,通过邮件进行激活是常见的激活方式。

为什么需要激活呢?激活有什么意义?
1、对用户客户端而言,激活是操作了数据库的某一状态,使账号处于开放状态,获得使用权。也是对身份一种核查,绑定了你的邮箱,方便通知你,或者密码找回等操作。
2、对服务器而言,防止了机器注册(大量生产无意义的注册),根据你的CPU和MAC地址生成一个激活码,确保了唯一性和真实性,从而减轻了服务器的压力。
3、对于游戏或者软件,可以用于购买使用权(激活码)来盈利,限制使用人数,保障服务器运行等。
上面我们通过陪学网的注册案例,给大家说明了一下在在账号的注册过程中不同的组成部分。一般情况下,会有明显的“注册”按钮,告诉用户直接点击可进行注册。

部分网站的注册并没有明显的按钮,需要从某个入口方可进行注册。比如网页版的网易云音乐,需要点击登录,在登录面板中切换至注册面板。

除了注册之后,我们还可以使用第三方的应用进行直接注册。值得注意的是,大部分的第三方登录在授权登录之后,依然需要关联手机号,其实这跟我们用手机号进行注册是一样的。
比如得到的APP。

最后,并不是所有的应用都可以在网页进行注册,这跟产品的性质有关系。比如瑞幸咖啡,用户通过手机使用;比如微信,普通用户也不能在网页进行注册。
通过产品的展示,可以很明确地知道,我们在进行“注册”的设计时,可以如何去进行设计,有什么类型可以去选择,不同类型有什么样的特点。再结合自己的产品,从而去设计出属于自己产品的合适的“注册”方式。
相关文章:
产品设计中的“注册”说明
在使用网站或应用的时候必不可少的就是账号系统,账号系统有些人可能觉得简单,无非就是账号密码。真的是这样吗? 一个完整的账号系统通常大家会分成四部分: 1.注册(手机号、邮箱、用户名/密码限制/验证码)…...
【linux学习】多线程(1)
文章目录 线程的概念线程与进程 线程的用法线程的创建多线程 线程的等待线程锁死锁 线程的概念 在Linux中,线程(Thread)是程序执行流的最小单位,是进程中的一个实体,负责在程序中执行代码。线程本身不拥有系统资源&…...
Leetcode 3149. Find the Minimum Cost Array Permutation
Leetcode 3149. Find the Minimum Cost Array Permutation 1. 解题思路2. 代码实现 题目链接:3149. Find the Minimum Cost Array Permutation 1. 解题思路 这一题的话就是一个动态规划的问题,不过他这个错位着实是把题目变得复杂了不少,唉…...
Python | 为列表中的元素分配唯一值
我们可以给列表中的所有数字分配一个唯一的值,重复时它会保留给它的值。这是一个非常常见的问题,在Web开发中,处理物品id时会遇到。让我们讨论一下解决这个问题的一些方法。 1. 使用enumerate() 列表解析 # initializing list test_list …...
HTML炫酷的相册
目录 写在前面 HTML简介 完整代码 代码分析 系列推荐 写在最后 写在前面 本期小编给大家带来一个炫酷的旋转相册,快来解锁属于你的独家记忆吧! HTML简介 HTML(全称为超文本标记语言)是一种用于创建网页结构和内容的标记语…...
C++笔试强训day20
目录 1.经此一役小红所向无敌 2.连续子数组最大和 3.非对称之美 1.经此一役小红所向无敌 链接 简单模拟即可。 需要注意的是: 除完之后有无余数,若有,则还可以再挨一次打。 #include <iostream> using namespace std; #define in…...
【PHP【实战项目】系统性教学】——使用最精简的代码完成用户的登录与退出
👨💻个人主页:开发者-曼亿点 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 曼亿点 原创 👨💻 收录于专栏:…...
Linux下的常用基本指令
基本指令 前言一、ls 指令语法功能常用选项举例注意要点关于拼接关于 -a关于文件ls与/的联用ls与根目录ls与任意文件夹ls与常用选项与路径 ls -d与ls -ldls与ll 二、pwd命令语法功能常用选项注意要点window与Linux文件路径的区别家目录 三、cd 指令语法功能举例注意要点cd路径.…...
phpstorm环境配置与应用
在 PhpStorm 中配置 PHP 开发环境及进行一些常用的应用设置涉及以下几个主要步骤: ### 1. 安装和激活 PhpStorm - **下载安装**: 访问 JetBrains 官网下载最新版本的 PhpStorm 安装包,然后按照提示进行安装。 - **激活**: 启动 PhpStorm,你可…...
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout
博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout 文章编号&…...
Hive Aggregation 聚合函数
Hive Aggregation 聚合函数 基础聚合 增强聚合...
Unity 性能优化之GPU Instancing(五)
提示:仅供参考,有误之处,麻烦大佬指出,不胜感激! 文章目录 前言一、GPU Instancing使用方法二、使用GPU Instancing的条件三、GPU Instancing弊端四、注意五、检查是否成功总结 前言 GPU Instancing也是一种Draw call…...
LeetCode 138. 随机链表的复制
目录 1.原题链接: 2.结点拆分: 代码实现: 3.提交结果: 4.读书分享: 1.原题链接: 138. 随机链表的复制 2.结点拆分: ①.拷贝各个结点,连接在原结点后面; ②.处…...
【PC微信小程序点不动处理方法】
描述 在使用电脑小程序抓包的时候发现原来能点的小程序今天不能点了。就是原来有个输入车牌号的输入框点击会出现车牌号键盘,现在不行了,经过卸载安装发现不是微信的问题,是WeChatAppEx.exe 的bug。早期使用的是不带ex的都没有问题升级以后&…...
量化交易:日内网格交易策略.md
哈喽,大家好,我是木头左! 本文将详细介绍日内网格交易策略的原理,并结合Python代码示例,展示如何在掘金平台上实现这一策略。 策略原理 日内网格交易策略的核心思想是在一天的交易时间内,通过设置多个买卖…...
Ubuntu 20.04在Anaconda虚拟环境中配置PyQt4
一、创建一个虚拟环境 1 创建一个python2.7的虚拟环境: conda create -n pyqt4 numpy matplotlib python2.72 在环境中安装几个需要的包: pip install Theano pip install python-opencv3.4.0.14 pip install qdarkstyle pip install dominate二、在主…...
charts3D地球--添加航线
要在地球视角下画出海运路线图 方案 添加 globl 地球创建geo地理坐标系创建canvas对象用于承载地图世界地图this.worldChart //初始化canvas节点let cav document.createElement("canvas");this.$echarts.registerMap("world", geoJson);this.worldCha…...
变色龙还是树懒:揭示大型语言模型在知识冲突中的行为
你是知识变色龙还是树懒?我今天在ICLR学到一个很有趣的术语,叫做证据顺序(order of evidence)。 大模型RAG处理知识冲突的探讨: 在检索增强生成(Retrieval-Augmented Generation, RAG)的过程中,技术团队会将检索到的前几名文档作为证据,并提示(prompt)给大型语言模型(Large La…...
Android OpenMAX(四)OMX Core
假设我们已经写好了所有的OMX组件,有vdec、venc、adec、aenc,接下来问题来了,我们应该如何管理这些组件呢(创建、销毁)?这一篇文章我们向上一层学习OMX Core提供的标准API。 OMX Core代码位于 OMX_Core.h OMX Core在OpenMAX IL架构中的位置位于IL Client与实际的OMX组件之…...
【Linux】轻量级应用服务器如何开放端口 -- 详解
一、测试端口是否开放 1、测试程序 TCP demo 程序(可参考:【Linux 网络】网络编程套接字 -- 详解-CSDN博客) 2、测试工具 Windows - cmd 窗口 输入命令:telnet [云服务器的公网ip] [port] 二、腾讯云安全组开放端口 1、安全组设…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
