thinkphp5开发(类似外链图床)学期项目

网站地址 http://www.hojay.club 新手开发 勿喷~
应学期项目之需,故开发图片分享网站:以下是截图展示:


首页:
首页


详情页:
details


我的上传:
upload


响应式布局:
position


功能需求(Functional Requirements)

  1. 注册用户才可以上传文件
  2. 网站每天只允许上传20张图片(网站管理员可以指定每天不同的上传最大数量)
  3. 每个用户每天最多上传1张图片,图片上传之后不能在修改,但是可以设置图片不显示在网站首页。
  4. 用户每天上传的图片会在网站的首页轮播显示,排序规则为:按照用户上传图片的时间,升序排列。
  5. 同一个用户,每天可以为1张图片点赞一次。
  6. 首页显示点赞数最多的前10张图片,并且也会显示今天刚上传的图片

界面要求(Interface requirements)

  1. 最基本的登录和注册功能
  2. 用户登录后可以查看自己上传过的所有图片,并且可以查看图片的点赞数
  3. 首页图片可以按照主题类型或者分类显示图片
  4. 图片显示时,应该有动画和特效

功能介绍(Features)

  1. 用户注册、登录:提供简介的用户注册页面,用户只需要输入基本的账号,密码,生日,性别后即可注册。用户登录时,除了验证用户名和密码之外,还需要加入验证码机制(例如:随机生成2个数字,用户必须填写2个数字之和)
  2. 用户图片管理:用户登录后,可以维护自己已经上传的图片。可以设置图片是否在首页展示,可以查看图片的点赞数量。每天每个用户最多上传1张图片。图片上传时,用户可以选择此图片的分类,分类由系统定义,用户只能选择,不能添加。
  3. 首页展示:这是当前网站的主要功能。页面必须具备响应性布局。

    3.1. 点赞数量的前10张图片会在一个分组中显示.

    3.2. 当前日期中,多个用户上传的图片会按照上传的时间先后顺序依次显示.

    3.3. 按照系统提供的各个分类,图片分组展示.

网站数据(Website data)

  1. 数据可以通过管理界面自行维护,数据存储到数据库中
  2. 数据不允许以静态文本的方式使用。

移动端页面(Mobile page)

  1. 可以让页面完全响应移动端设备的访问
  2. 可以通过使用跨平台开发工具将网站转换为手机APP

[项目规划]

  1. 参考各大图床。
  2. 创建数据库 – 写html页面(响应式布局)
  3. 编写程序前后端接口。
  4. ThinkPhp5.1 ORM实现数据库增删改查
  5. 实现前后端功能与接口
  6. 前后端交接,完成大部分开发
  7. bug修复以及收尾工作。-- 跨平台工具制作app

[工具和库]

后端框架: Thinkphp5.1
php版本: php7.3.12
mysql :mariaDB10.4.10
服务器: apache2.4.41
操作系统: windows
集成开发环境 phpstorm
CDN加速: https://www.bootcdn.cn/
前端框架:bootstrap3.4.1; jquery1.12.4 ;jquery-mobile1.4.5;

  • 添加第三方类库(验证码)
  • 添加第三方类库(图像处理)
  • 添加第三方类库(Time)
  • 添加第三方类库(单元测试)

[注意点||创新点]

  1. 使用中间件实现登录验证(管理员身份与普通用户)
  2. 点赞其实是个很有意思的功能,thinkphp缓存机制(普通的mysql也可以实现,但是遇到高并发性能上不是很好。目前我觉得比较好的方式是用Redis作缓存来实现,从而减轻数据库的负担)
  3. 后端实现单点登录。
  4. 实现密码公钥私钥加密。
  5. 使用第三方模板引擎(think-angular)—算了,还是用thinkphp5.1内置的叭
  6. 模板是可以继承的!一定要注意不要写重复的代码!!提高代码的精度
  7. API接口开发—贪多嚼不烂,下次再说叭,或者可以单独开发几个接口作为另一个项目的应用(纯接口开发就算了)
  8. 模板继承还是半天没弄明白
  9. 添加图片方向调整
  10. 分页功能|图片评论功能
2020-05-08遗留问题以及规划(毕设要求)
```*点赞```
```*视频```
```*添加七牛云对象存储服务```
```*添加七牛云CDN加速服务```
```*分页```

*批量上传
*个人信息
*搜索功能
*收藏
*管理员功能
*添加qq登录接口
*评论
*历史浏览
*博客------拓展
*深度学习图片自动分类 TensorFlow (python接口实现)
2020-05-30

发现图片上传文件过大会导致上传失败问题(未解决)
解决! php.ini配置,修改最大上传大小10M , 最大同时上传数量100

关于管理员界面后台数据问题

由于html文件是由JS渲染 而不是php渲染,故不能使用thinkPhp的模板渲染进行数据的填充.

解决办法
对于管理员界面使用前端框架进行数据渲染->使用anglarJS 或者 VUE 或者其他react之类的前端框架,结合ajax
将数据从后台取出并使用js渲染到前端。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值