前不久,我在哔哩哔哩上学了一个教写了云日志web项目,但讲的不全。我自己学习过程中,做个笔记,也分享给大家,源码链接在最后面。
目录
1 数据库设计:
数据库是在postgresql中设计的。
tb_user,用户表 :
列名 | 备注 | 约束条件 |
user_id | 用户id | 主键,自动增长,不为空 |
uname | 用户名 | |
upwd | 用户密码 | |
nick | 用户昵称 | |
head | 用户头像 | |
mood | 用户心情 |
tb_note_type, 日志类型表:
列名 | 备注 | 约束条件 |
type_id | 类型id | 主键,自动增长,不为空 |
type_name | 类型名 | |
user_id | 用户id | 外键 |
tb_note,日志表:
列名 | 备注 | 约束条件 |
note_id | 日志id | 主键,自动增长,不为空 |
title | 日志标题 | |
content | 内容 | |
type_id | 类型id | 外键 |
pub_time | 提交时间 | |
lon | 提交时经度 | |
lat | 提交时纬度 | |
address | 提交时地点名 |
表的ER图和列名的数据类型:
2 登录模块:
- 根据用户表数据进行登陆,如果用户没有登录,则无法访问除登录页面以外的页面 :
2. 提交时,输入的用户名和密码都要和数据库内相同;否则会出现提示信息。勾选“记住我”框,下次不需要登陆,直接进入主页。
3 个人中心模块:
- 个人中心,可以修改自己用户的头像,昵称,心情。其中昵称加了唯一性检验,不能使用别人用户已经使用的昵称。
- 保存成功后,右侧的个人中心,会相应的改变。
- 点击右侧个人中心的退出按钮,会清除登陆信息,重回登陆界面。
4 类别模块:
- 类别名称可以添加、修改和删除。我加了类别名称唯一性检验,既在一个登陆用户上,不能有重复的类别名称。
- 删除类别时如果该类别下有日志记录,则删除失败。
- 修改、添加和删除时,右侧日志类别也会随之改变。
- 修改、添加和删除操作只在本用户上,不影响别的用户。
5 日志模块:
- 写日志,选择已经有的类别,保存成功后,右侧相应类别的日志数会加1。
- 日志保存成功后,会记录当时保存的日期,右侧日志日期会发生相应变化,日志数会加1。
- 日志保存成功后,会记录当时的经纬度和地址。由于我的服务器是http协议,定位服务只能在Edge上使用,别的浏览器好像都不支持http协议定位。
6 数据报表模块:
本模块,我原本想的是根据保存的日志提供的位置。在地图上记录每个日志提交时的地点。但由于http协议和定位不太准的问题。在此模块我只做了个大概,写死了一个日志提交时的地点,定位服务;如果有需要,可以自己改进。
7 主页模块:
- 按时间先后展示所有的日志。
- 分页查询。
- 日志查看、修改、删除。
- 日志标题模糊搜索、类别搜索、日期搜索。
项目源码:https://gitee.com/ya-lin/cloud-log