同步操作将从 teambp/ScaffoldClient 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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 undefinedif (null == obj || "object" != typeof obj) return obj;// Handle Dateif (obj instanceof Date) {const copy = new Date();copy.setTime(obj.getTime());return copy;}// Handle Arrayif (obj instanceof Array) {const copy = [];for (let i = 0; i < obj.length; i++) {copy[i] = clone(obj[i]);}return copy;}// Handle Objectif (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; //将菜单信息清除然后保存到sessionreq.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);});}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。