一二三应用开发平台应用开发示例——概述、应用开发示例简介及创建前后端模块
概述
对于应用开发平台的核心基石——系统管理模块,我精心撰写了一份详尽的说明手册。该手册旨在从使用者的角度出发,不仅全面阐述系统的各项属性和功能,更着重强调使用过程中的注意事项和最佳实践。
在手册的编写过程中,我特别注重解释每个设计背后的原因,以及这些设计所带来的优点和可能存在的局限。这样做的目的是为了让使用者能够更深入地理解平台的设计理念,从而更快地掌握使用方法,遵循平台的设计原则,并充分发挥平台的潜力。
为了更直观地展示如何基于平台进行业务应用开发,我将以一个真实的业务系统为例进行详细说明。在这个过程中,我们将涵盖从新增前后端功能模块,到通过低代码配置实体、模型、视图,再到生成库表和代码的全过程。此外,我们还将讨论如何配置权限和菜单,以及如何使用数据字典等辅助功能。
值得一提的是,在平台生成的代码基础上,我们还将指导使用者如何进行前端界面的调整和后端业务逻辑的实现。这将有助于使用者更好地发挥平台的灵活性,根据实际需求进行定制化的开发。
通过这份手册的指引,我相信使用者将能够快速上手应用开发平台,充分利用平台提供的各项功能,实现高效、稳定的业务应用开发。同时,遵循最佳实践也将有助于发挥平台的最大价值,提升整体的开发效率和质量。
示例简介
应用名称:一二三文档管理系统
应用简介: 企事业单位一站式文档管理系统,让组织内文档管理有序,协作高效、安全可控
设计文档: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
如果您在阅读本文时获得了帮助或受到了启发,希望您能够喜欢并收藏这篇文章,为它点赞~
请在评论区与我分享您的想法和心得,一起交流学习,不断进步,遇见更加优秀的自己!
相关文章:
一二三应用开发平台应用开发示例——概述、应用开发示例简介及创建前后端模块
概述 对于应用开发平台的核心基石——系统管理模块,我精心撰写了一份详尽的说明手册。该手册旨在从使用者的角度出发,不仅全面阐述系统的各项属性和功能,更着重强调使用过程中的注意事项和最佳实践。 在手册的编写过程中,我特别…...
springboot+minio+kkfileview实现文件的在线预览
在原来的文章中已经讲述过springbootminio的开发过程,这里不做讲述。 原文章地址: 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 程序
安装包 百度网盘 提取码:6666 安装步骤 双击安装包开始安装。 安装完成: 配置编码 用 NotePad 写 Java 程序时,需要设置编码。 在 设置,首选项,新建 中进行设置,可以对每一个新建的文件起作用。 Note…...
malloc brk mmap
malloc 是一个库函数,通常在 C 标准库中实现,用于动态内存分配。malloc 的具体实现可能因库、操作系统和平台而异,但通常它会与底层操作系统提供的内存管理功能进行交互。 对于大多数现代操作系统(如 Unix、Linux、Windows 等&am…...
java多线程相关概念
在Java多线程编程中,有几个关键的术语需要理解: 1.线程(Thread):线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。 2.进程(Process):进程是系统进行资源分配和调度…...
【html】简单网页模板源码
大家每一次在写网页的时候会不会因为布局而困扰今天就给大家带来一个我自己亲自编写的网页的基本的模板大家可以直接去利用,大家也可以利用自己的想法去做空间的美化和完善。 源码: html: <!DOCTYPE html> <html lang"zh"><…...
借助Historian Connector + TDengine,打造工业创新底座
在工业自动化的领域中,数据的采集、存储和分析是实现高效决策和操作的基石。AVEVA Historian (原 Wonderware Historian) 作为领先的工业实时数据库,专注于收集和存储高保真度的历史工艺数据。与此同时,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的贝儿米幼儿教育管理系统
开头语: 你好呀,我是计算机学长猫哥!如果您对本系统感兴趣或者有相关需求,文末可以找到我的联系方式。 开发语言: Java 数据库: MySQL 技术: JSP技术 工具: IDEA/Eclipse、…...
数字化与文化交融,树莓集团助力园区文化升级
树莓集团在产业园运营领域建设了特色空间布局,包括产业实训基地、产业办公中心、业务资源平台、产学研中心、数字资产空间、双创孵化空间、产业实验室和人才项目转化中心等八大板块,共同构建了一个全面而深入的产业支撑体系,为园区文化建设提…...
【原创课程】如何制作安装板
具体步骤如下: 第一步:新建页类型为“安装板布局图(交互式)”并修改页描述为“安装板布局图”。 第二步:新建安装板 第三步:设置图纸上符号元件的部件,双击符号,弹出常规设备窗口,点击部件进行选择 第四步:打开2D安装板导航器,将图纸中的设备拖拽到安装板上 第五步…...
简单聊聊【java.util.Stream】,更新中
public class Main {public static void main(String[] args) {List<Integer> numbers Arrays.asList(1, 2, 3, 4, 5, 6); // 原始容器:java.util.Arrays.ArrayList#ArrayList// 创建一个 Stream,过滤出偶数,并打印它们numbers.str…...
GIS之arcgis系列07:conda环境下安装arcpy环境
首先将python27环境下的“Desktop10.8.pth”拷贝到anaconda环境下。 路径如下(仅参考): 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,表示容器中没有安装nslookup命令。 可以通过以下命令安装nslookup: 对于基于Debian/Ubuntu的容器,使用以下命令: apt-get update apt-get install -y dnsutils对于基于CentOS/R…...
解析 Spring 框架中的三种 BeanName 生成策略
在 Spring 框架中,定义 Bean 时不一定需要指定名称,Spring 会智能生成默认名称。本文将介绍 Spring 的三种 BeanName 生成器,包括在 XML 配置、Java 注解和组件扫描中使用的情况,并解释它们如何自动创建和管理 Bean 名称。 1. Be…...
细说ARM MCU的串口接收数据的实现过程
目录 一、硬件及工程 1、硬件 2、软件目的 3、创建.ioc工程 二、 代码修改 1、串口初始化函数MX_USART2_UART_Init() (1)MX_USART2_UART_Init()串口参数初始化函数 (2)HAL_UART_MspInit()串口功能模块初始化函数 2、串口…...
000-基于sklearn的机器学习入门:工作环境搭建与配置
本专栏将介绍基于Scikit-learn(简称sklearn)的机器学习入门知识。包括但不一定限于,机器学习基本知识、sklearn库简介,基于Sklearn库的机器学习实践。 这是本专栏的第000篇,将介绍如何安装和配置sklearn环境,不仅包括Sklearn库的…...
就业班 第四阶段(k8s) 2401--6.5 day3 Yaml语法解析+钩子函数
Yaml语法解析 今天学的都是在pod里面操作的 格式 这个文件要创建的资源对象是什么 kind: Pod 这个资源对象所在的api版本是什么 apiVersion: v1 元数据 metadata: 对这个pod中的镜像的描述 spec: 字典无序 同一级可以调换顺序 :比如kind和apiVersion …...
电脑开机出现英文字母,如何解决这个常见问题?
电脑开机时出现英文字母的情况通常意味着系统在启动过程中遇到了问题。这些英文字母可能是错误信息、系统提示或BIOS设置问题。通过理解这些信息并采取适当的措施,您可以解决大多数启动问题。本文将介绍三种解决电脑开机出现英文字母问题的方法,帮助您恢…...
一张试卷
目录 问题 1: 1.时间 题目描述1 输入1 输出1 样例输入1 样例输出1 提示1 代码1 问题 2: 超酷的电话号码 题目描述2 输入2 输出2 样例输入2 样例输出2 提示2 代码2 问题 3:3.爸爸的数学题 题目描述3 输入3 输出3 样例输入3 样例输出3 提示3 代码3 问题 4: 4. 营养膳食 题目描述4…...
记一次 .NET某游戏币自助机后端 内存暴涨分析
一:背景 1. 讲故事 前些天有位朋友找到我,说他们的程序内存会偶发性暴涨,自己分析了下是非托管内存问题,让我帮忙看下怎么回事?哈哈,看到这个dump我还是非常有兴趣的,居然还有这种游戏币自助机…...
计算机考研|哪些985/211院校不歧视双非二本生?
说句残酷的话,能对某一专业做出贡献,那么你的水平肯定是很高的。如果普通学生,普通本科的话可能很难做到这一点。这也是现在考研风气比较强的原因,一部分专业能力不突出的学生来选择深造3年。 对于基础较差想要考计算机研究生的同…...
Spring Boot:简化 Java 应用开发的艺术
Spring Boot 是一种用于快速开发、运行和管理 Java 应用程序的开源框架。它简化了基于 Spring 的应用程序的配置和部署,使得开发者能够更加专注于业务逻辑的实现。本文将介绍 Spring Boot 的核心特性、优势以及如何在项目中使用 Spring Boot。 一、核心特性 自动配…...
elasticsearch安装与使用(2)-基于term匹配的简单搜索引擎搭建
把一篇pdf论文解析后,放入es数据库中,建立倒排索引表,并实现简单搜索。 1、pdf论文解析(英文) 安装pdf解析包 pip install pdfminer.sixdef extract_text_from_pdf(filename, page_numbersNone, min_line_length1):从pdf文件中提取文字:pa…...
速盾:ddos防护与高防ip区别?
在网络安全领域,DDOS 防护和高防 IP 都是重要的防护手段,但它们之间存在着一些明显的区别。 DDOS 防护是一种针对分布式拒绝服务攻击的防御策略。它通过多种技术和方法来识别和抵御 DDOS 攻击。常见的 DDOS 防护手段包括流量清洗、连接限制、协议分析等。…...
Java中StringBulider详解
StringBuilder 是 Java 中一个用来创建可变字符串的类。与 String 类不同,StringBuilder 对象能够被修改,不会创建新的对象,因此在需要进行大量字符串操作时,StringBuilder 更高效。以下是 StringBuilder 的详细讲解。 创建 Stri…...
基于springboot高校就业招聘系统的设计
管理员账户功能包括:系统首页,个人中心,就业咨询管理,毕业去向管理,简历管理,管理员管理,基础数据管理 辅导员账户功能包括:系统首页,个人中心,就业咨询管理…...
织梦做的网站如何放在网上/武汉百度搜索优化
每个寄存器在理论上都可以从RAM读取信息或将信息写入RAM中,ALU算数逻辑单元,它很容易4个字节上进行加法减法移位操作。...
做打鱼网站犯法不/刚刚济南发通知
一、final关键字的基本用法 1、修饰类 当用final修饰一个类时,表明这个类不能被继承。注意: final类中的成员变量可以根据需要设为final, final类中的所有成员方法都会被隐式地指定为final方法。 2、修饰方法 下面这段话摘自《Java编程思想》…...
网站关键词更换了/百度小说排行
夏天里适当做一些运动,非常有助于健康。运动过程中音乐的陪伴会让你充满动力。小米蓝牙耳机Line Free搭载全新的Qualcomm QCC5125蓝牙音频芯片,支持Qualcomm aptX™ Adaptive音频技术,带来更高质量的蓝牙音频体验。细腻触感 佩戴舒适小米Line…...
wordpress删掉不需要的/seo短视频网页入口营销
什么是指针 是一种特殊的数据类型,使用它可以定义指针变量,指针变量储存的是整型数据,代表了内存的编号,通过这个标号可以访问对应的内存。 为什么要使用指针 1、函数之间相互独立,但有时候需要共享变量 …...
ps做图 游戏下载网站/网上哪里接app推广单
今天在公开课里看到直接用get_page函数来获取网页的代码 可自己尝试了下发旋无论是在python2还是python3里头都并不是预先设定好的函数 解决方案如下: import urllib2 def get_page(url):return urllib2.urlopen(url).read()def get_next_target(page):start_lin…...
wordpress 密码失败/深圳关键词推广
CSS3属性box-shadow使用详细教程 box-shadow:length length length length color length:阴影水平偏移值 length:阴影垂直偏移值 length:阴影模糊值 length:阴影边框 color:阴影颜色 说明:设置…...