一二三应用开发平台应用开发示例(7)——文档功能实现示例

概述

在完成文件夹配置工作后,接下来配置文档管理系统最核心的管理对象“文档”。
依旧是使用平台低代码配置工作来配置,配置流程跟文件夹的配置是相同的,以下简要说明,重点是新涉及到的功能或注意点。

创建实体

image.png

配置模型属性

文件夹

文档所属的文件夹,类型为实体。
image.png

名称

非空、主属性,同一文件夹下不能同名
image.png

长度

文件长度,整形,保存文档原始长度信息。
image.png

大小

通过文档原始长度计算出来的友好显示长度,小文件以B、KB为单位,大文件以M、G为单位。
image.png

类型

文档的类型,如word、png、txt等
image.png

保存名称

文档实际存盘时的文件名称,与原始上传的名称会有差异,避免同名覆盖,会附加标识来解决,主要用于异常排查或不通过应用系统来找文件,为运维便利提供的冗余属性。
image.png

路径

文档存储的相对路径
image.png

阅读量与下载量

显示该文档被阅读和被下载的次数。
image.pngimage.png

文档状态

正常及锁定两种,使用锁定来防止多人协作情况下相互覆盖。
使用平台的数据字典功能来配置状态功能。
创建模块及字典类型,如下图所示:
image.png
维护字典项
image.png
创建状态属性
image.png
类型注意选择数据字典,在字典类型选择窗口中选中上一步骤中新创建的字典“文档状态”。
image.png

上传时间

记录文档的上传时间,虽然平台通用预置字段的创建时间实际上也就是文档的上传时间,不过预置字段通常只用于通用功能处理,如增量数据同步和异常排查。对于业务上需要的这种上传时间,建议单独配置属性来存储和处理。
image.png

配置视图

文档视图与文件夹视图的配置流程和方式完全相同,不再详述,只提重点和差异点。
对于文档来说,跟普通的实体不一样,不是通过新增页面录入表单数据保存后产生的,而是通过上传文件操作产生的,因此也就没有新增视图、修改视图和查看视图。
但文档通过文件夹来组织,因此需要配置树表视图。

列表视图

image.png
使用平台功能配置查询条件和查询结果,通过加号来增加自定义按钮,如页面上的上传、复制、移动……,行记录上的预览、下载、更名……这些自定义的按钮具体功能实现后面再说,先把整体页面配置出来。
image.png

树表视图

image.png
特别注意树路径的规则。
对于自关联的实体,如前文中的文件夹,保持留空即可,平台可自动识别和处理。
对于非关联自身的实体,需要填写路径,规则如下:从模块编码开始,中间有view路径,然后是实体编码,最后是树视图的vue页面,如上图所示。

运行效果如下:
image.png

辅助操作

生成库表

回到实体列表,勾选“文档”,点击生成库表按钮,平台提示成功后,查看数据库,库表正常。
image.png

生成代码

实体列表页面上勾选“文档”,点击生成代码按钮,平台提示成功后,查看输出目录,生成了各层代码。
image.png

拷贝代码

将前后端代码分别拷贝到对应的的位置,后端编译,前端执行eslint命令格式化。

增加API

前端edoc模块下api中增加对文档实体document的处理。

// 文档
export const document = Object.assign({}, COMMON_METHOD, {serveUrl: '/' + moduleName + '/' + 'document' + '/'
})

配置权限

使用系统管理模块下的权限项菜单,通过复制新增的模式,拷贝文件夹的权限项,然后修改为文档的权限项
image.png
注意上图中名称把文档修改为了文档库,对应菜单的名字,虽然实体是文档,但从用户角度,实际是文档库与业务含义更贴切。

为当前用户所在的管理员组,配置文档库权限。

运行效果

重启后端服务,运行效果如下:
image.png

开发平台资料

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

应用系统资料

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Databricks 收购 Tabular 的意义:数据开放框架的胜利

Databricks 宣布收购 Tabular,这是一个由 Apache Iceberg 的原始创建者开发的数据平台,在数据分析行业引发了涟漪。此次收购凸显了开放框架在数据领域日益增长的重要性,预示着数据管理、分析和 AI/ML 计划领域的创新、协作和可访问性的新时代…

数据库的学习(6)

题目: 数据准备创建两张表:部门(dept)和员工(emp),并插入数据,代码如下create table dept(dept_id int primary key auto_increment comment 部门编号,dept_name char(20)comment部门名称 ); insert into dept (dept_name) values(销售部),(财…

音视频入门基础:H.264专题(11)——计算视频分辨率的公式

一、引言 通过FFmpeg命令可以获取到H.264裸流文件的视频分辨率: 在vlc中也可以获取到视频分辨率(vlc底层也使用了FFmpeg进行解码): 所以FFmpeg和vlc是怎样获取到H.264编码的视频的分辨率呢?它们其实是通过SPS中的属性…

深入理解Java并发、线程与等待通知机制

目录 一、基础概念 进程和线程 进程 线程 Java 线程的无处不在 进程间的通信 进程间通信有几种方式? CPU 核心数和线程数的关系 上下文切换(Context switch) 并行和并发 二、认识 Java 里的线程 Java 程序天生就是多线程的 线程…

一套基于 Ant Design 和 Blazor 的开源企业级组件库

前言 今天大姚给大家分享一套基于Ant Design和Blazor的开源(MIT License)、免费的企业级组件库(喜欢Ant Design风格的同学推荐使用):Ant Design Blazor。 项目特性 提炼自企业级中后台产品的交互语言和视觉风格。 开…

Java核心技术【二十二】Java的I/O流处理:深入文件读写操作、缓冲流、序列化与NIO

Java的I/O流处理:深入文件读写操作、缓冲流、序列化 在Java编程中,I/O流是处理输入输出操作的基础,特别是在文件读写、网络通信等领域。本文将在前文的基础上,进一步探讨缓冲流、序列化以及NIO(New I/O)在…

大数据开发者如何快速熟悉新公司业务

作为一名大数据开发工程师,进入一家新公司后快速熟悉业务是至关重要的。 目录 1. 了解产品形态故事1:电商平台的数据分析故事2:金融科技的风控系统故事3:社交媒体的推荐算法 2. 了解业务流程故事1:物流配送系统的优化故事2:医疗保险的理赔流程故事3:银行的贷款审批流程 3. 走…

通过 tomcat 让手机访问到电脑写的 html 网页

之前实现的 html 小项目只能在自己的电脑上展示,如果要在其他电脑或者在手机上就看不到网页了 想要在手机上访问自己写的网页,我们可以借助 tomcat 首先我们可以从官网下载 tomcat 官网链接:apache官网 我们拉到最底部,找到 a…

科普文:Java对象在堆中的内存结构

概叙 今天来讲些抽象的东西 -- 对象头,因为我在学习的过程中发现很多地方都关联到了对象头的知识点,例如JDK中的 synchronized锁优化 和 JVM 中对象年龄升级等等。 对象内存构成# Java 中通过 new 关键字创建一个类的实例对象,对象存于内存的…

7.10日学习打卡----初学Redis(五)

7.10日学习打卡 目录: 7.10日学习打卡一. redis功能流水线pipeline什么是流水线?pipeline实现使用pipeline 发布与订阅Redis的发布与订阅发布订阅命令行实现 慢查询Redis命令执行的整个过程如何进行配置实践建议 二 . redis的持久化机制RDB持久化机制触发…

Golang | Leetcode Golang题解之第227题基本计算器II

题目&#xff1a; 题解&#xff1a; func calculate(s string) (ans int) {stack : []int{}preSign : num : 0for i, ch : range s {isDigit : 0 < ch && ch < 9if isDigit {num num*10 int(ch-0)}if !isDigit && ch ! || i len(s)-1 {switch preS…

JavaSE学习笔记第二弹——对象和多态(下)

今天我们继续复习与JavaSE相关的知识&#xff0c;使用的编译器仍然是IDEA2022&#xff0c;大家伙使用eclipse或其他编译环境是一样的&#xff0c;都可以。 目录 数组 定义 一维数组 ​编辑 二维数组 多维数组 数组的遍历 for循环遍历 ​编辑 foreach遍历 封装、继承和…

宝塔:如何开启面板ssl并更新过期ssl

1、登录宝塔面板 > 前往面板设置 > 最上方的安全设置 > 面板SSL > 面板SSL配置 打开后先查看自签证书的时间&#xff0c;如果时间是已经过期的&#xff0c;就前往这个目录&#xff0c;将该目录下所有文件都删掉 重新回到面板SSL配置的位置&#xff0c;打开后会看到…

【山东大学】web数据管理——复习笔记

写在前面 若有图片加载失败&#xff0c;请科学上网 。本文为对软件学院连老师的PPT课件总结所得的复习笔记&#xff0c;仅供参考。不保证对考点的全覆盖&#xff0c;以PPT为主。对往年考过的题相关知识点前面都标注了“考过”&#xff0c;并高亮&#xff0c;供参考。写的比较匆…

【PB案例学习笔记】-31制作一个动态设置菜单的程序

写在前面 这是PB案例学习笔记系列文章的第31篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gite…

初识C++语言(1)

目录 C语言简介 C 语言概述 C 语言的特点 语言简洁紧凑&#xff0c;使用灵活方便 运算符丰富 数据结构丰富 结构化语言 生成的代码质量高 可移植性强 C程序结构 C语言系统的使用 一.启动Dev-C 二、新建源程序 三…

星辰计划02-独特视角的spring动态代理

承接上一文 动态代理 &#xff0c;这里探究spring 动态代理 会话1&#xff1a;spring动态代理 quick start &#x1f467;哥哥&#xff0c;哥哥&#xff0c;spring 怎么去搞动态代理的呢&#x1f468; 来来来&#xff0c;听我细细来说 quick start通过Spring的 ProxyFactory…

LoRaWAN网络协议Class A/Class B/Class C三种工作模式说明

LoRaWAN是一种专为广域物联网设计的低功耗广域网络协议。它特别适用于物联网&#xff08;IoT&#xff09;设备&#xff0c;可以在低数据速率下进行长距离通信。LoRaWAN 网络由多个组成部分构成&#xff0c;其中包括节点&#xff08;终端设备&#xff09;、网关和网络服务器。Lo…

Unity到底有无collider可视化,方便调试子弹,ACT,做Demo等

参照日本程序员的代码,改了一些,算是支持MeshCollider 好像确实就是日本《博客》比较多这类,可视化的调试资料 UnityでデバッグをするときColliderを可視化したいことってありますよね。 コライダーを見える化するには Physics Debuggerを使う可視化スクリプトを使うの2通り…

AWS 云安全性:检测 SSH 暴力攻击

由于开源、低成本、可靠性和灵活性等优势&#xff0c;云基础设施主要由基于linux的机器主导&#xff0c;然而&#xff0c;它们也不能幸免于黑客的攻击&#xff0c;从而影响云的安全性。攻击Linux机器最流行的方法之一是通过SSH通道。 什么是 SSH 安全外壳协议&#xff08;Sec…