config:
|
# ===============域名配置==================
|
#后端域名带端口(消息跳转、第三方登录回调、工作流表单数据流转使用)
|
ApiDomain: ${JNPF_API_DOMAIN:http://cx-infra:30000}
|
#前端域名带端口(消息跳转使用)
|
FrontDomain: ${JNPF_FRONT_DOMAIN:http://localhost/}
|
#H5域名带端口(消息跳转使用)
|
AppDomain: ${JNPF_APP_DOMAIN:http://localhost/}
|
#工作流域名(工作流使用)
|
FlowDomain: ${JNPF_FLOW_DOMAIN:http://cx-flow-engine:31000}
|
|
# ===============多租户配置==================
|
MultiTenancy: false
|
MultiTenancyUrl: http://127.0.0.1:30006/api/tenant/DbName/
|
|
# ===============静态资源目录映射==================
|
WebAnnexFilePath: WebAnnexFile
|
DataBackupFilePath: DataBackupFile
|
TemporaryFilePath: TemporaryFile
|
SystemFilePath: SystemFile
|
TemplateFilePath: TemplateFile
|
EmailFilePath: EmailFile
|
DocumentFilePath: DocumentFile
|
DocumentPreviewPath: DocumentPreview
|
UserAvatarFilePath: UserAvatar
|
IMContentFilePath: IMContentFile
|
MPMaterialFilePath: MPMaterial
|
TemplateCodePath: TemplateCode
|
BiVisualPath: BiVisualPath
|
|
# ===============功能格式限制==================
|
MPUploadFileType: bmp,png,jpeg,jpg,gif,mp3,wma,wav,amr,mp4
|
WeChatUploadFileType: jpg,png,doc,docx,ppt,pptx,xls,xlsx,pdf,txt,rar,zip,csv,amr,mp4
|
AllowUploadImageType: jpg,gif,png,bmp,jpeg,tiff,psd,swf,svg,pcx,dxf,wmf,emf,lic,eps,tga
|
AllowUploadFileType: jpg,gif,png,bmp,jpeg,doc,docx,ppt,pptx,xls,xlsx,pdf,txt,rar,zip,csv
|
|
AllowPreviewFileType: doc,docx,xls,xlsx,ppt,pptx,pdf,txt #允许预览文件类型
|
PreviewType: kkfile #文件预览方式 (1.yozo 2.kkfile)默认使用kk
|
kkFileUrl: http://localhost:8012/ #kk文件预览服务地址(本地需自行启动 kkFileView)
|
|
# 代码生成器命名空间
|
CodeAreasName: example
|
WebDirectoryPath:
|
|
# ===============系统错误邮件报告反馈相关==================
|
SoftName: JNPF.JAVA
|
SoftFullName: JNPF软件开发平台
|
AppVersion: V6.0.0
|
AppUpdateContent: ;
|
|
# =====================================
|
RecordLog: true
|
ErrorReport: false
|
ErrorReportTo: surrpot@yinmaisoft.com
|
|
IgexinEnabled: true
|
IgexinAppid: HLFY9T2d1z7MySY8hwGwh4
|
IgexinAppkey: 6Uiduugq648YDChhCjAt59
|
IgexinMastersecret: pEyQm156SJ9iS7PbyjLCZ6
|
SoftVersion: V6.0.0
|
AccessKeyId: LTAI4Fu4iJnKmDu5QG78ibfa
|
AccessKeySecret: pMSYlgOz3Tm6sYqWA8sKiyxgNY97J7
|
|
# ===============跨域配置==================
|
Origins: http://127.0.0.1
|
Methods: GET,HEAD,POST,PUT,DELETE,OPTIONS
|
|
# =========永中配置文件=========
|
YozoAppId: yozoAgR41jgC0062
|
YozoAppKey: fc3134a9ba8bc6f4c69d635f9adf
|
YozoCloudDomain: //dmc.yozocloud.cn
|
YozoDomain: //dcsapi.com/
|
YozoDomainKey: 57462250284462899344489
|
YozoEditDomain: //eic.yozocloud.cn
|
|
# ==================== ApacheShardingSphere 配置开关 =====================
|
sharding-sphere-enabled: false
|
|
#===================== 系统功能配置 =====================
|
#是否开启逻辑删除
|
EnableLogicDelete: true
|
# 秒
|
CodeCertificateTimeout: 180
|
#检查上传的PDF文件安全
|
check-file-pdf: false
|
#是否开启身份管理功能
|
standingSwitch: true
|
|
spring:
|
messages:
|
# 国际化语言文件名配置, 配合当前命名空间下的对应语言文件 message_zh_CN.properties 等等
|
basename: message
|
mvc:
|
#csrf-origins: ${config.FrontDomain}
|
cors:
|
# 允许跨域的域名
|
#allowed-origins: ${config.FrontDomain}
|
# 允许跨域的域名正则匹配 如需全部匹配设置为 '**', 因为包含凭据的请求不允许直接写* 这个写法可以直接返回当前请求域名
|
allowed-origin-patterns: '**'
|
# 允许跨域的请求方法 GET, POST, PUT, DELETE
|
allowed-methods: "*"
|
# 允许跨域的头部信息 Content-Type, Authorization
|
allowed-headers: "*"
|
options-max-age: 18000
|
headers:
|
server-name: ''
|
x-frame-options: sameorigin
|
x-content-type-options: disabled
|
x-xss-protection: enabled_mode_block
|
|
security:
|
# AES加密秘钥
|
security-key: EY8WePvjM5GGwQzn
|
# 是否开启接口鉴权
|
enable-pre-auth: true
|
# 接口加密
|
enable-rest-encrypt: true
|
# 请求来源鉴权
|
enable-inner-auth: true
|
|
# 事件配置
|
event:
|
# 事件总线实现:local(进程内)/ redis(pub/sub)/ mq(Spring Cloud Stream binder)。
|
#
|
# 2026-08-10 由 mq 切 redis(去 RocketMQ,省 1.14 GiB / 2 容器 / 2 JVM)。
|
# 这是 JNPF 官方的可插拔点,不是自研改造:
|
# redis 档 → jnpf-common-event 的 ProjectEventRedisSender + ProjectEventRedisMessageHandler
|
# mq 档 → jnpf-common-mq 的 ProjectEventMQSender + defMsgToptic/ssoEventReceiver
|
# 两组 @Bean 的 @ConditionalOnProperty(prefix=event, name=event-publish-type) 完全对称,
|
# 且**无 matchIfMissing**——本项必须显式设值,留空则两组都不注册、事件总线整个哑掉。
|
#
|
# 业务代码零改动:发布方一律走 PublishEventUtil.publish + ProjectEventSender 接口,
|
# 消费方一律 @ProjectEventListener,与具体实现解耦。
|
event-publish-type: redis
|
# Redis 监听模式:current / all。
|
# 🔴 **它不是隔离开关**(2026-08-10 字节码实查,反直觉,别照字面理解):
|
# all → channel = "myevent_" + <事件channel>
|
# current → channel = "lock:" + "myevent_" + <事件channel>
|
# (前缀取自 RedisConst.getRedisLock4JPrefix(),是**硬编码常量 "lock:"**,
|
# 不含实例/租户/应用标识)
|
# 发送端 ProjectEventRedisSender.send 与订阅端 ProjectEventRedisMessageHandler 构造器
|
# 用同一个值推导同一前缀,故两档都自洽;差别仅是 channel 名多不多 "lock:"。
|
# 真正的隔离靠「每客户一个 Redis 实例」——连同一实例的多台开发机会互相收到事件
|
# (Redis pub/sub 还是**跨 db 全局**的,分 database 也隔离不了)。
|
redis-publish-type: current
|
|
# 将配置设置到系统属性中
|
conf2system:
|
# sentinel日志目录
|
csp.sentinel.log.dir: log/${spring.application.name}/sentinel
|
# sentinel日志等级 LOGGING日志等级, ALL, INFO, WARNING, SEVERE, OFF
|
csp.sentinel.log.level: "OFF"
|
# (原 rocketmq.log.level 已随 RocketMQ 于 2026-08-10 移除,见补丁 #10)
|
|
# 在线表单、流程表单字段权限豁免。主表填写 vModel,子表填写 parentVModel-vModel。
|
# 配置全局生效;这里只跳过字段权限检查,其他表单校验和系统字段保护仍按原逻辑执行。
|
jnpf:
|
visualdev:
|
permission:
|
exempt-fields:
|
- biz_sign
|