fix: sonar 检查

This commit is contained in:
gandchuan 2018-07-09 15:08:56 +08:00
parent a7d4c6cf1a
commit 9e17cbe630
6 changed files with 126 additions and 133 deletions

View File

@ -12,7 +12,7 @@ import Loading from './components/Loading/Loading';
import MyPopConfirm from './components/MyPopConfirm/MyPopConfirm';
import { checkLoginState } from './reducer/modules/user';
import { requireAuthentication } from './components/AuthenticatedComponent';
import Notify from './components/Notify/Notify'
import Notify from './components/Notify/Notify';
const plugin = require('client/plugin.js');

View File

@ -117,7 +117,6 @@ export default (state = initialState, action) => {
studyTip: 0
};
}
case SET_IMAGE_URL: {
// console.log('state', state);
return {

View File

@ -57,7 +57,6 @@ export default class MockCol extends Component {
});
record.res_body = JSON.stringify(result.data);
}
// console.log(this.props.currInterface.req_body_is_json_schema)
// 参数过滤schema形式
if (this.props.currInterface.req_body_is_json_schema) {
let result = await axios.post('/api/interface/schema2json', {
@ -67,8 +66,7 @@ export default class MockCol extends Component {
record.req_body_other = JSON.stringify(result.data);
}
this.setState({
this.setState({
isAdd: isAdd,
caseDesModalVisible: true,
caseData: record

View File

@ -130,7 +130,7 @@ class openController extends baseController {
let result = [];
Object.keys(params).map(item => {
if (/env_/gi.test(item)) {
let curEnv = yapi.commons.trim(params[item])
let curEnv = yapi.commons.trim(params[item]);
let value = { curEnv, project_id: item.split('_')[1] };
result.push(value);
}
@ -138,12 +138,12 @@ class openController extends baseController {
return result;
}
async runAutoTest(ctx) {
if(!this.$tokenAuth ){
return ctx.body = yapi.commons.resReturn(null, 40022, 'token 验证失败');
if (!this.$tokenAuth) {
return (ctx.body = yapi.commons.resReturn(null, 40022, 'token 验证失败'));
}
// console.log(1231312)
const token = ctx.query.token;
const projectId = ctx.params.project_id;
const startTime = new Date().getTime();
const records = (this.records = {});
@ -151,7 +151,7 @@ class openController extends baseController {
const testList = [];
let id = ctx.params.id;
let curEnvList = this.handleEvnParams(ctx.params);
let colData = await this.interfaceColModel.get(id);
if (!colData) {
return (ctx.body = yapi.commons.resReturn(null, 40022, 'id值不存在'));
@ -172,7 +172,6 @@ class openController extends baseController {
let curEnvItem = _.find(curEnvList, key => {
return key.project_id == item.project_id;
});
item.case_env = curEnvItem ? curEnvItem.curEnv || item.case_env : item.case_env;
item.req_headers = this.handleReqHeader(item.req_headers, projectEvn.env, item.case_env);
@ -192,7 +191,7 @@ class openController extends baseController {
params: result.params,
body: result.res_body
};
testList.push(result);
testList.push(result);
}
function getMessage(testList) {
@ -317,8 +316,6 @@ class openController extends baseController {
return result;
}
async handleScriptTest(interfaceData, response, validRes, requestParams) {
if (interfaceData.enable_script !== true) {
return null;
@ -345,9 +342,8 @@ class openController extends baseController {
}
handleReqHeader(req_header, envData, curEnvName) {
let currDomain = handleCurrDomain(envData, curEnvName);
let header = currDomain.header;
header.forEach(item => {
if (!checkNameIsExistInArray(item.name, req_header)) {

View File

@ -8,7 +8,7 @@ const interfaceColModel = require('../models/interfaceCol.js');
const interfaceCaseModel = require('../models/interfaceCase.js');
const interfaceModel = require('../models/interface.js');
const userModel = require('../models/user.js');
const followModel = require('../models/follow.js')
const followModel = require('../models/follow.js');
const json5 = require('json5');
const _ = require('underscore');
const Ajv = require('ajv');
@ -548,38 +548,36 @@ exports.getUserdata = async function getUserdata(uid, role) {
};
exports.sendNotice = async function sendNotice(projectId, data) {
const followInst = yapi.getInst(followModel);
const userInst = yapi.getInst(userModel);
const projectInst = yapi.getInst(projectModel);
const list = await followInst.listByProjectId(projectId);
const starUsers = list.map(item => item.uid);
const followInst = yapi.getInst(followModel);
const userInst = yapi.getInst(userModel);
const projectInst = yapi.getInst(projectModel);
const list = await followInst.listByProjectId(projectId);
const starUsers = list.map(item => item.uid);
const projectList = await projectInst.get(projectId);
const projectMenbers = projectList.members.filter(item => item.email_notice).map(item => item.uid);
const projectList = await projectInst.get(projectId);
const projectMenbers = projectList.members
.filter(item => item.email_notice)
.map(item => item.uid);
const users = arrUnique(projectMenbers, starUsers);
const usersInfo = await userInst.findByUids(users);
const emails = usersInfo.map(item => item.email).join(',');
const users = arrUnique(projectMenbers, starUsers);
const usersInfo = await userInst.findByUids(users);
const emails = usersInfo.map(item => item.email).join(',');
try {
yapi.commons.sendMail({
to: emails,
contents: data.content,
subject: data.title
});
} catch (e) {
yapi.commons.log('邮件发送失败:' + e, 'error');
}
}
try {
yapi.commons.sendMail({
to: emails,
contents: data.content,
subject: data.title
});
} catch (e) {
yapi.commons.log('邮件发送失败:' + e, 'error');
}
};
function arrUnique(arr1, arr2) {
let arr = arr1.concat(arr2);
let res = arr.filter(function (item, index, arr) {
let res = arr.filter(function(item, index, arr) {
return arr.indexOf(item) === index;
})
});
return res;
}

View File

@ -1,98 +1,103 @@
var path = require('path');
var AssetsPlugin = require('assets-webpack-plugin')
var CompressionPlugin = require('compression-webpack-plugin')
var AssetsPlugin = require('assets-webpack-plugin');
var CompressionPlugin = require('compression-webpack-plugin');
var commonLib = require('./common/plugin.js');
var assetsPluginInstance = new AssetsPlugin({
filename: 'static/prd/assets.js',
processOutput: function (assets) {
processOutput: function(assets) {
return 'window.WEBPACK_ASSETS = ' + JSON.stringify(assets);
}
})
});
var fs = require('fs');
var package = require('./package.json')
var yapi = require('./server/yapi')
var package = require('./package.json');
var yapi = require('./server/yapi');
var compressPlugin = new CompressionPlugin({
asset: "[path].gz[query]",
algorithm: "gzip",
asset: '[path].gz[query]',
algorithm: 'gzip',
test: /\.(js|css)$/,
threshold: 10240,
minRatio: 0.8
});
function createScript(plugin, pathAlias){
let options = plugin.options ? JSON.stringify(plugin.options) : null
if(pathAlias === 'node_modules'){
return `"${plugin.name}" : {module: require('yapi-plugin-${plugin.name}/client.js'),options: ${options}}`
function createScript(plugin, pathAlias) {
let options = plugin.options ? JSON.stringify(plugin.options) : null;
if (pathAlias === 'node_modules') {
return `"${plugin.name}" : {module: require('yapi-plugin-${
plugin.name
}/client.js'),options: ${options}}`;
}
return `"${plugin.name}" : {module: require('${pathAlias}/yapi-plugin-${plugin.name}/client.js'),options: ${options}}`
return `"${plugin.name}" : {module: require('${pathAlias}/yapi-plugin-${
plugin.name
}/client.js'),options: ${options}}`;
}
function initPlugins(configPlugin){
function initPlugins(configPlugin) {
configPlugin = require('../config.json').plugins;
var systemConfigPlugin = require('./common/config.js').exts;
var scripts = [] ;
if(configPlugin && Array.isArray(configPlugin) && configPlugin.length){
var scripts = [];
if (configPlugin && Array.isArray(configPlugin) && configPlugin.length) {
configPlugin = commonLib.initPlugins(configPlugin, 'plugin');
configPlugin.forEach((plugin)=>{
if(plugin.client && plugin.enable){
scripts.push(createScript(plugin, 'node_modules'))
configPlugin.forEach(plugin => {
if (plugin.client && plugin.enable) {
scripts.push(createScript(plugin, 'node_modules'));
}
})
});
}
systemConfigPlugin = commonLib.initPlugins(systemConfigPlugin, 'ext');
systemConfigPlugin.forEach(plugin=>{
if(plugin.client && plugin.enable){
scripts.push(createScript(plugin, 'exts'))
}
})
scripts = "module.exports = {" + scripts.join(",") + "}";
systemConfigPlugin = commonLib.initPlugins(systemConfigPlugin, 'ext');
systemConfigPlugin.forEach(plugin => {
if (plugin.client && plugin.enable) {
scripts.push(createScript(plugin, 'exts'));
}
});
scripts = 'module.exports = {' + scripts.join(',') + '}';
fs.writeFileSync('client/plugin-module.js', scripts);
}
initPlugins();
module.exports = {
plugins: [{
name: 'antd',
options: {
modifyQuery: function (defaultQuery) { // 可查看和编辑 defaultQuery
defaultQuery.plugins = [];
defaultQuery.plugins.push(["transform-runtime", {
"polyfill": false,
"regenerator": true
}]);
defaultQuery.plugins.push('transform-decorators-legacy');
defaultQuery.plugins.push(["import", { libraryName: "antd"}])
return defaultQuery;
},
exclude: /node_modules\/(?!_?(yapi-plugin|json-schema-editor-visual))/
}
}],
devtool: 'cheap-source-map',
config: function (ykit) {
plugins: [
{
name: 'antd',
options: {
modifyQuery: function(defaultQuery) {
// 可查看和编辑 defaultQuery
defaultQuery.plugins = [];
defaultQuery.plugins.push([
'transform-runtime',
{
polyfill: false,
regenerator: true
}
]);
defaultQuery.plugins.push('transform-decorators-legacy');
defaultQuery.plugins.push(['import', { libraryName: 'antd' }]);
return defaultQuery;
},
exclude: /node_modules\/(?!_?(yapi-plugin|json-schema-editor-visual))/
}
}
],
devtool: 'cheap-source-map',
config: function(ykit) {
return {
exports: [
'./index.js'
],
exports: ['./index.js'],
commonsChunk: {
vendors: {
lib: [
// 'anujs',
'react',
'react',
'react-dom',
'redux',
'redux-thunk',
'redux-promise',
'react-router',
'react-router-dom',
'prop-types',
'prop-types',
'react-dnd-html5-backend',
'react-dnd',
'reactabular-table',
@ -100,15 +105,8 @@ module.exports = {
'table-resolver',
'recharts'
],
lib2: [
'brace',
'mockjs',
'json5',
'url',
'axios',
'moment'
],
lib3: [
lib2: ['brace', 'mockjs', 'json5', 'url', 'axios', 'moment'],
lib3: [
// 'codemirror',
// "highlight.js",
// "jquery",
@ -123,7 +121,7 @@ module.exports = {
]
}
},
modifyWebpackConfig: function (baseConfig) {
modifyWebpackConfig: function(baseConfig) {
var ENV_PARAMS = {};
switch (this.env) {
case 'local':
@ -138,14 +136,16 @@ module.exports = {
default:
}
baseConfig.plugins.push(new this.webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(ENV_PARAMS),
'process.env.version' : JSON.stringify(package.version),
'process.env.versionNotify' : yapi.WEBCONFIG.versionNotify
}))
baseConfig.plugins.push(
new this.webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(ENV_PARAMS),
'process.env.version': JSON.stringify(package.version),
'process.env.versionNotify': yapi.WEBCONFIG.versionNotify
})
);
//初始化配置
baseConfig.devtool = 'cheap-module-eval-source-map'
baseConfig.devtool = 'cheap-module-eval-source-map';
baseConfig.context = path.resolve(__dirname, './client');
baseConfig.resolve.alias.client = '/client';
baseConfig.resolve.alias.common = '/common';
@ -157,45 +157,47 @@ module.exports = {
baseConfig.output.prd.path = 'static/prd';
baseConfig.output.prd.publicPath = '';
baseConfig.output.prd.filename = '[name]@[chunkhash][ext]'
baseConfig.output.prd.filename = '[name]@[chunkhash][ext]';
baseConfig.module.noParse = /node_modules\/jsondiffpatch\/public\/build\/.*js/,
baseConfig.module.loaders.push({
test: /\.less$/,
loader: ykit.ExtractTextPlugin.extract(
require.resolve('style-loader'),
require.resolve('css-loader')
+ '?sourceMap!'
+ require.resolve('less-loader') + '?sourceMap'
)
})
(baseConfig.module.noParse = /node_modules\/jsondiffpatch\/public\/build\/.*js/),
baseConfig.module.loaders.push({
test: /\.less$/,
loader: ykit.ExtractTextPlugin.extract(
require.resolve('style-loader'),
require.resolve('css-loader') +
'?sourceMap!' +
require.resolve('less-loader') +
'?sourceMap'
)
});
baseConfig.module.loaders.push({
test: /\.(sass|scss)$/,
loader: ykit.ExtractTextPlugin.extract(
require.resolve('css-loader')
+ '?sourceMap!'
+ require.resolve('sass-loader') + '?sourceMap'
require.resolve('css-loader') +
'?sourceMap!' +
require.resolve('sass-loader') +
'?sourceMap'
)
})
});
baseConfig.module.preLoaders.push({
test: /\.(js|jsx)$/,
exclude: /node_modules|google-diff.js/,
loader: "eslint-loader"
loader: 'eslint-loader'
});
baseConfig.module.preLoaders.push({
test: /\.json$/,
loader: 'json-loader'
})
});
if (this.env == 'prd') {
baseConfig.plugins.push(assetsPluginInstance)
baseConfig.plugins.push(compressPlugin)
baseConfig.plugins.push(assetsPluginInstance);
baseConfig.plugins.push(compressPlugin);
}
return baseConfig;
}
}
};
},
server: {
// true/false默认 false效果相当于 ykit server --hot