| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- server:
- port: 8989
- spring:
- datasource:
- type: com.alibaba.druid.pool.DruidDataSource
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://rm-2vc2zl1990od9qvg0eo.mysql.cn-chengdu.rds.aliyuncs.com:3306/zs_electric?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- username: root
- password: 1KQaNI+vPz8^xfYcb%l6
- data:
- redis:
- database: 6
- host: 47.109.18.141
- port: 6379
- password: BXyzm3RKR2nA9vn5ZkeP
- timeout: 10s
- lettuce:
- pool:
- # 连接池最大连接数 默认8 ,负数表示没有限制
- max-active: 8
- # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认-1
- max-wait: -1
- # 连接池中的最大空闲连接 默认8
- max-idle: 8
- # 连接池中的最小空闲连接 默认0
- min-idle: 0
- cache:
- enabled: false
- # 缓存类型 redis、none(不使用缓存)
- type: redis
- # 缓存时间(单位:ms)
- redis:
- time-to-live: 3600000
- # 缓存null值,防止缓存穿透
- cache-null-values: true
- caffeine:
- spec: initialCapacity=50,maximumSize=1000,expireAfterWrite=600s
- # 邮件配置
- mail:
- host: smtp.youlai.tech
- port: 587
- username: your-email@example.com
- password: 123456
- properties:
- mail:
- smtp:
- auth: true
- starttls:
- enable: true
- # 邮件发送者
- from: youlaitech@163.com
- # 第三方认证配置
- third-party:
- jwt:
- secret: "vgct1TZ4ZikKjaaeIiq3LUwIvpmcgYa6ABCD1234EFGH5678IJKL9012MNOP3456"
- expire: 7200
- mybatis-plus:
- mapper-locations: classpath*:/mapper/**/*.xml
- global-config:
- db-config:
- # 主键ID类型
- id-type: none
- # 逻辑删除对应的全局属性名(注意:须是对象属性名,不能是表字段名,如 isDeleted 而非 is_deleted,否则逻辑删除失效)
- logic-delete-field: isDeleted
- # 逻辑删除-删除值
- logic-delete-value: 1
- # 逻辑删除-未删除值
- logic-not-delete-value: 0
- configuration:
- # 驼峰下划线转换
- map-underscore-to-camel-case: true
- # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- # 安全配置
- security:
- session:
- type: jwt # 会话方式 [jwt|redis-token]
- access-token-time-to-live: 7200 # 访问令牌 有效期(单位:秒),默认 2 小时,-1 表示永不过期
- refresh-token-time-to-live: 604800 # 刷新令牌有效期(单位:秒),默认 7 天,-1 表示永不过期
- jwt:
- secret-key: SecretKey012345678901234567890123456789012345678901234567890123456789 # JWT密钥(HS256算法至少32字符)
- redis-token:
- allow-multi-login: true # 是否允许多设备登录
- # 安全白名单路径,仅跳过 AuthorizationFilter 过滤器,还是会走 Spring Security 的其他过滤器(CSRF、CORS等)
- ignore-urls:
- - /api/v1/auth/login/** # 登录接口(账号密码登录、手机验证码登录和微信登录)
- - /api/v1/auth/captcha # 验证码获取接口
- - /api/v1/auth/refresh-token # 刷新令牌接口
- - //api/v1/auth/wx/miniapp/code-login # 微信小程序code登陆
- - /ws/** # WebSocket接口
- # - /dev/v1/linkData/** #互联互通
- # 非安全端点路径,完全绕过 Spring Security 的过滤器
- unsecured-urls:
- - ${springdoc.swagger-ui.path}
- - /doc.html
- - /swagger-ui/**
- - /v3/api-docs/**
- - /webjars/**
- - /favicon.ico
- - /dev/v1/linkData/**
- # 只走第三方过滤器、不走其他安全链
- third-party-urls:
- - /dev/v1/linkData/notification_start_charge_result
- - /dev/v1/linkData/notification_equip_charge_status
- - /dev/v1/linkData/notification_stop_charge_result
- - /dev/v1/linkData/notification_charge_order_info
- - /dev/v1/linkData/notification_stationStatus
- # 文件存储配置
- oss:
- # OSS 类型 (目前支持aliyun、minio)
- type: minio
- # MinIO 对象存储服务
- minio:
- # 服务Endpoint
- endpoint: http://localhost:9000
- # 访问凭据
- access-key: minioadmin
- # 凭据密钥
- secret-key: minioadmin
- # 存储桶名称
- bucket-name: public
- # (可选)自定义域名,如果配置了域名,生成的文件URL是域名格式,未配置则URL则是IP格式 (eg: https://oss.youlai.tech)
- custom-domain:
- # 阿里云OSS对象存储服务
- aliyun:
- # 服务Endpoint
- endpoint: oss-cn-hangzhou.aliyuncs.com
- # 访问凭据
- access-key-id: your-access-key-id
- # 凭据密钥
- access-key-secret: your-access-key-secret
- # 存储桶名称
- bucket-name: default
- # 本地存储
- local:
- # 文件存储路径 请注意下,mac用户请使用 /Users/your-username/your-path/,否则会有权限问题,windows用户请使用 D:/your-path/
- storage-path: /Users/theo/home/
- # 短信配置
- sms:
- # 阿里云短信
- aliyun:
- accessKeyId: LTAI5tSMgfxxxxxxdiBJLyR
- accessKeySecret: SoOWRqpjtS7xxxxxxZ2PZiMTJOVC
- domain: dysmsapi.aliyuncs.com
- regionId: cn-shanghai
- signName: 有来技术
- templates:
- # 注册短信验证码模板
- register: SMS_22xxx771
- # 登录短信验证码模板
- login: SMS_22xxx772
- # 修改手机号短信验证码模板
- change-mobile: SMS_22xxx773
- # springdoc配置: https://springdoc.org/properties.html
- springdoc:
- swagger-ui:
- path: /swagger-ui.html
- operationsSorter: alpha
- tags-sorter: alpha
- api-docs:
- path: /v3/api-docs
- group-configs:
- - group: '系统管理'
- paths-to-match: "/**"
- packages-to-scan:
- - com.zsElectric.boot.auth.controller
- - com.zsElectric.boot.system.controller
- - com.zsElectric.boot.platform.file.controller
- - com.zsElectric.boot.platform.codegen.controller
- - com.zsElectric.boot.charging.controller
- default-flat-param-object: true
- # knife4j 接口文档配置
- knife4j:
- # 是否开启 Knife4j 增强功能
- enable: true # 设置为 true 表示开启增强功能
- # 生产环境配置
- production: false # 设置为 true 表示在生产环境中不显示文档,为 false 表示显示文档(通常在开发环境中使用)
- setting:
- language: zh_cn
- # xxl-job 定时任务配置
- xxl:
- job:
- # 定时任务开关
- enabled: false
- admin:
- # 多个地址使用,分割
- addresses: http://127.0.0.1:8686/xxl-job-admin
- accessToken: default_token
- executor:
- appname: xxl-job-executor-${spring.application.name}
- address:
- ip:
- port: 9999
- logpath: /data/applogs/xxl-job/jobhandler
- logretentiondays: 30
- # 验证码配置
- captcha:
- # 验证码类型 circle-圆圈干扰验证码|gif-Gif验证码|line-干扰线验证码|shear-扭曲干扰验证码
- type: circle
- # 验证码宽度
- width: 120
- # 验证码高度
- height: 40
- # 验证码干扰元素个数
- interfere-count: 2
- # 文本透明度(0.0-1.0)
- text-alpha: 0.8
- # 验证码字符配置
- code:
- # 验证码字符类型 math-算术|random-随机字符
- type: math
- # 验证码字符长度,type=算术时,表示运算位数(1:个位数运算 2:十位数运算);type=随机字符时,表示字符个数
- length: 1
- # 验证码字体
- font:
- # 字体名称 Dialog|DialogInput|Monospaced|Serif|SansSerif
- name: SansSerif
- # 字体样式 0-普通|1-粗体|2-斜体
- weight: 1
- # 字体大小
- size: 24
- # 验证码有效期(秒)
- expire-seconds: 120
- # 微信小程配置
- wx:
- miniapp:
- app-id: xxxxxx
- app-secret: xxxxxx
- # ==================== AI 命令系统配置 ====================
- ai:
- # 是否启用 AI 功能
- enabled: false
- # 当前使用的提供商:qwen、deepseek、openai
- provider: qwen
- # 所有提供商配置(统一管理,扩展性强)
- providers:
- # 阿里通义千问(推荐:有免费额度)
- qwen:
- # API Key(https://bailian.console.aliyun.com/ 获取)
- api-key: ${QWEN_API_KEY:sk-c2941d05bf2f411ca80424fcxxxxxxxx}
- # Base URL(OpenAI 兼容端点)
- base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
- # 模型:qwen-plus(推荐)、qwen-turbo、qwen-max、qwen-long
- model: qwen-plus
- # 显示名称
- display-name: 阿里通义千问
- # 超时时间(秒)
- timeout: 30
- # DeepSeek
- deepseek:
- api-key: ${DEEPSEEK_API_KEY:}
- base-url: https://api.deepseek.com/v1
- model: deepseek-chat
- display-name: DeepSeek
- timeout: 30
- # OpenAI(添加新提供商只需配置,无需修改代码)
- openai:
- api-key: ${OPENAI_API_KEY:}
- base-url: https://api.openai.com/v1
- model: gpt-4
- display-name: OpenAI GPT-4
- timeout: 60
- # 安全配置
- security:
- enable-audit: true
- dangerous-operations-confirm: true
- function-whitelist:
- - deleteUser
- - updateUser
- - queryUsers
- - assignRole
- sensitive-params:
- - password
- - idCard
- - bankCard
- - token
- # 限流配置
- rate-limit:
- max-executions-per-minute: 10
- max-executions-per-day: 100
|