1.菜單管理
????????我們菜單管理有菜單表(sys_menu),還有用戶角色表(sys_role),菜單表是用于管理我們用戶所擁有的權限,不同的用戶所看到的頁面是不一樣的,由于一些用戶他能夠看到題庫管理和考題管理,還有一些用戶看不到,并且就算能夠看到題庫管理和考題管理,它們里面所能看到的功能也是不一樣的,有一些用戶他有增加和刪除的功能,有一些用戶就只有查看的功能。
????????但如果我們管理員一個一個給用戶權限的話會顯得非常繁瑣,所以我們還有一個角色菜單管理表(sys_role_2_menu),我們在這個關聯表中創建用戶角色表中的對應權限,我們擁有多選權限這個功能,在右側中,只要勾選上我們想要給用戶的權限,我們就在對應表中將它所對應的權限打鉤,在數據庫中我們就會將我們所選的權限id賦值為1,而當我們在使用這個用戶組的時候,自動讀取這個關聯表,里面為1的內容就代表我們該用戶所擁有的權限
2.內容管理
????????在內容管理中,我們擁有分類管理這個功能,使用的是分類表(category)我們通過我們表中的sort字段來管理分類的順序,通過type字段來判斷是什么分類類型,有考題分類和問題分類兩個分類,這兩個分類的話是為了方便我們后面的八股文管理和題庫管理進行劃分
? ? ? ? 在八股文管理中我們的數據存在八股文表(question_info)中,我們的新增問題是先獲取我們的分類管理中的八股文分類的具體分類,我們通過difficulty_level字段來決定題目的難度,我們的難度星級回顯為數字,而我們的上傳圖片使用的就是基本的io流上傳。我們在內容管理中都有批量導入功能,我們是通過io流讀取excel表格來實現的,我們將excel中的第二行讀取出來放入數組中,我們在縱向讀取數據整合后存入數據庫中就實現了我們的批量導入功能。我們可以在詳情頁中切換上一頁和下一頁的功能,我們通過獲取question_id的數據來判斷是否有上或下一頁,具體是我們要下一頁就獲取當前的<question_id的數據后取第一條就行了,上一頁就反著來
? ? ? ? 我們題庫管理跟八股文管理大體一致,數據存在題庫表中(exam_question),唯一不同的是我們的題庫表中還有對應題目的題目答案表(exam_question_item)
? ? ? ? 對于我們的經驗分享中我們實現大體跟我們上面的是一樣的
2.首頁
? ? ? ? 我們的首頁就是先從現在時間往前推一個星期,然后從后端獲取我們要的數據傳到前端就行了
3.app
? ? ? ? 我們的app跟內容管理差不多,但輪播圖和問題反饋還是可以講的。我們輪播圖是先獲取他主體的id,而后我們在app端中我們就可以回顯出我們的圖片,我們點擊后會通過我們提供的主體的id查詢數據庫就可以找到我們的內容,在用戶反饋中我們的實現原理是我們的用戶提交了一個反饋,我們管理員回復是獲取了用戶反饋內容的id作為父id,用戶再回復也是獲取一開始的id,我們在后端中查我們的用戶反饋只要通過id查該id下的字id回顯到頁面中就行了
4.app頁面
? ? ? ? 我們在在線考試中先需要兩個表,一個是用戶考試表(app_exam)和考試問題表(exam_question_item),我們的用戶考試表是我們用戶的考試信息的,我們判斷用戶是否考試結束等,而我們的考試問題表是獲取我們問題的,我們先獲取是哪個用戶的考試,我們在用戶選擇的分類下隨機選50道題,而后我們獲取用戶選擇的答案跟我們的正確答案進行比較,我們通過answer_result字段來獲取是否正確,如果錯了我們的值就為2,為1表示正確,在我們下次進行考試時我們將排除掉我們用戶選擇正確的答案