cangku/backend/.env.example

263 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ============================================
# 云数据库 (业务数据 - Cube.js 数据源)
# ============================================
# 首次部署时可留空,先启动系统并在“系统设置 -> 业务数据库”中配置
# 如需让业务数据库优先读取 .env,请先填写 CLOUD_DB_*,再到“系统设置 -> 业务数据库”开启“优先使用 .env 业务数据库配置”
CLOUD_DB_TYPE=mssql
CLOUD_DB_HOST=
CLOUD_DB_PORT=1433
CLOUD_DB_NAME=JSReportReplica
CLOUD_DB_USER=
CLOUD_DB_PASSWORD=
CLOUD_DB_SSL=false
# JSReportReplica 迁移约定:同步报表数据读 rpt,自建/临时维护表写 app。
# CLOUD_DB_REPORT_REWRITE=auto 表示仅当当前业务库是 JSReportReplica 时自动把旧 dbo/JSDataWarehouse/JSDataMiddlePlatform 查询映射到 rpt。
CLOUD_DB_REPORT_DATABASE=JSReportReplica
CLOUD_DB_REPORT_SCHEMA=rpt
CLOUD_DB_APP_SCHEMA=app
CLOUD_DB_REPORT_REWRITE=auto
# Product analysis source and JSReportReplica destination schema.
JIAN_SUN_DB_HOST=
JIAN_SUN_DB_PORT=1433
JIAN_SUN_DB_NAME=JianSun
JIAN_SUN_DB_USER=
JIAN_SUN_DB_PASSWORD=
# 拼多多开放平台草稿发布(服务端专用,禁止暴露给前端)
PDD_OPEN_PLATFORM_GATEWAY_URL=https://gw-api.pinduoduo.com/api/router
PDD_OPEN_PLATFORM_TIMEOUT_MS=60000
# 默认从 JianSun.dbo.sys_PddBill_Service 按店铺匹配授权。
# 数据库不可用时可临时配置 JSON 数组;不要将真实值提交到 Git。
PDD_OPEN_PLATFORM_SHOPS_JSON=
# 表内未维护应用凭证时,可由部署环境提供统一服务商应用凭证。
PDD_OPEN_PLATFORM_CLIENT_ID=
PDD_OPEN_PLATFORM_CLIENT_SECRET=
PRODUCT_ANALYSIS_REPLICA_SCHEMA=app
PRODUCT_ANALYSIS_SYNC_BATCH_SIZE=5000
PRODUCT_ANALYSIS_SYNC_ENABLED=false
PRODUCT_ANALYSIS_SYNC_CRON=* * * * *
PRODUCT_ANALYSIS_SYNC_TIMEZONE=Asia/Shanghai
PRODUCT_ANALYSIS_SYNC_STARTUP_DELAY_MS=10000
# ============================================
# 系统数据库 (系统配置 + 用户数据 + 汇总结果 - 读写)
# ============================================
# 可以先留空。留空时系统会进入 /install 安装模式,由页面引导创建系统数据库和首个管理员账号
LOCAL_DB_TYPE=mysql
LOCAL_DB_HOST=localhost
LOCAL_DB_PORT=3306
LOCAL_DB_NAME=shujuku2_system
LOCAL_DB_USER=root
LOCAL_DB_PASSWORD=
# 防止慢查询长期占满系统库连接。页面查询超过该时间会中断,单位毫秒
LOCAL_DB_QUERY_TIMEOUT_MS=60000
# 生产环境由部署脚本强制使用 /www/wwwroot/shujuku3/shared/image-search-secrets.json
# 本地留空时使用 ~/.config/shujuku3/secrets.json
SHUJUKU3_SECRET_STORE_PATH=
# 生产环境默认开启;公司图搜或 1688 图搜凭据缺失时拒绝启动
REQUIRE_PERSISTED_IMAGE_SEARCH_SECRETS=false
# 系统库连接池建议保持小而稳,避免单个应用实例吃满 MySQL 连接
LOCAL_DB_CONNECTION_LIMIT=6
LOCAL_DB_QUEUE_LIMIT=50
# ============================================
# Cube.js 配置
# ============================================
# 首次安装时如留空,系统会自动生成并写入 .env
CUBEJS_SECRET=your-cubejs-secret-key
CUBEJS_API_SECRET=your-cubejs-api-secret
CUBEJS_DEV_MODE=true
# ============================================
# OAuth / 应用服务
# ============================================
# 说明:
# 1. 钉钉 AppKey/AppSecret、Google Client ID/Secret 已改为保存在本地数据库 auth_configs 表中
# 2. 这里不再需要配置 Casdoor
# 3. OAuth 回调基础地址请在系统设置 -> 登录配置 中填写
# 4. 默认管理员账号来自 init.sql: admin / admin123
# ============================================
# 企业微信配置
# ============================================
WEIXIN_CORP_ID=your-corp-id
WEIXIN_AGENT_ID=your-agent-id
WEIXIN_SECRET=your-secret
# ============================================
# 钉钉配置
# ============================================
# 仅用于预警通知机器人,不是钉钉登录配置
DINGTALK_TOKEN=your-robot-token
# ============================================
# 邮件配置
# ============================================
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your-email
SMTP_PASSWORD=your-password
# ============================================
# S3 配置
# ============================================
S3_PROVIDER=aliyun
S3_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
S3_BUCKET=your-bucket
S3_ACCESS_KEY_ID=your-access-key
S3_SECRET_ACCESS_KEY=your-secret-key
# ============================================
# Redis 缓存配置
# ============================================
# 首次部署时可留空,后续可在“系统设置 -> Redis 缓存”中配置默认/常州两套缓存库。
# 运行时优先使用系统库配置:识别到 192.168.150.234 服务器优先常州缓存库,其他服务器优先默认缓存库;
# 两套系统库 Redis 都不可用时,才使用下面的 .env 配置兜底。
REDIS_HOST=
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# 默认 stored 表示自动选择系统库 Redis;也可临时指定 default/changzhou/env。
REDIS_RUNTIME_PROFILE=stored
CHANGZHOU_REDIS_SERVER_IPS=192.168.150.234
# 企划功能页 GET 响应缓存:默认 23 小时,命中后可避免重复扫企划库/业务库。
PLANNING_PAGE_RESPONSE_CACHE_REDIS_TTL_SECONDS=82800
# 企划 MAY 商品数据实体快照:每天 08:30 生成,页面优先读取 planning_may_product_snapshot_di。
PLANNING_MAY_PRODUCT_SNAPSHOT_ENABLED=true
PLANNING_MAY_PRODUCT_SNAPSHOT_CRON=30 8 * * *
PLANNING_MAY_PRODUCT_SNAPSHOT_CHUNK_SIZE=200
# ============================================
# 企划数据库双接口配置
# ============================================
# 默认 auto:识别到 PLANNING_DB_LOCAL_SERVER_IPS 中的本机 IP 时使用系统设置里的企划数据库;
# 非本机时优先使用下面的公网企划数据库配置,避免不同服务器继续连本机内网接口。
PLANNING_DB_RUNTIME_PROFILE=auto
PLANNING_DB_LOCAL_SERVER_IPS=192.168.150.234
PLANNING_PUBLIC_DB_HOST=
PLANNING_PUBLIC_DB_PORT=60023
PLANNING_PUBLIC_DB_NAME=planning_database
PLANNING_PUBLIC_DB_USER=
PLANNING_PUBLIC_DB_PASSWORD=
PLANNING_PUBLIC_DB_SSL=false
PLANNING_PUBLIC_DB_CHARSET=utf8mb4
# ============================================
# 市场洞察专用镜像库
# ============================================
# 配置后,仅市场洞察/市场复刻相关页面读取该库;未配置时仍回退到企划数据库。
MARKET_REPLICA_DB_HOST=
MARKET_REPLICA_DB_PORT=3306
MARKET_REPLICA_DB_NAME=yuce_market_local
MARKET_REPLICA_DB_USER=
MARKET_REPLICA_DB_PASSWORD=
MARKET_REPLICA_DB_SSL=false
MARKET_REPLICA_DB_CHARSET=utf8mb4
# 新 yuce_market -> 本机镜像库同步脚本配置。真实账号建议放到 backend/runtime/market-sync/.env。
MARKET_SYNC_SOURCE_HOST=
MARKET_SYNC_SOURCE_PORT=3306
MARKET_SYNC_SOURCE_DATABASE=yuce_market
MARKET_SYNC_SOURCE_USER=
MARKET_SYNC_SOURCE_PASSWORD=
MARKET_SYNC_TARGET_HOST=127.0.0.1
MARKET_SYNC_TARGET_PORT=3306
MARKET_SYNC_TARGET_DATABASE=yuce_market_local
MARKET_SYNC_TARGET_USER=
MARKET_SYNC_TARGET_PASSWORD=
# ============================================
# 淘宝详情 Plus 对外查询 API
# ============================================
# 多个 key 用英文逗号分隔。请求时建议使用 Header: x-api-key: <key>
TAOBAO_DETAIL_PLUS_API_KEYS=
# ============================================
# 工单通知系统连接配置
# ============================================
# 系统设置中保存的配置优先;下面仅作为首次部署或系统库不可用时的兜底。
WORK_ORDER_BASE_URL=
WORK_ORDER_SIGN_KEY=
WORK_ORDER_APP_KEY=
WORK_ORDER_APP_SECRET=
WORK_ORDER_TOKEN_PATH=/api/auth/accessToken
WORK_ORDER_CREATE_PATH=/api/workorder/create
# ============================================
# ============================================
# 公司商品编码对外接口(仅后端保存,禁止下发到前端)
# ============================================
PRODUCT_CODE_PUBLIC_API_KEY=
PRODUCT_CODE_PUBLIC_API_BASE_URL=https://yyd.jiansuntuzhi.cn
PRODUCT_CODE_PUBLIC_API_TIMEOUT_MS=30000
# ============================================
# 服务器配置
# ============================================
# ============================================
# 1688 ???????
# ============================================
# Linux ?????????????? /www/wwwroot/script_1688
ALI1688_BRIDGE_ROOT=/www/wwwroot/script_1688
ALI1688_BRIDGE_ENV_PATH=/www/wwwroot/script_1688/.env
ALI1688_BRIDGE_ACCOUNTS_PATH=/www/wwwroot/script_1688/.local/auth/1688_accounts.json
ALI1688_BRIDGE_PYTHON=/www/wwwroot/script_1688/.venv/bin/python
ALI1688_CONTROL_CENTER_STORE_PATH=./database/ali1688_control_center.json
# nanting-pro 测款商品编码接口。API Key 只能配置在后端,不得下发前端。
PRODUCT_CODE_API_BASE_URL=https://yyd.jiansuntuzhi.cn
PRODUCT_CODE_API_KEY=
PRODUCT_CODE_API_TIMEOUT_MS=300000
# 编码请求异常中断后,超过该时间可使用同一 1688 商品 ID 协调重试。
PRODUCT_CODE_CLAIM_TTL_SECONDS=360
# ============================================
# 1688 以图搜款 Key 到期通知
# ============================================
# 仅作为数据库尚未配置时的迁移/故障兜底。系统设置保存后优先读取数据库。
# 通知中心会为本项目单独分配 project code / secret,不得复用其他项目密钥。
YYD_NOTIFICATION_CENTER_URL=https://sc.jiansun.vip/notification-center
YYD_NOTIFICATION_PROJECT_CODE=
YYD_NOTIFICATION_PROJECT_SECRET=
# 兼容通知中心开通结果使用的变量名:
# YYD_NOTIFICATION_CENTER_PROJECT_CODE=
# YYD_NOTIFICATION_CENTER_PROJECT_SECRET=
YYD_NOTIFICATION_TIMEOUT_MS=15000
ALIBABA_1688_IMAGE_SEARCH_EXPIRY_RECIPIENT_ALIAS=苏适
ALIBABA_1688_IMAGE_SEARCH_SETTINGS_URL=https://pddg.jiansuntuzhi.cn/settings?tab=alibaba1688ImageSearch
ALIBABA_1688_IMAGE_SEARCH_EXPIRY_CRON=0 9 * * *
DISABLE_ALIBABA_1688_IMAGE_SEARCH_EXPIRY_NOTIFICATION=false
# External image generation service. One image request may run for up to
# 15 minutes; main-image batches send at most five requests concurrently.
SELECTION_IMAGE_GEN_BASE_URL=https://ai.yydd.ai
SELECTION_IMAGE_GEN_API_KEY=
SELECTION_IMAGE_GEN_TIMEOUT_MS=900000
PORT=4000
NODE_ENV=development
# ============================================
# 火山向量定时任务
# ============================================
ARK_API_KEY=
ARK_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
EMBEDDING_MODEL=doubao-embedding-vision-250615
TAOBAO_PRODUCT_EMBEDDING_ENABLED=true
TAOBAO_PRODUCT_EMBEDDING_CRON=0 2 * * *
TAOBAO_PRODUCT_EMBEDDING_BATCH_SIZE=100
TAOBAO_PRODUCT_EMBEDDING_CONCURRENCY=2
TAOBAO_PRODUCT_EMBEDDING_REQUEST_TIMEOUT_MS=120000
TAOBAO_PRODUCT_EMBEDDING_LOCK_WAIT_SECONDS=1
# 榜单数据分析快照。不同项目共用原始企划库时,应配置独立表名与任务锁。
PLANNING_RANK_BOARD_ITEM_SNAPSHOT_TABLE=planning_rank_board_item_snapshot_di
PLANNING_RANK_BOARD_DIMENSION_SNAPSHOT_TABLE=planning_rank_board_dimension_snapshot_di
PLANNING_RANK_BOARD_AGGREGATE_SNAPSHOT_TABLE=planning_rank_board_aggregate_snapshot_di
PLANNING_RANK_BOARD_SNAPSHOT_LOG_TABLE=planning_rank_board_snapshot_sync_log
PLANNING_RANK_BOARD_SNAPSHOT_LOCK_KEY=planning_rank_board_snapshot_daily
PLANNING_RANK_BOARD_SNAPSHOT_CRON=0 0 * * *
PLANNING_RANK_BOARD_SNAPSHOT_TIMEZONE=Asia/Shanghai