chore: 并入 iotlcm-app 历史到 app/(原提交 f40bda9)
This commit is contained in:
@@ -0,0 +1,296 @@
|
||||
# config.yaml 配置文件
|
||||
# @Link https://github.com/xiujiecn/xiu-admin
|
||||
# @Copyright Copyright (c) 2025 LiXiujie
|
||||
# @Author Lxj <li@example.com>
|
||||
# @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
|
||||
# 系统配置
|
||||
system:
|
||||
name: "IotLCM"
|
||||
version: "1.0"
|
||||
description: "IotLCM App Server"
|
||||
gfmode: "dev"
|
||||
upload:
|
||||
local:
|
||||
# path: "/data/app/iotlcmadmin-web-svc/upload"
|
||||
# 本地开发环境
|
||||
path: "resource/upload"
|
||||
publicUrl: ""
|
||||
|
||||
# 服务配置
|
||||
server:
|
||||
# 基本配置
|
||||
address: ":8010"
|
||||
# 接口文档
|
||||
openapiPath: "/api.json" # OpenAPI接口文档地址
|
||||
swaggerPath: "/swagger" # 内置SwaggerUI展示地址
|
||||
# 静态服务配置
|
||||
indexFiles: ["index.html","index.htm"] # 自动首页静态文件检索。默认为["index.html", "index.htm"]
|
||||
indexFolder: false # 当访问静态文件目录时,是否展示目录下的文件列表。默认关闭,那么请求将返回403
|
||||
serverRoot: "resource/public" # 静态文件服务的目录根路径,配置时自动开启静态文件服务。默认关闭
|
||||
searchPaths: ["/resource/public"] # 提供静态文件服务时额外的文件搜索路径,当根路径找不到时则按照顺序在搜索目录查找。默认关闭
|
||||
fileServerEnabled: true
|
||||
initLoadMemoryDB: false # 是否初始化内存数据库,默认关闭
|
||||
|
||||
# 文件上传配置
|
||||
maxHeaderBytes: "20KB"
|
||||
clientMaxBodySize: "200MB"
|
||||
readTimeout: "20m"
|
||||
writeTimeout: "20m"
|
||||
|
||||
# 日志配置
|
||||
logger:
|
||||
path: "resource/log/server" # 日志文件路径。默认为空,表示关闭,仅输出到终端
|
||||
file: "{Y-m-d-H}.log" # 日志文件格式。默认为"{Y-m-d}.log"
|
||||
prefix: "" # 日志内容输出前缀。默认为空
|
||||
level: "dev" # 日志输出级别
|
||||
timeFormat: "2006-01-02T15:04:05" # 自定义日志输出的时间格式,使用Golang标准的时间格式配置
|
||||
ctxKeys: [] # 自定义Context上下文变量名称,自动打印Context的变量到日志中。默认为空
|
||||
header: true # 是否打印日志的头信息。默认true
|
||||
stdout: true # 日志是否同时输出到终端。默认true
|
||||
rotateSize: 0 # 按照日志文件大小对文件进行滚动切分。默认为0,表示关闭滚动切分特性
|
||||
rotateExpire: 0 # 按照日志文件时间间隔对文件滚动切分。默认为0,表示关闭滚动切分特性
|
||||
rotateBackupLimit: 0 # 按照切分的文件数量清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
|
||||
rotateBackupExpire: 0 # 按照切分的文件有效期清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
|
||||
rotateBackupCompress: 0 # 滚动切分文件的压缩比(0-9)。默认为0,表示不压缩
|
||||
rotateCheckInterval: "1h" # 滚动切分的时间检测间隔,一般不需要设置。默认为1小时
|
||||
stdoutColorDisabled: false # 关闭终端的颜色打印。默认开启
|
||||
writerColorEnable: false # 日志文件是否带上颜色。默认false,表示不带颜色
|
||||
|
||||
# JWT配置
|
||||
jwt:
|
||||
signingKey: "${JWT_SIGNING_KEY}"
|
||||
expiresTime: 7d
|
||||
bufferTime: 1d
|
||||
issuer: iotlcm # 发行人
|
||||
|
||||
# 验证码配置
|
||||
captcha:
|
||||
keyLong: 6
|
||||
imgWidth: 240
|
||||
imgHeight: 80
|
||||
openCaptcha: 0
|
||||
openCaptchaTimeout: 3600
|
||||
|
||||
# 注册验证码配置。短信服务接口见 F:\Work\数据\test\文档\lcm\sms.md
|
||||
register:
|
||||
sms:
|
||||
url: "http://192.0.2.29:11190/api/v1/sms/send"
|
||||
method: "POST"
|
||||
headers: {}
|
||||
bodyTemplate: '{"config":{"scene":"{scene}"},"params":{"phoneNumber":"{contact}","msgContent":"{code}"}}'
|
||||
successStatus: 200
|
||||
|
||||
database:
|
||||
logger:
|
||||
path: "resource/log/server/sql"
|
||||
level: "all"
|
||||
stdout: true
|
||||
default: # 分组名称,可自定义,默认为default
|
||||
link: "mysql:${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:3306)/db_iotlcm?charset=utf8mb4&parseTime=True&loc=Asia%2FShanghai"
|
||||
debug: true #开启调试模式
|
||||
charset: "utf8mb4" # (可选)数据库编码(如: utf8mb4/utf8/gbk/gb2312),一般设置为utf8mb4。默认为utf8。
|
||||
dryRun: false #ORM空跑(只读不写)
|
||||
maxIdle: 30 #连接池最大闲置的连接数
|
||||
maxOpen: 100 #连接池最大打开的连接数
|
||||
maxLifetime: 120 #(单位秒)连接对象可重复使用的时间长度
|
||||
memorydb:
|
||||
# link: "sqlite::@file(jieiotmem.db)?journal_mode=WAL"
|
||||
link: "sqlite::@file(:memory:)"
|
||||
# link: ""
|
||||
debug: true
|
||||
maxIdle: 1
|
||||
maxOpen: 1
|
||||
maxLifetime: 30
|
||||
|
||||
# 缓存配置
|
||||
cache:
|
||||
adapter: "redis" # 缓存适配器,支持:file|redis
|
||||
fileDir: "resource/cache" # 缓存文件目录
|
||||
|
||||
# Redis 配置示例
|
||||
redis:
|
||||
# 单实例配置
|
||||
default:
|
||||
mode: "single" #redis模式,支持:single|cluster|sentinel
|
||||
sentinelMasterName: "iotlcm-master" #哨兵模式主节点名称
|
||||
address: 192.0.2.29:6379
|
||||
db: 0
|
||||
pass: "${REDIS_PASSWORD}"
|
||||
minIdle: 5 #最小空闲连接数
|
||||
maxIdle: 30 #允许闲置的最大连接数
|
||||
maxActive: 5000 #最大活跃连接数
|
||||
idleTimeout: "60s" #连接最大空闲时间,使用时间字符串例如30s/2m/2d
|
||||
ClientName: "SystemCache"
|
||||
|
||||
rabbitmq:
|
||||
enabled: true
|
||||
# 示例:amqp://${MQ_USER}:${MQ_PASSWORD}@${MQ_HOST}/
|
||||
# dsn: "amqp://${MQ_USER}:${MQ_PASSWORD}@${MQ_HOST}/"
|
||||
dsn: "amqp://${MQ_USER}:${MQ_PASSWORD}@${MQ_HOST}/"
|
||||
|
||||
workerBatchAsync:
|
||||
enabled: true
|
||||
queueName: "iotlcm.batch.execute"
|
||||
failOnPublish: true
|
||||
|
||||
appBusinessAsync:
|
||||
enabled: false
|
||||
provider: "rabbitmq"
|
||||
queueName: "iotlcm.app.business"
|
||||
failOnPublish: false
|
||||
|
||||
payment:
|
||||
balanceRecharge:
|
||||
enabled: false
|
||||
mock:
|
||||
enabled: false
|
||||
wechat:
|
||||
enabled: true
|
||||
envFile: ""
|
||||
apiBase: "https://api.mch.weixin.qq.com"
|
||||
mchId: "${WECHAT_MCH_ID}"
|
||||
mchSerialNo: "${WECHAT_MCH_SERIAL_NO}"
|
||||
apiV3Key: "${WECHAT_API_V3_KEY}"
|
||||
privateKeyPath: "resource/certs/wechatpay_apiclient_key.pem"
|
||||
notifyUrl: "https://example.com/"
|
||||
notifyBaseUrl: "https://example.com/"
|
||||
refundNotifyUrl: "https://example.com/"
|
||||
timeoutMinutes: 5 #待支付时间(分钟)
|
||||
platformPublicKeyId: "${WECHAT_PLATFORM_KEY_ID}"
|
||||
platformPublicKeyPath: "resource/certs/wechatpay_platform_public_key.pem"
|
||||
h5:
|
||||
enabled: true
|
||||
appId: "${WECHAT_APP_ID}"
|
||||
appName: "物联网卡管理平台"
|
||||
appUrl: "https://example.com/"
|
||||
payerClientIp: ""
|
||||
mini:
|
||||
enabled: true
|
||||
appId: "${WECHAT_APP_ID}"
|
||||
appSecret: "${WECHAT_APP_SECRET}"
|
||||
|
||||
appCardRecognition:
|
||||
enabled: true
|
||||
provider: "openai-compatible"
|
||||
baseUrl: "https://xueyangai.com/v1"
|
||||
endpoint: ""
|
||||
model: "qwen3.7-plus"
|
||||
apiKey: "${AI_API_KEY}"
|
||||
timeout: "25s"
|
||||
maxImageBytes: 8388608
|
||||
maxTokens: 256
|
||||
rateLimit:
|
||||
enabled: true
|
||||
count: 20
|
||||
period: "1m"
|
||||
|
||||
appWarning:
|
||||
wechatSubscribeTemplateId: "${WECHAT_SUBSCRIBE_TEMPLATE_ID}"
|
||||
|
||||
tsdb:
|
||||
database: "TdEngine" #可选择 TdEngine、Influxdb
|
||||
tdengine:
|
||||
# type: "taosRestful" #http连接方式,端口是6041
|
||||
# dsn: "root:taosdata@http(127.0.0.1:6041)/"
|
||||
type: "taosWS" #websocket连接方式,端口是6041
|
||||
# dsn: "root:taosdata@ws(127.0.0.1:6041)/"
|
||||
dsn: "${TAOS_USER}:${TAOS_PASSWORD}@ws(${TAOS_HOST}:6041)/"
|
||||
dbName: "iotlcm"
|
||||
dailyDbName: "iotlcm_daily"
|
||||
monthlyDbName: "iotlcm_monthly"
|
||||
maxOpenConns: 100
|
||||
maxIdleConns: 10
|
||||
|
||||
|
||||
# 路由配置
|
||||
router:
|
||||
# 不需要验证登录的路由地址
|
||||
exceptLogin:
|
||||
- /api/v1/system/auth/login
|
||||
- /api/v1/system/auth/refresh
|
||||
- /api/v1/system/captcha
|
||||
- /api/v1/system/auth/getTenantList
|
||||
- /api/v1/auth/captcha
|
||||
- /api/v1/auth/side-captcha
|
||||
- /api/v1/auth/check-side-captcha
|
||||
- /api/v1/auth/sms
|
||||
- /api/v1/auth/register
|
||||
- /api/v1/auth/login
|
||||
- /api/v1/auth/phone-login
|
||||
- /api/v1/auth/wechat-login
|
||||
- /api/v1/auth/wechat-bind-phone
|
||||
- /api/v1/auth/forgot-password
|
||||
- /api/v1/card/public-query
|
||||
- /api/v1/card/recognize
|
||||
- /api/v1/card/public-package-detail
|
||||
- /api/v1/diagnosis/info
|
||||
- /api/v1/diagnosis/flow
|
||||
- /api/v1/open/diagnosis/info
|
||||
- /api/v1/open/diagnosis/flow
|
||||
- /api/v1/payment/wechat/notify
|
||||
- /api/v1/payment/wechat/refund-notify
|
||||
- /openapi/v3/query/token
|
||||
|
||||
# 生成代码
|
||||
xgen:
|
||||
allowedIPs: [ "127.0.0.1", "*" ] # 白名单,*代表所有,只有允许的IP后台才能使用生成代码功能
|
||||
selectDbs: [ "default" ] # 可选生成表的数据库配置名称,支持多库
|
||||
disableTables: [ ] # 禁用的表,禁用以后将不会在选择表中看到
|
||||
delimiters: [ "@{", "}" ] # 模板引擎变量分隔符号
|
||||
# 生成应用模型,所有生成模板允许自定义,可以参考default模板进行改造
|
||||
application:
|
||||
# CRUD和关系树列表模板
|
||||
crud:
|
||||
templates:
|
||||
# 默认的主包模板
|
||||
- group: "default" # 分组名称
|
||||
isAddon: false # 是否为插件模板 false|true
|
||||
masterPackage: "gen" # 主包名称,需和controllerPath、logicPath、inputPath保持关联
|
||||
templatePath: "./resource/generate/default/curd" # 模板路径
|
||||
apiPath: "./api/gen" # goApi生成路径
|
||||
controllerPath: "./internal/controller/gen" # 控制器生成路径
|
||||
logicPath: "./internal/logic/gen" # 主要业务生成路径
|
||||
inputPath: "./internal/model/genin" # 表单过滤器生成路径
|
||||
routerPath: "./internal/router/genrouter" # 生成路由表路径
|
||||
sqlPath: "./manifest/generate" # 生成sql语句路径
|
||||
webApiPath: "../vue/apps/web-antd/src/api/gen" # webApi生成路径
|
||||
webViewsPath: "../vue/apps/web-antd/src/views/gen" # web页面生成路径
|
||||
|
||||
# 默认的插件包模板,{$name}会自动替换成实际的插件名称
|
||||
- group: "addon" # 分组名称
|
||||
isAddon: true # 是否为插件模板 false|true
|
||||
masterPackage: "sys" # 主包名称,需和controllerPath、logicPath、inputPath保持关联
|
||||
templatePath: "./resource/generate/default/curd" # 模板路径
|
||||
apiPath: "./addons/{$name}/api/admin" # goApi生成路径
|
||||
controllerPath: "./addons/{$name}/controller/admin/sys" # 控制器生成路径
|
||||
logicPath: "./addons/{$name}/logic/sys" # 主要业务生成路径
|
||||
inputPath: "./addons/{$name}/model/input/sysin" # 表单过滤器生成路径
|
||||
routerPath: "./addons/{$name}/router/genrouter" # 生成路由表路径
|
||||
sqlPath: "./storage/data/generate/addons" # 生成sql语句路径
|
||||
webApiPath: "../web/src/api/addons/{$name}" # webApi生成路径
|
||||
webViewsPath: "../web/src/views/addons/{$name}" # web页面生成路径
|
||||
|
||||
upstream:
|
||||
provider: "onelink_mock"
|
||||
default:
|
||||
# ClientNameList: "iotlcmupstreamproxy-http-svc"
|
||||
# clientName: "iotlcm.example.com:8510"
|
||||
clientName: "http://iotlcm.example.com:8110"
|
||||
timeout: 10s
|
||||
gateway:
|
||||
clientName: "${UPSTREAM_GATEWAY_ADDR}"
|
||||
timeout: 10s
|
||||
onelinkMock:
|
||||
enabled: false
|
||||
baseUrl: "https://iotlcm.example.com/onelink-mock/v5"
|
||||
appid: "${ONELINK_APP_ID}"
|
||||
password: "${ONELINK_PASSWORD}"
|
||||
timeout: "10s"
|
||||
tokenTTL: 3600
|
||||
accounts:
|
||||
- name: "默认测试应用"
|
||||
appid: "${ONELINK_APP_ID}"
|
||||
password: "${ONELINK_PASSWORD}"
|
||||
latestToken: ""
|
||||
tokenExpireAt: ""
|
||||
isDefault: true
|
||||
@@ -0,0 +1,280 @@
|
||||
# config_default.yaml 配置文件
|
||||
# @Link https://github.com/xiujiecn/xiu-admin
|
||||
# @Copyright Copyright (c) 2025 LiXiujie
|
||||
# @Author Lxj <li@example.com>
|
||||
# @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
|
||||
# 系统配置
|
||||
system:
|
||||
name: "XiuAdmin"
|
||||
version: "1.0"
|
||||
description: "XiuAdmin Server"
|
||||
gfmode: "dev"
|
||||
upload:
|
||||
local:
|
||||
path: "resource/upload"
|
||||
publicUrl: ""
|
||||
# 服务配置
|
||||
server:
|
||||
# 基本配置
|
||||
address: ":8199"
|
||||
# 接口文档
|
||||
openapiPath: "/api.json" # OpenAPI接口文档地址
|
||||
swaggerPath: "/swagger" # 内置SwaggerUI展示地址
|
||||
# 静态服务配置
|
||||
indexFiles: ["index.html","index.htm"] # 自动首页静态文件检索。默认为["index.html", "index.htm"]
|
||||
indexFolder: false # 当访问静态文件目录时,是否展示目录下的文件列表。默认关闭,那么请求将返回403
|
||||
serverRoot: "resource/public" # 静态文件服务的目录根路径,配置时自动开启静态文件服务。默认关闭
|
||||
searchPaths: ["/resource/public"] # 提供静态文件服务时额外的文件搜索路径,当根路径找不到时则按照顺序在搜索目录查找。默认关闭
|
||||
fileServerEnabled: true
|
||||
# 文件上传配置
|
||||
maxHeaderBytes: "20KB"
|
||||
clientMaxBodySize: "200MB"
|
||||
|
||||
# 日志配置
|
||||
logger:
|
||||
path: "resource/log/server" # 日志文件路径。默认为空,表示关闭,仅输出到终端
|
||||
file: "{Y-m-d-H}.log" # 日志文件格式。默认为"{Y-m-d}.log"
|
||||
prefix: "" # 日志内容输出前缀。默认为空
|
||||
level: "dev" # 日志输出级别
|
||||
timeFormat: "2006-01-02T15:04:05" # 自定义日志输出的时间格式,使用Golang标准的时间格式配置
|
||||
ctxKeys: [] # 自定义Context上下文变量名称,自动打印Context的变量到日志中。默认为空
|
||||
header: true # 是否打印日志的头信息。默认true
|
||||
stdout: true # 日志是否同时输出到终端。默认true
|
||||
rotateSize: 0 # 按照日志文件大小对文件进行滚动切分。默认为0,表示关闭滚动切分特性
|
||||
rotateExpire: 0 # 按照日志文件时间间隔对文件滚动切分。默认为0,表示关闭滚动切分特性
|
||||
rotateBackupLimit: 0 # 按照切分的文件数量清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
|
||||
rotateBackupExpire: 0 # 按照切分的文件有效期清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
|
||||
rotateBackupCompress: 0 # 滚动切分文件的压缩比(0-9)。默认为0,表示不压缩
|
||||
rotateCheckInterval: "1h" # 滚动切分的时间检测间隔,一般不需要设置。默认为1小时
|
||||
stdoutColorDisabled: false # 关闭终端的颜色打印。默认开启
|
||||
writerColorEnable: false # 日志文件是否带上颜色。默认false,表示不带颜色
|
||||
|
||||
# JWT配置
|
||||
jwt:
|
||||
signingKey: "${JWT_SIGNING_KEY}"
|
||||
expiresTime: 7d
|
||||
bufferTime: 1d
|
||||
issuer: xiujie # 发行人
|
||||
|
||||
# 验证码配置
|
||||
captcha:
|
||||
keyLong: 6
|
||||
imgWidth: 240
|
||||
imgHeight: 80
|
||||
openCaptcha: 0
|
||||
openCaptchaTimeout: 3600
|
||||
|
||||
# 注册验证码配置。短信服务接口见 F:\Work\数据\test\文档\lcm\sms.md
|
||||
register:
|
||||
sms:
|
||||
url: "http://127.0.0.1:11190/api/v1/sms/send"
|
||||
method: "POST"
|
||||
headers: {}
|
||||
bodyTemplate: '{"config":{"scene":"{scene}"},"params":{"phoneNumber":"{contact}","msgContent":"{code}"}}'
|
||||
successStatus: 200
|
||||
|
||||
database:
|
||||
legacyCard:
|
||||
link: "${LEGACY_CARD_DSN}" # Optional read-only legacy database
|
||||
debug: false
|
||||
maxOpen: 5
|
||||
maxIdle: 2
|
||||
logger:
|
||||
path: "resource/log/server/sql"
|
||||
level: "all"
|
||||
stdout: true
|
||||
default: # 分组名称,可自定义,默认为default
|
||||
link: "mysql:${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:3306)/iotlcm?charset=utf8mb4&parseTime=True&loc=Asia%2FShanghai"
|
||||
debug: true #开启调试模式
|
||||
charset: "utf8mb4" # (可选)数据库编码(如: utf8mb4/utf8/gbk/gb2312),一般设置为utf8mb4。默认为utf8。
|
||||
dryRun: false #ORM空跑(只读不写)
|
||||
maxIdle: 30 #连接池最大闲置的连接数
|
||||
maxOpen: 100 #连接池最大打开的连接数
|
||||
maxLifetime: 120 #(单位秒)连接对象可重复使用的时间长度
|
||||
|
||||
# 缓存配置
|
||||
cache:
|
||||
adapter: "redis" # 缓存适配器,支持:file|redis
|
||||
fileDir: "resource/cache" # 缓存文件目录
|
||||
|
||||
# Redis 配置示例
|
||||
redis:
|
||||
# 单实例配置
|
||||
default:
|
||||
mode: "single" #redis模式,支持:single|cluster|sentinel
|
||||
sentinelMasterName: "${REDIS_SENTINEL_MASTER}" #哨兵模式主节点名称
|
||||
address: 192.0.2.200:6379
|
||||
db: 0
|
||||
pass: "${REDIS_PASSWORD}"
|
||||
minIdle: 5 #最小空闲连接数
|
||||
maxIdle: 30 #允许闲置的最大连接数
|
||||
maxActive: 5000 #最大活跃连接数
|
||||
idleTimeout: "60s" #连接最大空闲时间,使用时间字符串例如30s/2m/2d
|
||||
ClientName: "SystemCache"
|
||||
|
||||
rabbitmq:
|
||||
enabled: false
|
||||
# 示例:amqp://${MQ_USER}:${MQ_PASSWORD}@${MQ_HOST}/
|
||||
dsn: ""
|
||||
|
||||
workerBatchAsync:
|
||||
enabled: false
|
||||
queueName: "iotlcm.batch.execute"
|
||||
failOnPublish: true
|
||||
|
||||
payment:
|
||||
mock:
|
||||
enabled: false
|
||||
wechat:
|
||||
enabled: false
|
||||
envFile: ""
|
||||
apiBase: "https://api.mch.weixin.qq.com"
|
||||
mchId: ""
|
||||
mchSerialNo: ""
|
||||
apiV3Key: ""
|
||||
privateKeyPath: "resource/certs/wechatpay_apiclient_key.pem"
|
||||
notifyUrl: ""
|
||||
notifyBaseUrl: ""
|
||||
refundNotifyUrl: ""
|
||||
timeoutMinutes: 5
|
||||
platformPublicKeyId: ""
|
||||
platformPublicKeyPath: "resource/certs/wechatpay_platform_public_key.pem"
|
||||
h5:
|
||||
enabled: false
|
||||
appId: ""
|
||||
appName: ""
|
||||
appUrl: ""
|
||||
payerClientIp: ""
|
||||
mini:
|
||||
enabled: false
|
||||
appId: ""
|
||||
appSecret: ""
|
||||
|
||||
appCardRecognition:
|
||||
enabled: false
|
||||
provider: "openai-compatible"
|
||||
baseUrl: "https://xueyangai.com/v1"
|
||||
endpoint: ""
|
||||
model: "qwen3.7-plus"
|
||||
apiKey: "${AI_API_KEY}"
|
||||
timeout: "25s"
|
||||
maxImageBytes: 8388608
|
||||
maxTokens: 256
|
||||
rateLimit:
|
||||
enabled: true
|
||||
count: 20
|
||||
period: "1m"
|
||||
|
||||
appWarning:
|
||||
wechatSubscribeTemplateId: "${WECHAT_SUBSCRIBE_TEMPLATE_ID}"
|
||||
|
||||
appBusinessAsync:
|
||||
enabled: false
|
||||
provider: "rabbitmq"
|
||||
queueName: "iotlcm.app.business"
|
||||
failOnPublish: false
|
||||
|
||||
upstream:
|
||||
appDiagnosisToken: "${APP_DIAGNOSIS_TOKEN}"
|
||||
provider: "onelink_mock"
|
||||
default:
|
||||
# 正式环境建议配置为上游代理 HTTP 服务名,例如 iotlcmupstreamproxy-http-svc:8510
|
||||
clientName: ""
|
||||
timeout: 10s
|
||||
gateway:
|
||||
clientName: "${UPSTREAM_GATEWAY_ADDR}"
|
||||
timeout: 10s
|
||||
onelinkMock:
|
||||
enabled: false
|
||||
baseUrl: "https://iotlcm.example.com/onelink-mock/v5"
|
||||
appid: ""
|
||||
password: ""
|
||||
timeout: "10s"
|
||||
tokenTTL: 3600
|
||||
accounts:
|
||||
- name: "默认测试应用"
|
||||
appid: ""
|
||||
password: ""
|
||||
latestToken: ""
|
||||
tokenExpireAt: ""
|
||||
isDefault: true
|
||||
|
||||
# Queue配置
|
||||
queue:
|
||||
type: "asynq" # 队列类型
|
||||
asynq:
|
||||
redis:
|
||||
address: 192.0.2.200:6379
|
||||
db: 0
|
||||
pass: "${REDIS_PASSWORD}"
|
||||
user:
|
||||
concurrency: 10 # 最大同时执行的任务数量
|
||||
logLevel: 4 # 日志级别 DebugLevel 1, InfoLevel 2, WarnLevel 3, ErrorLevel 4, FatalLevel 5
|
||||
|
||||
# 路由配置
|
||||
router:
|
||||
# 不需要验证登录的路由地址
|
||||
exceptLogin:
|
||||
- /api/v1/system/auth/login
|
||||
- /api/v1/system/auth/refresh
|
||||
- /api/v1/system/captcha
|
||||
- /api/v1/system/auth/getTenantList
|
||||
- /api/v1/auth/captcha
|
||||
- /api/v1/auth/side-captcha
|
||||
- /api/v1/auth/check-side-captcha
|
||||
- /api/v1/auth/sms
|
||||
- /api/v1/auth/register
|
||||
- /api/v1/auth/login
|
||||
- /api/v1/auth/phone-login
|
||||
- /api/v1/auth/wechat-login
|
||||
- /api/v1/auth/wechat-bind-phone
|
||||
- /api/v1/auth/forgot-password
|
||||
- /api/v1/card/public-query
|
||||
- /api/v1/card/recognize
|
||||
- /api/v1/card/public-package-detail
|
||||
- /api/v1/diagnosis/info
|
||||
- /api/v1/diagnosis/flow
|
||||
- /api/v1/open/diagnosis/info
|
||||
- /api/v1/open/diagnosis/flow
|
||||
- /api/v1/payment/wechat/notify
|
||||
- /api/v1/payment/wechat/refund-notify
|
||||
|
||||
|
||||
# 生成代码
|
||||
xgen:
|
||||
allowedIPs: [ "127.0.0.1", "*" ] # 白名单,*代表所有,只有允许的IP后台才能使用生成代码功能
|
||||
selectDbs: [ "default" ] # 可选生成表的数据库配置名称,支持多库
|
||||
disableTables: [ ] # 禁用的表,禁用以后将不会在选择表中看到
|
||||
delimiters: [ "@{", "}" ] # 模板引擎变量分隔符号
|
||||
# 生成应用模型,所有生成模板允许自定义,可以参考default模板进行改造
|
||||
application:
|
||||
# CRUD和关系树列表模板
|
||||
crud:
|
||||
templates:
|
||||
# 默认的主包模板
|
||||
- group: "default" # 分组名称
|
||||
isAddon: false # 是否为插件模板 false|true
|
||||
masterPackage: "gen" # 主包名称,需和controllerPath、logicPath、inputPath保持关联
|
||||
templatePath: "./resource/generate/default/curd" # 模板路径
|
||||
apiPath: "./api/gen/v1/" # goApi生成路径
|
||||
controllerPath: "./internal/controller/gen" # 控制器生成路径
|
||||
logicPath: "./internal/logic/gen" # 主要业务生成路径
|
||||
inputPath: "./internal/model/genin" # 表单过滤器生成路径
|
||||
routerPath: "./internal/router/genrouter" # 生成路由表路径
|
||||
sqlPath: "./manifest/generate" # 生成sql语句路径
|
||||
webApiPath: "./web/generate/api" # webApi生成路径
|
||||
webViewsPath: "./web/generate/views" # web页面生成路径
|
||||
|
||||
# 默认的插件包模板,{$name}会自动替换成实际的插件名称
|
||||
- group: "addon" # 分组名称
|
||||
isAddon: true # 是否为插件模板 false|true
|
||||
masterPackage: "sys" # 主包名称,需和controllerPath、logicPath、inputPath保持关联
|
||||
templatePath: "./resource/generate/default/curd" # 模板路径
|
||||
apiPath: "./addons/{$name}/api/admin" # goApi生成路径
|
||||
controllerPath: "./addons/{$name}/controller/admin/sys" # 控制器生成路径
|
||||
logicPath: "./addons/{$name}/logic/sys" # 主要业务生成路径
|
||||
inputPath: "./addons/{$name}/model/input/sysin" # 表单过滤器生成路径
|
||||
routerPath: "./addons/{$name}/router/genrouter" # 生成路由表路径
|
||||
sqlPath: "./storage/data/generate/addons" # 生成sql语句路径
|
||||
webApiPath: "../web/src/api/addons/{$name}" # webApi生成路径
|
||||
webViewsPath: "../web/src/views/addons/{$name}" # web页面生成路径
|
||||
Reference in New Issue
Block a user