当前位置: 首页 > news >正文

一二三应用开发平台应用开发示例——概述、应用开发示例简介及创建前后端模块

概述

对于应用开发平台的核心基石——系统管理模块,我精心撰写了一份详尽的说明手册。该手册旨在从使用者的角度出发,不仅全面阐述系统的各项属性和功能,更着重强调使用过程中的注意事项和最佳实践。

在手册的编写过程中,我特别注重解释每个设计背后的原因,以及这些设计所带来的优点和可能存在的局限。这样做的目的是为了让使用者能够更深入地理解平台的设计理念,从而更快地掌握使用方法,遵循平台的设计原则,并充分发挥平台的潜力。

为了更直观地展示如何基于平台进行业务应用开发,我将以一个真实的业务系统为例进行详细说明。在这个过程中,我们将涵盖从新增前后端功能模块,到通过低代码配置实体、模型、视图,再到生成库表和代码的全过程。此外,我们还将讨论如何配置权限和菜单,以及如何使用数据字典等辅助功能。

值得一提的是,在平台生成的代码基础上,我们还将指导使用者如何进行前端界面的调整和后端业务逻辑的实现。这将有助于使用者更好地发挥平台的灵活性,根据实际需求进行定制化的开发。

通过这份手册的指引,我相信使用者将能够快速上手应用开发平台,充分利用平台提供的各项功能,实现高效、稳定的业务应用开发。同时,遵循最佳实践也将有助于发挥平台的最大价值,提升整体的开发效率和质量。

示例简介
应用名称:一二三文档管理系统
应用简介: 企事业单位一站式文档管理系统,让组织内文档管理有序,协作高效、安全可控
设计文档:csdn专栏
开源地址:Gitee
开源协议:MIT

强烈建议您在继续阅读后文之前,先浏览一下系统整体介绍和系统设计部分的内容。这将有助于您对整个系统有一个直观的了解,从而更好地掌握如何运用平台来实现业务应用。通过先了解整体架构和设计思路,您将能够更顺利地理解后续的操作步骤和最佳实践,进而充分发挥平台的潜力,实现高效、稳定的业务应用开发。

创建后端模块

拷贝新增

拷贝项目中的platform-boot-starter-demo模块,并将其重命名为abc-edoc,是一个高效且实用的方法。选择这种拷贝而非使用spring.io向导新建Spring Boot模块的方式,主要是出于以下考虑:

首先,platform-boot-starter-demo模块本身就是一个现成的、基于开发平台实现的业务系统模拟。这个模块直接为我们提供一个良好的起点。通过拷贝这个模块并重命名,我们可以快速获得一个具备相似结构和功能的新模块,大大减少了从零开始搭建的时间和精力。

其次,拷贝方式允许我们在已有的基础上进行微调,以满足新模块abc-edoc的具体需求。这意味着我们可以直接利用platform-boot-starter-demo中的现有配置和代码,然后针对新模块的特性进行必要的修改和扩展。这种方式不仅提高了开发效率,还能确保新模块与原始模块在结构和功能上保持一致性。

相比之下,使用spring.io向导新建Spring Boot模块虽然也能创建一个新的项目结构,但需要我们手动进行大量的配置和代码编写工作。这种方式虽然提供了更大的灵活性,但在面对类似platform-boot-starter-demo这样已经具备完善配置的模块时,显然不是最高效的选择。

因此,综合考虑时间效率、代码复用和一致性等因素,我们选择通过拷贝并重命名platform-boot-starter-demo模块的方式来新增abc-edoc模块。

调整配置

虽然拷贝的模式减轻了配置工作,但免不了有一点相关工作需要调整,具体如下:

修改模块pom文件

<artifactId>abc-edoc</artifactId>
<name>abc-edoc</name>  
<version>1.0.0</version>
<description>基于开发平台实现的文档管理系统</description>

修改项目pom文件

将新加的模块edoc放到项目模块下

<modules><module>platform-common</module><module>platform-system</module><module>platform-framework</module><module>platform-support</module><module>platform-entity-config</module><module>platform-workflow</module><module>platform-businessflow</module><module>platform-boot-starter</module><module>platform-boot-starter-demo</module><module>platform-cip-common</module><module>platform-cip-api</module><module>platform-cip-message</module><module>platform-cip-manage</module><module>platform-boot-starter-oss</module><module>platform-boot-starter-scheduler</module><module>platform-boot-starter-mail</module><module>platform-boot-starter-notification</module><!--文档管理系统--><module>abc-edoc</module>
</modules>

修改SpringBoot启动类

将启动类PlatformBootApplication重命名为EdocBootApplication。

编译运行

使用maven刷新项目引用,然后执行clean和install,完成编译工作。
启动项目,测试前端可以正常访问后端服务完成登录及其他功能。
此时新建的文档管理系统模块相当于替代了原来的platform-boot-starter-demo模块功能。
至此,完成了文档管理系统的后端模块搭建工作。

创建前端模块

平台的前端目录是platform-web,在src\modeles目录下存放各业务模块。

拷贝新增

为了提升效率,前端模块预置了一个模板,位于src\modules\template,拷贝该目录后,重命名为edoc。

调整配置

模块调整

api目录下的index,将模板内容调整为实际的edoc模块和folder实体

import { COMMON_METHOD } from '@/constant/common'
import request from '@/config/axios'const moduleName = 'edoc'// 文件夹
export const folder = Object.assign({}, COMMON_METHOD, {serveUrl: '/' + moduleName + '/' + 'folder' + '/'
})

项目调整

需要将新增的模块,通过配置加入到项目中,具体如下:
添加api,对应文件src\api\index.ts

import * as system from '@/modules/system/api'
import * as support from '@/modules/support/api'
import * as entityconfig from '@/modules/entityconfig/api'
import * as cip from '@/modules/cip/api'
import * as scheduler from '@/modules/scheduler/api'
import * as notification from '@/modules/notification/api'
import * as workflow from '@/modules/workflow/api'
import * as businessflow from '@/modules/businessflow/api'
import * as edoc from '@/modules/edoc/api'
export default {system,support,entityconfig,cip,scheduler,notification,workflow,businessflow,// 文档管理系统edoc
}

添加常量,对应文件src\constant\index.ts

import * as system from '@/modules/system/api'
import * as support from '@/modules/support/api'
import * as entityconfig from '@/modules/entityconfig/api'
import * as cip from '@/modules/cip/api'
import * as scheduler from '@/modules/scheduler/api'
import * as notification from '@/modules/notification/api'
import * as workflow from '@/modules/workflow/api'
import * as businessflow from '@/modules/businessflow/api'
import * as edoc from '@/modules/edoc/api'
export default {system,support,entityconfig,cip,scheduler,notification,workflow,businessflow,// 文档管理系统edoc
}

配置路由转发,对应文件vite.config.ts

server: {port: 4000,proxy: {//  系统管理模块'/system': {target: env.VITE_BASE_URL,changeOrigin: true},//  实体配置模块'/entityconfig': {target: env.VITE_BASE_URL,changeOrigin: true},//  接口平台模块'/cip': {target: env.VITE_BASE_URL,changeOrigin: true},//  业务支撑模块'/support': {target: env.VITE_BASE_URL,changeOrigin: true},//  任务调度模块'/scheduler': {target: env.VITE_BASE_URL,changeOrigin: true},//  系统通知模块'/notification': {target: env.VITE_BASE_URL,changeOrigin: true},//  工作流模块'/workflow': {target: env.VITE_BASE_URL,changeOrigin: true},//  业务流程模块'/businessflow': {target: env.VITE_BASE_URL,changeOrigin: true},//  文档管理系统'/edoc': {target: env.VITE_BASE_URL,changeOrigin: true}}
}

开发平台资料

平台名称:一二三应用开发平台
平台简介:企业级通用低代码应用开发平台,免费全开源可商用
设计资料:csdn专栏
开源地址:Gitee
开源协议:MIT

应用系统资料

应用名称:一二三文档管理系统
应用简介: 企事业单位一站式文档管理系统,让组织内文档管理有序,协作高效、安全可控
设计文档:csdn专栏
开源地址:Gitee
开源协议:MIT

如果您在阅读本文时获得了帮助或受到了启发,希望您能够喜欢并收藏这篇文章,为它点赞~
请在评论区与我分享您的想法和心得,一起交流学习,不断进步,遇见更加优秀的自己!

相关文章:

一二三应用开发平台应用开发示例——概述、应用开发示例简介及创建前后端模块

概述 对于应用开发平台的核心基石——系统管理模块&#xff0c;我精心撰写了一份详尽的说明手册。该手册旨在从使用者的角度出发&#xff0c;不仅全面阐述系统的各项属性和功能&#xff0c;更着重强调使用过程中的注意事项和最佳实践。 在手册的编写过程中&#xff0c;我特别…...

springboot+minio+kkfileview实现文件的在线预览

在原来的文章中已经讲述过springbootminio的开发过程&#xff0c;这里不做讲述。 原文章地址&#xff1a; https://blog.csdn.net/qq_39990869/article/details/131598884?spm1001.2014.3001.5501 如果你的项目只是需要在线预览图片或者视频那么可以使用minio自己的预览地址进…...

HTML5+CSS3小实例:粘性文字的滚动效果

实例:粘性文字的滚动效果 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…...

Java 关于抽象 -- Java 语言的抽象类、接口和函数式接口

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 008 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进一步完善自己对整个 Java 技术体系来充实自…...

用 Notepad++ 写 Java 程序

安装包 百度网盘 提取码&#xff1a;6666 安装步骤 双击安装包开始安装。 安装完成&#xff1a; 配置编码 用 NotePad 写 Java 程序时&#xff0c;需要设置编码。 在 设置&#xff0c;首选项&#xff0c;新建 中进行设置&#xff0c;可以对每一个新建的文件起作用。 Note…...

malloc brk mmap

malloc 是一个库函数&#xff0c;通常在 C 标准库中实现&#xff0c;用于动态内存分配。malloc 的具体实现可能因库、操作系统和平台而异&#xff0c;但通常它会与底层操作系统提供的内存管理功能进行交互。 对于大多数现代操作系统&#xff08;如 Unix、Linux、Windows 等&am…...

java多线程相关概念

在Java多线程编程中&#xff0c;有几个关键的术语需要理解&#xff1a; 1.线程(Thread)&#xff1a;线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。 2.进程(Process)&#xff1a;进程是系统进行资源分配和调度…...

【html】简单网页模板源码

大家每一次在写网页的时候会不会因为布局而困扰今天就给大家带来一个我自己亲自编写的网页的基本的模板大家可以直接去利用&#xff0c;大家也可以利用自己的想法去做空间的美化和完善。 源码&#xff1a; html: <!DOCTYPE html> <html lang"zh"><…...

借助Historian Connector + TDengine,打造工业创新底座

在工业自动化的领域中&#xff0c;数据的采集、存储和分析是实现高效决策和操作的基石。AVEVA Historian (原 Wonderware Historian) 作为领先的工业实时数据库&#xff0c;专注于收集和存储高保真度的历史工艺数据。与此同时&#xff0c;TDengine 作为一款专为时序数据打造的高…...

51单片机-实机演示(LED点阵)

目录 前言: 一.线位置 二.扩展 三.总结 前言: 这是一篇关于51单片机实机LED点阵的插线图和代码说明.另外还有一篇我写的仿真的连接在这:http://t.csdnimg.cn/ZNLCl,欢迎大家的点赞,评论,关注. 一.线位置 接线实机图. 引脚位置注意: 1. *-* P00->RE8 P01->RE7 …...

STM32硬件接口I2C应用(基于MP6050)

目录 概述 1 STM32Cube控制配置I2C 1.1 I2C参数配置 1.2 使用STM32Cube产生工程 2 HAL库函数介绍 2.1 初始化函数 2.2 写数据函数 2.3 读数据函数 3 认识MP6050 3.1 MP6050功能介绍 3.2 加速计测量寄存器 ​编辑3.3 温度计量寄存器 3.4 陀螺仪测量寄存器 4 MP60…...

基于JSP的贝儿米幼儿教育管理系统

开头语&#xff1a; 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果您对本系统感兴趣或者有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; JSP技术 工具&#xff1a; IDEA/Eclipse、…...

数字化与文化交融,树莓集团助力园区文化升级

树莓集团在产业园运营领域建设了特色空间布局&#xff0c;包括产业实训基地、产业办公中心、业务资源平台、产学研中心、数字资产空间、双创孵化空间、产业实验室和人才项目转化中心等八大板块&#xff0c;共同构建了一个全面而深入的产业支撑体系&#xff0c;为园区文化建设提…...

【原创课程】如何制作安装板

具体步骤如下: 第一步:新建页类型为“安装板布局图(交互式)”并修改页描述为“安装板布局图”。 第二步:新建安装板 第三步:设置图纸上符号元件的部件,双击符号,弹出常规设备窗口,点击部件进行选择 第四步:打开2D安装板导航器,将图纸中的设备拖拽到安装板上 第五步…...

简单聊聊【java.util.Stream】,更新中

public class Main {public static void main(String[] args) {List<Integer> numbers Arrays.asList(1, 2, 3, 4, 5, 6); // 原始容器&#xff1a;java.util.Arrays.ArrayList#ArrayList// 创建一个 Stream&#xff0c;过滤出偶数&#xff0c;并打印它们numbers.str…...

GIS之arcgis系列07:conda环境下安装arcpy环境

首先将python27环境下的“Desktop10.8.pth”拷贝到anaconda环境下。 路径如下&#xff08;仅参考&#xff09;&#xff1a; C:\Python27\ArcGIS10.8\Lib\site-packages\Desktop10.8.pth D:\Anaconda\Lib\site-packages 在anaconda prompt中穿创建一个新环境 conda create -…...

容器运行nslookup提示bash: nslookup: command not found【笔记】

在容器中提示bash: nslookup: command not found&#xff0c;表示容器中没有安装nslookup命令。 可以通过以下命令安装nslookup&#xff1a; 对于基于Debian/Ubuntu的容器&#xff0c;使用以下命令&#xff1a; apt-get update apt-get install -y dnsutils对于基于CentOS/R…...

解析 Spring 框架中的三种 BeanName 生成策略

在 Spring 框架中&#xff0c;定义 Bean 时不一定需要指定名称&#xff0c;Spring 会智能生成默认名称。本文将介绍 Spring 的三种 BeanName 生成器&#xff0c;包括在 XML 配置、Java 注解和组件扫描中使用的情况&#xff0c;并解释它们如何自动创建和管理 Bean 名称。 1. Be…...

细说ARM MCU的串口接收数据的实现过程

目录 一、硬件及工程 1、硬件 2、软件目的 3、创建.ioc工程 二、 代码修改 1、串口初始化函数MX_USART2_UART_Init() &#xff08;1&#xff09;MX_USART2_UART_Init()串口参数初始化函数 &#xff08;2&#xff09;HAL_UART_MspInit()串口功能模块初始化函数 2、串口…...

000-基于sklearn的机器学习入门:工作环境搭建与配置

本专栏将介绍基于Scikit-learn(简称sklearn)的机器学习入门知识。包括但不一定限于&#xff0c;机器学习基本知识、sklearn库简介&#xff0c;基于Sklearn库的机器学习实践。 这是本专栏的第000篇&#xff0c;将介绍如何安装和配置sklearn环境&#xff0c;不仅包括Sklearn库的…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

【WebSocket】SpringBoot项目中使用WebSocket

1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖&#xff0c;添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...

npm安装electron下载太慢,导致报错

npm安装electron下载太慢&#xff0c;导致报错 背景 想学习electron框架做个桌面应用&#xff0c;卡在了安装依赖&#xff08;无语了&#xff09;。。。一开始以为node版本或者npm版本太低问题&#xff0c;调整版本后还是报错。偶尔执行install命令后&#xff0c;可以开始下载…...