<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一款輕量級(jí),可快速上手的開(kāi)源后臺(tái)系統(tǒng)

          共 2178字,需瀏覽 5分鐘

           ·

          2020-10-25 08:31

          來(lái)源:cnblogs.com/funnyzpc/p/13777881.html


          mee-admin開(kāi)源后臺(tái)系統(tǒng)

          Preface

          這是一個(gè)開(kāi)放的時(shí)代,我們不能總是把東西揣在口袋里面自己樂(lè)呵。

          也正如名言所說(shuō)的“如果你有兩塊面包,你當(dāng)用其中一塊去換一朵水仙花”,所以,繼上一次把我的兩個(gè)個(gè)人項(xiàng)目開(kāi)源之后今天我再一次把自有的后臺(tái)頁(yè)面也開(kāi)源出來(lái),以回饋整個(gè)開(kāi)源世界。

          開(kāi)源地址

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

          項(xiàng)目結(jié)構(gòu)概述

          mee-admin是由我的個(gè)人mee項(xiàng)目開(kāi)源而來(lái),mee-admin項(xiàng)目是一個(gè)前后端一體化的項(xiàng)目,不過(guò)在代碼上實(shí)現(xiàn)了頁(yè)面與數(shù)據(jù)分離,是一個(gè)非常好的 ?輕量級(jí)后端工程,所以在正式使用時(shí)您會(huì)發(fā)現(xiàn)主體業(yè)務(wù)部門均是采用json交互,前端頁(yè)面使用模板工具實(shí)現(xiàn)數(shù)據(jù)展現(xiàn)及編輯

          jeesite不一樣,我們不使用jsp+sitmesh+ehcache臃腫化項(xiàng)目

          Spring-Cloud-Platform?xboot?不一樣,這里不使用vue?iview?做前后端分離,也不使用springclooud做集群分布式

          所以我的項(xiàng)目更加輕量級(jí),不需要裝node?不需要npm打包 需不要安裝nginx?同時(shí)也不需要編寫無(wú)聊的mapper接口,不需要單獨(dú)寫增刪改....

          所以對(duì)于企業(yè)內(nèi)部需求開(kāi)發(fā)更是無(wú)比的急速

          同時(shí),mee-admin只需具有java后端以及一點(diǎn)點(diǎn)javascript開(kāi)發(fā)能力,便可急速上手。

          項(xiàng)目技術(shù)相關(guān)

          • 使用springboot 2.3.4.RELEASE作為基礎(chǔ)框架

          • 使用mybatis作為dao框架

          • 使用postgreSQL?作為框架DB(可支持MysqlOracle)

          • 使用shiro做權(quán)限管理

          • 使用Freemarker做頁(yè)面模板

          • 使用jquery?插件作javascript基本擴(kuò)展庫(kù)使用

          • 目前只是一些組件依賴用,建議大多數(shù)情況下使用ES5ES6規(guī)范的javascript擴(kuò)展

          • 使用handlebars做表單及數(shù)據(jù)模板

          • 使用seajs?做基礎(chǔ)模塊管理

          • 封裝了序列(ID)生成器(支持分布式)

          • SeqGenServiceImpl?序列生成器(支持分布式)

          • SeqGenUtil?普通序列生成器

          • 封裝了Jacksonjson庫(kù),完全可替代fastjson

          • 封裝了物理分頁(yè)PhysicalPageInterceptor及邏輯分頁(yè)LogicalPageIntercepter(兩個(gè)可任選其一),完全替代RowBounds及一眾分頁(yè)依賴

          • 封裝了ExcelCSV工具

          • ExcelReadUtil?EXCEL讀工具

          • ExcelWriteUtil?EXCEL寫工具

          • CSVUtils?CSV讀工具

          • 簡(jiǎn)單封裝了java8日期工具類?DateUtil

          項(xiàng)目界面

          登錄

          主頁(yè)

          報(bào)表

          基礎(chǔ)配置

          編輯及修改

          系統(tǒng)配置

          項(xiàng)目運(yùn)行及打包

          • 本地項(xiàng)目運(yùn)行

          • run?MeeApplication?and program arguments add?--spring.profiles.active=dev

          • 注dev、test、prod均為pom.xml下配置的環(huán)境參數(shù)

          • Fork?mee-admin

          • git clone?mee-admin?to local

          • init DB table

          • use Idea IDE open project

          • auto build dependency

          • Idea start config

          • 打包及Linux服務(wù)器構(gòu)建腳本,見(jiàn)mee-admin

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

          項(xiàng)目訪問(wèn)

          • local:?http://127.0.0.1/mee/login

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

          Notice

          雖整個(gè)項(xiàng)目封裝的較為完整, 但是對(duì)于一些自定義的展示還是需要有一定的前端技能
          作為補(bǔ)償,這里大致寫了功能開(kāi)發(fā)流程[see:Function flow](#### Function flow),具體的還需要讀者具體學(xué)習(xí)哈~

          Function flow

          • 功能開(kāi)發(fā)流程

          • 添加mybatis SQL xml文件及映射實(shí)體類entity

          • 編寫控制器controller及業(yè)務(wù)service代碼

          • 編寫構(gòu)建前端頁(yè)面并添加菜單項(xiàng)

          • 添加依賴js?resources/public/module?下

          • 后端添加權(quán)限標(biāo)識(shí)@RequiresPermissions("your_auth_code")

          • 前端(菜單和業(yè)務(wù)頁(yè)面)添加權(quán)限標(biāo)識(shí)<@shiro.hasPermission name="your_auth_code">

          • 后臺(tái)添加菜單項(xiàng)目

          • 后臺(tái)角色權(quán)限分配

          • js添加對(duì)話框或按鈕擴(kuò)展功能(這是難點(diǎn)!)

          業(yè)務(wù)前端js采用模塊化依賴并封裝了表單著錄以及增刪改查相應(yīng)功能,十分便捷,目前對(duì)于擴(kuò)展功能(比如添加一個(gè)’重算‘)?需要自定義函數(shù)及相應(yīng)邏輯,具體流程大致如下

          1. 在search-form內(nèi)定義button控件(一定要有name屬性)

          2. 在依賴的js文件內(nèi)的init函數(shù)內(nèi)定義擴(kuò)展toolbar:{ "控件屬性名": 屬性名對(duì)應(yīng)函數(shù) }

          3. 編寫相應(yīng)函數(shù)邏輯

          PS:如果覺(jué)得我的分享不錯(cuò),歡迎大家隨手點(diǎn)贊、在看。
          END
          瀏覽 43
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  看中国毛片 | 不卡成人免费在线视频 | a√在线视频 | 欧美午夜精品 | 先锋影音成人av 翔田千里无码破解 |