站点已经上线,点击Note查看。 也可以查看上线之前分别录制的PC端演示和移动端演示。
-
项目实现用户登录、注册,以及文章的增删改查。兼容IE9及以上。项目全面进行前后端分离,前端使用xhr获取后端的REST API。
-
后端使用PHP+MySQL,前端使用Bootstrap+jQuery。通过Gulp对Less和ES6语法进行编译,并对JS和CSS进行压缩,然后发布到线上。
-
开发的时候,遇到IE无法登录的问题。通过排除法,定位到问题所在,并把解决问题。
主文件结构(src/js/javascript.js)
* ctrl 控制: 自调用的主代码
* check 检查: 检查用户是否登陆
* model 模板: 登陆注册的模拟弹窗
* test 测试:
*
* ajax 数据: 通过XHR与后端交互并且返回结果
* render 渲染: 对首屏数据进行渲染
* hint 提示: 操作时候的状态信息
* handle 处理: 登陆注册和修改编辑
目录结构
/src 开发目录
/less
styles.less
/css
styles.css
/js
javascript.js
/img
index.html // 主文件
/dist 线上目录
/css
/js
/img
/api 后端接口
/note
add.php // 添加文章
delete.php // 删除文章
modify.php // 修改文章
search.php // 搜索文章
/user
login.php // 处理用户登陆,成功则设置COOKIE标记登陆状态并刷新页面
login_check.php // 检查用户是否登陆,未登录停止执行后续语句
register.php // 处理用户注册,注册成功设置COOKIE刷新页面
forget.php // 忘记密码(验证邮箱)
password.php // 修改密码(需要输入原密码)
/theme 历史版本
/localstorage // 初期版本,笔记主要存储在本地存储,页面即开即用
conn.php // 数据库连接文件
- 输入框不会自动对焦第一个
- 添加和修改点击两次才执行(已修复)
- 项目的排版不够整齐(已修复)
2017.03.12
- 修复后端不能在IE下生成Cookie的问题
- 修复点击按钮和修改按钮需要点击两次才执行的问题
2017.03.11
- 用户的注册登陆,文章的增删改查已经完成
- 注册用户默认生成一条提示性的笔记
- 注册和登陆时候的密码改为password类型
- 下一步主要完善相关的状态提示信息以及验证码的加入
- 以及引入babel,eslint等前端构建工具
- 接下来的时间更新不会那么频繁了,主要是去总结JS并且写总结
- 用闭包对js文件进行了封装
- 标签内的onclick全部转化为事件监听
2017.03.09
- 实现了
登陆
、注册
、注销
的前后端交互 - 实现了文章的
删除
、修改
操作,基础功能只差添加了,还没想好怎么展示 - 目前线上版本的是基于localstrorage的
- 等这个基于前后端分离的功能完善了,就在线上测试
- 下一步主要是完善前端状态提示信息
- 后端安全性暂时未考虑,主要做基于后端数据的前端展示
- 前端安全性打算对保存的内容进行标签转码,过滤危险标签
- 代码健壮性有待优化
- 密码使用MD5加密(暂时性)
2017.03.08
- 更新了密码修改模块。
- 完成了基于后端数据的前端首页展示
- 根据鼠标悬浮状态按需显示修改和删除按钮
- 封装了登录和注册的模态,通过传参调用
- 登陆显示用户信息,未登陆显示登陆按钮
- 实现了页面的注册,登陆(注销页面暂时未完成)及访问自己的文章
- 接下来要做的用户增删改查自己的笔记
2017.03.07
- 用PHP返回JSON进行前后端分离,前端使用xhr获取数据
- 后端API只剩忘记密码(这个打算先放一放)和修改密码未做完。明天把后端代码优化一下,接着就开始做前端的活了。是用原生JS,还是直接BS,JS一套上,还没有决定。或者用Vue。
为了更好的学习工具链,将逐步对项目进行重构。通过实践来加深对工具链的理解。
目前的项目结构
前端 > 页面(HTML) / 脚本(JS Localstorage API) / 样式(CSS) / 工具(Gulp)
逐步转换的结构
后台 > PHP
前端 > 页面(Pug) / 脚本(jQuery store.js) / 样式(Less) / 工具(Gulp)