開源後臺系統*mee-admin*

mee-admin開源後臺系統

Preface

這是一個開放的時代,咱們不能老是把東西揣在口袋裏面本身樂呵。
  也正如名言所說的「若是你有兩塊麪包,你當用其中一塊去換一朵水仙花」
  因此,繼上一次把個人兩個我的項目開源以後今天我再一次把自有的後臺頁面也開源出來,以回饋整個開源世界。

開源地址

https://github.com/funnyzpc/mee-adminjavascript

項目結構概述

mee-admin是由個人我的mee項目開源而來,mee-admin項目是一個先後端一體化的項目,不過在代碼上實現了頁面與數據分離,是一個很是好的
輕量級後端工程,因此在正式使用時您會發現主體業務部門均是採用json交互,前端頁面使用模板工具實現數據展示及編輯
jeesite不同,咱們不使用jsp+sitmesh+ehcache臃腫化項目
Spring-Cloud-Platform xboot 不同,這裏不使用vue iview 作先後端分離,也不使用springclooud作集羣分佈式
因此個人項目更加輕量級,不須要裝node 不須要npm打包 需不要安裝nginx 同時也不須要編寫無聊的mapper接口,不須要單獨寫增刪改....
因此對於企業內部需求開發更是無比的急速
同時,mee-admin只需具備java後端以及一點點javascript開發能力,即可急速上手。前端

項目技術相關

  • 使用springboot 2.3.4.RELEASE做爲基礎框架
  • 使用mybatis做爲dao框架
  • 使用postgreSQL 做爲框架DB(可支持MysqlOracle)
  • 使用shiro作權限管理
  • 使用Freemarker作頁面模板
  • 使用jquery 插件做javascript基本擴展庫使用
    • 目前只是一些組件依賴用,建議大多數狀況下使用ES5ES6規範的javascript擴展
  • 使用handlebars作表單及數據模板
  • 使用seajs 作基礎模塊管理
  • 封裝了序列(ID)生成器(支持分佈式)
    • SeqGenServiceImpl 序列生成器(支持分佈式)
    • SeqGenUtil 普通序列生成器
  • 封裝了Jacksonjson庫,徹底可替代fastjson
  • 封裝了物理分頁PhysicalPageInterceptor及邏輯分頁LogicalPageIntercepter(兩個可任選其一),徹底替代RowBounds及一衆分頁依賴
  • 封裝了ExcelCSV工具
    • ExcelReadUtil EXCEL讀工具
    • ExcelWriteUtil EXCEL寫工具
    • CSVUtils CSV讀工具
  • 簡單封裝了java8日期工具類 DateUtil

項目界面

  • 登陸
    vue

  • 主頁
    java

  • 報表
    node

  • 基礎配置
    jquery

  • 編輯及修改
    nginx

  • 系統配置
    git

項目運行及打包

  • 本地項目運行github

  • 打包及Linux服務器構建腳本,見mee-adminspring

    • 必須安裝maven(方法請自行搜索引擎查找)

項目訪問

  • local: http://127.0.0.1/mee/login
  • server: http://[Your DOMAIN or HOST+PORT]/mee/login

Notice

雖整個項目封裝的較爲完整, 可是對於一些自定義的展現仍是須要有必定的前端技能
做爲補償,這裏大體寫了功能開發流程[see:Function flow](#### Function flow),具體的還須要讀者具體學習哈~

Function flow

  • 功能開發流程

    • 添加mybatis SQL xml文件及映射實體類entity
    • 編寫控制器controller及業務service代碼
    • 編寫構建前端頁面並添加菜單項
    • 添加依賴js resources/public/module
    • 後端添加權限標識@RequiresPermissions("your_auth_code")
    • 前端(菜單和業務頁面)添加權限標識<@shiro.hasPermission name="your_auth_code"></@shiro.hasPermission>
    • 後臺添加菜單項目
    • 後臺角色權限分配
  • js添加對話框或按鈕擴展功能(這是難點!)

業務前端js採用模塊化依賴並封裝了表單著錄以及增刪改查相應功能,十分便捷,
    目前對於擴展功能(好比添加一個’重算‘) 須要自定義函數及相應邏輯,具體流程大體以下
  1. search-form內定義button控件(必定要有name屬性)
  2. 在依賴的js文件內的init函數內定義擴展toolbar:{ "控件屬性名": 屬性名對應函數 }
  3. 編寫相應函數邏輯

end

歡迎提交issue,若有好的建議及意也請留下腳印,這裏先感謝哈😁
同時, 若有困難能夠諮詢 funnyzpc@gmail.com

相關文章
相關標籤/搜索