RadSystems 自定义页面全攻略:个性化任务管理系统的实战设计

系列文章目录

探索RadSystems:低代码开发的新选择(一)🚪
探索RadSystems:低代码开发的新选择(二)🚪
探索RadSystems:低代码开发的新选择(三)🚪
探索RadSystems:低代码开发的新选择(四)🚪
RadSystems自定义页面全攻略🚪


文章目录

  • 系列文章目录
  • 前言
  • 一、项目的创建与配置
    • 1. 项目创建流程
    • 2. 解决MySQL身份验证问题
  • 二、创建自定义页面以实现任务数据的展示
    • 1. 创建页面
    • 2. 编写自定义页面的JS代码
  • 三、数据的分类展示与页面美化
    • 1. 新建Custom View
    • 2. 创建数据展示的模板结构`<template>`
    • 3. 分类与获取数据的JS脚本部分`<script setup>`
    • 4. 页面样式美化`<style scoped>`
  • 总结


前言

RadSystems 是一款强大且直观的低代码开发平台,支持快速构建复杂的前后端应用。本文将详细介绍如何在RadSystems中从零开始搭建一个以TypeScript和Node.js为基础的项目,并添加自定义页面,以实现对任务数据的分类、展示和美观呈现。通过本文的步骤讲解,您将全面掌握在RadSystems中创建项目、设计前端页面、调用API接口以及进行数据展示美化的具体方法。
在这里插入图片描述


一、项目的创建与配置

1. 项目创建流程

在RadSystems中创建TypeScript项目,需要选择合适的前后端框架。以下是详细步骤:

  1. 选择项目架构:打开RadSystems,选择 Node TS-Express 作为后端框架,Prime Vue 作为前端框架。
    在这里插入图片描述

  2. 项目命名与路径:将项目命名为 ts-primevue-hjy,选择本地的代码存储路径。

  3. 语言与数据库配置:设置默认语言为中文,并启用多语言支持。选择MySQL作为项目的数据库,端口号设为3306,指定数据库名称为 hjy_task
    在这里插入图片描述

  4. 项目发布:点击 Create Project 创建项目后,首先保存生成的 .rpf 文件,随后点击 Publish 按钮发布项目,此时系统将自动下载项目依赖。
    在这里插入图片描述

2. 解决MySQL身份验证问题

在本项目中使用MySQL 8.4LTS版本的数据库。MySQL 8 默认的身份验证插件为 caching_sha2_password,然而Node.js中使用的 mysql 库不支持这一身份验证方法,导致无法连接到数据库。为了解决此兼容性问题,详见该篇博客🚪,我们卸载 mysql 依赖并替换为 mysql2,执行以下命令:

npm uninstall mysql
npm install mysql2

通过此替换,解决了数据库连接问题,使项目正常运行。
在这里插入图片描述


二、创建自定义页面以实现任务数据的展示

1. 创建页面

在项目创建完成并启动后,可以进入 Page Design 模块添加自定义页面。

  1. 创建新页面:点击 Create New Page,新建一个页面,命名为 newTaskhjy,用于展示任务数据。
    在这里插入图片描述

  2. 生成API接口文档:为了方便获取项目API的调用信息,在RadSystems中点击 Publish Api Documentation 生成API接口文档。
    在这里插入图片描述
    直到控制台效果如下,即可关闭当前控制台;在新弹出的窗口中先选择open in browser,会打开一个网页,接下来点击okay即可
    在这里插入图片描述
    文档中列出了项目可用的接口,在该示例中,展示 Task 表数据的接口为 /tasks,使用 GET 方法获取数据。
    在这里插入图片描述

2. 编写自定义页面的JS代码

在创建页面后,可以编写JavaScript代码以获取任务数据并将其分类展示。具体实现步骤如下:

  1. 定义数据变量:在 Page Custom JS 中,定义 myApiData 变量用于存储任务数据。
    在这里插入图片描述

  2. 编写API数据获取函数:使用 ApiService.get() 方法访问项目API接口。通过调用 /tasks 获取任务数据,并在控制台打印数据确认。

const myApiData = ref(null);async function getDataFromApi(){try{//fetch data from the apiconst response = await ApiService.get("/tasks");myApiData.value = response.data;console.log(myApiData.value);}catch(e){console.error(e); }
}
  1. 调用数据获取函数:在页面加载时自动调用 getDataFromApi 函数以获取数据。
await getDataFromApi();

三、数据的分类展示与页面美化

1. 新建Custom View

newtaskshjy的Page Design页面内新建一个Section,拖拽左侧的Custom View组件在最下面
在这里插入图片描述

2. 创建数据展示的模板结构<template>

为使任务数据清晰可见,可按任务状态将任务分为四类:待办(to_do)、进行中(in_progress)、已完成(done)和搁置(on_hold)。选中Custom View组件,把下面模板代码放入CustomCode中:

<!-- Task Sections --><div v-for="(tasks, category) in categorizedTasks" :key="category" class="col comp-grid"><div :class="['task-category', category]"><div class="text-lg font-bold text-primary">{{ category.replace('_', ' ').toUpperCase() }}</div><div class="task-cards"><div v-for="task in tasks" :key="task.task_id" class="task-card"><h3>{{ task.title }}</h3><p>{{ task.description }}</p></div></div></div></div>

在这里插入图片描述

3. 分类与获取数据的JS脚本部分<script setup>

在页面加载后,按任务状态对数据进行分类展示。以下是详细代码结构:

  1. 定义数据结构和钩子:在Vue的 <script setup> 部分,定义一个对象 categorizedTasks 存储分类后的任务,并将 getDataFromApi 函数加入 onMounted 钩子。
    在这里插入图片描述

  2. 数据分类与调用:将数据按状态存储到 categorizedTasks 中,利用 v-for 循环分别展示每个分类的任务。
    在这里插入图片描述
    在这里插入图片描述

import { toRaw } from 'vue';const myApiData = ref(null);// 分类后的任务
const categorizedTasks = ref({to_do: [],in_progress: [],done: [],on_hold: []
});async function getDataFromApi(){try{//fetch data from the apiconst response = await ApiService.get("/tasks");myApiData.value = toRaw(response.data);console.log(myApiData.value.records)const tasks = myApiData.value.records || [];categorizedTasks.value = {to_do: tasks.filter(task => task.status === 'to_do'),in_progress: tasks.filter(task => task.status === 'in_progress'),done: tasks.filter(task => task.status === 'done'),on_hold: tasks.filter(task => task.status === 'on_hold')};console.log(categorizedTasks.value);}catch(e){console.error(e); }
}onMounted(getDataFromApi);

4. 页面样式美化<style scoped>

<style scoped> 中,为任务卡片设计不同颜色样式,方便用户快速区分任务状态,此外添加了鼠标悬停效果以提升交互体验。样式代码如下:
在这里插入图片描述

<style scoped>
/* 基础样式 */
.task-cards {display: flex;flex-direction: column;gap: 15px;
}.task-card {padding: 15px;border-radius: 8px;background-color: #f3f4f6;box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);transition: transform 0.2s;
}
.task-card:hover {transform: scale(1.02);
}/* 分类样式 */
.task-category {margin-bottom: 20px;
}
.to_do .task-card {border-left: 5px solid #f87171;background-color: #fef2f2;
}
.in_progress .task-card {border-left: 5px solid #fbbf24;background-color: #fffbeb;
}
.done .task-card {border-left: 5px solid #34d399;background-color: #ecfdf5;
}
.on_hold .task-card {border-left: 5px solid #60a5fa;background-color: #eff6ff;
}/* 文字样式 */
.text-lg {font-size: 1.25rem;color: #1f2937;
}.text-primary {color: #1d4ed8;
}.text-section {margin-top: 15px;
}
</style>

在此代码中,任务卡片根据任务状态展示不同的边框颜色,从视觉上区分了任务状态。此外,鼠标悬停时的卡片放大效果使页面更加生动。
在这里插入图片描述


总结

在本文中,我们深入探讨了如何在RadSystems中快速搭建并美化一个TypeScript项目,从项目创建、配置数据库,到设计前端页面并进行数据分类展示。我们不仅详细讲解了RadSystems的设置流程,还分享了如何解决MySQL身份验证问题,展示了自定义页面的JS代码编写方法以及美观的任务展示样式。希望这篇文章能帮助你在低代码开发领域迈出坚实的一步,让更多人感受到RadSystems带来的开发效率提升。如果你有任何疑问或建议,欢迎在评论区交流!🌹

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

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

相关文章

([LeetCode仓颉解题报告] 661. 图片平滑器

[LeetCode仓颉解题报告] 661. 图片平滑器 一、 题目1. 题目描述2. 原题链接 二、 解题报告1. 思路分析2. 复杂度分析3. 代码实现 三、 本题小结四、 参考链接 一、 题目 1. 题目描述 2. 原题链接 链接: 661. 图片平滑器 二、 解题报告 1. 思路分析 由于只需要3*39个格子&am…

若依权限控制

springbootvue2项目中的权限控制(若依项目) 步骤: 1.登录管理员账号,为普通用户增加权限按钮 绿色部分为权限控制字符 2.在后端对应的方法上增加权限控制(这里以删除操作为例):PreAuthorize(“ss.hasPermi(‘area:store:remove’)”) 3.在前端对应的按钮上增加权限控制:v-ha…

gvim添加至右键、永久修改配置、放大缩小快捷键、ctrl + c ctrl +v 直接复制粘贴、右键和还原以前版本(V)冲突

一、将 vim 添加至右键 进入安装目录找到 vim91\install.exe 管理员权限执行 Install will do for you:1 Install .bat files to use Vim at the command line:2 Overwrite C:\Windows\vim.bat3 Overwrite C:\Windows\gvim.bat4 Overwrite C:\Windows\evim.bat…

使用 OpenAI 进行数据探索性分析(EDA)

探索性数据分析&#xff08;Exploratory Data Analysis, 简称 EDA&#xff09;是数据分析中不可或缺的环节&#xff0c;帮助分析师快速了解数据的分布、特征和潜在模式。传统的 EDA 通常需要手动编写代码或使用工具完成。现在&#xff0c;通过 OpenAI 的 GPT-4 模型&#xff0c…

汽车资讯新篇章:Spring Boot技术启航

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

【EasyExcel】复杂导出操作-自定义颜色样式等(版本3.1.x)

文章目录 前言一、自定义拦截器二、自定义操作1.自定义颜色2.合并单元格 三、复杂操作示例1.实体(使用了注解式样式)&#xff1a;2.自定义拦截器3.代码4.最终效果 前言 本文简单介绍阿里的EasyExcel的复杂导出操作&#xff0c;包括自定义样式&#xff0c;根据数据合并单元格等。…

【ACM独立出版|高校主办】第四届信号处理与通信技术国际学术会议(SPCT 2024)

第四届信号处理与通信技术国际学术会议&#xff08;SPCT 2024&#xff09; 2024 4th International Conference on Signal Processing and Communication Technology 2024年12月27-29日 中国深圳 www.icspct.com 会议亮点&#xff1a; 1、ACM独立出版&#xff0c;EI稳…

笔记01----Transformer高效语义分割解码器模块DEPICT(即插即用)

学习笔记01----即插即用的解码器模块DEPICT 前言源码下载DEPICT实现实验 前言 文 章 标 题&#xff1a;《Rethinking Decoders for Transformer-based Semantic Segmentation: Compression is All You Need》 当前的 Transformer-based 方法&#xff08;如 DETR 和其变体&…

A037-基于Spring Boot的二手物品交易的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

EEG+EMG学习系列 (1) :一个基于小波的自动睡眠评分模型

EEGEMG学习系列:一个基于小波的自动睡眠评分模型 0. 引言1. 主要贡献2. 提出的方法2.1 工作框图2.1 正交小波滤波器组2.2 小波分解2.3 特征提取 3. 结果4. 总结欢迎来稿 论文地址&#xff1a;https://www.mdpi.com/1660-4601/19/12/7176 论文题目&#xff1a;An Automated Wave…

自动化运维-检测Linux服务器CPU、内存、负载、IO读写、机房带宽和服务器类型等信息脚本

前言&#xff1a;以上脚本为今年8月1号发布的&#xff0c;当时是没有任何问题&#xff0c;但现在脚本里网络速度测试py文件获取不了了&#xff0c;测速这块功能目前无法实现&#xff0c;后面我会抽时间来研究&#xff0c;大家如果有建议也可以分享下。 脚本内容&#xff1a; #…

H.265流媒体播放器EasyPlayer.js网页直播/点播播放器WebGL: CONTEXT_LOST_WEBGL错误引发的原因

EasyPlayer无插件直播流媒体音视频播放器属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;无须安装任何插件&#xff0c;起播快、延迟低、兼容性强&#xff0c;使用非常便捷。 EasyPlayer.js能够同时支持HTTP、HTTP-FLV、HLS&a…

OCRSpace申请free api流程

0.OCRSpace概述 OCR.Space是一款功能强大的在线光学字符识别&#xff08;OCR&#xff09;工具。 格式与语言支持广泛&#xff1a;支持多种图片格式&#xff0c;如 JPG、PNG、GIF、PDF 等作为输入。在语言方面&#xff0c;它支持英语、中文、法语、德语等20多种语言的文字识别…

Linux Kernel Programming 2

目录 书写内核框架 起手我们需要理解的是&#xff1a;用户态和内核态 库和系统调用 API 内核空间组件 探索 LKM&#xff08;Linux Kernel Module体系&#xff09; LKM 框架 内核源代码树中的内核模块 modinfo 动手&#xff01;写年轻人的第一个内核模块程序 先试试看&…

机器学习基础04

目录 1.朴素贝叶斯-分类 1.1贝叶斯分类理论 1.2条件概率 1.3全概率公式 1.4贝叶斯推断 1.5朴素贝叶斯推断 1.6拉普拉斯平滑系数 1.7API 2.决策树-分类 2.1决策树 2.2基于信息增益的决策树建立 2.2.1信息熵 2.2.2信息增益 2.2.3信息增益决策树建立步骤 2.3基于基…

ChatGPT学术专用版,一键润色纠错+中英互译+批量翻译PDF

ChatGPT academic项目是由中科院团队基于ChatGPT专属定制。论文润色、语法检查、中英互译、代码解释等可一键搞定&#xff0c;堪称科研神器。 功能介绍 我们以3.5版本为例&#xff0c;ChatGPT学术版总共分为五个区域&#xff1a;输入控制区、输出对话区、基础功能区、函数插件…

fpga 同步fifo

FIFO 基础知识 FIFO&#xff08;First In First Out&#xff0c;即先入先出&#xff09;&#xff0c;是一种数据缓存器&#xff0c;用来实现数据先入先出 的读写方式。在 FPGA 或者 ASIC 中使用到的 FIFO 一般指的是对数据的存储具有先入先出 特性的缓存器&#xff0c;常被用于…

模式:每个服务一个数据库

Pattern: Database per service。 背景 如用微服务架构模式开发一个在线商店应用程序。大多数服务需要在某种数据库中持久化数据。如&#xff0c;订单服务存储订单信息&#xff0c;而客户服务存储客户信息。 问题 微服务应用程序中的数据库架构是什么&#xff1f; 驱动力…

Java 全栈知识体系

包含: Java 基础, Java 部分源码, JVM, Spring, Spring Boot, Spring Cloud, 数据库原理, MySQL, ElasticSearch, MongoDB, Docker, k8s, CI&CD, Linux, DevOps, 分布式, 中间件, 开发工具, Git, IDE, 源码阅读&#xff0c;读书笔记, 开源项目...

WebRTC实现双端音视频聊天(Vue3 + SpringBoot)

目录 概述 相关概念 双端连接整体实现步骤概述 文章代码实现注意点 STUN和TURN服务器的搭建 开发过程描述 后端开发流程 前端开发流程 效果演示 Gitee源码地址 概述 文章描述使用WebRTC技术实现一对一音视频通话。 由于设备摄像头限制&#xff08;一台电脑作测试无法…