开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from teambp/ScaffoldClient
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
ScaffoldClient
/
src
/
server
/
apiMiddleware.js
ScaffoldClient
/
src
/
server
/
apiMiddleware.js
apiMiddleware.js 3.26 KB
一键复制 编辑 原始数据 按行查看 历史
Ambre 提交于 2017年11月11日 16:41 +08:00 . 初版初始化
import { readFileSync } from 'fs';
import { join } from 'path';
import { request, getOptions, postOptions } from './utils/request';
/**
* 对象的深度克隆
* @param {*object} obj
*/
const clone = (obj) => {
// Handle the 3 simple types, and null or undefined
if (null == obj || "object" != typeof obj) return obj;
// Handle Date
if (obj instanceof Date) {
const copy = new Date();
copy.setTime(obj.getTime());
return copy;
}
// Handle Array
if (obj instanceof Array) {
const copy = [];
for (let i = 0; i < obj.length; i++) {
copy[i] = clone(obj[i]);
}
return copy;
}
// Handle Object
if (obj instanceof Object) {
var copy = {};
for (var attr in obj) {
if (obj.hasOwnProperty(attr)) copy[attr] = clone(obj[attr]);
}
return copy;
}
throw new Error("Unable to copy obj! Its type isn't supported.");
}
export default function (req, res, next) {
switch (req.url) {
case '/api/account/login':
doapi(req.url, postOptions(req), (data) => {
// 克隆对象用于返回调用方
var copy = clone(data);
if (data.success) {
var user = data.data;
user.menus = null; //将菜单信息清除然后保存到session
req.session.user = user;
}
res.send(copy);
});
break;
case '/api/account/logout':
if (req.session.user) {
req.body.guid = req.session.user.guid;
doapi(req.url, postOptions(req), (data) => {
if (data.success) {
req.session.user = undefined;
}
res.send(data);
});
} else {
res.send({ message: '注销成功.', success: true });
}
break;
case '/api/user/getloginuser':
if (req.session.user) {
res.send({ success: true, message: '获取成功!', data: req.session.user });
} else {
res.send({ message: '未登录!', success: false });
}
break;
case '/api/article/savearticle':
if (req.session.user) {
req.body.UserGuid = req.session.user.userGuid;
doapi(req.url, postOptions(req), (data) => {
res.send(data);
});
} else {
res.send({ message: '未登录!', code: -1, success: false });
}
break;
default:
const user = req.session.user;
// 如果身份过期则跳转至登录页
if (user === undefined && req.url.indexOf('/login') === -1) {
res.redirect(`/login?from=${req.url}`);
} else {
if (req.url.indexOf('/api') > -1) {
if (req.url.indexOf('/login') > -1) {
res.send({
statusCode: 401,
message: '身份过期,请重新登录.',
success: false,
data: req.url
});
return;
}
if (req.method == "POST") {
doapi(req.url, postOptions(req), (data) => {
res.send(data);
});
}
if (req.method == "GET") {
doapi(req.url, getOptions(req), (data) => {
res.send(data);
});
}
} else {
next();
}
}
break;
}
}
function doapi(url, options, callback) {
request(url, options)
.then(data => {
callback(data);
});
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

脚手架项目,已实现通用权限管理,基于react(v15.*)+dva(v1.2.1)+antd(2.13.*)+node
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/codingstudio/ScaffoldClient.git
git@gitee.com:codingstudio/ScaffoldClient.git
codingstudio
ScaffoldClient
ScaffoldClient
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /