專案概覽
專案用的b2c模式,有前臺管理系統和后臺管理系統
后臺系統的功能
-
登錄功能(集成SpringSecurity框架)
-
權限管理模塊
(1) 選單管理:串列,添加,修改,洗掉
(2) 角色管理:串列,添加,修改,洗掉,為角色分配選單
(3) 用戶管理:串列,添加,修改,洗掉,為用戶分配角色
(4) 權限管理表的關系
-
講師管理模塊
(1) 條件查詢分頁串列,添加,修改,洗掉
-
課程分類模塊
(1)添加課程分類 (讀取Excel中里面課程分類資料,添加到資料庫中)
(2)課程分類串列顯示(使用樹形結構實作課程分類串列)
-
課程管理模塊
(1)添加課程
- 第一步 填寫課程基本資訊
- 第二步 添加課程大綱(章節和小節)
- 第三步 課程資訊確認,最終課程發布
(2)課程串列(條件查詢分頁串列,增刪改查已發布和未發布課程)
(3)添加小節上傳課程視頻
-
輪播圖管理
-
訂單管理(有待補充)
前臺系統的功能
-
首頁資料顯示(redis快取)
(1) 顯示幻燈片功能
(2) 顯示熱門課程
(3) 顯示名師
-
注冊功能
(1) 填寫基本資訊(加密密碼)
(2) 獲取手機驗證碼(阿里云短信服務)
-
登錄功能
(1) 手機賬號登錄
-
SSO(單點登錄) JWT生成token實作
-
JWT為頭資訊,有效載荷(用戶資訊),簽名哈希(防偽標志)組成
-
登錄呼叫登錄介面回傳token,把回傳token放入cookie,創建前端攔截器進行攔截,
如果有token,放入header,根據token獲取用戶資訊,用戶資訊放入cookie,登錄成功
(2) 社交賬號(微信)掃碼登錄
-
OAuth2
針對特定問題的解決方案,主要兩個問題:開發系統間的授權,分布式訪問(JWT為OAuth
2的具體實作之一)
-
如何獲取掃描人資訊
掃碼之后微信介面回傳code(臨時票據),拿著code請求微信固定地址,得到兩個值:
access_token(訪問憑證)和openid(微信唯一標識),拿著這兩個值在請求固定地址,
得到微信掃碼人資訊(比如昵稱,頭像等等)
-
-
名師串列功能
- 分頁顯示名師資訊
-
名師詳情頁
- 點擊名師跳轉名師詳情與他所教的課程
-
課程串列功能
- 更具課程分類分頁查詢課程
- 根據銷量,價格等排序課程
- 課程串列分頁顯示
-
課程詳情頁
- 課程資訊顯示(課程基本資訊,分類,講師,課程大綱)
- 判斷課程是否需要購買
- 課程評論
-
課程視頻在線播放
- 整合阿里云視頻播放器
- 阿里云視頻點播
-
課程支付功能(微信支付)
-
生成課程訂單
-
生成微信支付二維碼
-
微信掃碼支付實作程序
如果課程收費,點擊購買,生成課程訂單,向訂單表加資料,點擊訂單頁面中去支付,
生成微信支付的二維碼,用微信掃描二維碼實作支付
-
支付之后,每隔三秒查詢是否支付成功,如果沒有,等待,支付成功之后,改訂單狀態
變為已支付,在支付記錄表中加一條資料,把訂單表中欄位改為已支付,回傳課程
詳情頁面,可觀看視頻
-
專案使用的前端技術
-
vue
-
基本語法
-
指令
v-bind() (單向系結) v-model (雙向系結) v-if v-for v-html
-
生命周期
created(): 頁面渲染之前執行
mounted(): 頁面渲染之后執行
-
ES6規范
-
-
Element-ui
-
nodejs
-
NPM
- 包管理工具,類似Maven
-
Babel
- 把es6轉換成es5
-
前端模塊化
-
后臺系統使用vue-admin-template(基于vue加element ui)
-
前臺系統使用Nuxt(基于vue)
-
Echarts
- 圖表工具
專案使用的后端技術
-
專案采用微服務架構
-
SpringBoot
- SpringBoot本質上是Spring,只是快速構建Spring工程腳手架
- 細節
- 啟動類包掃描機制
- 設定掃描規則@ComponentScan(“包路徑”)
- 配置類
- SpringBoot組態檔
- 加載順序: bootstrap application application-dev
- 版本:2.2.1
-
SpringCloud
- 很多框架的總稱,使用這些框架實作微服務架構,基于SpringBoot實作
- 專案使用Nacos替代了一些組件
- Nacos
- 使用Nacos作為注冊中心
- 使用Nacos作為配置中心
- Feign
- 服務呼叫
- 熔斷器
- GateWay網關,不用zuul
- 版本Hoxton
-
MybatisPlus
- MybatisPlus是對Mybatis增強
- 自動填充
- 樂觀鎖
- 邏輯洗掉
- 代碼生成器
- MybatisPlus是對Mybatis增強
-
EasyExcel
- 阿里巴巴提供的excel工具
- EasyExcel對poi進行封裝,采用SAX方式決議
- 專案應用在添加課程分類,讀取excel資料
-
SpringSecurity
-
整合實作權限管理
-
SpringSecurity組成認證和授權
-
認證授權程序

-
執行程序
-

-
Redis
- 首頁Redis快取
- 其他一些資料快取(驗證碼,授權)
-
Nginx
- 反向代理服務器
- 使用請求轉發
-
QAuth2+JWT
- 登錄
-
HttpClient
- 請求微信地址
-
Cookie
- 存token,用戶資訊
-
微信登錄
-
微信支付
-
阿里云OSS
- 檔案存盤(頭像)
-
阿里云視頻點播
- 視頻生成,播放憑證播放,阿里云播放器
-
阿里云短信服務
- 發送短信驗證碼
-
Git
- 上傳碼云
-
Docker
- 部署
-
jekins
- 部署
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252226.html
標籤:其他
上一篇:短書視頻怎么保存?風之語一招搞定短書視頻_音頻_直播下載教程
下一篇:力扣812.最大三角形面積
