一二三應用開發平臺應用開發示例(6)——代碼生成、權限配置、運行效果查看

生成代碼

完成配置工作,接下來就是見證奇跡的時刻~
返回到實體列表,選中“文件夾”記錄,點擊“生成代碼”按鈕,提示成功后,在項目的output目錄下輸出了平臺基于配置+模板產生的各層代碼,在原有后端的基礎上,新增了前端代碼。
image.png
前端之所以在view下加了0,是為了排序時放在最前面與后端項目區分開,方便前后端分別拷貝代碼到不同的目錄下(不這樣做,按字母表順序,view會位于service和vo目錄之間)。

查看后端代碼變動

在配置視圖前,我們將實體文件夾的“上級”屬性的數據類型,由文本調整為了實體。
當時由于未配置視圖,生成代碼時會報錯終止,提示未配置主參照視圖,在視圖配置之后,后端代碼會有部分相應的變動,變化的是視圖對象類和控制器類。

視圖對象類會自動增加一個實體編碼+name后綴的屬性,在控制類中會調用實體服務,根據id拿到名稱后填充,用于前端顯示。
image.png
image.png
這里也看到了服務定義的getNameMap的作用,即將某頁數據關聯的外部屬性標識,通過一次sql查詢獲取到名稱,將1+N查詢問題優化為1+1。

復制前端代碼

將前端代碼復制到新建的前端模塊edoc的view視圖下
image.png
前端不像后端那么規范,比較自由靈活,通過代碼模板產生的代碼,往往因為空格、縮進、換行等原因,直接運行會因為未通過eslint檢查而報錯,點開后保存一下就好了。但多個視圖文件逐個點開保存也比較繁瑣,更快捷的方式是執行如下腳本,由eslint自動格式化代碼。
image.png
因為處理的是整個項目,執行速度略慢,但可以省去逐個打開和保存的麻煩。

配置權限

上面完成了開發層面的配置、代碼生成、編譯與運行,接下來就是最后一步,配置權限。
使用系統管理模塊下的權限項管理功能,在根目錄下新建模塊。
image.png
功能菜單和按鈕雖然也可以一個個創建,但更高效率的實現方式,是找一個現有的權限項,有基本的增刪改查功能,例如接口平臺模塊下的應用數據權限,通過復制新增的方式,批量創建菜單和下屬按鈕,再修改上級和編碼。
image.png
因為是樹狀層級結構,記得把上圖中的視圖編碼,由list修改為treeList,平臺通過該方式來加載菜單對應的vue頁面。

平臺會自動處理從屬按鈕的權限編碼問題,修改后效果如下:
image.png
最后,通過系統管理模塊下的用戶組功能,給當前開發測試用的用戶組admin添加對新建實體文件夾的權限。
image.png

查看運行效果

因為是新增的權限,需要重新登錄系統。
image.png
這里沒顯示模塊名,直接顯示文件夾,是因為前端框架當模塊下只有一個業務菜單時會進行這樣的處理。
可以看到,左樹右表的標準結構已經出來了。

添加根節點

對于樹狀數據,出于邏輯處理的需要,需要特定的根節點。這里我們可以通過新增功能,加一條數據
image.png
然后進入數據庫表,將id手工修改為1,parent_id手工修改為0,這兩個值是平臺約定,在系統常量里定義的。

package tech.abc.platform.common.constant;import lombok.experimental.UtilityClass;/*** 樹型數據默認值常量類** @author wqliu* @date 2023-03-06*/
@UtilityClass
public class TreeDefaultConstant {/*** 默認樹根節點*/public static final String DEFAULT_TREE_ROOT_ID = "1";/*** 默認樹型數據根節點父ID*/public static final String DEFAULT_TREE_ROOT_PARENT_ID = "0";}

更新完后,刷新頁面,可以看到左側樹已經可以正常顯示根節點了。

功能測試

使用新增功能,添加幾條示例數據,如下圖
image.png
查詢、修改、刪除、切換樹節點,均能正常執行。

以上整個過程中,幾乎完全通過配置產生,幾乎沒有需要手工調整的地方。

總結

通過以上操作,全程通過配置,實現了一個樹狀層次結構的實體增刪改查。
步驟寫的比較細,特別是說明了一些注意的事項以及最佳實踐。
如果是熟練操作的話,估算5-10分鐘能配置完(單個實體的配置,不包括創建模塊的耗時)。

開發平臺資料

平臺名稱:一二三應用開發平臺
平臺簡介:企業級通用低代碼應用開發平臺,免費全開源可商用
設計資料:csdn專欄
開源地址:Gitee
開源協議:MIT

應用系統資料

應用名稱:一二三文檔管理系統
應用簡介: 企事業單位一站式文檔管理系統,讓組織內文檔管理有序,協作高效、安全可控
設計文檔:csdn專欄
開源地址:Gitee
開源協議:MIT

如果您在閱讀本文時獲得了幫助或受到了啟發,希望您能夠喜歡并收藏這篇文章,為它點贊~
請在評論區與我分享您的想法和心得,一起交流學習,不斷進步,遇見更加優秀的自己!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42729.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42729.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42729.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Pyserial設置緩沖區大小失敗

文章目錄 問題描述原因分析解決方案 問題描述 使用set_buffer_size()設置緩沖區大小后,buffer size仍為默認的4096 import time import serial ser serial.Serial(baudrate9600, timeout0.5) ser.port COM1 ser.set_buffer_size(rx_size8192) ser.open() while …

windows上部署python3.11

hello,大家好,我是一名測試開發工程師,至今已在自動化測試領域深耕9個年頭,現已將本人實戰多年的多終端自動化測試框架【wyTest】開源啦,在接下來的一個月里,我將免費指導大家使用wyTest,請大家…

歐拉函數.

性質1:質數n的歐拉函數為n-1. 性質2:如果p,q都是質數,那么? ( p ? q ) ? ( p ) ? ? ( q ) ( p ? 1 ) ? ( q ? 1 ) 證明:p,2p....q*p都不與q*p互質,q同理,所以總的不互質個…

JavaEE初階-網絡編程

文章目錄 前言一、UDP與TCP1.1 有連接與無連接1.2 全雙工1.3 可靠傳輸與不可靠傳輸1.4 面向子節流與面向數據報 二、UDP回顯服務器及客戶端編寫三、UDP字典服務器四、TCP回顯服務器及客戶端編寫五、數據序列化的方式5.1 基于行文本的方式傳輸5.2 基于XML的格式5.3 基于json5.4 …

STM32芯片系列與產品后綴解讀

一. 產品系列 STM32單片機是一系列基于ARM Cortex-M內核的32位微控制器,廣泛應用于嵌入式系統中。 STM32系列由STMicroelectronics(意法半導體)開發和生產,并憑借其靈活的設計、豐富的外設和強大的生態系統,成為嵌入式…

咬文嚼字:詞元是當今生成式人工智能失敗的一個重要原因

生成式人工智能模型處理文本的方式與人類不同。了解它們基于"標記"的內部環境可能有助于解釋它們的一些奇怪行為和頑固的局限性。從 Gemma 這樣的小型設備上模型到 OpenAI 業界領先的 GPT-4o 模型,大多數模型都建立在一種稱為轉換器的架構上。由于轉換器在…

Ubuntu24.04清理常見跟蹤軟件tracker

盡量一天一更,不刷視頻,好好生活 打開系統監視器,發現開機有個tracker-miner-fs-fs3的跟蹤程序,而且上傳了10kb的數據。 搜索知,該程序會搜集應用和文件的信息。 刪除tracker 顯示帶tracker的apt程序 sudo apt lis…

ThreadLocal的內存泄漏

什么是內存泄漏 程序在申請內存后,無法釋放已申請的內存空間在定義變量時,需要一段內存空間來存儲數據信息,而這段內存如果一直不被釋放,那么就會導致內存被占用光,而被占用的這個對象,一直不能被回收掉&am…

書生·浦語2.5開源,推理能力再創新標桿

導讀 2024 年 7 月 3 日,上海人工智能實驗室與商湯科技聯合香港中文大學和復旦大學正式發布新一代大語言模型書?浦語2.5(InternLM2.5)。相比上一代模型,InternLM2.5 有三項突出亮點: 推理能力大幅提升,在…

VUE與React的生命周期對比

前言 在前端開發中,Vue和React是兩個非常流行的JavaScript框架,它們各自有著獨特的生命周期機制。了解并熟練掌握這些生命周期,對于開發高效、可維護的前端應用至關重要。本文將詳細對比Vue和React的生命周期,幫助開發者更好地理…

Python | Leetcode Python題解之第222題完全二叉樹的節點個數

題目: 題解: # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def countNodes(self,…

好玩的珠璣妙算-加作弊帶概率空間+日志存儲240705mindMaster

Python代碼 import random import time import datetimeNUM_DIGITS 10 #NUM_NON_ZERO_DIGITS 9failFlag 0class Mastermind:def __init__(self, code_length, max_attempts, secret01code, game_id): # def __init__(self, code_length, max_attempts):self.code_length…

【Elasticsearch】Elasticsearch倒排索引詳解

文章目錄 📑引言一、倒排索引簡介二、倒排索引的基本結構三、Elasticsearch中的倒排索引3.1 索引和文檔3.2 創建倒排索引3.3 倒排索引的存儲結構3.4 詞典和倒排列表的優化 四、倒排索引的查詢過程4.1 過程4.2 示例 五、倒排索引的優缺點5.1 優點5.2 缺點 六、倒排索…

【Excel】求和帶文字的數據

目錄標題 1. 給出樣例2. CtrlE3. CtrlH → A替換為 → 全部替換 1. 給出樣例 2. CtrlE 3. CtrlH → A替換為 → 全部替換

算法期末函數題

R6-1 可重復選擇的組合數問題 【考核知識點】可重復選擇的組合計數 【問題描述】 有n個不同元素&#xff08;1<n<20&#xff09;&#xff0c;每個元素可以選多次&#xff0c;一共需要選出k個元素出來&#xff08;1<k<20&#xff09;&#xff0c;問有多少種選取的…

監控易V7.6.6.15升級詳解2:設備管理功能

隨著企業IT架構的日益復雜&#xff0c;對設備管理的需求也在不斷提升。為了滿足廣大用戶對于設備管理的高效、精準需求&#xff0c;我們榮幸地宣布監控易系統已完成了一次重要的版本升級。本次升級不僅優化了原有功能&#xff0c;還新增了一系列實用特性&#xff0c;旨在為用戶…

仿qq音樂播放微信小程序模板源碼

手機qq音樂應用小程序&#xff0c;在線音樂播放器微信小程序網頁模板。包含&#xff1a;音樂歌曲主頁、推薦、排行榜、搜索、音樂播放器、歌單詳情等。 仿qq音樂播放微信小程序模板源碼

【ubuntu自啟shell腳本】——在ubuntu中如何使用系統自帶的啟動應用程序設置開機自啟自己的本地shell腳本

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、設置開機自啟shell腳本1.使用 gnome-session-properties2.測試的shell例程代碼 總結 前言 在Ubuntu系統中設置開機自啟腳本是一種重要的自動化方法。開機自…

YOLO-World實時開集檢測論文閱讀

論文&#xff1a;《YOLO-World: Real-Time Open-Vocabulary Object Detection》 代碼&#xff1a;https://github.com/AILab-CVC/YOLO-World 1.Abstract 我們介紹了YOLO World&#xff0c;這是一種創新的方法&#xff0c;通過在大規模數據集上進行視覺語言建模和預訓練&#…

js之彈性布局使用方法

彈性布局&#xff08;Flexbox&#xff09;是一種現代化的 CSS 布局方法&#xff0c;它可以讓您更方便地創建響應式和動態布局。在本篇文檔中&#xff0c;我們將介紹彈性布局的基本概念以及如何在項目中使用它。 一、基本概念 容器&#xff08;Container&#xff09;&#xff…