Commit 6888214c by lixinming

no message

parent 981f14b1
#!/usr/bin/env node
/**
* Module dependencies.
*/
var app = require('../app');
var debug = require('debug')('data-server:server');
var http = require('http');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
/**
* Event listener for HTTP server "error" event.
*/
function onError(error) {
if (error.syscall !== 'listen') {
throw error;
}
var bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port;
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use');
process.exit(1);
break;
default:
throw error;
}
}
/**
* Event listener for HTTP server "listening" event.
*/
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind);
}
<!DOCTYPE html><html lang=en><head><meta charset=UTF-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1user-scalable=no"><title></title><link rel=icon href=../../favicon.ico><link href=../../styles/2.css rel=stylesheet><link href=../../styles/3.css rel=stylesheet><link href=../../static/styles/1.923400f5.css rel=stylesheet></head><body><div id=app></div><script src=../../static/js/2_4f236eaf.js></script><script src=../../static/js/0_4f172f21.js></script><script src=../../static/js/3_96ae135f.js></script><script src=../../static/js/1_f3944c88.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
{}
\ No newline at end of file
import { getManagePlatformData, updateManagePlatform } from "../data/interface/data";
import { BizError } from "../util/bizError";
export async function getData(req, res) {
// let ret:any = {};
let {currentpage, allow, search} = req.body
if(!currentpage || !allow) throw new BizError("请求参数错误");
let ret = await getManagePlatformData(currentpage, allow, search);
res.send(ret);
}
export async function update(req, res) {
let {params} = req.body
if(!params) throw new BizError("请求参数错误");
let ret = await updateManagePlatform(params);
res.send(ret);
}
\ No newline at end of file
import { getUserPermission, getManagePermission } from "../data/interface/pagePermissions";
import { BizError } from "../util/bizError";
export async function getUserPer(req, res) {
let {sessionid, userId} = req.body
console.log(userId, "userId")
// sessionid等接入统一认证后,再校验
if(!userId) throw new BizError("请求参数错误");
let ret = await getUserPermission(sessionid, userId);
res.send(ret);
}
export async function managePermission(req, res) {
let {sessionid, userId} = req.body
console.log(userId, "userId")
// sessionid等接入统一认证后,再校验
if(!userId) throw new BizError("请求参数错误");
let ret = await getManagePermission(sessionid, userId);
res.send(ret);
}
import { PAGEENUM, SYSTEMERRORENUM } from "../config/enum";
import { addTokenInfo, addUserInfo, checkAdminPermission, checkPagePermission, selectUserList, updateUser } from "../data/user/user";
import { uacInfomation } from "../serverConfig";
import { BizError } from "../util/bizError";
import { get, getParmiss, post, postParmiss } from "../util/request";
//登录
export async function getUserToken(req, res) {
let {grant_type, code, redirect_uri} = req.body;
let body = {
code,
grant_type,
client_id:uacInfomation.client_id,
client_secret:uacInfomation.client_secret,
redirect_uri,
};
let result:any = await postParmiss(uacInfomation.getTokenUrl, body, {});
let token;
if (result.error) {
throw new BizError(SYSTEMERRORENUM.您的登录已失效);
} else if (result.access_token) { //获取用户信息
let { isAdmin, sub, real_name, phone, otherPage } = await getUserInfo(result.access_token);
if (sub && real_name && phone && otherPage) {
let lastTokenMs = new Date().valueOf();
addUserInfo(sub, phone, real_name, isAdmin, otherPage);
token = addTokenInfo(sub, lastTokenMs, result.access_token, result.refresh_token, isAdmin);
} else {
throw new BizError(SYSTEMERRORENUM.您的账户没有访问权限);
}
} else {
throw new BizError(SYSTEMERRORENUM.获取不到access_token);
}
res.success({token});
}
//刷新 玑脉 token
async function refreshToken(refresh_token) {
let body = {
client_id:uacInfomation.client_id,
client_secret:uacInfomation.client_secret,
refresh_token,
grant_type:"refresh_token",
scope:"openid profile"
};
let result:any = await postParmiss(uacInfomation.refreshTokenUrl, body, {});
}
//检验玑脉token 是否失效
export async function checkAccessToken(access_token) {
let result:any = await getParmiss(uacInfomation.getUserInfoUrl, {}, {"Authorization": `Bearer ${access_token}`});
let {sub, permission, phone, real_name} = result;
if (!sub) return {sub:false };
permission = permission || "";
let isAdmin = permission.indexOf("dpzs_client_admin") > -1;//是否能进入管理后天
let otherPage = permission.indexOf("dpzs_client_znfx") > -1; //是否能进入二级页面
//检验是否有变化
addUserInfo(sub, phone, real_name, isAdmin, otherPage);
return {sub, userName:real_name, isAdmin, otherPage};
}
//获取统一认证用户信息
async function getUserInfo(access_token) {
let result:any = await getParmiss(uacInfomation.getUserInfoUrl, {}, {"Authorization": `Bearer ${access_token}`})
let isAdmin = false;
let {sub, role, permission, real_name, phone} = result;
if (!sub) throw new BizError(SYSTEMERRORENUM.获取玑脉用户信息失败);
permission = permission || "";
isAdmin = permission.indexOf("dpzs_client_admin") > -1;//是否能进入管理后天
let otherPage = permission.indexOf("dpzs_client_znfx") > -1; //是否能进入二级页面
return {isAdmin, sub, role, real_name, phone, otherPage};
}
//校验是否有权限跳转管理后台
export function checkPermissionForAdmin(req, res) {
let userId = req.headers.userid;
let ownOrNot = checkAdminPermission(userId);
res.success({ownOrNot});
}
//校验是否有权限跳转大屏
export function checkPermissionForPage(req, res) {
let { page } = req.body;
if ( !page ) throw new BizError(SYSTEMERRORENUM.参数错误);
let userId = req.headers.userid;
let ownOrNot = checkPagePermission(userId, page);
res.success({ownOrNot});
}
//检验是否有权限跳转二级页面
export function checkPermissionForHomePage(req, res) {
let ownOrNot = req.headers.otherpage == true;
res.success({ownOrNot});
}
//修改权限
export async function updatePermissions(req, res) {
let { allow, userId } = req.body;
let adminUser = req.headers.userid;
if ( !Array.isArray(allow) ) throw new BizError(SYSTEMERRORENUM.请求参数错误);
//校验参数
let config = {};
for(let key in PAGEENUM) {
let enumValue:any = PAGEENUM[key];
if (!isNaN(enumValue)) {
config[enumValue] = key;
}
}
let updateInfo = {};
allow.forEach(info => {
if ( !config[info] ) throw new BizError(SYSTEMERRORENUM.请求参数错误);
updateInfo[info] = true;
});
let isAdmin = checkAdminPermission(adminUser);
if (!isAdmin) throw new BizError(SYSTEMERRORENUM.您的账户没有访问权限);
let addSuccess = updateUser(userId, updateInfo);
if (!addSuccess ) throw new BizError(SYSTEMERRORENUM.没有找到目标用户);
res.success({isOk:true});
}
//用户列表
export async function permissionList(req, res) {
let { select, page, typeList } = req.body;
if ( isNaN(page) ) throw new BizError(SYSTEMERRORENUM.参数错误);
if ( !Array.isArray(typeList) ) throw new BizError(SYSTEMERRORENUM.参数错误);
typeList.forEach(key => {
if ( isNaN(key) ) throw new BizError(SYSTEMERRORENUM.参数错误);
});
if (select.length > 60) throw new BizError(SYSTEMERRORENUM.参数错误);
let config = [];
for(let key in PAGEENUM) {
let enumValue:any = PAGEENUM[key];
if (!isNaN(enumValue)) {
config.push({
value:enumValue,
lab:key
});
}
}
let allUser = selectUserList(select, typeList || []);
//截取分页
let index = (page - 1) * 10;
let checkList = allUser.slice(index, index+10);
let result = [];
checkList.forEach(info => {
let { pm, name, phone, id, sub} = info;
let allow = [];
for (let pmKey in pm) {
if (pm[pmKey]) allow.push({
value:pmKey,
lab:PAGEENUM[pmKey]
});
}
let addInfo = {name, phoneNumber:phone, id, userId:sub , allow};
result.push(addInfo);
});
res.success({config, userList:result, count:allUser.length, name:req.headers.username});
}
\ No newline at end of file
......@@ -5,7 +5,6 @@ import { getKeyValueListData, getReflectionData } from "./out";
export async function getData(req, res) {
let ret:any = {};
let {dqjxzhd, dqhdrs, bndhds, cyhdrs, ztyxtszjdt, zcyh, dqhds, xxaqfx, zybs, zysylqsData, xtbgsj } = await getZtyxtsData();
ret["zcyh"] = getKeyValueListData("注册用户", zcyh);
......@@ -19,6 +18,7 @@ export async function getData(req, res) {
ret["ndhds"] = {title:"年度活动数", data: parseInt(dqhds["num_ndhds"] || 0) };
ret["cyhdrc"] = {title:"参与活动人次", data: parseInt(dqhds["num_cyhdrc"] || 0) };
ret["yyjk"] = {
title:"应用监控",
data:statsQueue["应用监控"]
......
......@@ -3,6 +3,10 @@ export enum SYSTEMERRORENUM {
您的登录已失效,
您的账户没有访问权限,
请求参数错误,
获取不到access_token,
没有找到目标用户,
token已过期,
获取玑脉用户信息失败
}
export enum TYPEENUM {
......@@ -13,6 +17,12 @@ export enum TYPEENUM {
boolean,
}
export enum PAGEENUM {
数字治理体系 = 1,
整体运行态势 = 2,
重要活动保障 = 3
}
let systemErrorMsgMap = {};
for (let key in SYSTEMERRORENUM) {
systemErrorMsgMap[SYSTEMERRORENUM[key]] = key;
......
import * as crod from "../crod";
const roleUrl = './mock/role.json';
const permitUrl = './mock/permit.json';
/**
* 创建角色
* @param roleName 角色名称
* @param permission 角色权限
* {"id":1,"name":"角色1","permit":[2,3]}
*/
export async function createRole(roleName, permitId?) {
let result;
let roleId = Date.now();
let roleParams = {"id":roleId, "name":roleName, "permit": permitId}
if (roleName != null) {
result = await crod.addJson(roleUrl, roleParams);
if (result.ok) {
console.log('-----------删除成功-----------');
} else {
console.log('-----------删除失败-----------');
}
}
console.log(result);
return result;
}
/**
* 查询角色权限
* @param permitUrl json路径
* @returns
*/
export async function getPermit(permitUrl) {
let result = await crod.selectJson(permitUrl);
if (result == null) {
console.log('-----------查询失败-----------');
} else {
console.log('-----------查询成功-----------');
}
console.log(result);
return result;
}
/**
* 删除角色
* @param id 角色id
* @returns
*/
export async function deleteRole(id) {
let result = await crod.delJson(roleUrl, id);
if (result.ok) {
console.log('-----------删除成功-----------');
} else {
console.log('-----------删除失败-----------');
}
console.log(result);
return result;
}
\ No newline at end of file
......@@ -139,4 +139,9 @@ function alyPost(params, path) {
res(ex);
});
});
}
//中转到 http://192.168.0.105:20001
function transferPost() {
}
\ No newline at end of file
......@@ -2,6 +2,8 @@ import moment = require("moment");
import { post } from "../../util/request";
import { getActivityListData } from "./data";
//https://api.baidu.com => 192.168.0.105:20001
function statsDataFormat() {
let dayStartTime = moment().add(-6, 'days');
let monthStart = moment().add(-5, 'months');
......
......@@ -198,7 +198,14 @@ export async function getActivityListData() {
return dataList || [];
}
//数字管理平台列表
/**
* getManagePlatformData 数字管理平台列表
* @param currentpage
* @param allow
* @param search
* @returns
*/
export async function getManagePlatformData(currentpage, allow, search) {
// await get获取token();
......@@ -225,7 +232,7 @@ export async function getManagePlatformData(currentpage, allow, search) {
}
// 根据客户端传入的 当前页 和 页面权限 筛选过后的数据
const newArr = allow.length>0?[...new Set(array)]:data;
const newArr = allow.length>0 ? [...new Set(array)] : data;
// 根据搜索入参查询
let searchArr = []
......
......@@ -5,17 +5,18 @@ import { getBaiduSiteList, getBaiduStats, getPVCountBySiteId, getUV } from "./ba
const bdyAndAlyConfig = {
"科创实践工作站": {alyName:"正汇实践工作站", alyUrl:"secsa.shec.edu.cn/kc/", baiduUrl:"" },
"青少年科学研究院": {alyName:"正汇青少年研究院", alyUrl:"secsa.shec.edu.cn/qsnkxyjy/", baiduUrl:"" },
"青少年科学研究院": {alyName:"正汇青少年研究院", alyUrl:"secsa.shec.edu.cn/qsnkxyjy/", baiduUrl:"" },
"体育日常成绩": {alyName:"正汇日常体育成绩", alyUrl:"secsa.shec.edu.cn/tyjs/", baiduUrl:"" },
"学生体育网": {alyName:"正汇学生体育网", alyUrl:"secsa.shec.edu.cn/xstyw/", baiduUrl:"" },
"综评": {alyName:"正汇综评系统", alyUrl:"shsunshine-zp.shec.edu.cn/shjw/", baiduUrl:"shsunshine-zp.shec.edu.cn/shjw" },
"上海市学生体育艺术科技教育活动": {alyName:"玑脉大平台", alyUrl:"shsunshine-zp.shec.edu.cn/", baiduUrl:"shsunshine-zp.shec.edu.cn" },
"上海市学生体育艺术科技教育活动": {alyName:"玑脉大平台", alyUrl:"shsunshine-zp.shec.edu.cn/", baiduUrl:"shsunshine-zp.shec.edu.cn" },
"因病缺课缺勤网络直报系统": {alyName:"玑脉直报系统", alyUrl:"shxxybqq.shec.edu.cn/", baiduUrl:"shxxybqq.shec.edu.cn" },
"OA办事管理系统":{baiduUrl:'secsagl.shec.edu.cn'},
"教软子系统":{baiduUrl:'shsunshine1-zp.shec.edu.cn'},
"精英足球训练营":{baiduUrl:''},
"明日科技之星":{baiduUrl:''},
"学生活动网及教软负责子系统":{baiduUrl:''},
"\"申生康\"上海校园防疫通系统":{baiduUrl:'i-ssk.shec.edu.cn'}
};
export let statsQueue = {};
......
const fs = require("fs");
const path = require("path");
const md5 = require("md5");
const userPath = path.join(__dirname.substring(0,__dirname.indexOf("out")), 'res', 'user.json');
//账号缓存
let userQueue = {};
//结构sub:{sub, phone, name, isAdmin, subAdmin, pm:{1:true} }
export function initUser() {
userQueue = readFile();
console.log("用户数据初始化成功");
}
//登录账号之后,校验是否有变更
export function addUserInfo(sub, phone, name, isAdmin, otherPage) {
let oldUser = userQueue[sub];
if (oldUser) {
if (oldUser.phone != phone || oldUser.name != name || oldUser.isAdmin != isAdmin) {
//有更新
userQueue[sub].phone = phone;
userQueue[sub].name = name;
userQueue[sub].isAdmin = isAdmin;
userQueue[sub].otherPage = otherPage;
// userQueue[sub].id = Object.keys(userQueue).length + 1;
updateQueueInFile();
}
//无变化
} else {
userQueue[sub] = {sub,id:Object.keys(userQueue).length + 1, phone, otherPage, name, isAdmin, pm:{1:false, 2:false, 3:false}};//新加入一个账号到系统
updateQueueInFile();
}
}
//修改账号权限
export function updateUser(sub, pm) {
if (!userQueue[sub]) return false;
userQueue[sub].pm = pm;
updateQueueInFile();
return true;
}
export function selectUserList(selectInfo, typeList) {
let typeListIsNull = !typeList.length
if (!selectInfo && typeListIsNull) return Object.values(userQueue);
let list = [];
for (let sub in userQueue) {
let {phone, name, pm} = userQueue[sub];
if (!typeListIsNull) {
let isNot = false;//没有权限
typeList.forEach(typeKey => {
if ( !pm[typeKey] ) isNot = true;
});
if (isNot) continue;
}
if (phone.indexOf(selectInfo)> -1 || name.indexOf(selectInfo) > -1 ) {
list.push( userQueue[sub]);
}
}
return list;
}
function readFile() {
let data = fs.readFileSync(userPath);
let person = data.toString();
return JSON.parse(person);
}
function updateQueueInFile() {
try {
fs.writeFileSync(userPath, JSON.stringify(userQueue));
} catch(err) {
console.log("修改失败");
}
}
//token信息
let tokenInfoQueue = {};
//结构 sub: {lastTokenMs, access_token, refresh_token, isAdmin}
//登录成功后添加tokne
export function addTokenInfo(sub, lastTokenMs, access_token, refresh_token, isAdmin) {
tokenInfoQueue[sub] = {
lastTokenMs, access_token, refresh_token, isAdmin
};
return access_token;
}
export function middlewareCheckAccessToken(reqToken) {
for (let sub in tokenInfoQueue) {
let { access_token } = tokenInfoQueue[sub];
if (reqToken == access_token) {
let {name, otherPage, isAdmin} = userQueue[sub];
return {success:true, userId:sub, userName:name, otherPage, isAdmin };
}
}
return {success:false};
}
//更新tokne 幂等性token
// export function updateToken(reqToken) {
// for (let sub in tokenInfoQueue) {
// let { token, lastTokenMs } = tokenInfoQueue[sub];
// if ( token == reqToken ) {
// let now = new Date().valueOf();
// if ( (now - lastTokenMs) > (1000*60*30) ) {
// return {success:false};
// } else {
// let newToken = getToken(sub, now);
// tokenInfoQueue[sub].token = newToken;
// tokenInfoQueue[sub].lastTokenMs = now;
// return {success:true, token:newToken};
// }
// }
// }
// return {success:false};
// }
function getToken(sub, timeMs) {
return md5(`${sub}sdfasdfs${timeMs}`);
}
//校验二级页面是否有权限到管理后台
export function checkAdminPermission(userId) {
let { isAdmin } = userQueue[userId];
return isAdmin;
}
//校验是否有权限到大屏
export function checkPagePermission(userId, page) {
let { pm } = userQueue[userId];
if (pm && pm[page] ) return true
return false
}
\ No newline at end of file
import { getBaiduStats } from "./data/interface/baiduStats";
import { initQueueData } from "./data/interface/queueData";
import { initUser } from "./data/user/user";
import { httpServer } from "./net/http_server";
import { getPort } from "./serverConfig";
......@@ -9,9 +11,14 @@ async function lanuch() {
console.log("请求阿里云数据失败,请检查网络 重新启动");
return;
}
initUser();
httpServer.createServer(getPort());
await test();
}
lanuch();
async function test() {
// getBaiduStats();
}
lanuch();
export function httpErrorHandler(err, req, res, next) {
console.log("in httpErrorHandler");
console.log(err);
//todo 自定义错误编码
if (err) {
if (err.message == "您的登录已失效" ) {
res.success({success:false, msg:err.message, code:501});
next();
}
else if (err.message == "您的账户没有访问权限") {
res.success({success:false, msg:"非常抱歉,您没有权限,请联系工作人员!", code:502});
next();
} else if ( err.message == "token已过期") {
res.success({success:false, msg:"token失效", code:503});
next();
}
else {
res.success({success:false, msg:err.message, code:500});
next();
}
}
}
\ No newline at end of file
export function watch(req, res, next) {
res.success = success.bind({res:res, req:req});
return next();
}
function success(data) {
let resultPack;
if (data ) {
if ( data.success === undefined || data.success === true ) {
resultPack = {data, success:true, code:200};
}
else {
resultPack = data;
}
}else {
resultPack = {code:500, success:false, msg:'result is null'};
}
this.res.send(resultPack);
}
import express = require('express');
import bodyParser = require('body-parser');
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 fallback from 'express-history-api-fallback';
import * as path from "path";
import { watch } from '../middleware/watch';
import { httpErrorHandler } from '../middleware/httpErrorHandler';
export class httpServer {
static createServer(port:number) {
......@@ -15,7 +16,7 @@ export class httpServer {
httpServer.all('*',function (req, res, next) {
res.header('Access-Control-Allow-Origin', req.headers.origin);
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.header('Access-Control-Allow-Headers', 'token,Content-Type');
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header('Access-Control-Allow-Credentials', true);
res.header("X-Powered-By", ' 3.2.1');
......@@ -31,13 +32,11 @@ export class httpServer {
httpServer.use(bodyParser.json({limit:"10kb"}));
httpServer.use(compression())
//演示环境加密数据
if (getEnv() == "dem") {
console.log("演示环境 开启数据加密");
httpServer.use(encryptionReturn);
}
httpServer.use(watch);
routers.setRouter(httpServer);
httpServer.use(httpErrorHandler);
const root = path.join(__dirname, "../../public/")
httpServer.use(express.static(root))
httpServer.use(fallback('index.html', { root }))
......
......@@ -2,8 +2,8 @@ import * as asyncHandler from 'express-async-handler'
import * as sjzltxBiz from '../biz/sjzltx';
import * as ztyxtsBiz from '../biz/ztyxts';
import * as zyhdbzBiz from '../biz/zyhdbz';
import * as glptlb from '../biz/glptlb';
import * as pagePermission from '../biz/pagePermissions';
import * as userBiz from '../biz/user';
import { adminPermission, checkToken, pagePermission } from '../middleware/sign';
export function setRouter(httpServer){
httpServer.get('/sjzltx', asyncHandler(sjzltxBiz.getData));
......@@ -18,14 +18,14 @@ export function setRouter(httpServer){
httpServer.get('/zyhdbzpop', asyncHandler(zyhdbzBiz.getPopData));
httpServer.post('/zyhdbzpop', asyncHandler(zyhdbzBiz.getPopData));
// httpServer.get('/glptlb', asyncHandler(glptlb.getData));
httpServer.post('/glptlb', asyncHandler(glptlb.getData));
// //分配权限
httpServer.post('/permission/getlist', checkToken, adminPermission, asyncHandler(userBiz.permissionList));
httpServer.post('/permission/updatepermission',checkToken, adminPermission, asyncHandler(userBiz.updatePermissions));
//==二级页面
httpServer.post('/gettoken', asyncHandler(userBiz.getUserToken));
httpServer.post('/permission/checkpage', checkToken, pagePermission, asyncHandler(userBiz.checkPermissionForPage) );
httpServer.post('/permission/checkadmin', checkToken, pagePermission, asyncHandler(userBiz.checkPermissionForAdmin) );
httpServer.post('/permission/checkhomepage', checkToken, asyncHandler(userBiz.checkPermissionForHomePage) );
// httpServer.get('/glptlb/update', asyncHandler(glptlb.update));
httpServer.post('/glptlb/update', asyncHandler(glptlb.update));
httpServer.post('/getUserPermission', asyncHandler(pagePermission.getUserPer));
// httpServer.get('/getUserPermission', asyncHandler(pagePermission.getUserPer));
httpServer.post('/managePermission', asyncHandler(pagePermission.managePermission));
}
\ No newline at end of file
//端口
export function getPort() : number {
return Number(process.env.PORT) || Number(process.argv[3]) || 7474;//测试环境7474
return Number(process.env.PORT) || Number(process.argv[3]) || 30024;//测试环境7474
}
// sit 测试环境 prod 生产环境 dem 演示环境(测试数据,前端无密码访问)
......@@ -14,3 +14,13 @@ export let requestConfig = {
client_id:'75cb2a016ec640a886f681b2d3ae6f3c',
client_secret:'df795bea090e441fba6361645d18d5de'
};
//统一认证信息
export const uacInfomation = {
getTokenUrl:'https://account.shsunshine.org/connect/token',
refreshTokenUrl:"https://account.shsunshine.org/connect/token",
getUserInfoUrl:"https://account.shsunshine.org/connect/userinfo",
client_id:'dpzs_client',
client_secret:'R5KpJGxN98o$up'
}
\ No newline at end of file
import * as request from 'request';
import { BizError } from './bizError';
const https = require("https");
export function get(url:string, query?, headers?) {
if (!url || (url.search(/http:/) && url.search(/https:/)) ) throw new BizError(!url ? "请求地址为空" : "请求地址错误");
......@@ -8,6 +9,7 @@ export function get(url:string, query?, headers?) {
if (query) paramater.qs = query;
if (headers) paramater.headers = headers;
request.get(paramater, function (err, r, body) {
console.log(paramater);
if (err) return reject(err);
if (r && r.statusCode != 200) return reject(new Error('httpError:'+r.statusCode))
resolve(body);
......@@ -15,7 +17,6 @@ export function get(url:string, query?, headers?) {
})
}
export function post(url, reqBody, headers) {
if (!url || (url.search(/http:/) && url.search(/https:/)) ) throw new BizError(!url ? "请求地址为空" : "请求地址错误");
let header = {"content-type": "application/json"};
......@@ -37,6 +38,32 @@ export function post(url, reqBody, headers) {
})
}
export function postParmiss(url, reqBody, headers) {
if (!url || (url.search(/http:/) && url.search(/https:/)) ) throw new BizError(!url ? "请求地址为空" : "请求地址错误");
return new Promise((resolve, reject)=>{
request({
url: url,
method: "POST",
json: true,
form: reqBody
}, function(error, response, body) {
resolve(body);
});
})
}
export function getParmiss(url, query?, headers?) {
return new Promise((resolve, reject)=>{
let paramater:any = { url, json:true };
if (query) paramater.qs = query;
if (headers) paramater.headers = headers;
request.get(paramater, function (err, r, body) {
if (err) return resolve(err);
if (r && r.statusCode != 200) return resolve( { error: 'httpError:'+r.statusCode })
resolve(body);
});
})
}
export function postForm(url, body, headers) {
if (!url || (url.search(/http:/) && url.search(/https:/)) ) throw new BizError(!url ? "请求地址为空" : "请求地址错误");
return new Promise((resolve, reject)=>{
......
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