如何做一个无需密码和验证码的登录功能

在聊这个功能开发之前,我们先来看看传统的登录是怎么做的 传统的登录方式【密码登录】: 客户端输入【用户名】【密码】==》服务端根据【用户名】找到用户,对密码进行MD5加密,与数据库存储的用户密码进行比对,比对成功,则登录成功,否则则失败。 【验证码登录】: 客户端输入【手机号】或【邮箱】,然后点一个按钮让服务端给手机或邮箱发送验证码,然后用户去收验证码,然后在把验证码和手机号发

从 png 到 base64

Base64 编解码前言在互联网应用中,我们经常需要传输二进制图片、音频等数据,但是普通的文本传输协议如HTTP、SMTP等只能传输ASCII字符,这时就需要将二进制数据转换成可打印字符,以便通过文本方式进行传输。Base64编码就是一种将二进制数据转换为可打印字符的方案。本篇文章就来介绍一下Base64编码的背景、解决的问题和编码规则。 背景Base64编码最早出现于1977年,由美国国家标准与

浅聊javascript引擎

为什么都说 javascript 慢我们都知道 javascript 有两大特点:一是弱类型,二是解释型。 弱类型什么是弱类型语言呢,一句话就是类型的概念,在语言中很弱,你感受不到他的存在。js 就是这样,你在编码的时候不需要显示指定变量的类型,也无需关注变量的类型,一个变量的类型是在代码运行到具体的某一行的那一刻才确定的,在编码的过程中,你可以在任何时候更改变量的类型,例如 js 中的 var,

10X程序员

痛点是什么作为一名程序员,我们希望能够将自己的精力放在设计算法、改进设计、优化系统这些有创造性和成就感的事情上。 但【现实】是,因为一些“意外”,陷入无休止的忙碌 代码辛辛苦苦写一半,需求变了 低估了需求复杂度,错估了时间,拼命加班,自己造的“孽”,含泪也要做完 累死累活东西做出来了,产品/UI和你说,他说的不是这样的 一个功能点各种求改,只是因为设计糟糕,无法适应新需求 为什么会这

Bun

bun安装根据官方教程安装即可。【安装完成之后需要根据控制台的指引,执行 exec /bin/zsh 添加环境变量】 webWorker如何注册一个 webworker?1const worker = new Worker('js/upload.js') 其中 js/upload.js 是worker脚本的路径地址;在上面的例子上表示 【当前浏览器窗口的 协议 + 域名 +

SVG绘图指令

SVG 坐标系 stroke 描边颜色stroke-width 描边宽度fill 填充色M指令表达 Move to 的意思,用来描述起点,想象成一个人握着画笔,将画笔移动到纸上的某一个位置 1M x y M 指令、关键字 x X轴坐标 y Y轴坐标 L指令1L x y L 指令、关键字 x X轴坐标。 y Y轴坐标。 与M指令配合,M指令描述了起点,L指令表示要绘制直线,L指令的坐标

ts类型反解+高级用例

ts 内置的一些高级类型模版字符串 允许在类型定义中使用模版字符串 1234type EmailLocaleIDs = "Welcome_email" | "Email_heading";type FooterLocaleIDs = "footer_title" | "footer_sendoff";type All

国际化工具设计与实现

背景 痛点一:只要出现文案的国际化处理,必须在文件顶部导入 i18n 痛点二:不能在组件里面直接写中文,必须得用 i18n.t 方法包裹 痛点三:必须得给每一个中文文案想一个变量名 痛点四:必须再从翻译团队给的翻译excel表格里面找到这个中文对应的繁体与英文,然后再一个一个的去替换 zh.json hk.json en.json 中的对应文案 痛点五:翻译团队可能会漏掉部分文案的翻译,必须

Vite多环境配置:让项目拥有更高定制化能力

业务背景近些年来,随着前端工程架构发展,使得前端项目中也能拥有如后端工程的模块能力。正所谓 “能力(越)越大(来),责任(越)越大(卷)”,现在的前端工程不仅仅要满足业务需求,还伴随更多复杂的环境适配问题,例如: api请求的域名会根据不同环境而不同; 线上环境和测试环境在打包策略有所不同「如线上要隔离sourceMap、屏蔽vue|react devtools等…」; 前端spa组件根据