Commit fe848d37 by chenjinjing

no message

parent 15a997e9
...@@ -4,87 +4,88 @@ ...@@ -4,87 +4,88 @@
* Module dependencies. * Module dependencies.
*/ */
var app = require('../app'); var app = require('../app');
var debug = require('debug')('data-server:server'); var debug = require('debug')('data-server:server');
var http = require('http'); var http = require('http');
/** /**
* Get port from environment and store in Express. * Get port from environment and store in Express.
*/ */
var port = normalizePort(process.env.PORT || '3000'); var port = normalizePort(process.env.PORT || '3000');
app.set('port', port); app.set('port', port);
/** /**
* Create HTTP server. * Create HTTP server.
*/ */
var server = http.createServer(app); var server = http.createServer(app);
/** /**
* Listen on provided port, on all network interfaces. * Listen on provided port, on all network interfaces.
*/ */
server.listen(port); server.listen(port);
server.on('error', onError); server.on('error', onError);
server.on('listening', onListening); server.on('listening', onListening);
/** /**
* Normalize a port into a number, string, or false. * Normalize a port into a number, string, or false.
*/ */
function normalizePort(val) { function normalizePort(val) {
var port = parseInt(val, 10); var port = parseInt(val, 10);
if (isNaN(port)) { if (isNaN(port)) {
// named pipe // named pipe
return val; return val;
} }
if (port >= 0) { if (port >= 0) {
// port number // port number
return port; return port;
} }
return false; return false;
} }
/** /**
* Event listener for HTTP server "error" event. * Event listener for HTTP server "error" event.
*/ */
function onError(error) { function onError(error) {
if (error.syscall !== 'listen') { if (error.syscall !== 'listen') {
throw error; throw error;
} }
var bind = typeof port === 'string' var bind = typeof port === 'string'
? 'Pipe ' + port ? 'Pipe ' + port
: 'Port ' + port; : 'Port ' + port;
// handle specific listen errors with friendly messages // handle specific listen errors with friendly messages
switch (error.code) { switch (error.code) {
case 'EACCES': case 'EACCES':
console.error(bind + ' requires elevated privileges'); console.error(bind + ' requires elevated privileges');
process.exit(1); process.exit(1);
break; break;
case 'EADDRINUSE': case 'EADDRINUSE':
console.error(bind + ' is already in use'); console.error(bind + ' is already in use');
process.exit(1); process.exit(1);
break; break;
default: default:
throw error; throw error;
} }
} }
/** /**
* Event listener for HTTP server "listening" event. * Event listener for HTTP server "listening" event.
*/ */
function onListening() { function onListening() {
var addr = server.address(); var addr = server.address();
var bind = typeof addr === 'string' var bind = typeof addr === 'string'
? 'pipe ' + addr ? 'pipe ' + addr
: 'port ' + addr.port; : 'port ' + addr.port;
debug('Listening on ' + bind); debug('Listening on ' + bind);
} }
\ No newline at end of file
...@@ -6,19 +6,22 @@ ...@@ -6,19 +6,22 @@
"dependencies": { "dependencies": {
"@alicloud/sms-sdk": "^1.1.6", "@alicloud/sms-sdk": "^1.1.6",
"@types/node": "^10.12.18", "@types/node": "^10.12.18",
"body-parser": "^1.19.0",
"compression": "^1.7.4", "compression": "^1.7.4",
"express": "^4.17.1", "express": "^4.17.1",
"express-async-handler": "^1.1.4", "express-async-handler": "^1.1.4",
"express-history-api-fallback": "^2.2.1",
"formidable": "^1.2.1", "formidable": "^1.2.1",
"log4js": "^6.3.0",
"lru-cache": "^4.1.5", "lru-cache": "^4.1.5",
"md5": "^2.2.1", "md5": "^2.2.1",
"moment": "^2.24.0", "moment": "^2.24.0",
"mongoose": "^5.4.0", "mongoose": "^5.4.0",
"multer": "^1.4.3",
"mysql": "^2.18.1", "mysql": "^2.18.1",
"node-psd": "^1.0.1",
"node-xlsx": "^0.16.1", "node-xlsx": "^0.16.1",
"nodemailer": "^6.1.1", "nodemailer": "^6.1.1",
"oracledb": "^5.3.0",
"pyfl": "^1.1.4",
"request": "^2.88.0", "request": "^2.88.0",
"svg-captcha": "^1.3.12", "svg-captcha": "^1.3.12",
"ws": "^5.2.2" "ws": "^5.2.2"
......
//关于图片的操作 import { addOncePic, selectAllPicture, selectPicById, selectPicList, update } from "../model/picture";
import { selectUserByLogin } from "../model/users";
import { upImgPathConfig } from "../serverConfig";
import { isDirExists } from "../util/filesService";
import { psdForPng } from "../util/psd";
const multer = require('multer');
const bodyParser = require('body-parser');
const express = require('express');
const app = express();
export async function up() { // const dir = upImgPathConfig.psd;
// let files = fs.readdirSync(dir);
let ret:any = {};
export async function up(req, res) {
let picList = [];
let pngName = psdForPng(req.query.pName);
picList.push({
pId: parseInt(req.query.pId),
uId: req.query.uId,
uName: req.query.uName,
psdName: req.query.pName,
pngName,
path: req.query.path,
chartType: req.query.chartType,
createTime: new Date()
});
ret["up"] = await addOncePic(picList);
res.send(ret);
}
export async function down(req, res) {
let pId = req.query.pId;
ret["down"] = await selectPicById(pId);
res.send(ret);
} }
export async function dow() { export async function changePic(req, res) {
let pId = parseInt(req.query.pId);
let picList = [];
picList.push({
psdName: req.query.pName,
path: req.query.path,
chartType: req.query.chartType,
createTime: new Date()
});
} ret["changePic"] = await update(pId, picList);
\ No newline at end of file res.send(ret);
}
export async function picLict(req, res) {
ret["picLict"] = await selectPicList();
res.send(ret);
}
export async function uploadImg(fileFilter, storage) {
let imageUploader = multer({
fileFilter,
storage,
}).single("file");
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json())
app.post("/upload", imageUploader, (req, res) => {
res.send("上传成功");
});
}
import { Query } from "mongoose";
import { addOnceUser, selectUserById, selectUserByLogin, update } from "../model/users";
let ret:any = {};
export async function login(req, res) {
let uName = req.query.uName;
let uPwd = req.query.uPwd;
ret["login"] = await selectUserByLogin(uName, uPwd);
res.send(ret);
}
export async function changePwd(req, res) {
let uId = req.query.uId;
let userInfo = {
uName : req.query.uName,
uPwd : req.query.uPwd
}
ret["changePwd"] = await update(uId, userInfo);
res.send(ret);
}
export async function register(req, res) {
let addInfo = {
uName: req.query.uName,
uPwd: req.query.uPwd,
uImg: req.query.uImg
}
ret["registerUser"] = await addOnceUser(addInfo);
res.send(ret);
}
import { getAllLog } from "../../model/log/log";
import { addOncePic, selectAllPicture, selectPicById } from "../../model/picture";
const mongoose = require('mongoose');
const pictures = require('../../model/picture').pictures;
export async function up(req, res) {
let pId = req.query.pId;
await selectPicById(pId);
return;
}
import { now } from "mongoose";
import { initDB } from "./db/mongo/db_init";
import { httpServer } from "./net/http_server"; import { httpServer } from "./net/http_server";
import { getPort } from "./serverConfig"; import { getPort } from "./serverConfig";
import { psdForPng } from "./util/psd";
async function lanuch() { async function lanuch() {
httpServer.createServer(getPort()); httpServer.createServer(getPort());
} }
lanuch(); lanuch();
...@@ -19,13 +19,14 @@ export async function getAllLog() { ...@@ -19,13 +19,14 @@ export async function getAllLog() {
return await logModel.find({}).exec(); return await logModel.find({}).exec();
} }
export async function addLog() {//todo export async function addLog(addInfo) {//todo
await logModel.insert(addInfo);
return true;
} }
export async function selectLogByParamater(paramater) { //todo export async function selectLogByParamater(paramater) { //todo
let query = {paramater}
return await logModel.find(query).exec();
} }
export function getParamater() {//todo export function getParamater() {//todo
......
...@@ -3,11 +3,14 @@ import { picDB } from "../db/mongo/db_init"; ...@@ -3,11 +3,14 @@ import { picDB } from "../db/mongo/db_init";
const pictureSchema = new Schema({ const pictureSchema = new Schema({
pId: {type:Number, index:true}, pId: {type: Number, index:true},
pName: {type: String}, uId: {type: Number},
uName: {type: String},
psdName: {type: String},
pngName: {type: String},
path: {type: String}, path: {type: String},
chartType:{type:Number, index:true},// 按图表类型分 后续有新的标签类型,就往后加 chartType:{type:Number, index:true},// 按图表类型分 后续有新的标签类型,就往后加
createTime:{type:Date, index:true} createTime:{type:Date, index:true},
}); });
let pictureModel; let pictureModel;
...@@ -16,29 +19,57 @@ export function initModel() { ...@@ -16,29 +19,57 @@ export function initModel() {
pictureModel = picDB.model('picture', pictureSchema) pictureModel = picDB.model('picture', pictureSchema)
} }
export async function selectPicList() {
let userModel = require('../model/users');
return await pictureModel.find((err, doc) => {
let picItem = JSON.parse(JSON.stringify(doc));
let uId = picItem[0].uId;
userModel.find({"uId":uId}, (err, doc) => {
picItem[0].picInfo = doc[0];
})
})
}
export async function selectAllPicture() { export async function selectAllPicture() {
return await pictureModel.find({}).exec(); return await pictureModel.find({}).exec();
} }
export async function addManyPic(picList) { export async function selectPicById(pId) {
await pictureModel.insertMany(picList); let query = {pId: pId};
return true; return await pictureModel.find(query).exec();
} }
export async function addOncePic(pId, pName, path, chartType) { export async function addOncePic(addInfo) {
let addInfo = { // await pictureModel.inseraddInfot(addInfo);
pId, // return true;
pName,
path,
chartType,
createTIme:new Date()
};
await pictureModel.insert();
return true;
}
export async function update() {//todo await pictureModel.save((err, doc) => {
doc = addInfo;
if (!err) {
console.log('保存成功');
return true;
} else {
console.log('Error:' + err);
}
})
return false;
} }
export async function update(pId, reviseInfo) {//todo
// await pictureModel.update(reviseInfo);
// return true;
await pictureModel.findById(pId, (err, doc) => {
doc = reviseInfo;
doc.save((err) => {
if (!err) {
console.log('修改成功');
return true;
} else {
console.log('Error:' + err);
}
})
})
return false;
}
\ No newline at end of file
import { rejects } from "assert";
import { resolve } from "dns";
import { Schema } from "mongoose"; import { Schema } from "mongoose";
import { picDB } from "../db/mongo/db_init"; import { picDB } from "../db/mongo/db_init";
const bcrypt = require('bcrypt');
const usersSchema = new Schema({ const usersSchema = new Schema({
uId: {type:Number, index: true}, //id uId: {type:Number, index: true}, //id
uName: {type: String}, //管理员账号 uName: {type: String}, //管理员账号
uPwd: {type: String}, //管理员密码 uPwd: {type: String}, //管理员密码
uImg: {type: String}, //头像
}); });
let usersModel; let usersModel;
...@@ -14,15 +17,54 @@ export function initModel() { ...@@ -14,15 +17,54 @@ export function initModel() {
usersModel = picDB.model('users', usersSchema); usersModel = picDB.model('users', usersSchema);
} }
export async function selectAllUser() { export async function selectAllUser() {
return await usersModel.find({}).exec(); return await usersModel.find({}).exec();
} }
export async function update() { //todo export async function update(uId, userInfo) { //todo
// await usersModel.findById(uId, paramater);
// return true;
await usersModel.findById(uId, (err, doc) => {
doc = userInfo;
doc.save((err) => {
if(!err) {
console.log('修改成功');
return true;
} else {
console.log('Error:' + err);
}
})
})
return false;
}
export async function selectUserById(uId) {//todo
let query = {uId: uId};
return await usersModel.find(query).exec();
} }
export async function selectUserById() {//todo export async function selectUserByLogin(uName, uPwd) {//todo
let query = {uName: uName, uPwd: uPwd};
} return await usersModel.find(query).exec();
\ No newline at end of file }
export async function addOnceUser(addInfo) {
// addInfo = {
// uId : 1,
// uName : '陈某',
// uPwd : '123456'
// }
// await usersModel.insert(addInfo);
// return true;
await usersModel.save((err, doc) => {
doc = addInfo;
if (!err) {
console.log('保存成功');
return true;
} else {
console.log('Error:' + err);
}
})
return false;
}
import * as asyncHandler from 'express-async-handler' import * as asyncHandler from 'express-async-handler'
import * as dataListBiz from '../biz/dataList' import * as dataListBiz from '../biz/dataList'
import * as userBiz from '../biz/user'
import * as picBiz from '../biz/pic'
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.get('/datalist', asyncHandler(dataListBiz.getData)); httpServer.get('/datalist', asyncHandler(dataListBiz.getData));
httpServer.get('/up', asyncHandler(picBiz.up));
httpServer.post('/up', asyncHandler(picBiz.up));
httpServer.get('/down', asyncHandler(picBiz.down));
httpServer.post('/down', asyncHandler(picBiz.down));
httpServer.get('/picLict', asyncHandler(picBiz.picLict));
httpServer.post('/picLict', asyncHandler(picBiz.picLict));
httpServer.get('/uploadImg', asyncHandler(picBiz.uploadImg));
httpServer.post('/uploadImg', asyncHandler(picBiz.uploadImg));
httpServer.get('/registerUser', asyncHandler(userBiz.register));
httpServer.post('/registerUser', asyncHandler(userBiz.register));
httpServer.get('/changePwd', asyncHandler(userBiz.changePwd));
httpServer.post('/changePwd', asyncHandler(userBiz.changePwd));
httpServer.get('/login', asyncHandler(userBiz.login));
httpServer.post('/login', asyncHandler(userBiz.login));
} }
\ No newline at end of file
...@@ -37,6 +37,6 @@ export const systemLogPath = { ...@@ -37,6 +37,6 @@ export const systemLogPath = {
} }
function getPicDBUrl() { function getPicDBUrl() {
return ''; return 'mongodb://127.0.0.1:27017/picDB';
} }
const fs = require('fs');
const multer = require('multer');
const path = require('path');
///过滤
let fileFilter = function (req, file, cb) {
let acceptableMime = ["image/jpeg", "image/png", "image/jpg", "image/gif"];
//限制类型
if (acceptableMime.indexOf(file.mimetype) !== -1) {
cb(null, true); //通过上传
} else {
cb(null, false); //禁止上传
}
}
let storage = multer.diskStorage({
//图片上传位置
destination: path.resolve(__dirname, "/res/up"),
//上传文件保存的文件名
filename: function (req, file, cb) {
//获取后缀
let extName = file.originalname.slice(file.originalname.lastIndexOf(".")); //.jpg
//获取名称
let fileName = Date.now();
cb(null, fileName + extName); //15132464156.jpg
}
})
export async function isDirExists(dirpath, isCreateDir) {
return async (resolve, reject) => {
if (!fs.existsSync(dirpath)) { //判断文件夹是否存在
if (isCreateDir) { //如果不存在就创建
const res = await createDir(dirpath);
if (res) {
resolve(res);
} else {
reject(res);
}
} else {
resolve(true);
}
} else {
resolve(true);
}
}
}
export async function createDir(filepath) {
return async (resolve, reject) => {
fs.mkdir(filepath, (err) => {
if (err) {
console.log(`创建文件夹:${filepath}失败!`);
reject(err);
} else {
console.log(`创建文件夹:${filepath}成功!`);
resolve(true);
}
})
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment