Commit 8bf8d9f1 by v_vjyjiang

history

parent f78524f6
...@@ -2,6 +2,8 @@ var fs = require("fs"); ...@@ -2,6 +2,8 @@ var fs = require("fs");
var objsettings = require("../config/objsettings"); var objsettings = require("../config/objsettings");
var settings = require("../config/settings"); var settings = require("../config/settings");
const request = require('request'); const request = require('request');
const jwk2pem = require('pem-jwk').jwk2pem
const jwt = require('jsonwebtoken')
class System { class System {
static declare (ns) { static declare (ns) {
var ar = ns.split('.'); var ar = ns.split('.');
...@@ -16,6 +18,14 @@ class System { ...@@ -16,6 +18,14 @@ class System {
} }
} }
} }
/**
* 验证token
* @param {String} token jwt token
* @param {Object} publicKey 公钥
*/
static verify (token, publicKey) {
return jwt.verify(token, jwk2pem(publicKey));
}
static async delReq (url, qdata) { static async delReq (url, qdata) {
let rtn = {} let rtn = {}
let promise = new Promise(function (resv, rej) { let promise = new Promise(function (resv, rej) {
...@@ -365,4 +375,8 @@ module.exports = System; ...@@ -365,4 +375,8 @@ module.exports = System;
//System.execLogs("hello",{"opcode":"xxxxx"},"ddfdf",{requestId:'ddds'},null) //System.execLogs("hello",{"opcode":"xxxxx"},"ddfdf",{requestId:'ddds'},null)
// let str = "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRjMmM1MzMwMjNhMTExZTlhOTU3NjliODBiNDI4Y2QxIn0.eyJpZCI6IjViZDk2MWJkZWQxN2E5MmI1MDFjZWQ0ZCIsIm5hbWUiOiLpnZLph4kxMSIsImVtcGxveWVlIjoiNWQ5ZWNlODc1Zjk3ZGQzMzEwNzI4ZjY4IiwicGhvbmUiOiI3TFlYZ29ySkdGM2hBbHdqQTZGelFnPT0iLCJvcmdpZCI6IjViY2ZlOTVjYjBhMDFmMDAwOTI4NGJjMyIsInBsYXRmb3JtIjoiZDVmYTU4Yjk3NGExMjBlZTYxMTMzM2MwMDNjOWZlYzAiLCJ1bmlvbmlkIjoib2RuWjR0OERoV1V0N0lXT09maEF0UTdqM1docyIsImp0aSI6Imo3R0hLRGFzNDEzQTQ2OGkiLCJleHAiOjE1OTYwODEzMTEsImlhdCI6MTU5NTQ3NjUxMX0.I196XbcCR3k7r1O8uwoI2HUhow0UhGHKzii5wOR39vLmuNOUatNY7ccQTCHijqysbSCePP43Iuglrl2gLQASf5uAr9uqTzhTc3O4Z5iF3oR2qR1vlBxrzTDF8xuhKHQ4tO6Hbsib0FdOYVeU8fe0g_GZiIcuYIv-f8VsiAGMF9TEES129CDwZacJfVViw4EXVnXSivAzQG4JgGSwUACvPT140bCZ1XPeHi0GXmgtEN77NjWfOGI5RYGC0Gq3CGevlSWERjb3mUscAIjoXsOxlWNwy7dc1u1A7uX1a6bUhLU1wtiQ6md4TnyeR5OdYeVqGlIe3hZGcH_E3QrQMq988Q"
// console.log(str)
// let s = System.verify(str.split(' ')[1], settings.publickey())
// console.log(s)
...@@ -11,28 +11,42 @@ var system = require('../base/system'); ...@@ -11,28 +11,42 @@ var system = require('../base/system');
var routes = require('./routes'); var routes = require('./routes');
var history = require('connect-history-api-fallback'); var history = require('connect-history-api-fallback');
module.exports = function (app) { module.exports = function (app) {
app.set('port', settings.port); app.set('port', settings.port);
app.set('views', settings.basepath + '/app/front/entry'); app.set('views', settings.basepath + '/app/front/entry');
app.set('view engine', 'ejs'); app.set('view engine', 'ejs');
app.use(methodOverride());
app.use(history()); app.use(cookierParser());
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
routes(app);//初始化路由
app.use(history(
{
rewrites: [
{
from: /.*/,
to: function (context) {
if (context.parsedUrl.pathname.indexOf("autologin") >= 0) {
return context.parsedUrl.pathname
} else {
return '/index.html';
}
app.use(methodOverride()); }
app.use(cookierParser()); }
app.use(bodyParser.json({limit:'50mb'})); ]
app.use(bodyParser.urlencoded({limit:'50mb',extended:true}));
routes(app);//初始化路由
app.use(express.static(path.join(settings.basepath, '/app/front/entry/public')));
// development only
if ('development' == app.get('env')) {
app.use(errorHandler());
}else{
app.use(function(err,req,res){
console.log("prod error handler................................>>>>>>>>>>>>>>>>>");
console.log(err);
//logerApp.error("prod error handler",err);
res.send("link admin");
});
} }
));
app.use(express.static(path.join(settings.basepath, '/app/front/entry/public')));
// development only
if ('development' == app.get('env')) {
app.use(errorHandler());
} else {
app.use(function (err, req, res) {
console.log("prod error handler................................>>>>>>>>>>>>>>>>>");
console.log(err);
//logerApp.error("prod error handler",err);
res.send("link admin");
});
}
}; };
var url = require("url"); var url = require("url");
var System = require("../../base/system"); var System = require("../../base/system");
const chnelapi = System.getObject("api.common.channels") const chnelapi = System.getObject("api.common.channels")
const userS = System.getObject("service.auth.userSve")
const settings = require("../settings.js")
let channelCache = {}; let channelCache = {};
module.exports = function (app) { module.exports = function (app) {
app.get("/autologin", async function (req, res, next) {
console.log("/dddddddddddddddddddddddddddddddddddddddddd")
let appkey = req.query.appkey
let cooktoken = req.cookies["token"]
let tv = cooktoken.split(' ')[1]
let sourceUser = System.verify(tv, settings.publickey())
let openid = sourceUser.employee
let userName = sourceUser.name + "~" + openid
let nickName = userName
let unid = sourceUser.unionid
//先按照openid去查看是否已经存在
//let uf = await userS.findOne({ where: { openid: openid })
// if (!uf) {
// //就去注册一个用户
// //按照公司companykey查询出要注册公司的所在公司,取公司id
// //构造注册用户对象,需要设置默认角色,默认角色需要按照rolecode查询出角色
// //调用pmregister
// let uname = xxxx
// }
res.end("hello")
//调用loginApp(appkey,uname)---登录APP
// { code: xxx, homePage: xxxx }=loginApp(appkey, uname)
// res.redirect(homePage ? code = xxx)
})
app.all("*", async function (req, res, next) { app.all("*", async function (req, res, next) {
try { try {
let channel; let channel;
......
var url = require("url"); var url = require("url");
var system = require("../../base/system"); var system = require("../../base/system");
var metaCtl=system.getObject("web.common.metaCtl"); var metaCtl = system.getObject("web.common.metaCtl");
module.exports = function (app) { module.exports = function (app) {
app.get('/web/:gname/:qname/:method', function (req, res) { app.get('/web/:gname/:qname/:method', function (req, res) {
var classPath = req.params["qname"]; var classPath = req.params["qname"];
var methodName = req.params["method"]; var methodName = req.params["method"];
var gname=req.params["gname"]; var gname = req.params["gname"];
classPath=gname+"."+classPath; classPath = gname + "." + classPath;
var params = []; var params = [];
params.push(methodName); params.push(methodName);
params.push(req.body); params.push(req.body);
params.push(req.query); params.push(req.query);
params.push(req); params.push(req);
var p = null; var p = null;
var invokeObj = system.getObject("web." + classPath); var invokeObj = system.getObject("web." + classPath);
if (invokeObj["doexec"]) { if (invokeObj["doexec"]) {
...@@ -24,18 +24,18 @@ module.exports = function (app) { ...@@ -24,18 +24,18 @@ module.exports = function (app) {
app.post('/web/:gname/:qname/:method', function (req, res) { app.post('/web/:gname/:qname/:method', function (req, res) {
req.codepath = req.headers["codepath"]; req.codepath = req.headers["codepath"];
var classPath = req.params["qname"]; var classPath = req.params["qname"];
var methodName = req.params["method"]; var methodName = req.params["method"];
var gname=req.params["gname"]; var gname = req.params["gname"];
var params = []; var params = [];
classPath=gname+"."+classPath; classPath = gname + "." + classPath;
var tClientIp = system.get_client_ip(req); var tClientIp = system.get_client_ip(req);
req.body.clientIp = tClientIp; req.body.clientIp = tClientIp;
req.body.agent= req.headers["user-agent"]; req.body.agent = req.headers["user-agent"];
req.body.classname=classPath; req.body.classname = classPath;
params.push(methodName); params.push(methodName);
params.push(req.body); params.push(req.body);
params.push(req.query); params.push(req.query);
params.push(req); params.push(req);
var p = null; var p = null;
var invokeObj = system.getObject("web." + classPath); var invokeObj = system.getObject("web." + classPath);
if (invokeObj["doexec"]) { if (invokeObj["doexec"]) {
......
...@@ -18,8 +18,27 @@ var settings = { ...@@ -18,8 +18,27 @@ var settings = {
defaultpwd: "gsb2020", defaultpwd: "gsb2020",
basepath: path.normalize(path.join(__dirname, '../..')), basepath: path.normalize(path.join(__dirname, '../..')),
port: process.env.NODE_PORT || 80, port: process.env.NODE_PORT || 80,
logindex:"center_manage", logindex: "center_manage",
appname:"center_manage", appname: "center_manage",
publickey: function () {
if (this.env == "dev") {
return {
"kty": "RSA",
"n": "qrie8Rrptw5hGJ9fdI8f6QJuLLbTulWkSmFYDQDPu2aXP65wbRhtPMxn6DA9Qh_o29LqtlNd1L5dhY5ma_hXSwNv-FfiQoUkkdFFZ2H_mODnKaLtV5evho9r3_wGa92dxV_UZQVUurhZ7V6gQk0BzrpUuMqZ1JDOcD4iG_bEEZjuRXWpXtKKj7MoXJyTUrOlCyN1yFo7gxM3ee6rImxfDP4nEhKPnL7HqwTcXCQApLJORRluoThEciVXRs8SYk08MtemZUhCq8QjXTvS52S5u5o_osFqs1DnPYHpiAfydOfEweFCgomt7imD5vIjOlUDEBSGE0mRUFCBnM3Qg_idZQ",
"e": "AQAB",
"kid": "dc2c533023a111e9a95769b80b428cd1",
"alg": "ES256"
}
} else {
return {
"kty": "RSA",
"n": "vkjTlSBYiknVYOJZXAGOyckL3aIdxxcR7iBtGtScfmB5xPop3-ZyYIuBnvCDlqx4r33Hut0bBnEbyOCOWPjsL0szsNZO4Ojbzju3INhiXxqJUPsfuPs82zDEuq-MOF2FnxeGeihPY8Va_YPSjZj9ZeN7eUtRP-nct2N4XftOxQrUPwbMAWnfZskMrjiYD-NRsIcwYaKvkvO9sfjzD9Hkp3OVTnz-doVN7FqWTLGAX8veN2bTWOD5vTqfHwhgxFR0jgZgDHMD262zFBj4ULlLlGr2J9zhWPxEOvod58ll_tHA4Q9HLzmol3u8yGuD7heyRmqnF74qEbbal-Xk67uAyw",
"e": "AQAB",
"kid": "e1703c2001dd11e9b50fd525bc2a7e1d",
"alg": "ES256"
};
}
},
kongurl: function () { kongurl: function () {
if (this.env == "dev") { if (this.env == "dev") {
var localsettings = require("./localsettings"); var localsettings = require("./localsettings");
...@@ -35,7 +54,7 @@ var settings = { ...@@ -35,7 +54,7 @@ var settings = {
return "http://icdeliver-service"; return "http://icdeliver-service";
} }
}, },
logUrl:function(){ logUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "http://192.168.1.128:4019/api/queueAction/producer/springBoard"; return "http://192.168.1.128:4019/api/queueAction/producer/springBoard";
} else { } else {
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
"node-cron": "^2.0.1", "node-cron": "^2.0.1",
"node-uuid": "^1.4.8", "node-uuid": "^1.4.8",
"pdfcrowd": "^4.2.0", "pdfcrowd": "^4.2.0",
"pem-jwk": "^2.0.0",
"pinyin": "^2.8.3", "pinyin": "^2.8.3",
"qr-image": "^3.2.0", "qr-image": "^3.2.0",
"request": "^2.88.2", "request": "^2.88.2",
......
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