SmartBrain后端
Smart Brain后端的主要组成部分
首先需要估计有哪些endpoint
1.res=this is working 确认是否成功在工作
2.sign in=>POST = success/fail 登录进去提交表单,所以用POST
3.register=>POST=user 注册提供新的用户信息
4./profile: user Id–>GET=user 需要看登录进去是谁
5./image PUT–>user 需要统计查过多少张图
Sign in 和 Register
Sign in需要找到数据库中是否有相符合的邮箱和对应密码。
TypeError: Cannot read property ‘email’ of undefined
前端发来的数据是JSON,后端需要用 express middleware:用body_parser在中间处理一下request
需要注意的是,在用POSTMAN做测试时,需要选好发送什么类型的数据,目前我们选的是JSON
注册页将用户三个信息:姓名,邮箱,密码发送至服务端。然后服务端将该用户加入数据库
/Profile: id
Profile:id 进入ID界面后就能得到用户信息。需要遍历数据库,找到对应的ID,返回该user的所有信息。
var,const,let的区别
这三个都是JS用来声明变量的关键字。 const和let都是ES6新增的。
(1)const:声明的是一个只读变量,声明之后不允许改变其值,且必须初始化。对于boolean这种原始值,就是不能变,是常量。但如果是对象,object,array里面内容可以改变
(2)let:不允许在同一作用域中重复声明。
(3)var:允许在同一作用域中重复声明。
/image
每个人检测的图片数目,每个ID出现一次,他的entries就加上1。
Storing User Passwords
bcrypt-nodejs
保证用户的信息安全,在存储密码时不能直接储存。
在register页面时,密码会自动对应生成的一段字符串,就算两次输入一样的,字符窜也会不一样。
在sign in页面时需要检测密码是否能对上,compare函数比较密码和字符串能否对上
Connecting to Front End
同时运行前端和后端,但是他们port相同所以会报错,因此其中一个port要改一下。我们将服务器改为3001port。
cors package
cors 是跨域中间件。前端与后端端口号不同,所以需要跨域。
在server.js中用cors来实现跨域
上传登陆信息
之前SignIn.js 我们使用的是const,而现在涉及到状态,就要改成 class SignIn
目前需要上传邮箱和密码,所以一共有两个smart components: Email 和 Password
下面两个input,email和password,设置onChange,这样可以更新状态
下面SIGNIN 按钮,onclick也需要换成onSubmit,然后之前页面转换就放进 onsubmit里面
在onSubmitSignIn中添加fetch,数据传输给服务器,一般fetch默认是GET,所以需要写好method
只有成功登陆才会跳转界面,用.then(),只有回复 success 才能进入’home’界面
在登陆时,有时会出现到了home page又闪退的bug。主要是会强制浏览器重载。需要加上
上传注册信息
与登录页面类似,这里需要有三个smart components:name,email,password
剩下的INPUT也需要加上onChange或者onClick
在登录进去后,有一个user profile界面。所以回到APP.js,我们在constructor里需要加入user信息,并且加上一个loadUser,这样可以更新登录用户的信息。
之前服务器Register会返回注册用户,在Register页面里面,提交时也更新用户信息。
并且不要忘了,将loadUser给register
目前SIGN IN 和 register的前后端已经成功连接上,服务器可以收到来自前端的request,前端也收到对应 response。
Update user profile
每次输入一个图片,需要更新User 的entries。点击提交图片一次,就会增加一次entries,所以需要在onButtomSubmit里面加上fetch(),这次是把登陆的ID发送过去,服务器确认ID后,该用户的entries加1。并返回entries值
App.js:
服务器:
值得注意的是,注册进去可以计数,登陆不行,因为登陆中没有loadUser, id没有更新,id默认为‘ ’,服务端只会返回404。
在后面database设置以后,server.js中signin也会返回用户数据,加上LoadUser,sign in也可以计数了。
计数显示在rank.js里面
SmartBrain后端相关推荐
- 后端怎么防止重复提交?(常用的做法)
后端怎么防止重复提交?(常用的做法) 客户端的抖动,快速操作,网络通信或者服务器响应慢,造成服务器重复处理.防止重复提交,除了从前端控制,后台也需要控制.因为前端的限制不能解决彻底.接口实现,通常要求 ...
- 大三后端暑期实习面经总结——SSM微服务框架篇
博主现在大三在读,从三月开始找暑期实习,暑假准备去tx实习啦!总结下了很多面试真题,希望能帮助正在找工作的大家!相关参考都会标注原文链接,尊重原创! 目录 1. mvc.mvp.mvvm MVC架构 ...
- 前后端分离必备工具:Swagger快速搞定(整合SpringBoot详细教程)
本文根据狂神教学视屏同步所做笔记 目录 一.Swagger简介 1. 前后端分离 2. Swagger引入 二.SpringBoot集成Swagger 1. 新建springboot项目 2. 导入S ...
- CPU架构的llvm后端
Creating an LLVM Backend for the Cpu0 Architecture Backend structure • TargetMachine structure • Add ...
- 动态表单工作量给后端
动态表单工作量给后端 让前端远离互相伤害 一个IT公司的日常就是程序员.产品经理.UI等同事们的互相残杀: 应用,不少前端就备受煎熬,除了修改需求的魔咒外,还有后端的重构和调整接口诅咒,即便需求没改, ...
- MindSpore后端运行类
MindSpore后端运行类 Q:如何在训练过程中监控loss在最低的时候并保存训练参数? A:可以自定义一个Callback.参考ModelCheckpoint的写法,此外再增加判断loss的逻辑: ...
- 用于ONNX的TensorRT后端
用于ONNX的TensorRT后端 解析ONNX模型以使用TensorRT执行. 另请参阅TensorRT文档. 有关最近更改的列表,请参见changelog. 支持的TensorRT版本 Maste ...
- 前后端分离nginx配置,同时解决跨域问题
背景 现在,web开发的前后端分离技术越来越火爆,由于最近的公司官网使用了前后端分离的方案,这里就来记录一下前后端分离的项目部署.这里我们使用的前端框架是Vue.js,后台使用Laravel7提供数据 ...
- node、Mongo项目如何前后端分离提供接口给前端
node接口编写,vue-cli代理接口方法 通常前端使用的MocK 数据的方法,去模拟假的数据,但是如果有node Mongodb 去写数据的话就不需要在去mock 数据了,具体的方法如下. 首先 ...
最新文章
- apache添加ssl协议实现用户认证
- Django中的常用命令
- 洛谷 P4175: bzoj 1146: [CTSC2008]网络管理
- boost::endian模块实现conversion的测试程序
- Vue全家桶实战01_【从入门到放弃系列】
- socket工具android,Android通过socket长连接实现推送
- 位运算实现四则运算(C++实现)
- 核心系统100%上云!全球最大流量洪峰,阿里云扛住了
- Linux工作笔记-两Linux系统互传文件(使用SSH)
- 珍珠全面屏!华为畅享9S/9e正式发布:千元三摄加持
- 20190804:有效的括号(误删补发)
- Halcon 抓圆工具spoke
- type=button 字体大一点_机械制图中文字用什么字体?你所在的企业图纸中文字又是什么字体...
- 华为手机应用安装错误码分析汇总
- 失败的面试小记,项目面,酷家乐面筋
- 苹果中国全系降价:iphone最高降500元,用户可退差价
- 【转】韩寒:跳出棋盘的棋子
- python plt图片保存emf类型_matplotlib---保存图片出现的问题
- Wsl2 Ubuntu18.04图形化界面,亲测成功
- 购物足迹功能php,wordpress实现访客足迹功能