diff --git a/client/components/Footer/Footer.scss b/client/components/Footer/Footer.scss index 17e34b76..bca0d18c 100644 --- a/client/components/Footer/Footer.scss +++ b/client/components/Footer/Footer.scss @@ -23,6 +23,7 @@ } } .footerMask{ + @include wrap-width-limit; position: absolute; top: 0px; height: 100%; diff --git a/client/components/Header/Header.scss b/client/components/Header/Header.scss index b05bb82f..9430d062 100644 --- a/client/components/Header/Header.scss +++ b/client/components/Header/Header.scss @@ -8,10 +8,10 @@ $color-grey-deep : #929aac; $color-black-light : #404040; /* .header-box.css */ .header-box { + @include wrap-width-limit; display: block; font-size: 0.14rem; z-index: 99; - @include wrap-width-limit; .content { @include row-width-limit; margin: 0 auto; diff --git a/client/containers/AddInterface/AddInterface.scss b/client/containers/AddInterface/AddInterface.scss index 3998491c..cb6d8d68 100644 --- a/client/containers/AddInterface/AddInterface.scss +++ b/client/containers/AddInterface/AddInterface.scss @@ -257,12 +257,12 @@ body { #req-cover { height: 330px; padding: 0 20px; - background-color: #FFF; + // background-color: #FFF; -webkit-box-flex: 1; } #res-cover { height: 330px; padding: 0 20px; - background-color: #FFF; + /*background-color: #FFF;*/ -webkit-box-flex: 1; } diff --git a/client/containers/AddInterface/ReqParams/ReqParams.js b/client/containers/AddInterface/ReqParams/ReqParams.js index 4cb85458..20e87e70 100644 --- a/client/containers/AddInterface/ReqParams/ReqParams.js +++ b/client/containers/AddInterface/ReqParams/ReqParams.js @@ -1,10 +1,10 @@ import React, { Component } from 'react' import PropTypes from 'prop-types' import { connect } from 'react-redux' -import wangEditor from 'wangeditor' +// import wangEditor from 'wangeditor' import { getReqParams } from '../../../actions/addInterface.js' -const editor = new wangEditor('#req-cover') +//const editor = new wangEditor('#req-cover') @connect( state => { @@ -27,25 +27,41 @@ class ReqParams extends Component { super(props) } - initParams () { - const { reqParams } = this.props - if (reqParams) { - editor.txt.html(reqParams) - } - } + // initParams () { + // const { reqParams } = this.props + // if (reqParams) { + // editor.txt.html(reqParams) + // } + // } componentDidMount () { - const reg = /(
)|(<\/p>)| |(
)|\s+/g
- let json = ''
- editor.customConfig.menus = []
- editor.customConfig.onchange = html => {
- json = html.replace(reg, '')
- this.props.getReqParams(json)
+ function json_parse(json){
+ try{
+ return JSON.stringify(JSON.parse(json), null, "\t");
+ }catch(e){
+ return json
+ }
}
- setTimeout(() => {
- this.initParams()
- }, 500)
- editor.create()
+ let editor2 = this.editor = window.ace.edit("req-cover")
+ editor2.getSession().setMode("ace/mode/json");
+ setTimeout( () => {
+ editor2.setValue(json_parse(this.props.reqParams))
+ } ,400)
+
+ editor2.getSession().on('change', ()=> {
+ this.props.getReqParams(editor2.getValue())
+ });
+ // const reg = /(
)|(<\/p>)| |(
)|\s+/g
+ // let json = ''
+ // editor.customConfig.menus = []
+ // editor.customConfig.onchange = html => {
+ // json = html.replace(reg, '')
+ // this.props.getReqParams(json)
+ // }
+ // setTimeout(() => {
+ // this.initParams()
+ // }, 500)
+ // editor.create()
}
render () {
diff --git a/client/containers/AddInterface/ResParams/ResParams.js b/client/containers/AddInterface/ResParams/ResParams.js
index bf69d583..ba375e1e 100644
--- a/client/containers/AddInterface/ResParams/ResParams.js
+++ b/client/containers/AddInterface/ResParams/ResParams.js
@@ -1,11 +1,13 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
-import wangEditor from 'wangeditor'
+//import wangEditor from 'wangeditor'
import { Tabs } from 'antd'
import { getResParams } from '../../../actions/addInterface.js'
-const editor = new wangEditor('#res-cover')
+//const editor = new wangEditor('#res-cover')
+
+
@connect(
state => {
@@ -28,24 +30,41 @@ class ResParams extends Component {
super(props)
}
- initResParams () {
- const { resParams } = this.props
- if (resParams) {
- editor.txt.html(resParams)
- }
- }
+ // initResParams () {
+ // const { resParams } = this.props
+ // if (resParams) {
+ // editor.txt.html(resParams)
+ // }
+ // }
componentDidMount () {
- const reg = /(
)|(<\/p>)| |(
)|\s+|
)|(<\/p>)| |(
)|\s+|
您好,感谢使用YApi,系统检测您是第一次用Qsso账号登录YApi服务,您的Email是: ${email} ,初始化密码为:${passsalt}
` - }) + }); } - this.setLoginCookie(user._id, user.passsalt) + this.setLoginCookie(user._id, user.passsalt); return true; } catch (e) { - console.error("third_login:", e.message) + console.error('third_login:', e.message); // eslint-disable-line return false; } } @@ -205,27 +204,23 @@ class userController extends baseController { } } - async forgetPassword(ctx) { + async forgetPassword() { } - } - - async resetPassword(ctx) { - - } + async resetPassword() { } setLoginCookie(uid, passsalt) { let token = jwt.sign({ uid: uid }, passsalt, { expiresIn: '7 days' }); + this.ctx.cookies.set('_yapi_token', token, { expires: yapi.commons.expireDate(7), httpOnly: true - }) + }); this.ctx.cookies.set('_yapi_uid', uid, { expires: yapi.commons.expireDate(7), httpOnly: true - }) + }); } - /** * 用户注册接口 * @interface /user/reg @@ -239,23 +234,25 @@ class userController extends baseController { * @example ./api/user/login.json */ async reg(ctx) { //注册 - var userInst = yapi.getInst(userModel); + let userInst = yapi.getInst(userModel); let params = ctx.request.body; //获取请求的参数,检查是否存在用户名和密码 params = yapi.commons.handleParams(params, { username: 'string', password: 'string', email: 'string' - }) + }); if (!params.email) { return ctx.body = yapi.commons.resReturn(null, 400, '邮箱不能为空'); } + if (!params.password) { return ctx.body = yapi.commons.resReturn(null, 400, '密码不能为空'); } - var checkRepeat = await userInst.checkRepeat(params.email);//然后检查是否已经存在该用户 + let checkRepeat = await userInst.checkRepeat(params.email);//然后检查是否已经存在该用户 + if (checkRepeat > 0) { return ctx.body = yapi.commons.resReturn(null, 401, '该email已经注册'); } @@ -269,14 +266,16 @@ class userController extends baseController { role: 'member', add_time: yapi.commons.time(), up_time: yapi.commons.time() - } + }; + if (!data.username) { data.username = data.email.substr(0, data.email.indexOf('@')); } + try { let user = await userInst.save(data); - this.setLoginCookie(user._id, user.passsalt) + this.setLoginCookie(user._id, user.passsalt); ctx.body = yapi.commons.resReturn({ uid: user._id, email: user.email, @@ -288,13 +287,12 @@ class userController extends baseController { yapi.commons.sendMail({ to: user.email, contents: `您好,感谢使用YApi,您的账号 ${params.email} 已经注册成功
` - }) + }); } catch (e) { ctx.body = yapi.commons.resReturn(null, 401, e.message); } } - /** * 获取用户列表 * @interface /user/list @@ -306,11 +304,10 @@ class userController extends baseController { * @returns {Object} * @example */ - - async list(ctx){ + async list(ctx) { let page = ctx.request.query.page || 1, limit = ctx.request.query.limit || 10; - + const userInst = yapi.getInst(userModel); try { let user = await userInst.listWithPaging(page, limit); @@ -319,8 +316,8 @@ class userController extends baseController { total: Math.ceil(count / limit), list: user }); - } catch(e) { - return ctx.body = yapi.commons.resReturn(null,402,e.message); + } catch (e) { + return ctx.body = yapi.commons.resReturn(null, 402, e.message); } } @@ -334,19 +331,22 @@ class userController extends baseController { * @returns {Object} * @example */ - async findById(ctx) { //根据id获取用户信息 try { - var userInst = yapi.getInst(userModel); + let userInst = yapi.getInst(userModel); let id = ctx.request.query.id; + if (!id) { return ctx.body = yapi.commons.resReturn(null, 400, 'uid不能为空'); } + let result = await userInst.findById(id); - if(!result){ - return ctx.body = yapi.commons.resReturn(null,402,"不存在的用户"); + + if (!result) { + return ctx.body = yapi.commons.resReturn(null, 402, '不存在的用户'); } - return ctx.body = yapi.commons.resReturn({ + + return ctx.body = yapi.commons.resReturn({ uid: result._id, username: result.username, email: result.email, @@ -354,8 +354,8 @@ class userController extends baseController { add_time: result.add_time, up_time: result.up_time }); - }catch(e){ - return ctx.body = yapi.commons.resReturn(null,402,e.message); + } catch (e) { + return ctx.body = yapi.commons.resReturn(null, 402, e.message); } } @@ -370,16 +370,20 @@ class userController extends baseController { * @example */ async del(ctx) { //根据id删除一个用户 - try { + try { if (this.getRole() !== 'admin') { return ctx.body = yapi.commons.resReturn(null, 402, 'Without permission.'); } - var userInst = yapi.getInst(userModel); + + let userInst = yapi.getInst(userModel); let id = ctx.request.body.id; + if (!id) { return ctx.body = yapi.commons.resReturn(null, 400, 'uid不能为空'); } + let result = await userInst.del(id); + ctx.body = yapi.commons.resReturn(result); } catch (e) { ctx.body = yapi.commons.resReturn(null, 402, e.message); @@ -399,30 +403,36 @@ class userController extends baseController { * @returns {Object} * @example */ - async update(ctx){ //更新用户信息 - try{ + async update(ctx) { //更新用户信息 + try { let params = ctx.request.body; + params = yapi.commons.handleParams(params, { username: 'string', email: 'string' - }) - if(this.getRole() !== 'admin' && params.uid != this.getUid()){ - return ctx.body = yapi.commons.resReturn(null,401,'没有权限'); + }); + + if (this.getRole() !== 'admin' && params.uid != this.getUid()) { + return ctx.body = yapi.commons.resReturn(null, 401, '没有权限'); } - var userInst = yapi.getInst(userModel); + + let userInst = yapi.getInst(userModel); let id = params.uid; + if (!id) { return ctx.body = yapi.commons.resReturn(null, 400, 'uid不能为空'); } - let data ={ + let data = { up_time: yapi.commons.time() }; - if(this.getRole() === 'admin'){ - params.role && (data.role = params.role) + + if (this.getRole() === 'admin') { + params.role && (data.role = params.role); } - params.username && (data.username = params.username) - params.email && (data.email = params.email) + + params.username && (data.username = params.username); + params.email && (data.email = params.email); if (data.email) { var checkRepeat = await userInst.checkRepeat(data.email);//然后检查是否已经存在该用户 @@ -431,8 +441,8 @@ class userController extends baseController { } } - let result = await userInst.update(id, data); + ctx.body = yapi.commons.resReturn(result); } catch (e) { ctx.body = yapi.commons.resReturn(null, 402, e.message); @@ -480,7 +490,7 @@ class userController extends baseController { ]; let filteredRes = common.filterRes(queryList, rules); - console.log(queryList) + console.log(queryList); // eslint-disable-line return ctx.body = yapi.commons.resReturn(filteredRes, 0, 'ok'); } diff --git a/server/install.js b/server/install.js index 1ac097ce..29bdb305 100644 --- a/server/install.js +++ b/server/install.js @@ -7,7 +7,6 @@ import userModel from './models/user.js'; yapi.commons = commons; yapi.connect = dbModule.connect(); - function install() { let exist = yapi.commons.fileExist(yapi.path.join(yapi.WEBROOT_RUNTIME, 'init.lock')); @@ -34,10 +33,10 @@ function setupSql() { result.then(function () { fs.ensureFileSync(yapi.path.join(yapi.WEBROOT_RUNTIME, 'init.lock')); - console.log(`初始化管理员账号 "${yapi.WEBCONFIG.adminAccount}" 成功`); + console.log(`初始化管理员账号 "${yapi.WEBCONFIG.adminAccount}" 成功`); // eslint-disable-line process.exit(0); }, function (err) { - console.log(`初始化管理员账号 "${yapi.WEBCONFIG.adminAccount}" 失败, ${err.message}`); + console.log(`初始化管理员账号 "${yapi.WEBCONFIG.adminAccount}" 失败, ${err.message}`); // eslint-disable-line process.exit(0); }); } diff --git a/server/middleware/checkToken.js b/server/middleware/checkToken.js index 3ae01334..6926ec23 100644 --- a/server/middleware/checkToken.js +++ b/server/middleware/checkToken.js @@ -1,4 +1,4 @@ -const jwt = require('jsonwebtoken'); +// const jwt = require('jsonwebtoken'); //检查token是否过期 module.exports = async ( ctx, next ) => { @@ -14,4 +14,4 @@ module.exports = async ( ctx, next ) => { // ctx.throw(401, 'invalid token'); // } await next(); -} +}; diff --git a/server/middleware/mockServer.js b/server/middleware/mockServer.js index 461874a4..e6389063 100644 --- a/server/middleware/mockServer.js +++ b/server/middleware/mockServer.js @@ -1,66 +1,70 @@ import yapi from '../yapi.js'; -import projectModel from '../models/project.js' -import interfaceModel from '../models/interface.js' -import Mock from 'mockjs' +import projectModel from '../models/project.js'; +import interfaceModel from '../models/interface.js'; +import Mock from 'mockjs'; module.exports = async (ctx, next) => { - yapi.commons.log('Server Recevie Request...') + yapi.commons.log('Server Recevie Request...'); + let hostname = ctx.hostname; let config = yapi.WEBCONFIG; - if(ctx.hostname === config.webhost){ - if(next) await next(); + + if (ctx.hostname === config.webhost) { + if (next) await next(); return true; } - yapi.commons.log('MockServer Running...') + + yapi.commons.log('MockServer Running...'); let projectInst = yapi.getInst(projectModel), projects; - try{ + + try { projects = await projectInst.getByDomain(hostname); - }catch(e){ + } catch (e) { return ctx.body = yapi.commons.resReturn(null, 403, e.message); } - + let matchProject = [], maxBasepath = 0; - - for(let i=0, l = projects.length; i< l; i++){ + + for (let i = 0, l = projects.length; i < l; i++) { let project = projects[i]; - - if(ctx.path && ctx.path.indexOf(project.basepath) === 0){ + + if (ctx.path && ctx.path.indexOf(project.basepath) === 0) { matchProject.push(project); - if(project.basepath.length > maxBasepath){ + + if (project.basepath.length > maxBasepath) { maxBasepath = project.basepath.length; matchProject = project; } } } - if(matchProject === false){ + if (matchProject === false) { return ctx.body = yapi.commons.resReturn(null, 400, '不存在的domain'); } let project = matchProject, interfaceData; let interfaceInst = yapi.getInst(interfaceModel); - try{ - interfaceData = await interfaceInst.getByPath(project._id, ctx.path.substr(project.basepath.length)); - if(!interfaceData || interfaceData.length === 0){ + try { + interfaceData = await interfaceInst.getByPath(project._id, ctx.path.substr(project.basepath.length)); + + if (!interfaceData || interfaceData.length === 0) { return ctx.body = yapi.commons.resReturn(null, 404, '不存在的api'); } - if(interfaceData.length > 1){ + if (interfaceData.length > 1) { return ctx.body = yapi.commons.resReturn(null, 405, '存在多个api,请检查数据库'); } interfaceData = interfaceData[0]; - - if(interfaceData.res_body_type === 'json'){ + + if (interfaceData.res_body_type === 'json') { return ctx.body = Mock.mock( yapi.commons.json_parse(interfaceData.res_body) ); } return ctx.body = interfaceData.res_body; - }catch(e){ + } catch (e) { return ctx.body = yapi.commons.resReturn(null, 409, e.message); } - - -} \ No newline at end of file +}; \ No newline at end of file diff --git a/server/middleware/userauth.js b/server/middleware/userauth.js index 5e2d0a36..52fe88fa 100644 --- a/server/middleware/userauth.js +++ b/server/middleware/userauth.js @@ -1,6 +1,6 @@ module.exports = async (ctx, next) => { let path = ctx.path; - console.log(path) - console.log(ctx.hostname) - if(next) await next(); -} \ No newline at end of file + console.log(path); // eslint-disable-line + console.log(ctx.hostname); // eslint-disable-line + if (next) await next(); +}; \ No newline at end of file diff --git a/server/models/group.js b/server/models/group.js index baaadc61..8c2b8dec 100644 --- a/server/models/group.js +++ b/server/models/group.js @@ -1,5 +1,4 @@ import yapi from '../yapi.js'; -import mongoose from 'mongoose'; import baseModel from './base.js'; class groupModel extends baseModel { @@ -29,7 +28,7 @@ class groupModel extends baseModel { } list() { - return this.model.find().select("group_name _id group_desc add_time up_time").exec(); + return this.model.find().select('group_name _id group_desc add_time up_time').exec(); } del(id) { diff --git a/server/models/project.js b/server/models/project.js index 0c8851e1..e7c16305 100644 --- a/server/models/project.js +++ b/server/models/project.js @@ -96,7 +96,7 @@ class projectModel extends baseModel { up(id, data) { data.up_time = yapi.commons.time(); return this.model.update({ - _id: id, + _id: id }, data, { runValidators: true }); } diff --git a/server/router.js b/server/router.js index 2846f3bf..e5bc2a8e 100644 --- a/server/router.js +++ b/server/router.js @@ -91,8 +91,6 @@ function createAction(controller, path, method, action) { } else { ctx.body = yapi.commons.resReturn(null, 400, 'Without Permission.'); } - - }); } diff --git a/server/utils/commons.js b/server/utils/commons.js index 360d380a..1407ad8c 100644 --- a/server/utils/commons.js +++ b/server/utils/commons.js @@ -24,16 +24,16 @@ exports.log = (msg, type) => { switch (type) { case 'log': - f = console.log; + f = console.log; // eslint-disable-line break; case 'warn': - f = console.warn; + f = console.warn; // eslint-disable-line break; case 'error': - f = console.error; + f = console.error; // eslint-disable-line break; default: - f = console.log; + f = console.log; // eslint-disable-line break; } @@ -129,7 +129,7 @@ exports.sendMail = (options, cb) => { html: options.contents }, cb); } catch (e) { - console.error(e.message); + console.error(e.message); // eslint-disable-line } }; diff --git a/server/utils/initConfig.js b/server/utils/initConfig.js index bafb5980..f2eef3bd 100644 --- a/server/utils/initConfig.js +++ b/server/utils/initConfig.js @@ -3,9 +3,9 @@ import fs from 'fs-extra'; import config from '../config.js'; let runtimePath = config.runtime_path; -fs.ensureDirSync( runtimePath ); -fs.ensureDirSync( path.join(runtimePath, 'log')); -let configPath = path.join(runtimePath, 'config.json') +fs.ensureDirSync(runtimePath); +fs.ensureDirSync(path.join(runtimePath, 'log')); +let configPath = path.join(runtimePath, 'config.json'); fs.writeFileSync(configPath, JSON.stringify(config, null, '\t'), diff --git a/server/yapi.js b/server/yapi.js index a429e143..e716ab95 100644 --- a/server/yapi.js +++ b/server/yapi.js @@ -35,7 +35,7 @@ function delInst(m) { try { insts.delete(m); } catch (err) { - console.error(err); + console.error(err); // eslint-disable-line } } diff --git a/server_dist/app.js b/server_dist/app.js index 4ca33334..64645345 100644 --- a/server_dist/app.js +++ b/server_dist/app.js @@ -20,10 +20,6 @@ var _koa = require('koa'); var _koa2 = _interopRequireDefault(_koa); -var _koaConvert = require('koa-convert'); - -var _koaConvert2 = _interopRequireDefault(_koaConvert); - var _koaStatic = require('koa-static'); var _koaStatic2 = _interopRequireDefault(_koaStatic); diff --git a/server_dist/controllers/base.js b/server_dist/controllers/base.js index 9b0c96bc..fc84bf30 100644 --- a/server_dist/controllers/base.js +++ b/server_dist/controllers/base.js @@ -154,6 +154,7 @@ var baseController = function () { key: 'getLoginStatus', value: function () { var _ref3 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3(ctx) { + var result; return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { @@ -165,16 +166,19 @@ var baseController = function () { _context3.t0 = _context3.sent; if (!(_context3.t0 === true)) { - _context3.next = 5; + _context3.next = 7; break; } - return _context3.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(_yapi2.default.commons.fieldSelect(this.$user, ['_id', 'username', 'email', 'up_time', 'add_time']))); + result = _yapi2.default.commons.fieldSelect(this.$user, ['_id', 'username', 'email', 'up_time', 'add_time']); - case 5: + result.server_ip = _yapi2.default.WEBCONFIG.server_ip; + return _context3.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(result)); + + case 7: return _context3.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(null, 300, 'Please login.')); - case 6: + case 8: case 'end': return _context3.stop(); } diff --git a/server_dist/controllers/log.js b/server_dist/controllers/log.js index ae5a3024..3de4aa16 100644 --- a/server_dist/controllers/log.js +++ b/server_dist/controllers/log.js @@ -103,6 +103,7 @@ var logController = function (_baseController) { case 9: count = _context.sent; + ctx.body = _yapi2.default.commons.resReturn({ total: Math.ceil(count / limit), list: result @@ -114,7 +115,7 @@ var logController = function (_baseController) { _context.prev = 13; _context.t0 = _context['catch'](3); - ctx.body = _yapi2.default.commons.resReturn(null, 402, e.message); + ctx.body = _yapi2.default.commons.resReturn(null, 402, _context.t0.message); case 16: case 'end': diff --git a/server_dist/controllers/project.js b/server_dist/controllers/project.js index 2f337485..54270f44 100644 --- a/server_dist/controllers/project.js +++ b/server_dist/controllers/project.js @@ -711,7 +711,7 @@ var projectController = function (_baseController) { _context7.prev = 21; _context7.t1 = _context7['catch'](0); - ctx.body = _yapi2.default.commons.resReturn(null, 402, e.message); + ctx.body = _yapi2.default.commons.resReturn(null, 402, _context7.t1.message); case 24: case 'end': diff --git a/server_dist/controllers/user.js b/server_dist/controllers/user.js index bb5627a6..50cd044b 100644 --- a/server_dist/controllers/user.js +++ b/server_dist/controllers/user.js @@ -44,10 +44,6 @@ var _base = require('./base.js'); var _base2 = _interopRequireDefault(_base); -var _mongoose = require('mongoose'); - -var _mongoose2 = _interopRequireDefault(_mongoose); - var _request2 = require('request'); var _request3 = _interopRequireDefault(_request2); @@ -141,7 +137,8 @@ var userController = function (_baseController) { uid: result._id, email: result.email, add_time: result.add_time, - up_time: result.up_time + up_time: result.up_time, + server_ip: _yapi2.default.WEBCONFIG.server_ip }, 0, 'logout success...')); @@ -254,6 +251,7 @@ var userController = function (_baseController) { case 8: login = _context3.sent; + if (login === true) { _yapi2.default.commons.log('login success'); ctx.redirect('/'); @@ -335,7 +333,7 @@ var userController = function (_baseController) { _context4.prev = 17; _context4.t0 = _context4['catch'](2); - console.error("third_login:", _context4.t0.message); + console.error('third_login:', _context4.t0.message); // eslint-disable-line return _context4.abrupt('return', false); case 21: @@ -468,7 +466,7 @@ var userController = function (_baseController) { }, { key: 'forgetPassword', value: function () { - var _ref6 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee6(ctx) { + var _ref6 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee6() { return _regenerator2.default.wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { @@ -480,7 +478,7 @@ var userController = function (_baseController) { }, _callee6, this); })); - function forgetPassword(_x7) { + function forgetPassword() { return _ref6.apply(this, arguments); } @@ -489,7 +487,7 @@ var userController = function (_baseController) { }, { key: 'resetPassword', value: function () { - var _ref7 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee7(ctx) { + var _ref7 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee7() { return _regenerator2.default.wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { @@ -501,7 +499,7 @@ var userController = function (_baseController) { }, _callee7, this); })); - function resetPassword(_x8) { + function resetPassword() { return _ref7.apply(this, arguments); } @@ -511,6 +509,7 @@ var userController = function (_baseController) { key: 'setLoginCookie', value: function setLoginCookie(uid, passsalt) { var token = jwt.sign({ uid: uid }, passsalt, { expiresIn: '7 days' }); + this.ctx.cookies.set('_yapi_token', token, { expires: _yapi2.default.commons.expireDate(7), httpOnly: true @@ -594,9 +593,11 @@ var userController = function (_baseController) { up_time: _yapi2.default.commons.time() }; + if (!data.username) { data.username = data.email.substr(0, data.email.indexOf('@')); } + _context8.prev = 15; _context8.next = 18; return userInst.save(data); @@ -604,8 +605,8 @@ var userController = function (_baseController) { case 18: user = _context8.sent; - this.setLoginCookie(user._id, user.passsalt); + this.setLoginCookie(user._id, user.passsalt); ctx.body = _yapi2.default.commons.resReturn({ uid: user._id, email: user.email, @@ -635,7 +636,7 @@ var userController = function (_baseController) { }, _callee8, this, [[15, 24]]); })); - function reg(_x9) { + function reg(_x7) { return _ref8.apply(this, arguments); } @@ -694,7 +695,7 @@ var userController = function (_baseController) { }, _callee9, this, [[2, 12]]); })); - function list(_x10) { + function list(_x8) { return _ref9.apply(this, arguments); } @@ -744,7 +745,7 @@ var userController = function (_baseController) { break; } - return _context10.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(null, 402, "不存在的用户")); + return _context10.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(null, 402, '不存在的用户')); case 10: return _context10.abrupt('return', ctx.body = _yapi2.default.commons.resReturn({ @@ -769,7 +770,7 @@ var userController = function (_baseController) { }, _callee10, this, [[0, 13]]); })); - function findById(_x11) { + function findById(_x9) { return _ref10.apply(this, arguments); } @@ -823,6 +824,7 @@ var userController = function (_baseController) { case 9: result = _context11.sent; + ctx.body = _yapi2.default.commons.resReturn(result); _context11.next = 16; break; @@ -841,7 +843,7 @@ var userController = function (_baseController) { }, _callee11, this, [[0, 13]]); })); - function del(_x12) { + function del(_x10) { return _ref11.apply(this, arguments); } @@ -874,6 +876,7 @@ var userController = function (_baseController) { _context12.prev = 0; params = ctx.request.body; + params = _yapi2.default.commons.handleParams(params, { username: 'string', email: 'string' @@ -899,13 +902,14 @@ var userController = function (_baseController) { case 9: data = { - up_time: _yapi2.default.commons.time() }; + if (this.getRole() === 'admin') { params.role && (data.role = params.role); } + params.username && (data.username = params.username); params.email && (data.email = params.email); @@ -934,6 +938,7 @@ var userController = function (_baseController) { case 21: result = _context12.sent; + ctx.body = _yapi2.default.commons.resReturn(result); _context12.next = 28; break; @@ -952,7 +957,7 @@ var userController = function (_baseController) { }, _callee12, this, [[0, 25]]); })); - function update(_x13) { + function update(_x11) { return _ref12.apply(this, arguments); } @@ -1014,7 +1019,7 @@ var userController = function (_baseController) { }]; filteredRes = _commons2.default.filterRes(queryList, rules); - console.log(queryList); + console.log(queryList); // eslint-disable-line return _context13.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(filteredRes, 0, 'ok')); @@ -1026,7 +1031,7 @@ var userController = function (_baseController) { }, _callee13, this); })); - function search(_x14) { + function search(_x12) { return _ref13.apply(this, arguments); } diff --git a/server_dist/install.js b/server_dist/install.js index c466f30c..b91b03a6 100644 --- a/server_dist/install.js +++ b/server_dist/install.js @@ -51,10 +51,10 @@ function setupSql() { result.then(function () { _fsExtra2.default.ensureFileSync(_yapi2.default.path.join(_yapi2.default.WEBROOT_RUNTIME, 'init.lock')); - console.log('\u521D\u59CB\u5316\u7BA1\u7406\u5458\u8D26\u53F7 "' + _yapi2.default.WEBCONFIG.adminAccount + '" \u6210\u529F'); + console.log('\u521D\u59CB\u5316\u7BA1\u7406\u5458\u8D26\u53F7 "' + _yapi2.default.WEBCONFIG.adminAccount + '" \u6210\u529F'); // eslint-disable-line process.exit(0); }, function (err) { - console.log('\u521D\u59CB\u5316\u7BA1\u7406\u5458\u8D26\u53F7 "' + _yapi2.default.WEBCONFIG.adminAccount + '" \u5931\u8D25, ' + err.message); + console.log('\u521D\u59CB\u5316\u7BA1\u7406\u5458\u8D26\u53F7 "' + _yapi2.default.WEBCONFIG.adminAccount + '" \u5931\u8D25, ' + err.message); // eslint-disable-line process.exit(0); }); } diff --git a/server_dist/middleware/checkToken.js b/server_dist/middleware/checkToken.js index cbe316ba..0eca1c2f 100644 --- a/server_dist/middleware/checkToken.js +++ b/server_dist/middleware/checkToken.js @@ -1,16 +1,16 @@ -'use strict'; +"use strict"; -var _regenerator = require('babel-runtime/regenerator'); +var _regenerator = require("babel-runtime/regenerator"); var _regenerator2 = _interopRequireDefault(_regenerator); -var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); +var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator"); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var jwt = require('jsonwebtoken'); +// const jwt = require('jsonwebtoken'); //检查token是否过期 module.exports = function () { @@ -23,7 +23,7 @@ module.exports = function () { return next(); case 2: - case 'end': + case "end": return _context.stop(); } } diff --git a/server_dist/middleware/mockServer.js b/server_dist/middleware/mockServer.js index d9d66655..14cd95ef 100644 --- a/server_dist/middleware/mockServer.js +++ b/server_dist/middleware/mockServer.js @@ -35,6 +35,7 @@ module.exports = function () { switch (_context.prev = _context.next) { case 0: _yapi2.default.commons.log('Server Recevie Request...'); + hostname = ctx.hostname; config = _yapi2.default.WEBCONFIG; @@ -55,6 +56,7 @@ module.exports = function () { return _context.abrupt('return', true); case 8: + _yapi2.default.commons.log('MockServer Running...'); projectInst = _yapi2.default.getInst(_project3.default), projects = void 0; _context.prev = 10; @@ -81,6 +83,7 @@ module.exports = function () { if (ctx.path && ctx.path.indexOf(_project.basepath) === 0) { matchProject.push(_project); + if (_project.basepath.length > maxBasepath) { maxBasepath = _project.basepath.length; matchProject = _project; diff --git a/server_dist/middleware/userauth.js b/server_dist/middleware/userauth.js index b987d7fa..3cbed01f 100644 --- a/server_dist/middleware/userauth.js +++ b/server_dist/middleware/userauth.js @@ -19,8 +19,8 @@ module.exports = function () { case 0: path = ctx.path; - console.log(path); - console.log(ctx.hostname); + console.log(path); // eslint-disable-line + console.log(ctx.hostname); // eslint-disable-line if (!next) { _context.next = 6; diff --git a/server_dist/models/group.js b/server_dist/models/group.js index 784b27ff..5b0030f4 100644 --- a/server_dist/models/group.js +++ b/server_dist/models/group.js @@ -24,10 +24,6 @@ var _yapi = require('../yapi.js'); var _yapi2 = _interopRequireDefault(_yapi); -var _mongoose = require('mongoose'); - -var _mongoose2 = _interopRequireDefault(_mongoose); - var _base = require('./base.js'); var _base2 = _interopRequireDefault(_base); @@ -74,7 +70,7 @@ var groupModel = function (_baseModel) { }, { key: 'list', value: function list() { - return this.model.find().select("group_name _id group_desc add_time up_time").exec(); + return this.model.find().select('group_name _id group_desc add_time up_time').exec(); } }, { key: 'del', diff --git a/server_dist/utils/commons.js b/server_dist/utils/commons.js index 792f05ab..9c5137f6 100644 --- a/server_dist/utils/commons.js +++ b/server_dist/utils/commons.js @@ -47,16 +47,16 @@ exports.log = function (msg, type) { switch (type) { case 'log': - f = console.log; + f = console.log; // eslint-disable-line break; case 'warn': - f = console.warn; + f = console.warn; // eslint-disable-line break; case 'error': - f = console.error; + f = console.error; // eslint-disable-line break; default: - f = console.log; + f = console.log; // eslint-disable-line break; } @@ -151,7 +151,7 @@ exports.sendMail = function (options, cb) { html: options.contents }, cb); } catch (e) { - console.error(e.message); + console.error(e.message); // eslint-disable-line } }; diff --git a/server_dist/yapi.js b/server_dist/yapi.js index 34606718..2e38dd81 100644 --- a/server_dist/yapi.js +++ b/server_dist/yapi.js @@ -58,7 +58,7 @@ function delInst(m) { try { insts.delete(m); } catch (err) { - console.error(err); + console.error(err); // eslint-disable-line } } diff --git a/static/dev.html b/static/dev.html index 54d56854..fe862fc1 100644 --- a/static/dev.html +++ b/static/dev.html @@ -9,28 +9,12 @@ + + + -