获取剪切板列表

前置内容

  1. 【Nodejs express 连接Mysql】: https://www.hyz.cool/articles/207
  2. 【Nodejs express 连接 Redis】: https://www.hyz.cool/articles/208
  3. 【统一后端返回数据格式——云剪切板】: https://www.hyz.cool/articles/209

路由

  • ClipboardController.js
const express = require("express");
const ClipboardController = express.Router();

const ClipboardService = require("../services/ClipboardService")

/**
 * 获取剪切板列表
 */
ClipboardController.get("/list",ClipboardService.listClipboard)

module.exports = ClipboardController;
js
  • RouterController.js
const ClipboardController = require("./ClipboardController")

module.exports =(app)=>{
    app.use("/clipboard",ClipboardController)
}

js

数据库访问

  • ClipboardDao.js
import {Query} from "../services/MysqlService";

/**
 * 获取用户剪切板列表
 * @param userId
 * @returns {Promise<unknown>}
 */
export const listClipboard = (userId) => {
    return Query("SELECT * FROM `tb_clipboard` WHERE `user_id` = ?  ORDER BY `create_time` DESC ", [userId])
}
js

服务实现

  • ClipboardService.js
const Result = require("../utils/Result");
const validator = require("express-validator");
const ClipboardDao = require("../daos/ClipboardDao")
const TokenService = require("../services/TokenService")

/**
 * 获取用户剪切板列表
 */
export const listClipboard = [
    validator.query("userId", "用户id不能为空").isLength({min: 1}),
    (req, res, next) => {
        //校验参数
        let validationResult = validator.validationResult(req)
        if (!validationResult.isEmpty()) return Result.result(res, Result.invalidParams(validationResult.array()));

        //拿到参数
        let {userId} = req.query

        //校验权限
        TokenService.getLoginUser(req).then(userDTO=>{
            //判断是否登陆
            if(!userDTO) return Result.result(res,Result.notLogin());
            //判断id是否一致
            if((userDTO.id+"")!==(userId+"")) return Result.result(res,Result.noAuth())
            //查询
            ClipboardDao.listClipboard(userId).then(result => {
                return Result.result(res, Result.success(result))
            }).catch(err => {
                console.log("list clipboard error ...", err)
                return Result.result(res, Result.failed("获取用户剪切板数据失败!"))
            })
        }).catch(err=>{
            return Result.result(res, Result.failed("检查登陆失败!"))
        })
    }]
js
打赏
  • 微信
  • 支付宝
评论
来发评论吧~
···

歌手: