一二三应用开发平台应用开发示例——概述、应用开发示例简介及创建前后端模块
概述
对于应用开发平台的核心基石——系统管理模块,我精心撰写了一份详尽的说明手册。该手册旨在从使用者的角度出发,不仅全面阐述系统的各项属性和功能,更着重强调使用过程中的注意事项和最佳实践。
在手册的编写过程中,我特别注重解释每个设计背后的原因,以及这些设计所带来的优点和可能存在的局限。这样做的目的是为了让使用者能够更深入地理解平台的设计理念,从而更快地掌握使用方法,遵循平台的设计原则,并充分发挥平台的潜力。
为了更直观地展示如何基于平台进行业务应用开发,我将以一个真实的业务系统为例进行详细说明。在这个过程中,我们将涵盖从新增前后端功能模块,到通过低代码配置实体、模型、视图,再到生成库表和代码的全过程。此外,我们还将讨论如何配置权限和菜单,以及如何使用数据字典等辅助功能。
值得一提的是,在平台生成的代码基础上,我们还将指导使用者如何进行前端界面的调整和后端业务逻辑的实现。这将有助于使用者更好地发挥平台的灵活性,根据实际需求进行定制化的开发。
通过这份手册的指引,我相信使用者将能够快速上手应用开发平台,充分利用平台提供的各项功能,实现高效、稳定的业务应用开发。同时,遵循最佳实践也将有助于发挥平台的最大价值,提升整体的开发效率和质量。
示例简介
应用名称:一二三文档管理系统
应用简介: 企事业单位一站式文档管理系统,让组织内文档管理有序,协作高效、安全可控
设计文档: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库的…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...

Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

HTTPS证书一年多少钱?
HTTPS证书作为保障网站数据传输安全的重要工具,成为众多网站运营者的必备选择。然而,面对市场上种类繁多的HTTPS证书,其一年费用究竟是多少,又受哪些因素影响呢? 首先,HTTPS证书通常在PinTrust这样的专业平…...