Node学习笔记之user用户API模块

news2025/2/25 20:22:49

1、获取用户的基本信息

步骤

  1. 获取登录会话存储的session中用户的id
  2. 判断是否获取到id
  3. 根据用户id查询数据库中的个人信息
  4. 检查指定 id 的用户是否存在
  5. 将密码设置为空
  6. 将数据返回给前端

// 获取用户信息数据
exports.userinfo = (req, res) => {
    (async function () {
        //    1. 获取登录会话存储的session中用户的id
        let userId = req.session["id"]
        // 2判断是否获取到id
        if (!userId) {
            res.send({ status: 1, message: "缺少必传参数用户id" });
            return
        }
        //3 用户id查询数据库中的个人信息
        let results = await handleDB(res, "users", "find", "查询数据出错!", `id =${userId}`);
        // 4 检查指定 id 的用户是否存在

        if (results.length !== 1) return res.send({ stutus: 1, message: '用户不存在!' })
        // 5将密码设置为空
        const data = { id: results[0].id, realname: results[0].realname, username: results[0].username, avatar: results[0].avatar, email: results[0].email, age: results[0].age, }
        res.send({ status: 0, message: '获取个人信息成功', data: data });

    })();

}

2、退出登录功能

删除session中用户id

//退出登录
exports.logout = (req, res) => {
    delete req.session["id"]
    res.send({ status: "0", message: "退出登录成功" })
}

3、获取所有用户模块

(async function () {
        // 查询数据库获取所有用户
        let results = await handleDB(res, "users", "find", "users数据库查询出错",);
        // 判断用户列表是否为空,用户为空返回用户列表为空
        if (results.length == 0) return res.send({ stutus: 1, message: '用户列表为空!' })
        res.send({ status: 0, message: '获取所有用户成功', data: results });
    })();

4.根据用户id删除用户信息模块

5、根据用户id添加和更新用户信息模块

6、重置密码

7、利用七牛云存储图片,修改头像

(要用到自己的服务器,腾讯云或者阿里云,不过七牛云新用户可以免费使用一个月)

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

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

相关文章

在CentOS上用yum方式安装MySQL8过程记录

此文参考官方文档一步一步记录安装到正常运行全过程 安装过程主要参考下面两边文章: 1.官方文档 https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html 2.linux yum安装mysql8 安装过程大概有以下几步: 1.查找mysql源链接 2.安装…

框架安全-CVE 漏洞复现DjangoFlaskNode.jsJQuery框架漏洞复现

目录 服务攻防-框架安全&CVE复现&Django&Flask&Node.JS&JQuery漏洞复现中间件列表介绍常见语言开发框架Python开发框架安全-Django&Flask漏洞复现Django开发框架漏洞复现CVE-2019-14234(Django JSONField/HStoreField SQL注入漏洞&#xff…

Proteus仿真--从左往右流水灯仿真(仿真文件+程序)

本文主要介绍基于51单片机的流水灯仿真(完整仿真源文件及代码见文末链接) 仿真运行视频 Proteus仿真--基于51单片机的流水灯仿真(从左往右) 附完整Proteus仿真资料代码资料 百度网盘链接: https://pan.baidu.com/s/1aZH13zwQkNB7…

python自动化测试(七):鼠标事件

前置条件: 本地部署:ECShop的版本是3.0.0、Google版本是 Google Chrome65.0.3325.162 (正式版本) (32 位) py的selenium版本是3.11.0 目录 一、前置代码 二、ActionChains类 三、鼠标事件 3.1 悬停事件 3.2 左键单击 3…

2.flink编码第一步(maven工程创建)

概述 万里第一步,要进行flink代码开发,第一步先整个 flink 代码工程 flink相关文章链接 flink官方文档 两种方式 一种命令行 mvn 创建,另一种直接在 idea 中创建一个工程,使用 mvn 的一些配置 mvn命令行创建 mvn 创建flink工程&…

基于SpringBoot的工厂车间管理系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 人员管理 看板信息管理 设备信息管理 生产开立管理 人员功能实现 生产开立管理 生产工序管理 生产流程管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 社会发展日新月异,用计…

springboot整合postgresql

使用docker安装postgres 简单起见,这里用docker来安装postgresql docker pull postgresdocker run --name postgres \-e POSTGRES_PASSWORD123456 \-p 5432:5432 \-v /usr/local/docker/postgresql/data:/var/lib/postgresql/data \-d postgrespostgres客户端 pg…

MAC缓解WebUI提示词反推

当前环境信息: 在mac上安装好stable diffusion后,能做图片生成了之后,遇到一些图片需要做提示词反推,这个时候需要下载一个插件,参考: https://gitcode.net/ranting8323/stable-diffusion-webui-wd14-tagg…

计算机毕业设计选题推荐-二手交易微信小程序/安卓APP-项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

qt-C++笔记之带有倒计数显示的按钮,计时期间按钮锁定

qt-C笔记之带有倒计数显示的按钮&#xff0c;计时期间按钮锁定 code review! 文章目录 qt-C笔记之带有倒计数显示的按钮&#xff0c;计时期间按钮锁定1.运行2.main.cc3.main.pro 1.运行 2.main.cc 代码 #include <QApplication> #include <QPushButton> #includ…

day02 矩阵 2023.10.26

1.矩阵 2.矩阵乘法 3.特殊矩阵 4.逆矩阵 5.正交矩阵 6.几何意义 7.齐次坐标 8.平移矩阵 9.旋转矩阵 10.缩放矩阵 11.复合运算

vue3 动态组件和异步组件

1.动态组件 <template><div><h1>组件切换</h1><component :is"currentComponent"></component><button click"toggleComponent">点击切换组件</button></div> </template><script setup …

搜狗百科创建步骤

搜狗百科属于微信生态里的平台&#xff0c;搜狗百科不仅在搜狗搜索中展示&#xff0c;且可以在微信搜索中展示。许多个人、企业和品牌都希望在搜狗百科上创建属于自己的词条&#xff0c;以提高知名度和品牌形象。那么搜狗百科该怎么创建呢&#xff1f;下面小马识途营销顾问分享…

虚拟机Ubuntu下运行vue-element-admin项目

一.环境搭建 1.安装nodejs sudo apt install nodejs 安装完成后&#xff0c;查看对应的版本号 nodejs -v没有问题&#xff0c;会输出对应版本号&#xff0c;我这里是10.19.0 v10.19.0 2.安装npm sudo apt install npm安装完成查看对应的版本号&#xff0c;确认OK npm -…

[云原生1. ] 使用Docker-compose一键部署Wordpress平台

文章目录 1. Docker-compose概述1.1 简介1.2 docker-compose 的三大概念1.3 docker-compose配置模板文件常用的字段1.4 docker-compose 常用命令及格式 2. YAML 文件的详细介绍及编写注意事项2.1 简介2.2 yaml的特性2.2.1 语法特点2.2.2 数据结构2.2.3 引号的区别2.2.4 内置类型…

nodejs+vue食力派网上订餐系统-计算机毕业设计

采用当前流行的B/S模式以及3层架构的设计思想通过 技术来开发此系统的目的是建立一个配合网络环境的食力派网上订餐系统&#xff0c;这样可以有效地解决食力派网上订餐管理信息混乱的局面。 本设计旨在提高顾客就餐效率、优化餐厅管理、提高订单准确性和客户的满意度。本系统采…

Kali安装docker

第一步&#xff1a;kali添加Docker官方的GPG密钥 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add 第二步&#xff1a;进入root更新源&#xff1a; su rootecho ‘deb https://download.docker.com/linux/debian stretch stable’> /etc/ap…

Harbor私有镜像仓库搭建

本文基于&#xff1a;https://zhuanlan.zhihu.com/p/143779176 1.环境准备 IP&#xff1a;192.168.10.136/24 操作系统:centos7 2.安装Docker、Docker-compose 2.1安装Docker-CE $ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.re…

50元买来的iPhone手机刷机经验

前段时间&#xff0c;家里的iPad被家人误操作&#xff0c;导致iPad变成不可使用状态。自己折腾了半天&#xff0c;没有找到解决办法。没有办法&#xff0c;只好拿到手机维修店去修理,很快就修理好了.其实也很简单--就是对iPad进行了刷机操作。当然我也看到了刷机的方法。今天&a…

C# 图解教程 第5版 —— 第13章 数组

文章目录 13.1 数组13.1.1 定义13.1.2 重要细节 13.2 数组的类型13.3 数组是对象13.4 一维数组和矩形数组13.5 实例化一维数组或矩形数组13.6 访问数组元素&#xff08;*&#xff09;13.7 初始化数组13.7.1 显示初始化一维数组13.7.2 显示初始化矩形数组13.7.3 初始化矩形数组的…