打包分发.command 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/bash
  2. # 一键打包分发:只打代码与运行所需文件,本机密钥与数据(config.json / session.json /
  3. # manual-shops.json / data/ 等)绝不进包 —— 对方启动后会自动生成他们本机的配置。
  4. cd "$(dirname "$0")" || exit 1
  5. NAME="智慧运营中台-分发包"
  6. OUT="../$NAME"
  7. ZIP="../$NAME.zip"
  8. rm -rf "$OUT" "$ZIP"
  9. mkdir -p "$OUT"
  10. # 白名单文件(代码 / 模板 / 启动脚本 / 文档)
  11. for f in server.js napos-service.js reports-store.js reports-mcp.js nl-query.js report-html.js imageMeta.js \
  12. package.json package-lock.json config.example.json README.md \
  13. 启动.command 启动.sh 启动.bat; do
  14. [ -f "$f" ] && cp "$f" "$OUT/"
  15. done
  16. # 目录(前端 / 取数引擎 / 依赖)
  17. for d in public server scripts napos node_modules; do
  18. [ -d "$d" ] && cp -R "$d" "$OUT/"
  19. done
  20. find "$OUT" -name ".DS_Store" -delete 2>/dev/null
  21. (
  22. cd .. || exit 1
  23. zip -qr "$NAME.zip" "$NAME"
  24. )
  25. if [ ! -f "$ZIP" ]; then
  26. echo "打包失败:$ZIP 未生成"; exit 1
  27. fi
  28. rm -rf "$OUT"
  29. echo "已生成分发包: $ZIP"
  30. echo "包内不含 config.json / session.json / manual-shops.json / data/"
  31. echo "(API Key、Cookie、报表数据只留在你本机)"
  32. echo "对方解压后双击 启动.command(macOS)或 启动.bat(Windows)即可,"
  33. echo "首次启动会自动生成他们本机的配置,并在「系统设置」里填自己的 API Key。"
  34. echo "若对方电脑装过旧版:把包解压覆盖到原目录即可(不要先删旧目录),"
  35. echo "其历史 config.json / session.json 会被新版直接读取,API Key 与 Cookie 无需重填。"