144 lines
8.4 KiB
Plaintext
144 lines
8.4 KiB
Plaintext
appname = server
|
||
httpport = 9000
|
||
runmode = dev
|
||
|
||
# ==================== 平台后台 SPA 静态托管 ====================
|
||
# 之前 platform.yunzer.cn 的 SPA 静态文件依赖 nginx 在对应 server 块里
|
||
# 配 location ~ ^/(platform|backend|auth|api|app)/ { proxy_pass ... } 反代到 Go,
|
||
# 而 nginx 默认 server 块经常只有 root + static,缺这条就会让所有 API 请求 404。
|
||
# 现在由 Go 自己吐这些 host 的 SPA 静态;/platform|/backend|/auth|/api|/app
|
||
# 仍走 beego Router;/uploads|/themes 走 main.go 注册的 SetStaticPath。
|
||
# 多 host 用英文逗号分隔;目录留空则关闭该功能,回落到由 nginx 自行处理。
|
||
platform_spa_dir = /www/wwwroot/platform.yunzer.cn/output
|
||
platform_spa_hosts = platform.yunzer.cn
|
||
|
||
# ==================== 根路径站点验证文件 ====================
|
||
# nginx 对所有域名都是全量反代给 Go,Go 不认识的路径一律回 beego 404,
|
||
# 导致 1XXl8fPHr9.txt 这类「域名所有权验证文件」访问不到(备案、搜索引擎收录、
|
||
# 第三方平台域名校验都靠它)。这里由 Go 直接吐 verify 目录下的文件,
|
||
# 不依赖 nginx 规则(宝塔重生成 vhost 也不会被冲掉)。
|
||
#
|
||
# verify_dir 验证文件目录,相对进程工作目录(线上 = /www/wwwroot/api.yunzer.cn/verify)
|
||
# 留空 = 默认 verify;填 - = 关闭该功能
|
||
# verify_exts 允许的扩展名(逗号分隔);留空 = 默认 .txt,.html,.htm
|
||
# verify_hosts 限定生效的域名(不含端口,逗号分隔);留空 = 所有走本服务的域名都生效
|
||
# (备案常常要同时过 api.yunzer.cn 与官网主域名 yunzer.com.cn / dh2.fun)
|
||
verify_dir =
|
||
verify_exts =
|
||
verify_hosts =
|
||
|
||
# 启用请求体复制(允许多次读取请求体)
|
||
copyrequestbody = true
|
||
|
||
# ==================== 服务器超时 / 请求体大小 ====================
|
||
# 0 表示不设置超时限制
|
||
ServerTimeOut = 0
|
||
|
||
# 最大请求体大小(字节)。本地开发建议统一为 10MB,避免误传大文件打爆内存。
|
||
maxmemory = 10485760
|
||
|
||
# ==================== 数据库配置 ====================
|
||
# MySQL - 远程连接配置(本地开发连线上测试库)
|
||
mysqluser = root
|
||
mysqlpass = Lzq920103
|
||
# mysqlurls = 10.31.100.4:3306
|
||
mysqlurls = 212.64.112.158:5506
|
||
mysqldb = go-platform
|
||
|
||
# ORM配置
|
||
orm = mysql
|
||
|
||
# ==================== 静态文件目录 ====================
|
||
# 映射 /static 路径到前端 dist 目录
|
||
# StaticDir = /static:../front/dist
|
||
|
||
# 映射 /uploads 路径到上传文件目录(项目根目录下的 uploads 文件夹)
|
||
StaticDir = /uploads:../uploads
|
||
|
||
# ==================== 租户自有域名绑定 / 自动 HTTPS ====================
|
||
# 本地开发不涉及,留空即可
|
||
customdomain_cname_target =
|
||
customdomain_a_ips =
|
||
acme_email =
|
||
acme_directory =
|
||
ssl_cert_dir = /www/wwwroot/ssl-certs
|
||
|
||
# ==================== 统一认证中心(UAC)基础配置 ====================
|
||
# 全局 JWT 鉴权模式:off=不启用 / warn=观察模式只记日志不拦截 / on=真正拦截401
|
||
# 本地开发建议 off 或 warn,避免调试接口被 401 拦截
|
||
auth_enforce = warn
|
||
# 额外免鉴权路径前缀(在内置白名单之外追加),多个用英文逗号分隔
|
||
auth_whitelist =
|
||
|
||
# ==================== 模块套餐鉴权 ====================
|
||
# 未开通模块的接口直接拒绝:off=不启用 / warn=观察模式只记日志 / on=拦截返回403
|
||
# 上线步骤同 auth_enforce:先 warn 跑一段,看日志确认映射无遗漏,再改 on
|
||
plan_enforce = warn
|
||
# 接口前缀 → 模块编码(yz_system_modules.code),多个用英文逗号分隔,格式 前缀:模块编码
|
||
# 按「最长前缀」匹配;未出现在这里的接口不做模块校验(默认放行),可逐模块灰度开启
|
||
# 说明:
|
||
# /backend/crm/* 含招投标等全部 CRM 子功能
|
||
# /backend/erp/* 含客户/供应商/账套/通讯录/组织架构(erp 端)
|
||
# /backend/oa/* 含人事档案/薪酬/日程/通知/文档/组织架构(oa 端)
|
||
# 如需覆盖网站管理(文章/产品/解决方案/Banner/友链/单页/模板/域名)与 AI,
|
||
# 按各自模块编码追加前缀即可,例如:
|
||
# ,/backend/articles:cms,/backend/productsList:cms,/backend/ai:ai,/backend/mcp:ai
|
||
plan_module_paths = /backend/crm:crm,/backend/erp:erp,/backend/oa:oa
|
||
|
||
# JWT 签发者(统一认证中心地址)
|
||
jwt_issuer = https://api.yunzer.cn/auth
|
||
# HS256 主密钥:留空则沿用内置默认密钥(兼容历史 token)
|
||
jwt_secret = peaceandlove
|
||
# HS256 轮换密钥(用于平滑换密钥),格式:kid1:secret1,kid2:secret2
|
||
jwt_secrets =
|
||
|
||
# RS256 密钥对(认证中心签发用私钥,业务端验签只用公钥)
|
||
#
|
||
# 本地开发对接线上认证中心(https://api.yunzer.cn/auth)时:
|
||
# - token 由线上用「线上私钥」签发(jwtutil 固定 Alg=RS256,见 services/auth/token.go)
|
||
# - 本地业务接口必须用「线上公钥」验签,否则一律 401「无效的token」
|
||
# - conf/jwt_rsa_public.pem 即线上 /auth/jwks.json 还原出的公钥(kid=rsa-1)
|
||
#
|
||
# 注意:不要在这里启用与上面公钥不配对的私钥,否则本地签发的 RS256 token 会验签失败。
|
||
# 仅当需要在本地自建认证中心并签发 RS256 时才配置私钥,且公钥必须与它配对。
|
||
jwt_rsa_private_key_file =
|
||
jwt_rsa_public_key_file = conf/jwt_rsa_public.pem
|
||
jwt_rsa_kid = rsa-1
|
||
|
||
# ==================== 微信公众号(服务号) ====================
|
||
# 服务号 AppSecret / EncodingAESKey 入库加密密钥:任意随机串即可,代码内部做 SHA-256 派生。
|
||
# 注意:更换该值后,历史已保存的公众号密钥将无法解密,需在「通知设置 → 微信配置」重新保存一次。
|
||
wechat_mp_secret_key = 8f3c2a1d94b74e28a6c5f0187d3e9b4c72a5d0e6f13b8c47d92a6e5f0b7c3148
|
||
# 微信服务器回调地址基址(默认回落 payment_callback_base):
|
||
# wechat_mp_callback_base = https://api.yunzer.cn
|
||
# 公众号「登录」一次性链接的页面基址(前端应用对外可访问地址,链接形如 {基址}/#/mp-login?token=xxx):
|
||
# 缺省回落 wechat_mp_callback_base / payment_callback_base;本地开发可填 http://127.0.0.1:4401(仅同机可点)
|
||
# wechat_mp_login_base = https://back.yunzer.cn
|
||
|
||
# ==================== 微信小程序注册核验 ====================
|
||
# 注册页「微信身份核验」优先用小程序码:网页展示小程序码 → 用户扫码在小程序内确认 →
|
||
# 网页继续注册(无需公众号)。小程序未配置或小程序码生成失败时自动回退公众号验证码 / 短信。
|
||
# 小程序码指向的页面路径(该页面需在小程序已发布,不带前导 /):
|
||
# wechat_mini_register_page = pages/register/confirm
|
||
# 小程序码环境:release(正式版,默认)/ trial(体验版)/ develop(开发版,需开发者扫码)
|
||
# wechat_mini_register_env = release
|
||
wechat_mini_register_env = trial
|
||
|
||
# ==================== 微信小程序消息推送 ====================
|
||
# 消息推送回调地址基址:最终地址 = {基址}/api/wechat/mini/callback,
|
||
# 填到小程序后台「开发管理 → 开发设置 → 消息推送」的 URL(必须是 80 / 443 端口、微信可直连)。
|
||
# 缺省回落 wechat_mp_callback_base / payment_callback_base;都留空时退化为相对路径
|
||
# /api/wechat/mini/callback(需由网关补齐域名)。
|
||
wechat_mini_callback_base = https://api.yunzer.cn
|
||
|
||
# ==================== 支付模块 ====================
|
||
# 渠道敏感参数(商户密钥/私钥/Secret)入库加密密钥:任意随机串即可,代码内部做 SHA-256 派生。
|
||
# 注意:更换该值后,历史已保存的渠道参数将无法解密,需在各渠道配置页重新保存一次。
|
||
payment_secret_key = f656fe85ed6a1caba9f19966d8cdde46114709969bea5875cde7664d4ad9f535
|
||
# 渠道异步回调的对外基址:最终回调地址 = {payment_callback_base}/api/payment/callback/{渠道}
|
||
# 本地开发收不到渠道回调,留空即可(回调地址退化为相对路径 /api/payment/callback/{渠道},由网关补齐域名)。
|
||
payment_callback_base =
|
||
|
||
# 渠道证书落盘根目录(各渠道目录的父目录,实际路径 = {payment_cert_dir}/{渠道}/xxx.pem)。
|
||
# 本地开发如需测试支付证书,填本地绝对路径;否则留空,按进程工作目录下的 certs/payment 处理。
|
||
payment_cert_dir = |