Ai编程cursor + sealos + devBox实现登录以及用户管理增删改查(十三)

一、什么是 Sealos?

Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。

二、适用场景

业务运行平台,它能完美支持 Java、Go、Python、PHP 等各类应用,不受编程语言限制。该平台为应用提供稳定的运行环境,并解决后端依赖问题,例如数据库、对象存储和消息队列等。更进一步,它还能灵活处理应用配置管理、服务发现、公网暴露,以及自动伸缩等问题。

三、sealos应用步骤

1、官网注册账号

sealos官网

sealos是收费的、新用户注册有5元的额度,可以满足我们测试项目了

2、进入主页面板、访问devBox创建项目

在这里插入图片描述
在这里插入图片描述

3、优先创建后端项目,这里采用nodeJs进行接口开发

在这里插入图片描述
在这里插入图片描述

这里可以选择CPU和内存配置,端口和接口访问地址都可以自定义,这里采用sealos生成默认访问地址

4、创建项目成功后,自行选择编辑器,这里通过cursor打开项目

在这里插入图片描述
在这里插入图片描述

5、首页进入数据库,这里选择mongo数据库,进行配置部署

在这里插入图片描述
在这里插入图片描述

6、ctrl + i 打开ai辅助,输入开发需求提示词
请为我开发一个基于 Node.js 和Express 框架的 用户注册登录模块管理后端项目。项目需要实现以下五个 RESTful API 接口:1. 查询所有已注册用户- 接口名: GET /api/getUserList- 功能: 从数据库的'user'集合中查询并返回所有用户信息- 参数: 创建时间createTime、用户名username、是否黑名单用户isBlackList,参数可为空- 返回: 包含所有用户信息的数组
2. 注册新用户- 接口名: POST /api/register- 功能:'user'集合中添加新的用户名以及密码- 参数:{"username": string, // 用户名"password":string, // 密码}- 返回: 新用户信息对象,包含自动生成的唯一 id
3. 更新用户黑名单状态信息- 接口名: POST /api/updateUserBlackStatus/- 功能: 根据 id 更新用户黑名单状态- 参数: id- 返回: 更新后的用户信息
4. 删除用户- 接口名: POST /api/delUser/- 功能: 根据 id 删除指定用户- 参数: id- 返回: 删除操作的结果状态
5. 登录- 接口名: POST /api/login/- 功能: 根据 用户名查询校验匹配 user集合中是否包含该用户,用户名密码是否正确- 参数: username- 返回:登录匹配结果状态以及生成token
技术要求:1. 使用 Express 框架构建 API,express-jwt校验token的有效性
2. 使用 MongoDB 作为数据库,通过 Mongoose 进行数据操作
3. 实现适当的错误处理和输入验证
4. 使用异步/等待(async/await)语法处理异步操作
5. 遵循 RESTful API 设计原则
6. 添加基本的日志记录功能
7、支持用户查询多参数过滤以下是数据库连接方式:此处为sealos部署db-demo数据库生成的数据库连接参数
7、Ai自动生成文件以及相关代码

在这里插入图片描述

8、安装相关依赖并运行node项目
npm init -y
npm install express mongoose express-jwt jsonwebtoken bcryptjs winston

在这里插入图片描述
api项目正常运行

9、Ai生成接口测试用例

在这里插入图片描述

访问地址为api-demo外网地址,请帮我用curl生成这5个接口测试用例以及接口成功和不成功的返回值,

在这里插入图片描述

生成的测试用例这里需要记录,后续前端提示词需要用到

1. 注册用户 (POST /api/register)# 成功注册
curl -X POST https://jivitzjasquu.sealoshzh.site/api/register \-H "Content-Type: application/json" \-d '{"username": "testuser", "password": "password123"}'# 成功返回示例
{"id": "65f7e8a12345678901234567","username": "testuser","createTime": "2024-03-18T10:30:00.000Z"
}# 用户名已存在
curl -X POST https://jivitzjasquu.sealoshzh.site/api/register \-H "Content-Type: application/json" \-d '{"username": "testuser", "password": "password123"}'# 失败返回示例
{"message": "Username already exists"
}2. 登录 (POST /api/login)# 成功登录
curl -X POST https://jivitzjasquu.sealoshzh.site/api/login \-H "Content-Type: application/json" \-d '{"username": "testuser", "password": "password123"}'# 成功返回示例
{"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}# 登录失败(错误的密码)
curl -X POST https://jivitzjasquu.sealoshzh.site/api/login \-H "Content-Type: application/json" \-d '{"username": "testuser", "password": "wrongpassword"}'# 失败返回示例
{"message": "Invalid credentials"
}3. 查询用户列表 (GET /api/getUserList)# 获取所有用户(需要token)
curl -X GET https://jivitzjasquu.sealoshzh.site/api/getUserList \-H "Authorization: Bearer YOUR_TOKEN_HERE"# 带参数查询
curl -X GET "https://jivitzjasquu.sealoshzh.site/api/getUserList?username=test&isBlackList=false&createTime=2024-03-01" \-H "Authorization: Bearer YOUR_TOKEN_HERE"# 成功返回示例
[{"_id": "65f7e8a12345678901234567","username": "testuser","isBlackList": false,"createTime": "2024-03-18T10:30:00.000Z"}
]# 未授权访问(无token或token无效)
{"message": "Invalid token"
}4. 更新用户黑名单状态 (POST /api/updateUserBlackStatus/:id)# 更新用户状态
curl -X POST https://jivitzjasquu.sealoshzh.site/api/updateUserBlackStatus/65f7e8a12345678901234567 \-H "Authorization: Bearer YOUR_TOKEN_HERE"# 成功返回示例
{"_id": "65f7e8a12345678901234567","username": "testuser","isBlackList": true,"createTime": "2024-03-18T10:30:00.000Z"
}# 用户不存在
{"message": "User not found"
}5、删除用户 (POST /api/delUser/:id)# 删除用户
curl -X POST https://jivitzjasquu.sealoshzh.site/api/delUser/65f7e8a12345678901234567 \-H "Authorization: Bearer YOUR_TOKEN_HERE"# 成功返回示例
{"message": "User deleted successfully"
}# 用户不存在
{"message": "User not found"
}
10、devBox创建前端项目,这里选择vue3

在这里插入图片描述
在这里插入图片描述

11、cursor输入提示词,生成前端相关文件以及代码
请为我开发一个基于 Vue 3 的用户管理系统。要求如下:1. 功能需求:- 包含登录/注册功能- 包含首页/用户管理路由以及模块- 首页统计用户总数量/黑名单用户数量    - 用户管理展示全部用户列表数据,搜索参数为用户名称,黑名单状态查询过滤显示
2. UI/UX 设计要求:- 全屏响应式设计,适配不同设备- 拥有亮色模式和夜间模式- 现代化、简洁的界面风格- 丰富的色彩运用,但保持整体和谐- 流畅的交互动画,提升用户体验- 在按钮和需要的地方添加上图标要求:1. 直接以当前目录作为项目根目。注意 此目录已经初始化完了vue3项目结构 直接修改即可
2. 如果需要执行命令,请暂停创建文件,让我先执行命令
3. 请你根据我的需要,一步一步思考,给我开发这个项目。特别是UI部分 一定要足够美观和现代化
12、安装相关依赖,并进行下一步
npm install vue-router@4 pinia @vueuse/core naive-ui @iconify/vue sass

在这里插入图片描述

输入联调提示词

下面是系统的接口,我已写清楚接口信息,请进行联调1. 注册用户 (POST /api/register)# 成功注册
curl -X POST https://jivitzjasquu.sealoshzh.site/api/register \-H "Content-Type: application/json" \-d '{"username": "testuser", "password": "password123"}'# 成功返回示例
{"id": "65f7e8a12345678901234567","username": "testuser","createTime": "2024-03-18T10:30:00.000Z"
}# 用户名已存在
curl -X POST https://jivitzjasquu.sealoshzh.site/api/register \-H "Content-Type: application/json" \-d '{"username": "testuser", "password": "password123"}'# 失败返回示例
{"message": "Username already exists"
}2. 登录 (POST /api/login)# 成功登录
curl -X POST https://jivitzjasquu.sealoshzh.site/api/login \-H "Content-Type: application/json" \-d '{"username": "testuser", "password": "password123"}'# 成功返回示例
{"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}# 登录失败(错误的密码)
curl -X POST https://jivitzjasquu.sealoshzh.site/api/login \-H "Content-Type: application/json" \-d '{"username": "testuser", "password": "wrongpassword"}'# 失败返回示例
{"message": "Invalid credentials"
}3. 查询用户列表 (GET /api/getUserList)# 获取所有用户(需要token)
curl -X GET https://jivitzjasquu.sealoshzh.site/api/getUserList \-H "Authorization: Bearer YOUR_TOKEN_HERE"# 带参数查询
curl -X GET "https://jivitzjasquu.sealoshzh.site/api/getUserList?username=test&isBlackList=false&createTime=2024-03-01" \-H "Authorization: Bearer YOUR_TOKEN_HERE"# 成功返回示例
[{"_id": "65f7e8a12345678901234567","username": "testuser","isBlackList": false,"createTime": "2024-03-18T10:30:00.000Z"}
]# 未授权访问(无token或token无效)
{"message": "Invalid token"
}4. 更新用户黑名单状态 (POST /api/updateUserBlackStatus/:id)# 更新用户状态
curl -X POST https://jivitzjasquu.sealoshzh.site/api/updateUserBlackStatus/65f7e8a12345678901234567 \-H "Authorization: Bearer YOUR_TOKEN_HERE"# 成功返回示例
{"_id": "65f7e8a12345678901234567","username": "testuser","isBlackList": true,"createTime": "2024-03-18T10:30:00.000Z"
}# 用户不存在
{"message": "User not found"
}5、删除用户 (POST /api/delUser/:id)# 删除用户
curl -X POST https://jivitzjasquu.sealoshzh.site/api/delUser/65f7e8a12345678901234567 \-H "Authorization: Bearer YOUR_TOKEN_HERE"# 成功返回示例
{"message": "User deleted successfully"
}# 用户不存在
{"message": "User not found"
}

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

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

相关文章

重学设计模式-工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)

在平常的学习和工作中,我们创建对象一般会直接用new,但是很多时候直接new会存在一些问题,而且直接new会让我们的代码变得非常繁杂,这时候就会巧妙的用到设计模式,平常我们通过力扣学习的算法可能并不会在我们工作中用到…

数据结构4——栈和队列

目录 1.栈 1.1.栈的概念及结构 1.2栈的实现 2.队列 2.1队列的概念及结构 2.2队列的实现 1.栈 1.1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶,另一端称为…

家政小程序开发,打造便捷家政生活小程序

目前,随着社会人就老龄化和生活压力的加重,家政服务市场的需求正在不断上升,家政市场的规模也正在逐渐扩大,发展前景可观。 在市场快速发展的影响下,越来越多的企业开始进入到市场中,同时家政市场布局也发…

Spring Cloud Alibaba(六)

目录: 分布式链路追踪-SkyWalking为什么需要链路追踪什么是SkyWalkingSkyWalking核心概念什么是探针Java AgentJava探针日志监控实现之环境搭建Java探针日志监控实现之探针实现编写探针类TestAgent搭建 ElasticsearchSkyWalking服务环境搭建搭建微服务微服务接入Sky…

HTTP 探秘之旅:从入门到未来

文章目录 导言:目录:第一篇:HTTP,互联网的“快递员”第二篇:从点开网页到看到内容,HTTP 究竟做了什么?第三篇:HTTP 的烦恼与进化史第四篇:HTTP 的铠甲——HTTPS 的故事第…

万字长文解读深度学习——多模态模型BLIP2

🌺历史文章列表🌺 深度学习——优化算法、激活函数、归一化、正则化 深度学习——权重初始化、评估指标、梯度消失和梯度爆炸 深度学习——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总 万字长…

qt QToolBox详解

1、概述 QToolBox是Qt框架中的一个控件,它提供了一个带标签页的容器,用户可以通过点击标签页标题来切换不同的页面。QToolBox类似于一个带有多页选项卡的控件,但每个“选项卡”都是一个完整的页面,而不仅仅是标签。这使得QToolBo…

如何把阿里云ECS里的文件下载到本地(免登录免配置)

如何把阿里云ECS里的文件下载到本地(免登录免配置) 作为一个阿里云ECS的用户,Up时长会遇到希望把ECS里的文件下载到自己的个人电脑,然后在自己的电脑里面查看,保存或者发送给别人。最近发现阿里云新上了一个功能&…

Centos7安装MySQL8.0详细教程(压缩包安装方式)

本章教程,主要介绍如何在Centos7上安装MySQL8.0版本数据库(压缩包安装方式) 一、卸载系统自带的 Mariadb 1、查询 rpm -qa|grep mariadb2.、卸载 如果有查询结果,就进行卸载,没有就跳过该步骤。 rpm -e --nodeps mar…

c++预编译头文件

文章目录 c预编译头文件1.使用g编译预编译头文件2.使用visual studio进行预编译头文件2.1visual studio如何设置输出预处理文件(.i文件)2.2visual studio 如何设置预编译(初始创建空项目的情况下)2.3 visual studio打开输出编译时…

MySql:理解数据库

目录 一、什么是数据库 第一层理解 第二层理解 第三层理解 二、Linux下的数据库 三、基本认识 登录数据库时, mysql -u root -h 127.0.0.1 -P 3306 -p -h指定MySql服务器所在主机,若在本地则为回环地址。-P表示目标主机上MySql服务端口号 一般简单…

Spire.PDF for .NET【页面设置】演示:旋转 PDF 中的页面

在某些情况下,您可能需要旋转 PDF 页面。例如,当您收到包含混乱页面的 PDF 文档时,您可能希望旋转页面以便更轻松地阅读文档。在本文中,您将学习如何使用Spire.PDF for .NET在 C# 和 VB.NET 中旋转 PDF 中的页面。 Spire.PDF for…

【JavaEE初阶 — 网络编程】实现基于TCP协议的Echo服务

TCP流套接字编程 1. TCP & UDP 的区别 TCP 的核心特点是面向字节流,读写数据的基本单位是字节 byte 2 API介绍 2.1 ServerSocket 定义 ServerSocket 是创建 TCP 服务端 Socket 的API。 构造方法 方法签名 方法说明 ServerS…

[linux应用]emby媒体服务器软件简单部署和使用

一、介绍 Emby 是一款媒体服务器软件,用于组织、管理和共享个人的音乐、电影、电视节目和其他媒体文件。简单来说,是管理和播放电影的软件。官方网址:Emby - The open media solution 二、部署 安装包下载地址:Download Emby -…

burp2

声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&a…

基于hexo框架的博客搭建流程

这篇博文讲一讲hexo博客的搭建及文章管理,也算是我对于暑假的一个交代 !!!注意:下面的操作是基于你已经安装了node.js和git的前提下进行的,并且拥有github账号 创建一个blog目录 在磁盘任意位置创建一个…

106.【C语言】数据结构之二叉树的三种递归遍历方式

目录 1.知识回顾 2.分析二叉树的三种遍历方式 1.总览 2.前序遍历 3.中序遍历 4.后序遍历 5.层序遍历 3.代码实现 1.准备工作 2.前序遍历函数PreOrder 测试结果 3.中序遍历函数InOrder 测试结果 4.后序遍历函数PostOrder 测试结果 4.底层分析 1.知识回顾 在99.…

游戏引擎学习第25天

Git: https://gitee.com/mrxiao_com/2d_game 今天的计划 总结和复述: 这段时间的工作已经接近尾声,虽然每次编程的时间只有一个小时,但每一天的进展都带来不少收获。尽管看起来似乎花费了很多时间,实际上这些日积月累的时间并未…

【C++】深入优化计算题目分析与实现

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯第一题:圆的计算我的代码实现代码分析改进建议改进代码 老师的代码实现代码分析可以改进的地方改进代码 💯第二题:对齐输出我的代码实现…

Kafka配置SASL/PLAINTEXT安全认证

1、下载安装 Kafka下载地址:Apache Kafka 下载文件 wget https://downloads.apache.org/kafka/3.8.0/kafka_2.12-3.8.0.tgz 文件解压缩 tar -zxvf kafka_2.12-3.8.0.tgz 进入目录 cd kafka_2.12-3.8.0 2、Zookeeper 配置 2.1、修改 Zookeeper 配置文件 con…