fix: 项目名过滤html

This commit is contained in:
gaoxiaolin.gao 2018-09-03 14:19:14 +08:00
parent d96e27cdeb
commit 80c3d5fa1c
5 changed files with 28 additions and 6 deletions

View File

@ -49,7 +49,6 @@ exports.safeArray = function(arr) {
return Array.isArray(arr) ? arr : [];
};
exports.json5_parse = function(json) {
try {
return json5.parse(json);
@ -177,6 +176,13 @@ exports.nameLengthLimit = type => {
];
};
// 去除所有html标签只保留文字
exports.htmlFilter = html => {
let reg = /<\/?.+?\/?>/g;
return html.replace(reg, '') || '新项目';
};
// 实现 Object.entries() 方法
exports.entries = obj => {
let res = [];

View File

@ -34,7 +34,7 @@ const RadioGroup = Radio.Group;
const RadioButton = Radio.Button;
import constants from '../../../../constants/variable.js';
const confirm = Modal.confirm;
import { nameLengthLimit, entries, trim } from '../../../../common';
import { nameLengthLimit, entries, trim, htmlFilter } from '../../../../common';
import '../Setting.scss';
import _ from 'underscore';
import ProjectTag from './ProjectTag.js';
@ -129,13 +129,14 @@ class ProjectMessage extends Component {
// 如果如果项目所在的分组位置发生改变
this.props.fetchGroupMsg(group_id);
// this.props.history.push('/group');
let projectName = htmlFilter(assignValue.name);
this.props.setBreadcrumb([
{
name: selectGroup.group_name,
href: '/group/' + group_id
},
{
name: assignValue.name
name: projectName
}
]);
}

View File

@ -1,5 +1,6 @@
import axios from 'axios';
import variable from '../../constants/variable';
import {htmlFilter} from '../../common';
// Actions
const FETCH_PROJECT_LIST = 'yapi/project/FETCH_PROJECT_LIST';
@ -173,7 +174,7 @@ export function getProjectMemberList(id) {
// }
export function addProject(data) {
const {
let {
name,
prd_host,
basepath,
@ -185,6 +186,9 @@ export function addProject(data) {
color,
project_type
} = data;
// 过滤项目名称中有html标签存在的情况
name = htmlFilter(name);
const param = {
name,
prd_host,
@ -205,7 +209,10 @@ export function addProject(data) {
// 修改项目
export function updateProject(data) {
const { name, project_type, basepath, desc, _id, env, group_id, switch_notice, strice, is_json5, tag } = data;
let { name, project_type, basepath, desc, _id, env, group_id, switch_notice, strice, is_json5, tag } = data;
// 过滤项目名称中有html标签存在的情况
name = htmlFilter(name);
const param = {
name,
project_type,

View File

@ -535,7 +535,7 @@ class projectController extends baseController {
}
result.role = await this.getProjectRole(params.id, 'project');
yapi.emitHook('project_get', result).then();
yapi.emitHook('project_get', result).then();
ctx.body = yapi.commons.resReturn(result);
}

View File

@ -73,6 +73,14 @@ var hooks = {
type: 'multi',
listener: []
},
/**
* 客户端获取一个项目
* @param id 项目id
*/
project_get: {
type: 'multi',
listener: []
},
/**
* 客户端删除删除一个项目
* @param id 项目id