| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- server:
- port: 8002
- spring:
- application:
- name: zhijiayun-pharmacy
- # 激活环境(dev=开发 / prod=生产)
- profiles:
- active: dev
- # Jackson 序列化时区(全局生效,北京时间返回前端)
- jackson:
- time-zone: Asia/Shanghai
- date-format: yyyy-MM-dd HH:mm:ss
- # 文件上传配置
- servlet:
- multipart:
- enabled: true
- max-file-size: 10MB
- max-request-size: 20MB
- file-size-threshold: 2MB
- # JWT 配置(公共,各环境可覆盖)
- jwt:
- secret: YourSuperSecretKeyForJWTTokenGenerationMustBeAtLeast256BitsLong!!
- user-expiration: 3600000 # 普通用户(PC等) 1小时(毫秒)
- admin-expiration: 43200000 # 管理员 12小时(毫秒)
- miniapp-expiration: 2592000000 # 小程序 30天(毫秒)
- expiration: 86400000 # 旧字段兼容
- refresh-expiration: 604800000 # 7天(毫秒)
- # 微信开放平台配置(公共,各环境可覆盖 app-id/app-secret)
- wechat:
- open:
- app-id: wxd5f6a9d072f9a9f0
- app-secret: 67d696a9f0a9d072f9a9f0d5f6a9d072
- qr-connect:
- redirect-uri: https://your-domain.com/api/auth/wechat/callback
- scope: snsapi_login
- # 外部系统(小程序后台)API 配置
- # 注意:API Key 鉴权已升级为数据库管理(t_system_config 表,configType=EXTERNAL_API,config_key=miniapp_external_api)
- # config_value JSON 中包含 apiKey 和 allowedIps 字段
- # 运营端管理路径:/api/admin/system-config(按 configType 筛选)
- # 以下 yml 配置仅用于数据库无匹配记录时的兜底,正式使用请通过运营端管理
- external-system:
- miniapp:
- base-url: ${EXTERNAL_MINIAPP_API_URL:https://api.kailin.com.cn}
- api-key: ${EXTERNAL_MINIAPP_API_KEY:a3f8c21e67b94d0e5f1a6c8d3b9e2071}
- connect-timeout: 5000
- read-timeout: 10000
- # 第三方"智价云药店版"店铺资源同步接口(审核入驻信息通过后推送客户信息)
- shop-resource:
- base-url: ${EXTERNAL_SHOP_RESOURCE_API_URL:https://api.kailin.com.cn}
- app-id: ${EXTERNAL_SHOP_RESOURCE_APP_ID:wx246605ec671bf08d}
- connect-timeout: 5000
- read-timeout: 10000
- # 应用下载与站点配置
- app:
- download:
- windows-url: ${APP_DOWNLOAD_WINDOWS_URL:https://proprice.kailin.com.cn/download/windows}
- official-site: ${APP_OFFICIAL_SITE:https://proprice.kailin.com.cn}
- version: ${APP_VERSION:1.0.0}
- # 阿里云短信(公共模板,各环境可覆盖 key)
- sms:
- access-key-id: ${ALIBABA_CLOUD_ACCESS_KEY_ID:LTAI5tDwjfteBvivYN41r8sJ}
- access-key-secret: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET:yowuOGi2nYYnrqGpO3qcz94C4brcPp}
- sign-name: 开邻
- template-code: SMS_483305249
- code-length: 6
- expire-minutes: 5
- endpoint: dysmsapi.aliyuncs.com
- # 阿里云OSS配置
- oss:
- endpoint: ${OSS_ENDPOINT:oss-cn-shenzhen.aliyuncs.com}
- access-key-id: ${ALIBABA_CLOUD_ACCESS_KEY_ID:LTAI5t5pWgfa1BMztEuWBjdK}
- access-key-secret: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET:wU7FLzEr1NqLg2rJrmAu7Ibn69np0u}
- bucket-name: ${OSS_BUCKET_NAME:kailin-saas}
- base-path: ${OSS_BASE_PATH:uploads/}
- # 访问URL前缀(如绑定了自定义域名,可覆盖;默认使用OSS公网域名)
- url-prefix: ${OSS_URL_PREFIX:}
- # MyBatis-Plus 配置
- mybatis-plus:
- configuration:
- map-underscore-to-camel-case: true
- log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
- global-config:
- db-config:
- id-type: auto
- logic-delete-field: deleted
- logic-delete-value: 1
- logic-not-delete-value: 0
- mapper-locations: classpath*:/mapper/**/*.xml
- # 日志配置
- logging:
- level:
- com.xuekairui: debug
- org.springframework.security: info
- file:
- name: logs/zhijiayun-pharmacy.log
- max-size: 200MB
- max-history: 30
- total-size-cap: 10GB
- logback:
- rollingpolicy:
- max-file-size: 200MB
- max-history: 30
- total-size-cap: 10GB
- # ========== 支付模块配置 ==========
- payment:
- mock: false
- order-expire-minutes: 15
- qrcode:
- width: 200
- height: 200
- # 微信支付配置(Native扫码支付)
- wechat:
- app-id: ${WECHAT_PAY_APP_ID:}
- mch-id: ${WECHAT_PAY_MCH_ID:}
- api-v3-key: ${WECHAT_PAY_API_V3_KEY:}
- private-key-path: ${WECHAT_PAY_PRIVATE_KEY_PATH:}
- serial-no: ${WECHAT_PAY_SERIAL_NO:}
- notify-url: ${WECHAT_PAY_NOTIFY_URL:https://your-domain.com/api/payment/callback/wechat}
- platform-cert-path: ${WECHAT_PAY_PLATFORM_CERT_PATH:}
- # 微信小程序支付(JSAPI 调起支付签名 appId)
- # 小程序 JSAPI 下单签名的 appId 必须为小程序自身的 appId,与 Native 扫码的 appId 区分
- # 不配置时自动回退到 payment.wechat.app-id(当两者相同时可省略)
- miniapp:
- app-id: ${WECHAT_PAY_MINIAPP_APP_ID:}
- app-secret: ${WECHAT_PAY_MINIAPP_APP_SECRET:}
- # 支付宝配置(电脑网站支付 alipay.trade.page.pay)
- alipay:
- app-id: ${ALIPAY_APP_ID:}
- app-private-key: ${ALIPAY_APP_PRIVATE_KEY:}
- alipay-public-key: ${ALIPAY_PUBLIC_KEY:}
- notify-url: ${ALIPAY_NOTIFY_URL:https://your-domain.com/api/payment/callback/alipay}
- return-url: ${ALIPAY_RETURN_URL:https://your-domain.com/payment/success}
- server-url: https://openapi.alipay.com/gateway.do
- format: json
- charset: UTF-8
- sign-type: RSA2
- # 支付宝安心付配置(小程序应用 - 周期卡会员管理)
- # 安心付对应的是支付宝小程序应用,与网页应用(二维码付款)使用不同的 appId、密钥和证书
- anxin-alipay:
- enabled: false
- app-id: ${ALIPAY_ANXIN_APP_ID:}
- app-private-key: ${ALIPAY_ANXIN_APP_PRIVATE_KEY:}
- alipay-public-key: ${ALIPAY_ANXIN_PUBLIC_KEY:}
- notify-url: ${ALIPAY_ANXIN_NOTIFY_URL:https://your-domain.com/api/payment/anxin/notify/deduct}
- card-notify-url: ${ALIPAY_ANXIN_CARD_NOTIFY_URL:https://your-domain.com/api/payment/anxin/notify/card-change}
- server-url: https://openapi.alipay.com/gateway.do
- format: json
- charset: UTF-8
- sign-type: RSA2
- # ========== 网关配置 ==========
- gateway:
- logging:
- enabled: true
- slow-threshold: 1000
- exclude-paths:
- - /actuator/health
- - /favicon.ico
- rate-limit:
- enabled: true
- default-limit: 100
- default-window: 60
- rules:
- # 短信验证码:防短信轰炸,10次/分钟
- - path-prefixes:
- - /api/auth/sms
- limit: 10
- # 登录/Token/注册/邀请:防刷,30次/分钟
- - path-prefixes:
- - /api/auth/login
- - /api/auth/wechat
- - /api/auth/external
- - /api/auth/refresh
- - /api/auth/register
- - /api/invite/click
- limit: 30
- # 其余接口走默认 100次/分钟,无需单独列出
|