#########################################
# server configuration
#########################################
server.port=82

#########################################
# spring allow-circular-references
#########################################
spring.main.allow-circular-references=true

#########################################
# spring profiles configuration
#########################################
spring.profiles.active=local
#spring.profiles.active=test
#spring.profiles.active=prod

#########################################
# multipart configuration
#########################################
spring.servlet.multipart.max-request-size=100MB
spring.servlet.multipart.max-file-size=100MB

#########################################
# datasource configuration
#########################################

# druid monitor configuration
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456

# druid global configuration
spring.datasource.dynamic.public-key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMWiTVtdXFVrgFHDDKELZM0SywkWY3KjugN90eY5Sogon1j8Y0ClPF7nx3FuE7pAeBKiv7ChIS0vvx/59WUpKmUCAwEAAQ==
spring.datasource.dynamic.druid.initial-size=5
spring.datasource.dynamic.druid.max-active=20
spring.datasource.dynamic.druid.min-idle=5
spring.datasource.dynamic.druid.max-wait=60000
spring.datasource.dynamic.druid.pool-prepared-statements=true
spring.datasource.dynamic.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.dynamic.druid.validation-query-timeout=2000
spring.datasource.dynamic.druid.test-on-borrow=false
spring.datasource.dynamic.druid.test-on-return=false
spring.datasource.dynamic.druid.test-while-idle=true
spring.datasource.dynamic.druid.time-between-eviction-runs-millis=60000
spring.datasource.dynamic.druid.min-evictable-idle-time-millis=300000
spring.datasource.dynamic.druid.filters=stat
spring.datasource.dynamic.druid.break-after-acquire-failure=false

#########################################
# jackson configuration
#########################################
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.locale=zh_CN
spring.jackson.serialization.write-dates-as-timestamps=false


#########################################
# easy-trans configuration
#########################################
easy-trans.is-enable-redis=true
easy-trans.is-enable-global=true
easy-trans.is-enable-tile=true
easy-trans.is-enable-cloud=false

#########################################
# sa-token configuration
#########################################
sa-token.token-name=token
sa-token.timeout=2592000
sa-token.active-timeout=-1
sa-token.is-concurrent=true
sa-token.is-share=false
sa-token.max-login-count=-1
sa-token.token-style=random-32
sa-token.is-log=false
sa-token.is-print=false

# sa-token alone-redis configuration
sa-token.alone-redis.database=2
sa-token.alone-redis.host=${spring.data.redis.host}
sa-token.alone-redis.port=${spring.data.redis.port}
sa-token.alone-redis.password=${spring.data.redis.password}
sa-token.alone-redis.timeout=${spring.data.redis.timeout}
sa-token.alone-redis.lettuce.pool.max-active=${spring.data.redis.lettuce.pool.max-active}
sa-token.alone-redis.lettuce.pool.max-wait=${spring.data.redis.lettuce.pool.max-wait}
sa-token.alone-redis.lettuce.pool.max-idle=${spring.data.redis.lettuce.pool.max-idle}
sa-token.alone-redis.lettuce.pool.min-idle=${spring.data.redis.lettuce.pool.min-idle}

#########################################
# knife4j configuration
#########################################
knife4j.enable=true
knife4j.production=false
knife4j.basic.enable=true
knife4j.basic.username=admin
knife4j.basic.password=123456
knife4j.setting.enableOpenApi=false
knife4j.setting.enableSwaggerModels=false
knife4j.setting.enableFooter=false
knife4j.setting.enableFooterCustom=true
knife4j.setting.footerCustomContent=Apache License 2.0 | Copyright 2020-2024[SNOWY](https://www.xiaonuo.vip)
springdoc.default-flat-param-object=true

# knife4j doc groups
springdoc.group-configs[0].group=SNOWY-PLUGIN-AUTH
springdoc.group-configs[0].display-name=${springdoc.group-configs[0].group}
springdoc.group-configs[0].packages-to-scan=vip.xiaonuo.auth
springdoc.group-configs[1].group=SNOWY-PLUGIN-BIZ
springdoc.group-configs[1].display-name=${springdoc.group-configs[1].group}
springdoc.group-configs[1].packages-to-scan=vip.xiaonuo.biz
springdoc.group-configs[2].group=SNOWY-PLUGIN-CLIENT
springdoc.group-configs[2].display-name=${springdoc.group-configs[2].group}
springdoc.group-configs[2].packages-to-scan=vip.xiaonuo.client
springdoc.group-configs[3].group=SNOWY-PLUGIN-DEV
springdoc.group-configs[3].display-name=${springdoc.group-configs[3].group}
springdoc.group-configs[3].packages-to-scan=vip.xiaonuo.dev
springdoc.group-configs[4].group=SNOWY-PLUGIN-GEN
springdoc.group-configs[4].display-name=${springdoc.group-configs[4].group}
springdoc.group-configs[4].packages-to-scan=vip.xiaonuo.gen
springdoc.group-configs[5].group=SNOWY-PLUGIN-MOBILE
springdoc.group-configs[5].display-name=${springdoc.group-configs[5].group}
springdoc.group-configs[5].packages-to-scan=vip.xiaonuo.mobile
springdoc.group-configs[6].group=SNOWY-PLUGIN-SYS
springdoc.group-configs[6].display-name=${springdoc.group-configs[6].group}
springdoc.group-configs[6].packages-to-scan=vip.xiaonuo.sys

#########################################
# snowy configuration
#########################################

# common configuration
snowy.config.common.front-url=http://localhost:81
snowy.config.common.backend-url=http://localhost:82

wx.pay.getOpenIdUrl=https://api.weixin.qq.com/sns/jscode2session
wx.pay.grantType=authorization_code
#wx.pay.appId=wx3f94e7be85c27ff7
#wx.pay.appSecret=9c9c0dee6be8a67d9946f0deb762ac7e
#wx.pay.merchantId=1578478551
#wx.pay.apiV3Key=whzl4008809192whzl40088091924567
#wx.pay.mchSerialNo=7919E41AEB658BBE87EAA9EDBB08D20E5B6F22BA
#wx.pay.privateKey=MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC9o423YGD1O3Go/fEuxZcY9gkfxdXWSqTpB//EE8WnODQvFanbhn2QJ8rkK9NzWXgkxIbDJvJ4VYF3KREvLfsTyOZThZs2yaXoFCATv4J8ee//ppMcVOU04R45PNCoL9nM3M/Cpr1xSlN/ehldxlD5C8+LFFj6qbqqJ1Xh0gaTW1YABAEGUcI6J7bOpcGIYu7vdEn551ARSOpyN8sJJu8eozw6cKxeRwQeEmvIzxWy125JrBPo7dllkTgqJN4XaNlDxpIZG+O4dKsDGwZsLhinS3nKdJyYB3ziWBSQYd0okvNFhAQhJRA9e/c8+KSt/3syOA8uHKtpqo7gsI0/q4A9AgMBAAECggEAQy8YW+kHMJo4sDgXJAzYdP1lSh5anaqgNfahhCPFGHLu+edg3+cLwPB4DtH//ZOq3svJOoYnzL3uOfsQnXhaxS2de+WPkZ9q6YeHvbdRUSwZ/KZU4+qnsU432OtUuOEK9mscJ8fOwb4lSrpFFlXWBgVLJ+izhUpwWSvKX1B7B+TtCdG2A7nD7PmXgtgmweHeBY4SUeE9dYkM4XtW7bRi83SEkyb7l5KpxPMvDgTir/uBROxK40tYwOskp/HRFgWBCVPUe+5m3cvgKy+3iTIUTwKm3bXBmfEuniNz4orblfujDhyljPUU9s4ERmgYB8GKysZM1/nEgZ1AMWeO/WGyQQKBgQDyBxdhYLxxcN44M9aUn4oE6Wj3SFB8EvIs5FX6BMPTw1WIWm4ubHHKJq2W9AGZHuOWkq87G01Z1rwijP/vOk7Eu7JIJNPjY5CSC4+PCer5m1PLaNzvI7YEhrdrztBaG4EV2JN8eFAw7V2t14+L4kXhJdELTGBfxmeEDPU0V7U19QKBgQDIljZBsKfdcmh42ClIoNz5BnZR7CRGp5TKLx9yZzWEuOAaxcuCLChCSME04DnoZuYAmB6y1aESMyn3eqC+LMpwdOJ0KgMJTfVi9hczdD0bSTHmQbLaYJhh+5dJcrPpUXuz0QOha6FywL+ViVnarWiOHWoVpwx+JK/ZKLjwdUjsKQKBgF1VQL3rqR/yD7AKxZAw6e+09yaNO4RtZfjL4R/2YHI0XLKldOHwLf1v5vdUh5093TQ+wtZ/U9f2SDzmtPfTO3cAjuLlWNTSm3jGfokBoRy6upixiqmp0tJyBR/M9GobOy9qgo24c+w6TSrx+shN7PbDN5csz+l/QIIa4SBbRmVVAoGBAKwfYc16toErBIT2EG73QscaCXwA45wRf3cDeruj3uPV9NBkfF5mX+GJJumlo2tOqP1Hi8gv0viYGOH5Q2gNbWWUlyHRTyuzzuatf3kyvKDmbUBFjiEgFIK37rkjCUkkF79UkwX4IuEijwPVidpBRV/106ti3jB8cL0q2Y/VRM8JAoGALVeOBQ6YYd61jAiJHHazrnQ0xnTmFjYVOlLafIHgAVPqPuebvlf/fs+03y2KVPC/cUB31AxOM/1BIfeGkgj3j/Hgn4a/UcfThw4TwSmvz1Xsw4ItWqQ17l6+4QCMhmqT+S7i9gEHn4Oc9ln/43Cr5sVfU0lgfMtmjVNjyohiKZE=



wx.pay.appId=wx2a107b653bd186f2
wx.pay.appSecret=98988885bbc944567012e8331fe12dc2
wx.pay.merchantId=1707485410
wx.pay.apiV3Key=Fhyjoux4zYRoUlpveeVaUyoKPbSqUEqe
#?????
wx.pay.mchSerialNo=55E9FE1F2E97DDBB99B709A45B554B63973FBCEF
#??
wx.pay.privateKey=MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCkjSrBEAcB/MdvRDuJT+nVtI4bJwpSkGhz8Qn4MBMd9dVOpWH47a6ouAQpOrhG4qIxKvN8qv+Ar+JVFc0HGRqVtrhfkEONL1S1J/9sQtnVs5oulU42qjgg0+DazEceUDdvknGWEl0Wpk0mVYVjAxOZIsPidDak5PZmOLhB4TCjCXLKVHOORfkVpQ5xmOQ9qm7CqRDgNWcaK1EXwkNRSK3h57BZnsm9Glhf6EyiedIahUjBxz7pBLjOoJ2a0YUHXNuAk343BYN6sDmf/FuOgK6ts658/b9fN4L88f3Fcv9uerDUkqDA7EQSGImR4DTI4d6u0V22mtZT1LHGWpYpvJ9xAgMBAAECggEAUGlTzUihxAzdALidR3qv0GkNUKOBXduHz7CoqIoFrYxmkqoq+FReF8Dk96jkSG+TxucwWWnOtfo9ZkrjCGbyINtLuhdri2DnyicjoKoCfXXpEH6R3BDOoOwpY4KT9nJIxNMRgr6yktDtvp/oMPxd5WWhx9X2phnldwqcsET1WZYJmglXS2ZsPYkn/tEgARNHgXYsWQiOvaDANVSqswGo4QABgEH2GZuKYj+gx6RfCMaCwTZhmz1NQLbyF1uA1zgwxuYSHWSoBFxCsbzypSA7sPJCUl/uB/lf42C1B84zhn0wLS316ql5su6lt423zINWanSpTYAwf2GwKUd7gYalyQKBgQDXM82AZOS+r5ZL975csHeH3jQEU3oqGjeyKmXSoa5K+9vePabxEO/+pcwVnwaQ6oRq0HKp/MeWuNXYuMRk1x4oR1onRnIQZQnClJ1FsIWILRGjs3nk6RCVsw3ikxcPIqpX5Esqid/70ry3vrO4IZNLlEXSOJSRRFM4Oj3SNrX7CwKBgQDDvyyxSgskFMS+Wf+g+CRE5/YAdDM4/E+IDJOkoV8r3bW6B9xcofwNW9WwHvRkbgEwwfOpdAJcZ9X4Muq0QR50TlHvffmUTCXTObyTC3kbA63MZpn1zNKIVzQWA0iVb7sgmPDmOyVAREenojGwGQ+45g0W7gBnDWj0Ud/hb/J88wKBgEMg0pqZXk0pAm4CAqxxE2gbZQhwbawSb4sw9IAmlPKo66XAf4G08dfyKd4Ys/iiXtne2dWylyOp1nL697Ao9ixETZfwvoXkro22w/RIIu8ed+EjjANevCCmMM+baFb9TjuKZ/QF/AtWai262961AnhR8RGpOpaxxG/GoyAeltePAoGAOvWuZIhE6s1GpX8+PCIB6q9jradSdmupGPWQ0xm4LOJPBoWvnkc8QFnU94ObYVSxDxqcZgIHZAXysRvFDh4/KhEdJOHw9vYovoK5hiECjVyCUPrmjN7w2xhJHAhJKJnK53qptO9DvSPT4W49QSmLTsocTzfI70Fex5iRsrmhdHkCgYACya2xlNYvuqnr1gGZcg6Vb55GnExMjK9XOfrVo22E/IIzN+bzyXO7IVzPCiFGcgILZi1AZQ1XJdsaxNRJJnCLNotMZl+x/qZTZuN6rEV/oW86hvTWeqr9/aJzSiwieC+spngUsWids7ocAOKrnqF7JFf+yrk5Yl/9YxqlxHkZRA==


#aliyun.templateCode=SMS_478385625
aliyun.templateCode=SMS_311885524
