Browse Source

全局参数正则判断

master
巴林闲侠 2 years ago
parent
commit
80be9e9e0a
  1. 12
      web/client/src/components/Upload/index.js
  2. 2
      web/client/src/layout/containers/layout/index.js
  3. 1
      web/client/src/sections/auth/containers/login.js
  4. 16
      web/config.js
  5. 12
      web/routes/attachment/index.js

12
web/client/src/components/Upload/index.js

@ -9,7 +9,7 @@ import { PlusOutlined, UploadOutlined, CloseOutlined } from '@ant-design/icons';
class Uploads extends Component {
constructor(props) {
super(props);
this.ApiRoot = API_ROOT
this.ApiRoot = FS_API_ROOT
this.state = {
fileUploading: false,
fileList: [],
@ -109,10 +109,10 @@ class Uploads extends Component {
video: ['mp4']
};
/**
* uploadType string 主要区别文件上传路径 以及类型 web/routes/attachment/index.js UploadPath key 值为准默认 project
* uploadType string 主要区别文件上传路径 以及类型 web/routes/attachment/index.js UploadPath key 值为准;默认 project;
* disabled boolean 上传是否可用
* maxFilesNum number 最大上传数量
* fileTypes array[string] 可允许上传的文件类型
* fileTypes array[string] 可允许上传的文件类型;
* maxFileSize number 单个文件最大大小 M
* listType antd upload 组件的属性
* onChange function 文件数量变化时候回调 返回文件
@ -149,13 +149,13 @@ class Uploads extends Component {
return false;
}
if (file.name.length > 60) {
message.warning(`文件名过长(大于60字符)请修改后上传`);
message.warning(`文件名过长(大于60字符),请修改后上传`);
return false;
}
const extNames = file.name.split('.');
var reg = /^[\.\s\u4e00-\u9fa5a-zA-Z0-9_-]{0,}$/;
if (!reg.exec(file.name)) {
message.warning(`文件名包含除字母、汉字、数字、中划线、下划线之外的字符请修改后上传`);
message.warning(`文件名包含除字母、汉字、数字、中划线、下划线之外的字符,请修改后上传`);
return false;
}
let isDAE = false;
@ -210,7 +210,7 @@ class Uploads extends Component {
that.setState({
fileUploading: false
});
message.error(`${info.file.name} 上传失败请重试`);
message.error(`${info.file.name} 上传失败,请重试`);
if (onStateChange) {
onStateChange({ uploading: false });
}

2
web/client/src/layout/containers/layout/index.js

@ -66,7 +66,7 @@ const LayoutContainer = props => {
dom.scrollTop = 0;
}
})
console.log(API_ROOT);
console.log(FS_API_ROOT);
return (
<Layout id="layout">
<Layout.Header style={{ padding: 0 }}>

1
web/client/src/sections/auth/containers/login.js

@ -250,7 +250,6 @@ const Login = props => {
function mapStateToProps(state) {
const { auth } = state;
console.log(auth.error);
return {
user: auth.user,
error: auth.error,

16
web/config.js

@ -10,8 +10,7 @@ const os = require('os');
const moment = require('moment');
const args = require('args');
const dev = process.env.NODE_ENV == 'development';
dev && console.log('\x1B[33m%s\x1b[0m', '请遵循并及时更新 readme.md,维护良好的开发环境,媛猿有责');
dev && console.log('\x1B[33m%s\x1b[0m', '请遵循并及时更新 readme.md,维护良好的开发环境,媛猿有责');
// // 启动参数
args.option(['p', 'port'], '启动端口');
args.option(['u', 'api-url'], 'webapi的URL');
@ -41,7 +40,7 @@ if (
// || !ANXINCLOUD_QINIU_BUCKET_RESOURCE
// || !ANXINCLOUD_QINIU_DOMAIN_QNDMN_RESOURCE
) {
console.log('缺少启动参数异常退出');
console.log('缺少启动参数,异常退出');
args.showHelp();
process.exit(-1);
}
@ -51,7 +50,7 @@ const product = {
staticDirs: [path.join(__dirname, './client')],
frontParams: {
// 以大写字母命名
API_ROOT: FS_UNIAPP_API
FS_API_ROOT: FS_UNIAPP_API
},
mws: [
{
@ -116,6 +115,15 @@ const product = {
maxRetries: 1
}
};
if (product.frontParams) {
const patt = /[^A-Z|_]+/
for (let k in product.frontParams) {
if (!k.startsWith('FS_') || patt.test(k)) {
console.warn(`参数 ${k} 当以大写字母和下划线组成 且以 FS_ 开头`);
process.exit(-1);
}
}
}
let config;
if (dev) {

12
web/routes/attachment/index.js

@ -172,12 +172,12 @@ module.exports = {
const filename = file.filename || path.basename(file);
const client = new OSS({
// yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
// yourRegion填写Bucket所在地域.以华东1(杭州)为例,Region填写为oss-cn-hangzhou.
region: aliOss.region,
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高.强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户.
accessKeyId: aliOss.accessKey,
accessKeySecret: aliOss.secretKey,
// 填写Bucket名称,例如examplebucket。
// 填写Bucket名称,例如examplebucket.
bucket: aliOss.bucket,
});
@ -206,12 +206,12 @@ module.exports = {
const { aliOss } = opts
const { path, filename } = ctx.query
const client = new OSS({
// yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
// yourRegion填写Bucket所在地域.以华东1(杭州)为例,Region填写为oss-cn-hangzhou.
region: aliOss.region,
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高.强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户.
accessKeyId: aliOss.accessKey,
accessKeySecret: aliOss.secretKey,
// 填写Bucket名称,例如examplebucket。
// 填写Bucket名称,例如examplebucket.
bucket: aliOss.bucket,
});

Loading…
Cancel
Save