mirror of
https://github.com/YMFE/yapi.git
synced 2025-02-17 13:49:43 +08:00
init project path
This commit is contained in:
parent
d8e31bcd4e
commit
bb6e1b41f1
4
.gitignore
vendored
4
.gitignore
vendored
@ -31,4 +31,6 @@ Thumbs.db
|
||||
# *.war
|
||||
# *.zip
|
||||
# *.tar
|
||||
# *.tar.gz
|
||||
# *.tar.gz
|
||||
|
||||
node_modules/
|
||||
|
23
README.md
23
README.md
@ -1,17 +1,8 @@
|
||||
#### ***文中链接各位根据自己项目对应修改***
|
||||
--------------------------------------------------------------------------------
|
||||
#### **项目管理**:
|
||||
#### *PMO*:(http://pmo.corp.qunar.com)<br />
|
||||
--------------------------------------------------------------------------------
|
||||
#### **CI/CD**:
|
||||
#### *QDR*:(http://qdr.corp.qunar.com/)<br />
|
||||
#### *QCI*:(http://qci.corp.qunar.com/)<br />
|
||||
#### *CABLE*:(http://wanshiwu.corp.qunar.com/qualitycheck/index/)<br />
|
||||
### Yapi是一个高效,易用,功能强大的api管理系统
|
||||
|
||||
#### 后台server如何启动和热更新?
|
||||
|
||||
1. npm install
|
||||
2. gulp
|
||||
3. npm run dev-server
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
#### **质量管理**:
|
||||
#### *bugfree*:(http://svn.corp.qunar.com/bugfree)<br />
|
||||
#### *case*:(http://bugfree.corp.qunar.com/bugfree/index.php/case)<br />
|
||||
--------------------------------------------------------------------------------
|
||||
#### **项目信息**:
|
||||
#### *wiki*:(http://wiki.corp.qunar.com/)<br />
|
||||
|
32
gulpfile.js
Normal file
32
gulpfile.js
Normal file
@ -0,0 +1,32 @@
|
||||
const fs = require('fs-extra');
|
||||
const gulp = require('gulp');
|
||||
const babel = require('gulp-babel');
|
||||
const watch = require('gulp-watch');
|
||||
const nodemon = require('nodemon');
|
||||
const dist = './server_dist/'
|
||||
|
||||
gulp.task('default', ['clearLib', 'compileJS']);
|
||||
|
||||
gulp.task('clearLib', [], function() {
|
||||
return fs.removeSync(dist)
|
||||
});
|
||||
|
||||
gulp.task('compileJS', ['clearLib'], function() {
|
||||
var babelProcess = babel({
|
||||
presets: ['es2015', "stage-3"],
|
||||
plugins: ['transform-runtime']
|
||||
})
|
||||
|
||||
babelProcess.on('error', function(e) {
|
||||
console.log(e);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
gulp.src('server/**/*.!(js)').pipe(gulp.dest(dist));
|
||||
|
||||
|
||||
return watch(['server/**/*.js'], {
|
||||
verbose: true,
|
||||
ignoreInitial: false
|
||||
}).pipe(babelProcess).pipe(gulp.dest(dist));
|
||||
})
|
3
nodemon.json
Normal file
3
nodemon.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"watch": ["lib/"]
|
||||
}
|
45
package.json
Normal file
45
package.json
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "yapi",
|
||||
"version": "1.0.0",
|
||||
"description": "-------------------------------------------------------------------------------- #### **项目管理**: #### *PMO*:(http://pmo.corp.qunar.com)<br /> -------------------------------------------------------------------------------- #### **CI/CD**: #### *QDR*:(http://qdr.corp.qunar.com/)<br /> #### *QCI*:(http://qci.corp.qunar.com/)<br /> #### *CABLE*:(http://wanshiwu.corp.qunar.com/qualitycheck/index/)<br />",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"build-server": "babel server -d server_dist",
|
||||
"dev-server": "nodemon server_dist/app.js dev"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@gitlab.corp.qunar.com:wenxiong.su/yapi.git"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"fs-extra": "^3.0.1",
|
||||
"koa": "^2.0.0",
|
||||
"koa-bodyparser": "^3.2.0",
|
||||
"koa-logger": "^3.0.0",
|
||||
"koa-mysql-session": "0.0.2",
|
||||
"koa-router": "^7.0.1",
|
||||
"koa-send": "^3.2.0",
|
||||
"koa-session-minimal": "^3.0.3",
|
||||
"koa-static": "^3.0.0",
|
||||
"koa-views": "^5.2.0",
|
||||
"mongoose": "4.10.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.24.1",
|
||||
"babel-plugin-transform-runtime": "^6.23.0",
|
||||
"babel-preset-es2015": "^6.24.1",
|
||||
"babel-preset-stage-3": "^6.24.1",
|
||||
"fs-extra": "^3.0.1",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-babel": "^6.1.2",
|
||||
"gulp-watch": "^4.3.11",
|
||||
"nodemon": "^1.11.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6.0.0",
|
||||
"npm": ">= 3.0.0"
|
||||
}
|
||||
}
|
22
server/app.js
Normal file
22
server/app.js
Normal file
@ -0,0 +1,22 @@
|
||||
|
||||
import path from 'path'
|
||||
import init from'./init.js'
|
||||
import fs from 'fs-extra'
|
||||
|
||||
import prdConfig from './config.json'
|
||||
import devConfig from './config.dev.json'
|
||||
|
||||
let args = process.argv.splice(2);
|
||||
let isDev = args[0] === 'dev' ? true : false;
|
||||
const config = isDev ? devConfig : prdConfig;
|
||||
|
||||
|
||||
global.WEBROOT = path.resolve(__dirname, '..');
|
||||
global.WEBROOT_SERVER = __dirname;
|
||||
global.WEBROOT_RUNTIME = path.join(WEBROOT, 'runtime');
|
||||
global.WEBROOT_LOG = path.join(WEBROOT_RUNTIME, 'log');
|
||||
global.WEBCONFIG = config;
|
||||
|
||||
init();
|
||||
|
||||
|
8
server/config.dev.json
Normal file
8
server/config.dev.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"port": "3000",
|
||||
"db": {
|
||||
"servername": "localhost",
|
||||
"DATABASE": "yapi",
|
||||
"port": 27017
|
||||
}
|
||||
}
|
8
server/config.json
Normal file
8
server/config.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"port":"80",
|
||||
"db": {
|
||||
"servername": "localhost",
|
||||
"DATABASE": "yapi",
|
||||
"port": "27017"
|
||||
}
|
||||
}
|
20
server/controllers/interface.js
Normal file
20
server/controllers/interface.js
Normal file
@ -0,0 +1,20 @@
|
||||
import { resReturn,log } from '../utils/commons';
|
||||
import interfaceModel from '../models/interface.js'
|
||||
|
||||
module.exports = {
|
||||
async add(ctx) {
|
||||
let data = {
|
||||
title: 'yapi',
|
||||
content: 'content',
|
||||
uid: 'abc'
|
||||
}
|
||||
let result = await interfaceModel.save(data);
|
||||
log('interface err...', 'error');
|
||||
ctx.body = resReturn(result)
|
||||
},
|
||||
|
||||
async list(ctx) {
|
||||
let data = interfaceModel.find();
|
||||
ctx.body = 1;
|
||||
}
|
||||
}
|
37
server/init.js
Normal file
37
server/init.js
Normal file
@ -0,0 +1,37 @@
|
||||
import path from 'path'
|
||||
import commons from './utils/commons.js'
|
||||
import fs from 'fs-extra'
|
||||
import mongoose from 'mongoose'
|
||||
import db from './utils/db.js'
|
||||
import Koa from 'koa'
|
||||
import convert from 'koa-convert'
|
||||
import koaStatic from 'koa-static'
|
||||
import bodyParser from 'koa-bodyparser'
|
||||
import router from './router.js'
|
||||
|
||||
function runSever(){
|
||||
const app = new Koa()
|
||||
app.use(bodyParser())
|
||||
app.use(koaStatic(
|
||||
path.join(WEBROOT,'static')
|
||||
))
|
||||
app.use(router.routes())
|
||||
app.use(router.allowedMethods())
|
||||
app.listen( WEBCONFIG.port )
|
||||
commons.log(`the server is start at port ${WEBCONFIG.port}`)
|
||||
}
|
||||
|
||||
|
||||
module.exports = ()=>{
|
||||
global.yapi = {
|
||||
db: mongoose,
|
||||
commons: commons,
|
||||
fs: fs,
|
||||
path: path
|
||||
}
|
||||
fs.ensureDirSync(WEBROOT_RUNTIME);
|
||||
fs.ensureDirSync(WEBROOT_LOG);
|
||||
db();
|
||||
runSever();
|
||||
}
|
||||
|
31
server/models/interface.js
Normal file
31
server/models/interface.js
Normal file
@ -0,0 +1,31 @@
|
||||
import mongoose from 'mongoose'
|
||||
const Schema = mongoose.Schema;
|
||||
const interfaceSchema = new Schema({
|
||||
title: String,
|
||||
content: String,
|
||||
uid: String
|
||||
})
|
||||
|
||||
var interfaceModel = mongoose.model('interface', interfaceSchema);
|
||||
|
||||
|
||||
function save(data){
|
||||
let m = new interfaceModel(data);
|
||||
return m.save();
|
||||
}
|
||||
|
||||
function findById(id){
|
||||
return interfaceModel.findOne({
|
||||
_id: id
|
||||
}, 'title content')
|
||||
}
|
||||
|
||||
function find(){
|
||||
return interfaceModel.find({title: 2222}).exec()
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
save: save,
|
||||
findById: findById,
|
||||
find: find
|
||||
}
|
17
server/router.js
Normal file
17
server/router.js
Normal file
@ -0,0 +1,17 @@
|
||||
import koaRouter from 'koa-router'
|
||||
import interfaceController from './controllers/interface'
|
||||
|
||||
let router = koaRouter();
|
||||
|
||||
const interface_PREFIX = {
|
||||
interface: '/interface/',
|
||||
user: '/user/'
|
||||
};
|
||||
|
||||
router.get ( interface_PREFIX.interface + 'add', interfaceController.add)
|
||||
.get ( interface_PREFIX.interface + 'list', interfaceController.list)
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = router
|
57
server/utils/commons.js
Normal file
57
server/utils/commons.js
Normal file
@ -0,0 +1,57 @@
|
||||
|
||||
import fs from 'fs-extra'
|
||||
import path from 'path'
|
||||
|
||||
exports.resReturn = (data, num, errmsg)=> {
|
||||
num = num || 0;
|
||||
return {
|
||||
errcode: num,
|
||||
errmsg: errmsg || 'success',
|
||||
data: data
|
||||
}
|
||||
}
|
||||
|
||||
const MSGTYPE = {
|
||||
'log' : 'Log',
|
||||
'warn' : 'warning',
|
||||
'error': 'Error'
|
||||
}
|
||||
|
||||
exports.log = (msg, type) => {
|
||||
if(!msg) return;
|
||||
type = type || 'log';
|
||||
let f;
|
||||
switch(type){
|
||||
case 'log': f = console.log; break;
|
||||
case 'warn': f = console.warn; break;
|
||||
case 'error': f= console.error; break;
|
||||
default : f = console.log; break;
|
||||
}
|
||||
f(type + ':', msg);
|
||||
let date = new Date();
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth();
|
||||
|
||||
let logfile = path.join(WEBROOT_LOG, year + '-' + month + '.log');
|
||||
|
||||
if(typeof msg === 'object'){
|
||||
if(msg instanceof Error) msg = msg.message;
|
||||
else msg = JSON.stringify(msg);
|
||||
}
|
||||
let data= (new Date).toLocaleTimeString() + "\t|\t" + type + "\t|\t" + msg;
|
||||
fs.writeFileSync(logfile, data, {
|
||||
flag: 'w+'
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
exports.fileExist = (filePath) =>{
|
||||
try {
|
||||
return fs.statSync(filePath).isFile();
|
||||
} catch (err) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
29
server/utils/db.js
Normal file
29
server/utils/db.js
Normal file
@ -0,0 +1,29 @@
|
||||
import path from 'path'
|
||||
import mongoose from 'mongoose'
|
||||
import {fileExist, log} from './commons.js'
|
||||
|
||||
|
||||
|
||||
function init(){
|
||||
mongoose.Promise = global.Promise;
|
||||
let config = WEBCONFIG;
|
||||
let db = mongoose.connect(`mongodb://${config.db.servername}:${config.db.port}/${config.db.DATABASE}`);
|
||||
|
||||
db.then(function (res) {
|
||||
log('mongodb load success...')
|
||||
}, function (err) {
|
||||
log(err, 'Mongo connect error');
|
||||
})
|
||||
|
||||
checkDatabase();
|
||||
return db;
|
||||
}
|
||||
|
||||
function checkDatabase(){
|
||||
let exist = fileExist(path.join(WEBROOT_RUNTIME, 'init.lock'))
|
||||
if(!exist){
|
||||
log('lock is not exist')
|
||||
}
|
||||
}
|
||||
|
||||
export default init;
|
35
server_dist/app.js
Normal file
35
server_dist/app.js
Normal file
@ -0,0 +1,35 @@
|
||||
'use strict';
|
||||
|
||||
var _path = require('path');
|
||||
|
||||
var _path2 = _interopRequireDefault(_path);
|
||||
|
||||
var _init = require('./init.js');
|
||||
|
||||
var _init2 = _interopRequireDefault(_init);
|
||||
|
||||
var _fsExtra = require('fs-extra');
|
||||
|
||||
var _fsExtra2 = _interopRequireDefault(_fsExtra);
|
||||
|
||||
var _config = require('./config.json');
|
||||
|
||||
var _config2 = _interopRequireDefault(_config);
|
||||
|
||||
var _configDev = require('./config.dev.json');
|
||||
|
||||
var _configDev2 = _interopRequireDefault(_configDev);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var args = process.argv.splice(2);
|
||||
var isDev = args[0] === 'dev' ? true : false;
|
||||
var config = isDev ? _configDev2.default : _config2.default;
|
||||
|
||||
global.WEBROOT = _path2.default.resolve(__dirname, '..');
|
||||
global.WEBROOT_SERVER = __dirname;
|
||||
global.WEBROOT_RUNTIME = _path2.default.join(WEBROOT, 'runtime');
|
||||
global.WEBROOT_LOG = _path2.default.join(WEBROOT_RUNTIME, 'log');
|
||||
global.WEBCONFIG = config;
|
||||
|
||||
(0, _init2.default)();
|
8
server_dist/config.dev.json
Normal file
8
server_dist/config.dev.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"port": "3000",
|
||||
"db": {
|
||||
"servername": "localhost",
|
||||
"DATABASE": "yapi",
|
||||
"port": 27017
|
||||
}
|
||||
}
|
8
server_dist/config.json
Normal file
8
server_dist/config.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"port":"80",
|
||||
"db": {
|
||||
"servername": "localhost",
|
||||
"DATABASE": "yapi",
|
||||
"port": "27017"
|
||||
}
|
||||
}
|
72
server_dist/controllers/interface.js
Normal file
72
server_dist/controllers/interface.js
Normal file
@ -0,0 +1,72 @@
|
||||
'use strict';
|
||||
|
||||
var _regenerator = require('babel-runtime/regenerator');
|
||||
|
||||
var _regenerator2 = _interopRequireDefault(_regenerator);
|
||||
|
||||
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
|
||||
|
||||
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
||||
|
||||
var _commons = require('../utils/commons');
|
||||
|
||||
var _interface = require('../models/interface.js');
|
||||
|
||||
var _interface2 = _interopRequireDefault(_interface);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
module.exports = {
|
||||
add: function add(ctx) {
|
||||
var _this = this;
|
||||
|
||||
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {
|
||||
var data, result;
|
||||
return _regenerator2.default.wrap(function _callee$(_context) {
|
||||
while (1) {
|
||||
switch (_context.prev = _context.next) {
|
||||
case 0:
|
||||
data = {
|
||||
title: 'yapi',
|
||||
content: 'content',
|
||||
uid: 'abc'
|
||||
};
|
||||
_context.next = 3;
|
||||
return _interface2.default.save(data);
|
||||
|
||||
case 3:
|
||||
result = _context.sent;
|
||||
|
||||
(0, _commons.log)('interface err...', 'error');
|
||||
ctx.body = (0, _commons.resReturn)(result);
|
||||
|
||||
case 6:
|
||||
case 'end':
|
||||
return _context.stop();
|
||||
}
|
||||
}
|
||||
}, _callee, _this);
|
||||
}))();
|
||||
},
|
||||
list: function list(ctx) {
|
||||
var _this2 = this;
|
||||
|
||||
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2() {
|
||||
var data;
|
||||
return _regenerator2.default.wrap(function _callee2$(_context2) {
|
||||
while (1) {
|
||||
switch (_context2.prev = _context2.next) {
|
||||
case 0:
|
||||
data = _interface2.default.find();
|
||||
|
||||
ctx.body = 1;
|
||||
|
||||
case 2:
|
||||
case 'end':
|
||||
return _context2.stop();
|
||||
}
|
||||
}
|
||||
}, _callee2, _this2);
|
||||
}))();
|
||||
}
|
||||
};
|
66
server_dist/init.js
Normal file
66
server_dist/init.js
Normal file
@ -0,0 +1,66 @@
|
||||
'use strict';
|
||||
|
||||
var _path = require('path');
|
||||
|
||||
var _path2 = _interopRequireDefault(_path);
|
||||
|
||||
var _commons = require('./utils/commons.js');
|
||||
|
||||
var _commons2 = _interopRequireDefault(_commons);
|
||||
|
||||
var _fsExtra = require('fs-extra');
|
||||
|
||||
var _fsExtra2 = _interopRequireDefault(_fsExtra);
|
||||
|
||||
var _mongoose = require('mongoose');
|
||||
|
||||
var _mongoose2 = _interopRequireDefault(_mongoose);
|
||||
|
||||
var _db = require('./utils/db.js');
|
||||
|
||||
var _db2 = _interopRequireDefault(_db);
|
||||
|
||||
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);
|
||||
|
||||
var _koaBodyparser = require('koa-bodyparser');
|
||||
|
||||
var _koaBodyparser2 = _interopRequireDefault(_koaBodyparser);
|
||||
|
||||
var _router = require('./router.js');
|
||||
|
||||
var _router2 = _interopRequireDefault(_router);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function runSever() {
|
||||
var app = new _koa2.default();
|
||||
app.use((0, _koaBodyparser2.default)());
|
||||
app.use((0, _koaStatic2.default)(_path2.default.join(WEBROOT, 'static')));
|
||||
app.use(_router2.default.routes());
|
||||
app.use(_router2.default.allowedMethods());
|
||||
app.listen(WEBCONFIG.port);
|
||||
_commons2.default.log('the server is start at port ' + WEBCONFIG.port);
|
||||
}
|
||||
|
||||
module.exports = function () {
|
||||
global.yapi = {
|
||||
db: _mongoose2.default,
|
||||
commons: _commons2.default,
|
||||
fs: _fsExtra2.default,
|
||||
path: _path2.default
|
||||
};
|
||||
_fsExtra2.default.ensureDirSync(WEBROOT_RUNTIME);
|
||||
_fsExtra2.default.ensureDirSync(WEBROOT_LOG);
|
||||
(0, _db2.default)();
|
||||
runSever();
|
||||
};
|
37
server_dist/models/interface.js
Normal file
37
server_dist/models/interface.js
Normal file
@ -0,0 +1,37 @@
|
||||
'use strict';
|
||||
|
||||
var _mongoose = require('mongoose');
|
||||
|
||||
var _mongoose2 = _interopRequireDefault(_mongoose);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var Schema = _mongoose2.default.Schema;
|
||||
var interfaceSchema = new Schema({
|
||||
title: String,
|
||||
content: String,
|
||||
uid: String
|
||||
});
|
||||
|
||||
var interfaceModel = _mongoose2.default.model('interface', interfaceSchema);
|
||||
|
||||
function save(data) {
|
||||
var m = new interfaceModel(data);
|
||||
return m.save();
|
||||
}
|
||||
|
||||
function findById(id) {
|
||||
return interfaceModel.findOne({
|
||||
_id: id
|
||||
}, 'title content');
|
||||
}
|
||||
|
||||
function find() {
|
||||
return interfaceModel.find({ title: 2222 }).exec();
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
save: save,
|
||||
findById: findById,
|
||||
find: find
|
||||
};
|
22
server_dist/router.js
Normal file
22
server_dist/router.js
Normal file
@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
var _koaRouter = require('koa-router');
|
||||
|
||||
var _koaRouter2 = _interopRequireDefault(_koaRouter);
|
||||
|
||||
var _interface = require('./controllers/interface');
|
||||
|
||||
var _interface2 = _interopRequireDefault(_interface);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var router = (0, _koaRouter2.default)();
|
||||
|
||||
var interface_PREFIX = {
|
||||
interface: '/interface/',
|
||||
user: '/user/'
|
||||
};
|
||||
|
||||
router.get(interface_PREFIX.interface + 'add', _interface2.default.add).get(interface_PREFIX.interface + 'list', _interface2.default.list);
|
||||
|
||||
module.exports = router;
|
72
server_dist/utils/commons.js
Normal file
72
server_dist/utils/commons.js
Normal file
@ -0,0 +1,72 @@
|
||||
'use strict';
|
||||
|
||||
var _stringify = require('babel-runtime/core-js/json/stringify');
|
||||
|
||||
var _stringify2 = _interopRequireDefault(_stringify);
|
||||
|
||||
var _typeof2 = require('babel-runtime/helpers/typeof');
|
||||
|
||||
var _typeof3 = _interopRequireDefault(_typeof2);
|
||||
|
||||
var _fsExtra = require('fs-extra');
|
||||
|
||||
var _fsExtra2 = _interopRequireDefault(_fsExtra);
|
||||
|
||||
var _path = require('path');
|
||||
|
||||
var _path2 = _interopRequireDefault(_path);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.resReturn = function (data, num, errmsg) {
|
||||
num = num || 0;
|
||||
return {
|
||||
errcode: num,
|
||||
errmsg: errmsg || 'success',
|
||||
data: data
|
||||
};
|
||||
};
|
||||
|
||||
var MSGTYPE = {
|
||||
'log': 'Log',
|
||||
'warn': 'warning',
|
||||
'error': 'Error'
|
||||
};
|
||||
|
||||
exports.log = function (msg, type) {
|
||||
if (!msg) return;
|
||||
type = type || 'log';
|
||||
var f = void 0;
|
||||
switch (type) {
|
||||
case 'log':
|
||||
f = console.log;break;
|
||||
case 'warn':
|
||||
f = console.warn;break;
|
||||
case 'error':
|
||||
f = console.error;break;
|
||||
default:
|
||||
f = console.log;break;
|
||||
}
|
||||
f(type + ':', msg);
|
||||
var date = new Date();
|
||||
var year = date.getFullYear();
|
||||
var month = date.getMonth();
|
||||
|
||||
var logfile = _path2.default.join(WEBROOT_LOG, year + '-' + month + '.log');
|
||||
|
||||
if ((typeof msg === 'undefined' ? 'undefined' : (0, _typeof3.default)(msg)) === 'object') {
|
||||
if (msg instanceof Error) msg = msg.message;else msg = (0, _stringify2.default)(msg);
|
||||
}
|
||||
var data = new Date().toLocaleTimeString() + "\t|\t" + type + "\t|\t" + msg;
|
||||
_fsExtra2.default.writeFileSync(logfile, data, {
|
||||
flag: 'w+'
|
||||
});
|
||||
};
|
||||
|
||||
exports.fileExist = function (filePath) {
|
||||
try {
|
||||
return _fsExtra2.default.statSync(filePath).isFile();
|
||||
} catch (err) {
|
||||
return false;
|
||||
}
|
||||
};
|
41
server_dist/utils/db.js
Normal file
41
server_dist/utils/db.js
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _path = require('path');
|
||||
|
||||
var _path2 = _interopRequireDefault(_path);
|
||||
|
||||
var _mongoose = require('mongoose');
|
||||
|
||||
var _mongoose2 = _interopRequireDefault(_mongoose);
|
||||
|
||||
var _commons = require('./commons.js');
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function init() {
|
||||
_mongoose2.default.Promise = global.Promise;
|
||||
var config = WEBCONFIG;
|
||||
var db = _mongoose2.default.connect('mongodb://' + config.db.servername + ':' + config.db.port + '/' + config.db.DATABASE);
|
||||
|
||||
db.then(function (res) {
|
||||
(0, _commons.log)('mongodb load success...');
|
||||
}, function (err) {
|
||||
(0, _commons.log)(err, 'Mongo connect error');
|
||||
});
|
||||
|
||||
checkDatabase();
|
||||
return db;
|
||||
}
|
||||
|
||||
function checkDatabase() {
|
||||
var exist = (0, _commons.fileExist)(_path2.default.join(WEBROOT_RUNTIME, 'init.lock'));
|
||||
if (!exist) {
|
||||
(0, _commons.log)('lock is not exist');
|
||||
}
|
||||
}
|
||||
|
||||
exports.default = init;
|
1
static/index.html
Normal file
1
static/index.html
Normal file
@ -0,0 +1 @@
|
||||
hello yapi!
|
Loading…
Reference in New Issue
Block a user