123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- const express = require('express');
- const router = express.Router();
- const utils = require("../utils/index.js");
- const {primary}=require("../utils/roleString");
- const pools = require("../utils/pools.js");
- const xlsx = require('node-xlsx');
- const path = require('path');
- const fileEvent = require('../utils/file');
- //添加测试账号
- router.post("/addTests", async (req, res) => {
- let sql = "INSERT INTO tests(name,remark,more_id) VALUES (?,?,?)",
- obj = req.body;
- let user = await utils.getUserInfo({req, res,addMore:true});
- await pools({sql,val:[obj.name, obj.remark,user.moreId],run:false,res,req});
- });
- //查询测试账号
- router.post("/getTests", async (req, res) => {
- let user = await utils.getUserInfo({req, res}),obj=req.body;
- let sql = `SELECT id,name,remark,update_time AS updateTime,create_time AS createTime FROM tests WHERE 1=1`;
- sql=utils.setLike(sql,"name",obj.name);
- sql=utils.setMoreId(sql,user);
- let {total}=await utils.getSum({sql,name:"tests",res,req});
- sql+=` ORDER BY id DESC`;
- sql=utils.pageSize(sql,obj.page,obj.size);
- let {result}=await pools({sql,res,req});
- res.send(utils.returnData({ data: result ,total}));
- });
- //修改测试账号
- router.post("/upTests", async (req, res) => {
- let sql = "UPDATE tests SET name=?,remark=? WHERE id=?",
- obj = req.body;
- await pools({sql,val:[obj.name, obj.remark, obj.id],run:false,res,req});
- });
- //删除测试账号
- router.post("/delTests", async (req, res) => {
- let sql = "DELETE FROM tests WHERE id=?",
- obj = req.body;
- await pools({sql,val:[obj.id],run:false,res,req});
- });
- //测试菜单接口权限
- router.post("/checkMenu",async (req,res)=>{
- //需要有roleKey1 这个菜单权限才能请求!
- await utils.checkPermi({role:["roleKey1"],res,req});
- res.send(utils.returnData({data:{msg:"请求成功了!"}}));
- });
- //测试角色接口权限
- router.post("/checkRole",async (req,res)=>{
- //需要有primary 这个角色权限才能请求!
- await utils.checkRole({req,res,role:[primary]});
- res.send(utils.returnData({data:{msg:"请求成功了!"}}));
- });
- //导入数据
- router.post("/importTests",async (req,res)=>{
- let sql = "INSERT INTO tests(`name`,`remark`,`more_id`) VALUES ?";
- let fileArr=await fileEvent(req,res);
- let filename=fileArr[0].filename;
- //配置获取文件路径
- let xlsxRes = xlsx.parse(`${path.join(__dirname, '../','public/')}${filename}`, { cellDates: true });
- let list=xlsxRes[0].data;
- list.splice(0,1);
- await pools({sql,val:[list],run:false,res,req,msg:"请确认文档导入值没有问题!!!"});
- });
- //下载模板
- router.post("/downloadTemplate",async (req,res)=>{
- let data =[ ['名称','备注','多账户编号']];
- let buffer = xlsx.build([{name:'sheet1',data}]);
- const filename = '测试模板.xlsx';
- const encodedFilename = encodeURI(filename);
- res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;filename='+encodedFilename);
- res.send(buffer);
- });
- //导出数据
- router.post("/exportTest",async (req,res)=>{
- let user = await utils.getUserInfo({req, res}),obj=req.body;
- let sql = `SELECT id,name,remark FROM tests WHERE 1=1`;
- sql=utils.setLike(sql,"name",obj.name);
- sql=utils.setMoreId(sql,user);
- sql+=` ORDER BY id DESC`;
- sql=utils.pageSize(sql,obj.page,obj.size);
- let {result}=await pools({sql,res,req});
- let data =[ ['编号','名称','备注']];
- result.map(t=>{
- data.push(Object.values(t))
- })
- let buffer = xlsx.build([{name:'sheet1',data}]);
- const filename = '测试数据.xlsx';
- const encodedFilename = encodeURI(filename);
- res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;filename='+encodedFilename);
- res.send(buffer);
- });
- module.exports = router;
|