Introduction
這是Blog2.0的後臺管理系統,1.0版本直接用的是Django Admin,可塑性確實不太高。
因為工作中有用Vue獨立編寫後臺的經驗,所以這次自己用React手擼了一個後臺,用了react + react-router-4 + mobx + Google reCAPTCHA + Ant Design,說實話比起前端JS和CSS的程式碼量各佔50%,這個後臺收穫還是很大的。
後期會放出一個lite版本,供各位大佬們批評指正,也就是不能上傳、不能修改密碼,別的都能幹。
因為剛畢業不久,工作時間也不多,感覺做的專案還稍顯稚嫩,因此決定開源出來接受大佬們的意見。
現在本人正在積(ku)極(bi)找工作中,如果有合適的機會還請聯絡我,或者留下您的郵箱。 本人郵箱:developer@yanceyleo.com
Detail
Login
因為確實沒有註冊的必要,所以直接把使用者名稱和加密後的密碼存在了資料庫,當然後期心情好不排除弄個註冊。
用到了Google reCAPTCHA,用同事大神的話來說就是裝逼給自己看?,不過用這個東西也對後面填request庫和request-promise庫打下了堅實的基礎,嗯。
雖說是給自己用的後臺,但還是考慮到一些非法操作,比如這個頁面,只有email、password、Google reCAPTCHA有值才能點選登入按鈕(寫到這裡,突然發現忘了寫email、password格式校驗);點選按鈕之後立即將按鈕設為disabled
來避免多次點選。
增刪改查
因為大部分模組都是類似上面這張圖的架構,所以挑一個來寫,就以player
模組為例:
- 表格渲染資料,採用分頁的方式;
- 通過增刪改查和批量刪除按鈕來進行資料的操作;
- 上面說到後臺是從使用者的角度來寫的,因此當使用者未填寫全資訊將禁止點選按鈕提交;
- 封裝了一下Ali OSS的上傳介面
- 點選表格中的圖片(如果有),會放大顯示;
- 刪除和批量刪除會提前彈出
是否確認刪除tip
;
Article
這是Blog的核心功能區,除了常規的增刪改查批量刪除,還增加了模糊查詢和按時間段查詢的功能。
Article Editor
這是Blog的核核核核核心功能區了,用來編寫文章的Header Cover, Title, Summary, Content, Tags,當然我設定的這些都是必填項,所以mobx檢測到如果有的項為空,也是無法提交的。
Markdown編輯器用的toast ui的,說實話用起來真蛋疼,魔改了好多地方才適合自己使用。
著重說一下上面這張圖沒截到的部分?,是兩個按鈕,用來提交。
-
左邊的按鈕是
儲存並留在當前頁面
,實際上就是起到一個暫存的功能,而且我還加了一個功能,當點選這個按鈕時會彈出一個popup,詢問你是否立即釋出,也就是說:當點選`儲存並留在當前頁面`後在點選yes,文章將會被儲存到資料庫,而且會被髮布,並且留在當前編輯頁面 當點選`儲存並留在當前頁面`後在點選no,文章將會被儲存到資料庫,不會被髮布,並且留在當前編輯頁面 複製程式碼
-
右邊的按鈕是純粹的
儲存
,點選後文章將會儲存,然後釋出,最後跳轉到Article List頁面。
CV
這個模組其實完全可以寫成表格的形式,但確實寫表格寫煩了,所以換個口味,實際這就跟很多招聘網站的效果差不多了,其實也是增刪改查,當然沒去設計批量刪除,感覺沒意義。
Global Setting
這裡分三個模組:
- 第一個是個人基本資訊,實際上有兩個作用,一個是後臺右上角那個地方(
要不太空了?),另一個用途是前端簡歷頁面個人資訊那個部分; - 第二個是修改密碼,我估計自己基本也不會用到這個地方,但是既然想寫,那就去做好了;
- 第三個是全域性配置,當然現在只有一個介面,就是全站置灰效果,後臺一旦設定了置灰,那前端全站就會變成灰色,用於一些特殊的哀悼日子。
最後
因為最近忙著找工作,文章遷移、英文文件撰寫都會在忙過這段時間之後再去實施,如果有好的工作機會可以聯絡我哈~
以上、よろしく。