# ============================================ # 云数据库 (业务数据 - 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: 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