很久很久都没有写过简书,之前说好的一天写一篇文章的事情也有点耽搁,个人觉得自己还是不够自觉,2020-05-17开始每天写一篇简书,丰富一下自己的时间,话不多说,开始node之旅.
前端与后端的交互过程中,必不可少的当然还属于对接口的定义
第一步:定义接口,这里我们只做注册接口:如下
/reg?user=aaa&pass=123456
第二步:这里将使用的是mysql数据库,我就默认大家能够知道怎么使用mysql数据库哦,哈哈,请谅解不能从安装开始说起.创建数据库的时候,我们还是不要觉得生活太美好给数据库名字加上符号,至于为什么不加符号嘛,留个小悬念,废话不多说,创建数据库名时我用日期来命名,并且,在这里我们的ID不使用主键自增的方式,至于为什么嘛!就好比去银行办一张卡,有一个富可敌国的富商去办理一张银行卡,至于为什么是个符号还要自己去办银行卡还得问他自己,如果有一个人,就等着富豪办完第一张卡,另外一个人立马就去办理,如果富豪那张卡的ID为3,那么接下来那个人不就知道富豪所办理的卡的序号为多少嘛!这里,我们将会使用uuid来作为ID.密码我们也将会使用MD5 如下图:
第二步:这里我使用的是vscode编译器,新建文件夹,初始化项目使用npm init 命令,初始化项目的是在node开发中使用npm init会生成一个pakeage.json文件,这个文件主要是用来记录这个项目的详细信息,它会将我们在项目开发中所要用到哪些包,以及项目的详细信息等记录在这个项目中。 也是方便在以后的版本迭代和项目移植的时候会更加的方便。也是防止在后期的项目维护中误删除了一个包导致的项目不能够正常运行 如下图:
第三部:安装插件我们所需要的就是body-parse,express,mysql,uuid 命令:cnpm install express,npm install body-parse,npm install mysql,npm install uuid-v4 当然你如果觉得慢可以使用cnpm和yarn 全局安装cnpm命令: npm install -g cnpm --registry=https://registry.npm.taobao.org
这里就是npm init 后的那些家伙事,以及一些插件的版本号
第三步:正式开始node.代码,我这里使用的是vscode,创建server.js文件
引用express框架以及mysql插件,并创建服务:如图
接下来就是数据库链接:
第四步:不管是什么样的登录注册,都会对用户输入的账号密码的合法性进行检测,出去特殊情况下不需要判断:如图所示:
使用cmd命令启动项目,在浏览器地址栏部分使用http://localhost:8080/reg?user=slience_2020&pass=123456进行调试看自己代码是否有问题:如下图说明注册验证没问题:
第五步:注册的用户如果在数据库里面已经存在,就需要对其进行检测,并告知此用户已经存在:
第六步:用户输入的账号密码通过检测合格后,接下来就是将数据插入到数据库:如图:
页面上面显示注册成功后,我们去数据库瞧瞧,看到底是否真的注册成功!
如此果然数据库里面存在一条我们刚注册的数据!
以为到这一步就结束了?不并没有,刚开始就已经说过,我们不会使用ID自增的方法去插入到数据库里面,并且密码我们也要使用MD5格式
和刚开始一样,使用cmd下载uuid插件还有就是crypto,这个直接引用,命令是npm install uuid-v4,并且在代码里面引入 const uuid = require('uuid-v4') const crypto = require('crypto') 代码如图所示:
说明:因为我们还要对生成的UUID进行重复检测,虽然生成的uuid随机重复的几率为3亿分之一,但是万一真的出现重复呢!如果真的重复,那必然去买彩票,那必会中,乱中,拐得很,在else if中我们要重复SELECT语法,索性直接封装调用来的实际,这样就不需要重复写代码!
之后写入数据的代码,如图:
当然数据库里面,我们的ID还是int类型,我们还要改成varchar类型,毕竟uuid生成的是字符串类型:
没错 数据库里面已经成功了!这样的ID谁会记得住是吧!如果觉得生活很美好,就需要挑战,那就被下来吧!至于密码嘛!md5格式的自己去解密.
最后!谢谢大家能够从头看到这里!万分感谢!疫情期间,大家一定要保护好自己,勤洗手,外出戴口罩!最后,大家的事业蒸蒸日上 奥利给!!!!!!
网友评论