Commit 5603c35f by lixinming

no message

parent 94674652
<config> <config>
<port>40301</port> <port>40101</port>
</config> </config>
export enum ERRORENUM { export enum ERRORENUM {
身份验证失败 = 1, 未找到数据,
非法登录, 数据操作失败,
身份验证过期, 暂无对应数据,
表单校验失败, TOKEN认证失败
参数错误 }
export enum SYSTEMERRORENUM {
参数错误 = 1,
您的登录已失效,
您的账户没有访问权限,
请求参数错误,
文件解析失败,
文件写入失败,
获取企业微信access_token失败,
获取企业微信用户信息失败,
请先绑定用户,
TOKEN失效,
该微信用户已绑定过账号,
存在TOKEN并没有绑定角色,
初始化配置失败,
暂无对应数据
} }
/**
* 只用做code码定义 export enum INTERFACEERRORENUM {
*/ "系统错误" = 10001,
export enum ERRORCODEENUM { "服务暂停" = 10002,
身份验证失败 = 401, "远程服务调用失败" = 10003,
非法登录 = 402, "IP地址受限,不能访问此接口" = 10004,
身份验证过期 = 403 "APP Key 不存在" = 10005,
"签名错误" = 10006,
"缺少 POST 参数" = 10007,
"POST 参数错误" = 10008,
"数据类别标识不存在" = 10009,
"数据对象标识不存在" = 10010,
"对数据对象没有写的权限" = 10011,
"对数据对象没有读的权限" = 10012,
"数据记录不存在" = 10013,
"数据记录的 id 已存在" = 10014,
"应用程序内部错误" = 10099,
} }
let bizErrorMsgMap = {}; let bizErrorMsgMap = {};
for (let key in ERRORENUM) { for (let key in ERRORENUM) {
bizErrorMsgMap[ERRORENUM[key]] = key; bizErrorMsgMap[ERRORENUM[key]] = key;
} }
let systemErrorMsgMap = {};
for (let key in SYSTEMERRORENUM) {
systemErrorMsgMap[SYSTEMERRORENUM[key]] = key;
}
export function getBizMsg(param) { export function getBizMsg(param) {
return bizErrorMsgMap[param]; return bizErrorMsgMap[param];
}
export function getSysMsg(param) {
return systemErrorMsgMap[param];
} }
\ No newline at end of file
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import { get, post, postForm } from '../util/request'; import { get, post, postForm } from '../util/request';
import { ERRORENUM } from '../config/errorEnum';
import { BizError } from '../util/bizError';
const ApiConfig = { const ApiConfig = {
token:{type:"post", url:'/oauth/token', name:"获取token"}, token:{type:"post", url:'/oauth/token', name:"获取token"},
...@@ -24,32 +26,149 @@ const ApiConfig = { ...@@ -24,32 +26,149 @@ const ApiConfig = {
teacher_hjry:{type:"post", url:'/service/api/nmzx/teacher_hjry', name:"教师个人信息 教师获奖荣誉"}, teacher_hjry:{type:"post", url:'/service/api/nmzx/teacher_hjry', name:"教师个人信息 教师获奖荣誉"},
teacher_hdlb:{type:"post", url:'/service/api/nmzx/teacher_hdlb', name:"教育培训 活动项目"}, teacher_hdlb:{type:"post", url:'/service/api/nmzx/teacher_hdlb', name:"教育培训 活动项目"},
teacher_hdjb_yxlb:{type:"post", url:'/service/api/nmzx/teacher_hdjb_yxlb', name:"教育培训 活动项目 饼图类别"}, teacher_hdjb_yxlb:{type:"post", url:'/service/api/nmzx/teacher_hdjb_yxlb', name:"教育培训 活动项目 饼图类别"},
teacher_leavetrend:{type:"post", url:'/service/api/nmzx/teacher_leavetrend', name:"绩效考核 请假趋势"} teacher_leavetrend:{type:"post", url:'/service/api/nmzx/teacher_leavetrend', name:"绩效考核 请假趋势"},
news:{type:"post", url:'/service/api/nmzx/news', name:"校园新闻"},
teacher_leavereason:{type:"post", url:'/service/api/nmzx/teacher_leavereason', name:"校园对内-教师请假分类"},
student_info_get:{type:"get", url:'/service/api/nmzx/student_info_get', name:"学生个人画像-学生基础信息"},
xxjs_detail:{type:"post", url:'/service/api/nmzx/xxjs_detail', name:"学生个人画像-学生选修班详情"},
student_stsk:{type:"post", url:'/service/api/nmzx/student_stsk', name:"学生个人画像-学生社团社课参与情况"},
student_hjry:{type:"post", url:'/service/api/nmzx/student_hjry', name:"学生个人画像-学生荣誉"},
student_py:{type:"post", url:'/service/api/nmzx/student_py', name:"学生个人画像-班主任评语"},
student_shili:{type:"post", url:'/service/api/nmzx/student_shili', name:"学生个人画像-学生视力"},
student_brkm:{type:"post", url:'/service/api/nmzx/student_brkm', name:"学生个人画像-学生薄弱科目"},
score_trend:{type:"post", url:'/service/api/nmzx/score_trend', name:"学生个人画像-成绩趋势"},
student_score:{type:"get", url:'/service/api/nmzx/student_score_get', name:"学生个人画像-学生成绩"},
student_sumscore:{type:"post", url:'/service/api/nmzx/student_sumscore', name:"学生个人画像-学生成绩总分"},
student_zhxf:{type:"post", url:'/service/api/nmzx/student_zhxf', name:"学生个人画像-学生综合素质学分"},
student_zhhd:{type:"post", url:'/service/api/nmzx/student_zhhd', name:"学生个人画像-学生综合素质活动情况"},
xx_count:{type:"post", url:'/service/api/nmzx/xx_count', name:"选修课统计"},
js_count:{type:"post", url:'/service/api/nmzx/js_count', name:"竞赛统计"},
carapplyrecords:{type:"post", url:'/service/api/nmzx/carapplyrecords', name:"校园服务-用车管理"},
ground:{type:"post", url:'/service/api/nmzx/ground', name:"校园服务-公共教室使用情况"},
dm_open_jb_year:{type:"post", url:"/service/api/nmzx/dm_open_jb_year", name:"公开课按级别年份统计"},
dm_hj_jb_year:{type:"post", url:"/service/api/nmzx/dm_hj_jb_year", name:"获奖荣誉按级别年份统计"},
dm_jz_jb_year:{type:"post", url:"/service/api/nmzx/dm_jz_jb_year", name:"讲座按级别年份统计"},
dm_ztyx_jb_year:{type:"post", url:"/service/api/nmzx/dm_ztyx_jb_year", name:"主题研修别年份统计"},
dm_ds_xss:{type:"post", url:"/service/api/nmzx/dm_ds_xss", name:"导师学生数"},
dm_exam_scoexaavg:{type:"get", url:"/service/api/nmzx/dm_exam_scoexaavg_get", name:"学科统计=>改成了校园对外各学科学业水平"},
ondutyrecords:{type:"post", url:"/service/api/nmzx/ondutyrecords", name:"教师值班信息"},
teacher_pic:{type:"post", url:"/service/api/nmzx/teacher_pic", name:"教师照片"},
teacher_ky_zs:{type:"post", url:"/service/api/nmzx/ky_zs", name:"科研总数"},
ds_statics: {type:"post", url:'/service/api/nmzx/ds_statics', name:"全员导师统计"},
sjkb_basketball_player:{type:"post", url:'/service/api/nmzx/sjkb_basketball_player', name:"篮球队员"},
sjkb_basketball_plan:{type:"post", url:'/service/api/nmzx/sjkb_basketball_plan', name:"篮球训练计划"},
sjkb_basketball_train:{type:"post", url:'/service/api/nmzx/sjkb_basketball_train', name:"篮球训练数据"},
weekarrange:{type:"post", url:'/service/api/nmzx/weekarrange', name:"学校对外最新活动"},
sjkb_visitor_total:{type:"post", url:'/service/api/nmzx/sjkb_visitor_total', name:"校园对外智慧安防"},
sjkb_visitor:{type:"post", url:'/service/api/nmzx/sjkb_visitor', name:"校园安全管理_访客数据"},
askforleave_ratio:{type:"post", url:'/service/api/nmzx/askforleave_ratio', name:"教师出勤分析"},
teacher_pxcount:{type:"post", url:'/service/api/nmzx/teacher_pxcount', name:"培训情况"},
sjkb_warning_total:{type:"post", url:'/service/api/nmzx/sjkb_warning_total', name:"校园安全管理/校园对内-设备预警统计"},
sjkb_warning:{type:"post", url:'/service/api/nmzx/sjkb_warning', name:" 校园安全管理/校园对内-设备预警"},
student_tc:{type:"post", url:'/service/api/nmzx/student_tc', name:"学生个人-学生特长情况"},
dm_xuenian:{type:"post", url:'/service/api/nmzx/dm_xuenian', name:"学生个人-学年"},
student_st_count:{type:"post", url:'/service/api/nmzx/student_st_count', name:"学生个人-学生社团参与次数"},
st_get:{type:"get", url:'/service/api/nmzx/st_get', name:"学生个人-社团详细"},
weekarrangerecords:{type:"post", url:'/service/api/nmzx/weekarrangerecords', name:"一周工作安排"},
semesterweekplan_detail:{type:"post", url:'/service/api/nmzx/semesterweekplan_detail', name:"学期工作安排信息"},
dm_food_week:{type:"post", url:'/service/api/nmzx/dm_food_week', name:"校园食谱"},
sjkb_events_warning:{type:"post", url:"/service/api/nmzx/sjkb_events_warning", name:"校园安全-边防告警数据"}, //
sjkb_events_warning_total:{type:"post", url:"/service/api/nmzx/sjkb_events_warning_total", name:"校园安全-边防告警数据统计(趋势)"}, //
ground_order_statistics:{type:"post", url:"/service/api/nmzx/ground_order_statistics", name:"校园服务管理-公共教室使用情况"}, //
student_zhavg:{type:"post", url:"/service/api/nmzx/student_zhavg", name:"学生个人-学生公智能平均分"},
student_xf:{type:"post", url:"/service/api/nmzx/student_xf", name:"学生个人-学生公智能总学分"}
}; };
let teacherPicConfig = [
[ {"sfzjh":"0a4a489852ae62637c153b32939ba3a4", "picurl":"/teacherIMg/lxy.png", "name":"李啸瑜"},
{"sfzjh":"0897bc339c31d59ef6ea937a27e1f621", "picurl":"/teacherIMg/yh.png", "name":"姚虹"}
],
[
{"sfzjh":"f2ad99423e761c74d0b2580d88f490ee", "picurl":"/teacherIMg/fp.png", "name":"封萍"},
{"sfzjh":"d9a964ad7475bcc5a405533442b40037", "picurl":"/teacherIMg/csq.png", "name":"曹土清"}
],
[
{"sfzjh":"27aac276c7f51e90b075adfae1aafd31", "picurl":"/teacherIMg/mjs.png", "name":"孟家森"},
{"sfzjh":"3c0a9cadb83d3e8102ba94829a085e9e", "picurl":"/teacherIMg/fpq.png", "name":"冯培琦"}
],
[
{"sfzjh":"18e4f3b1295381eb3a4cf048a79ed9da", "picurl":"/teacherIMg/jzh.png", "name":"金振华"},
{"sfzjh":"e696e3cf4a2a8e96114749cd30416678", "picurl":"/teacherIMg/wb.png", "name":"王斌"}
],
[
{"sfzjh":"f13a262e0f69937368b02aaf16465fa8", "picurl":"/teacherIMg/yyj.png", "name":"俞颖杰"},
{"sfzjh":"4e73ac1202f9d2c44f177731ac36bec6", "picurl":"/teacherIMg/wyf.png", "name":"吴一凡"}
],
[
{"sfzjh":"9e817c03ee2e6852894c2b9b4c5c380c", "picurl":"/teacherIMg/zdq.png", "name":"钟岱青"},
{"sfzjh":"ca911d923cfe86c0121fe9107f3cf2a2", "picurl":"/teacherIMg/szl.png", "name":"苏哲伦"}
],
[
{"sfzjh":"2e6ad4b8d43a9f856a8d8d967fe480c4", "picurl":"/teacherIMg/ljm.png", "name":"陆建梅"},
{"sfzjh":"c27f709562f31e80542bb408675f4d12", "picurl":"/teacherIMg/zy.png", "name":"张渊"}
],
[
{"sfzjh":"c74c31ee9bce64d62e24c068830a353d", "picurl":"/teacherIMg/xql.png", "name":"邢千里"},
{"sfzjh":"f4cb44aaddd0b8e9d49120c10b1acbc9", "picurl":"/teacherIMg/lyl.png", "name":"刘艳丽"}
],
[
{"sfzjh":"b3fdcceea08d4373107a164da298100e", "picurl":"/teacherIMg/zcf.png", "name":"朱翠凤"},
{"sfzjh":"aa519291d51a37aca0e6cae2d67cc32a", "picurl":"/teacherIMg/fyl.png", "name":"范依琳"}
]
];
//接口缓存
let tokenQueue = "";
let tokenMs = 0;
export function setDianXinRouter(httpServer) { export function setDianXinRouter(httpServer) {
for (let key in ApiConfig) { for (let key in ApiConfig) {
let {url, name, type} = ApiConfig[key]; let {url, name, type} = ApiConfig[key];
/**初始化缓存*/
/**初始化接口 */
httpServer.post(url, asyncHandler( async (req, res) => { httpServer.post(url, asyncHandler( async (req, res) => {
let nowMs = new Date().valueOf();
if (!tokenMs || (nowMs - tokenMs) >= (3*60*1000)) {
let tokenParam = {
client_id: '1103b3776c534c0f98d38f1f7d6697f9',
client_secret: '10cbff8739694d34a006c931ce37a085'
};
let tokenRes:any = await postForm('http://61.171.4.98:9090/oauth/token', tokenParam, {});
tokenMs = nowMs;
try{
tokenQueue = tokenRes.body.access_token;
}catch(err) {
throw new BizError(ERRORENUM.TOKEN认证失败, "请求返回值", tokenRes)
}
}
const UrlStr = `http://61.171.4.98:9090${url}`; const UrlStr = `http://61.171.4.98:9090${url}`;
let param = {
access_token:tokenQueue,
client_id:'1103b3776c534c0f98d38f1f7d6697f9'
};
let result; let result;
let param = req.body;
if (type == "post") { if (type == "post") {
if (key == "token") { if (key == "token") {
result = await postForm(UrlStr, param, {}); result = await postForm(UrlStr, param, {});
} else { } else {
result = await post(UrlStr, param, {}); if (key == "teacher_pic" ) {
result = teacherPicConfig;
} else {
let reqParam = Object.assign(param, req.body);
result = await post(UrlStr, reqParam, {});
}
} }
} else { } else {
result = await get(UrlStr, param, {}); let reqParam = Object.assign(param, req.body);
result = await get(UrlStr, reqParam, {});
} }
res.packageRes(result); res.packageRes(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