Commit 7b68a215 by lixinming

no message

parent 79fe7ceb
......@@ -1100,8 +1100,8 @@
},
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
"integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk="
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"semver": {
"version": "5.7.1",
......@@ -1341,8 +1341,8 @@
},
"xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npm.taobao.org/xml2js/download/xml2js-0.4.23.tgz",
"integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
......@@ -1350,8 +1350,8 @@
},
"xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz?cache=0&sync_timestamp=1600349105009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlbuilder%2Fdownload%2Fxmlbuilder-11.0.1.tgz",
"integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM="
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
},
"yallist": {
"version": "2.1.2",
......
......@@ -20,7 +20,8 @@
"nodemailer": "^6.1.1",
"request": "^2.88.0",
"svg-captcha": "^1.3.12",
"ws": "^5.2.2"
"ws": "^5.2.2",
"xml2js": "^0.4.23"
},
"devDependencies": {},
"scripts": {
......
<config>
<port>30001</port>
<rightView>
<ipPort>http://10.51.50.136:8090/sql/execute</ipPort>
</rightView>
</config>
\ No newline at end of file
import { getCsfx } from "../../data/interface/csfx";
export async function getData(req, res) {
let ret = await getCsfx();
res.send(ret);
}
\ No newline at end of file
import { getCsgk } from "../../data/interface/csgk";
export async function getData(req, res) {
let ret = await getCsgk();
res.send(ret);
}
\ No newline at end of file
import { getDataBySql } from "../../data/mysql/getData";
import { SQLENUM } from "../../data/mysql/sql";
export async function getData(req, res) {
let ret:any = {};
let computingCloudResources = await getDataBySql(SQLENUM.计算云资源);
let cloudResourceUsage = await getDataBySql(SQLENUM.计算云资源使用率);
let physicalResources = await getDataBySql(SQLENUM.物理资源);
res.send(ret);
}
\ No newline at end of file
import { getKeyValueNumberOutData, getChartOutData, getKeyValueNotNumberOutData, getListOutData, getScatterFigureOutData, getStringOutData } from "../cal/out";
import { get监管服务能力_企业测试分析 } from "../data/analysisExcelData";
export function getData(req, res) {
let ret:any = {};
let excelData:any = get监管服务能力_企业测试分析();
ret["api1"] = getKeyValueNumberOutData("企业测试分析", excelData.企业测试分析 );
ret["api2"] = getChartOutData("各企业测试里程和时长分析", excelData.各企业测试里程和时长分析 );
ret["api3"] = getKeyValueNumberOutData("功能测试总和", excelData.功能测试总和 );
ret["api4"] = getChartOutData("各企业功能测试里程碑和时长分析", excelData.各企业功能测试里程碑和时长分析 );
res.send(ret);
}
\ No newline at end of file
import { getKeyValueNumberOutData, getChartOutData, getKeyValueNotNumberOutData, getListOutData, getScatterFigureOutData, getStringOutData } from "../cal/out";
import { get监管服务能力_企业测试分析 } from "../data/analysisExcelData";
export function getData(req, res) {
let ret:any = {};
let excelData:any = get监管服务能力_企业测试分析();
ret["api1"] = getKeyValueNumberOutData("企业测试分析", excelData.企业测试分析 );
ret["api2"] = getChartOutData("各企业测试里程和时长分析", excelData.各企业测试里程和时长分析 );
ret["api3"] = getKeyValueNumberOutData("功能测试总和", excelData.功能测试总和 );
ret["api4"] = getChartOutData("各企业功能测试里程碑和时长分析", excelData.各企业功能测试里程碑和时长分析 );
res.send(ret);
}
export function getInterfaceData(req, res) {
let ret:any = {};
//获取企业日里程接口 startTime endTime
let result = [{time_day:"2022-07-28", enterprise:"奔驰", total_mileage:11}, {time_day:"2022-07-27", enterprise:"宝马", total_mileage:11}];
let 企业测试分析 = [];
result.forEach(element => {
});
ret["api1"] = getKeyValueNumberOutData("企业测试分析", excelData.企业测试分析 );// {}
ret["api2"] = getChartOutData("各企业测试里程和时长分析", excelData.各企业测试里程和时长分析 );
ret["api3"] = getKeyValueNumberOutData("功能测试总和", excelData.功能测试总和 );
ret["api4"] = getChartOutData("各企业功能测试里程碑和时长分析", excelData.各企业功能测试里程碑和时长分析 );
res.send(ret);
}
const path = require('path');
import * as fs from "fs";
import { BizError } from "../util/bizError";
import { analysisXml } from "../util/myXML";
export let port = Number(process.env.PORT) || Number(process.argv[3]) || 7576; //如果xml里面没有配置 就会使用到这里的端口
export let dbConfig;
export let appConfig;
export let mongoServerConstVal;
export let systemLogPath;
export let mySqlConfig;
const ConfigName = "serverConfig.xml";
export async function initConfig() {
try {
let buff = fs.readFileSync(path.join(__dirname.substring(0,__dirname.indexOf("out")), ConfigName));
let configStr = buff.toString();
let configInfo:any = await analysisXml(configStr);
if (!configInfo || !configInfo.config) console.log("xml中无配置加载");
else {
let config = configInfo.config;
port = config.port[0] || port;
}
console.log("config init success");
} catch(err) {
throw new BizError("服务器配置解析错误 请检查根目录下 serverConfig.xml 文件是否正确");
}
}
import { mysql_ddptDB } from "../../db/mysql/mysql_init";
import { BizError } from "../../util/bizError";
export function getDataBySql(sql, ...param) {
let paramList = [];
param.forEach(thisStr => {
paramList.push(thisStr);
});
return new Promise( (resolve, reject) => {
mysql_ddptDB.query(sql, paramList, (err, results, fields) => {
if (err) throw new BizError(err);
else resolve(results);
});
});
}
export function getDataCountBySql(sql, ...param) {
let paramList = [];
param.forEach(thisStr => {
paramList.push(thisStr);
});
return new Promise( (resolve, reject) => {
mysql_ddptDB.query(sql, paramList, (err, results, fields) => {
if (err) throw new BizError(err);
else resolve(results[0].count);
});
});
}
\ No newline at end of file
// sql语句
export enum SQLENUM {
计算云资源 = ``,
计算云资源使用率 = ``,
物理资源 = ``
}
\ No newline at end of file
import mongoose = require('mongoose');
import mongoClient = require('mongodb');
let defaultOptions = {
// useNewUrlParser:true,
auto_reconnect:true,
reconnectTries:1000,
reconnectInterval:3000,
keepAlive: 1,
connectTimeoutMS: 30000
};
export async function createDbConnect(connectUrl:string, options?:object) {
if (!connectUrl) throw new Error(`wrong connect url ${connectUrl}`);
if (!options) options = defaultOptions;
console.log("connection mongo=> ",connectUrl);
return await mongoose.createConnection(connectUrl, options).catch((err)=>{throw err});
}
//初始化db
import { mongoServerConstVal } from '../../serverConfig';
import {createDbConnect} from './db_connect';
import { tableInit } from './table_init';
let db;
export async function init() {
console.log('connect to mongodb success');
db = await createDbConnect(mongoServerConstVal.dbUrl).catch((err)=>{throw err;});
process.stdin.emit('dbinit success');
tableInit();
}
export {db};
\ No newline at end of file
export function tableInit() {
console.log("tableinit success");
}
\ No newline at end of file
import * as mysql from 'mysql'
export function createMySqlConnect(host:string, port:number, user:string, password:string, database:string) {
return mysql.createConnection({ host, port, user, password, database });
}
import { mySqlConfig } from '../../serverConfig';
import { createMySqlConnect} from './mysql_connect';
let mysql_ddptDB;
export function initMysqlDB() {
const dataBase = 'ddpt';
mysql_ddptDB = createMySqlConnect(mySqlConfig.mysqlHost, mySqlConfig.mysqlPort, mySqlConfig.mysqlUser, mySqlConfig.mysqlPwd, dataBase);
mysql_ddptDB.connect(handleError);
mysql_ddptDB.on('error', handleError);
}
function handleError (err) {
if (err) {
// 如果是连接断开,自动重新连接
if (err.code === 'PROTOCOL_CONNECTION_LOST') {
initMysqlDB();
} else {
console.error(err.stack || err);
}
}
}
export { mysql_ddptDB };
\ No newline at end of file
import { getCsfx } from "./data/interface/csfx";
import { getCsgk } from "./data/interface/csgk";
import { initConfig, port } from "./config/serverConfig";
import { httpServer } from "./net/http_server";
import { getPort } from "./serverConfig";
async function lanuch() {
// httpServer.createServer(getPort());
getCsfx();
// getCsgk();
await initConfig();
httpServer.createServer(port);
console.log('This indicates that the server is started successfully.');
}
......
......@@ -4,7 +4,6 @@ import sign = require('../middleware/sign');
import routers = require('../routers/router');
import compression = require('compression');
import { encryptionReturn } from '../middleware/encryptionReturn';
import { getEnv } from '../serverConfig';
import * as path from "path";
import * as fallback from 'express-history-api-fallback';
......@@ -32,11 +31,7 @@ export class httpServer {
httpServer.use(bodyParser.json({limit:"10kb"}));
httpServer.use(compression())
//演示环境加密数据
if (getEnv() == "dem") {
console.log("演示环境 开启数据加密");
httpServer.use(encryptionReturn);
}
routers.setRouter(httpServer);
const root = path.join(__dirname, "../../public");
......
......@@ -7,10 +7,6 @@ import * as jgfwnl_spBiz from '../biz/jgfwnl_sp';
import * as jgfwnl_qycsfxBiz from '../biz/jgfwnl_qycsfx';
import * as jgfwnl_clcszlBiz from '../biz/jgfwnl_clcszl';
import * as jgfwnl_RSUfslBiz from '../biz/jgfwnl_RSUfsl';
import * as csgkBiz from '../biz/jgfwnl/csgk';
import * as csfxBiz from '../biz/jgfwnl/csfx';
import * as yzy from '../biz/jgfwnl/yzy';
export function setRouter(httpServer){
httpServer.get('/jgfwnl_yzy', asyncHandler(jgfwnl_yzyBiz.getData));
......@@ -29,13 +25,13 @@ export function setRouter(httpServer){
//接口
httpServer.get('/testOverview', asyncHandler(csgkBiz.getData)); //测试概况
httpServer.get('/testAnalysis', asyncHandler(csfxBiz.getData)); //测试分析
httpServer.get('/cloudResoures', asyncHandler(yzy.getData)); //云资源
// httpServer.get('/testOverview', asyncHandler(csgkBiz.getData)); //测试概况
// httpServer.get('/testAnalysis', asyncHandler(csfxBiz.getData)); //测试分析
// httpServer.get('/cloudResoures', asyncHandler(yzy.getData)); //云资源
httpServer.post('/testOverview', asyncHandler(csgkBiz.getData));
httpServer.post('/testAnalysis', asyncHandler(csfxBiz.getData));
httpServer.post('/cloudResoures', asyncHandler(yzy.getData));
// httpServer.post('/testOverview', asyncHandler(csgkBiz.getData));
// httpServer.post('/testAnalysis', asyncHandler(csfxBiz.getData));
// httpServer.post('/cloudResoures', asyncHandler(yzy.getData));
}
\ No newline at end of file
//端口
export function getPort() : number {
return Number(process.env.PORT) || Number(process.argv[3]) || 30001;//30001 是给前端的地址
}
// sit 测试环境 prod 生产环境 dem 演示环境(测试数据,前端无密码访问)
export function getEnv() : string {
return process.argv[2] || "sit";
}
//mongo数据库连接字符
export const mongoServerConstVal = {
dbUrl:'mongodb://192.168.12.79:27017/zjsc?w=1&wtimeoutMS=30000'
}
//mysql数据库连接对象
export const mySqlConfig = {
mysqlHost: 'localhost',
mysqlPort: 3306,
mysqlUser: 'root',
mysqlPwd: '123456',
// mysqlHost:'10.96.240.55',
// mysqlPort:3306,
// mysqlUser:'ddtest',
// mysqlPwd:'ddtest123^',
};
export const interfaceConfig = {
企业信息数据列表: '/openapi/company/list',
创投机构数据列表: '/openapi/investorg/list',
科技金融产品: '/openapi/product/list'
}
\ No newline at end of file
var xml2js = require("xml2js");
/**
*
* @param str 需要解析的xml文本
* @returns 解析好的对象
*/
export function analysisXml(str) {
return new Promise( (resolve, reject) => {
xml2js.parseString(str, (err, result) => {
if (err) return reject(err);
return resolve(result);
});
});
}
\ 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