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渲染到前端。

gitee倉庫地址 https://gitee.com/guanhaojie/photoshare.git

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章