個人部落格2.0 Admin System

YanceyOfficial發表於2018-10-18

Introduction

這是Blog2.0的後臺管理系統,1.0版本直接用的是Django Admin,可塑性確實不太高。

因為工作中有用Vue獨立編寫後臺的經驗,所以這次自己用React手擼了一個後臺,用了react + react-router-4 + mobx + Google reCAPTCHA + Ant Design,說實話比起前端JS和CSS的程式碼量各佔50%,這個後臺收穫還是很大的。

後期會放出一個lite版本,供各位大佬們批評指正,也就是不能上傳、不能修改密碼,別的都能幹。

因為剛畢業不久,工作時間也不多,感覺做的專案還稍顯稚嫩,因此決定開源出來接受大佬們的意見。

GitHub

前端線上地址

前端文件戳這裡

現在本人正在積(ku)極(bi)找工作中,如果有合適的機會還請聯絡我,或者留下您的郵箱。 本人郵箱:developer@yanceyleo.com

Detail

Login

Login

因為確實沒有註冊的必要,所以直接把使用者名稱和加密後的密碼存在了資料庫,當然後期心情好不排除弄個註冊。

用到了Google reCAPTCHA,用同事大神的話來說就是裝逼給自己看?,不過用這個東西也對後面填request庫和request-promise庫打下了堅實的基礎,嗯。

雖說是給自己用的後臺,但還是考慮到一些非法操作,比如這個頁面,只有email、password、Google reCAPTCHA有值才能點選登入按鈕(寫到這裡,突然發現忘了寫email、password格式校驗);點選按鈕之後立即將按鈕設為disabled來避免多次點選。

增刪改查

增刪改查

因為大部分模組都是類似上面這張圖的架構,所以挑一個來寫,就以player模組為例:

  • 表格渲染資料,採用分頁的方式;
  • 通過增刪改查和批量刪除按鈕來進行資料的操作;
  • 上面說到後臺是從使用者的角度來寫的,因此當使用者未填寫全資訊將禁止點選按鈕提交;
  • 封裝了一下Ali OSS的上傳介面
  • 點選表格中的圖片(如果有),會放大顯示;
  • 刪除和批量刪除會提前彈出是否確認刪除tip

Article

Article

這是Blog的核心功能區,除了常規的增刪改查批量刪除,還增加了模糊查詢和按時間段查詢的功能。

Article Editor

Article Editor

這是Blog的核核核核核心功能區了,用來編寫文章的Header Cover, Title, Summary, Content, Tags,當然我設定的這些都是必填項,所以mobx檢測到如果有的項為空,也是無法提交的。

Markdown編輯器用的toast ui的,說實話用起來真蛋疼,魔改了好多地方才適合自己使用。

著重說一下上面這張圖沒截到的部分?,是兩個按鈕,用來提交。

  • 左邊的按鈕是儲存並留在當前頁面,實際上就是起到一個暫存的功能,而且我還加了一個功能,當點選這個按鈕時會彈出一個popup,詢問你是否立即釋出,也就是說:

      當點選`儲存並留在當前頁面`後在點選yes,文章將會被儲存到資料庫,而且會被髮布,並且留在當前編輯頁面
      當點選`儲存並留在當前頁面`後在點選no,文章將會被儲存到資料庫,不會被髮布,並且留在當前編輯頁面
    複製程式碼
  • 右邊的按鈕是純粹的儲存,點選後文章將會儲存,然後釋出,最後跳轉到Article List頁面。

CV

CV

這個模組其實完全可以寫成表格的形式,但確實寫表格寫煩了,所以換個口味,實際這就跟很多招聘網站的效果差不多了,其實也是增刪改查,當然沒去設計批量刪除,感覺沒意義。

Global Setting

Global Setting

這裡分三個模組:

  • 第一個是個人基本資訊,實際上有兩個作用,一個是後臺右上角那個地方(要不太空了?),另一個用途是前端簡歷頁面個人資訊那個部分;
  • 第二個是修改密碼,我估計自己基本也不會用到這個地方,但是既然想寫,那就去做好了;
  • 第三個是全域性配置,當然現在只有一個介面,就是全站置灰效果,後臺一旦設定了置灰,那前端全站就會變成灰色,用於一些特殊的哀悼日子。

最後

因為最近忙著找工作,文章遷移、英文文件撰寫都會在忙過這段時間之後再去實施,如果有好的工作機會可以聯絡我哈~

以上、よろしく。

相關文章