郑 柳(xiaxixi) 2016210405063 组长
王胤凯(xjwyk) 2016210405045
陈铭璇(Xuan0216) 2016210405062
一个书籍推荐系统PC端,根据个人喜好推荐相同类别的书籍。
在推荐界面支持收藏以及更换推荐书籍的功能。
根据自己的喜好,可以在搜索界面查找书籍,在书籍搜索界面也可以进行收藏。
在个人的收藏夹中会显示收藏的书籍的图片以及书名,点击图片可以在新窗口查看豆瓣关于这门书的详细信息。
- user
user_id | name | pwd | image.addr | favourite_type |
---|---|---|---|---|
1 | abc | 123456 | art | img/xx.jpg |
2 | def | 456789 | computer |
- book
book_id | title | author | cover_addr | type | grade | intro | Alt |
---|---|---|---|---|---|---|---|
1 | HTml5与css3基础教程 | Elizabeth Castro | images/book_1_cover.png | computer | 4 | 讲解html和css入门知识的经典畅销书,全面系统的讲解html5和css的基础知识以及实际运用技术 | https:/xxxxx/xxxx/ |
- usercollect
name | book_id | Alt |
---|---|---|
admin | 1 | http:/xxx/ |
admin | 2 | http:/xxx/ |
- usercollectdouban
name | collect_id | title | cover_addr | Alt |
---|---|---|---|---|
admin | 1 | 牛 | http:/xxx/ | http:/xxx/ |
admin | 2 | 牛蛙 | http:/xxx/ | http:/xxx/ |
注册登录功能
用户在注册界面注册时,输入的信息需要通过用户名、密码长度验证,用户名3-16位,密码6-18位。 除了基本的用户名和密码字段外,还增加了设定用户喜欢的书籍类型(favourite_type), 确认信息全部填写后才会将数据添加到后端数据库user表中。 反之,弹出信息不匹配的原因并返回注册页面。
用户在登录界面登录时,输入的信息将与user表中的数据进行匹配验证。 如果验证通过,跳转到成功登录后的页面。 反之,弹出信息不匹配的原因并返回登录页面。推荐书籍功能
根据用户设定的喜欢书籍的类型(favourite_type), 推荐他有可能会喜欢并且未收藏的书籍,显示在推荐界面上。
思路:先在user根据name得到此用户的favourite_type, 再在book中根据type = favourite_type and 此书不存在用户收藏中,得到满足条件的书籍book_id数组, 根据book_id数组的第一个book_id select书籍的详细属性,通过php->json->js输出前端到界面上。推荐书籍“换一换”
点击推荐界面“换一换”,改变显示的书籍,还是符合用户喜欢并且未收藏的书籍。
思路:根据推荐功能获得的book_id数组,点击“换一换”,往下取出一个book_id, 根据book_id select书籍的详细属性,通过js输出前端到界面上。收藏书籍功能
每本书籍都有收藏按钮,用户可以收藏书籍 点击之后,提示该书被收藏,按钮显示已收藏。 相关的响应函数,鼠标点下,数据库usercollect增加一行数据。搜索书籍功能
根据输入,调用豆瓣的搜索API,根据关键字搜索相关的书籍,在界面上显示相关书籍的书名、作者、出版社、豆瓣评分以及简介,最多显示20条数据。跳转豆瓣查看书籍的详细信息
在个人收藏界面和推荐界面点击书籍会打开一个新的窗口,然后可以看到这本书在豆瓣上的详细信息; 在搜索界面搜索到的书籍点击learn more按钮也可以打开新窗口跳转到豆瓣查看这本书的详细信息。个人中心
个人中心显示用户头像、名字、喜欢书籍类型和最近收藏的3本推荐书籍, 仅仅显示最近在推荐界面收藏的三本自己喜欢类型的书籍,通过搜索得到的书籍只会在个人收藏夹中显示。
个人收藏界面会显示搜索的时候收藏的书籍以及在推荐界面收藏的书籍。
- 推荐界面、个人中心、书库全部被收集的界面:郑柳(xiaxixi)
- 收藏界面、搜索界面:王胤凯(xjwyk)
- 登录界面、注册界面:陈铭璇(Xuan0216)
实现每个界面,包括所有的前端后端,相关算法和响应函数
http://106.14.151.175/Book-recommendation-collection/index.html
PS:服务器2018.7.30过期