Browse Source

重写接口第二天

master
庄锐波 5 months ago
parent
commit
9ad7a6ae7c
  1. 36
      cmd/all-package.bat
  2. 15
      cmd/client-package.bat
  3. 155
      cmd/client-package.ps1
  4. 4
      cmd/ep-package.ps1
  5. 6
      zdxt-web-client/zdxt-enforcement-code-app/package.json
  6. 8
      zdxt-web-client/zdxt-enforcement-code-app/src/router/home.js
  7. 4
      zdxt-web-client/zdxt-enforcement-code-app/vite-env/.env.enforcement-prod
  8. 4
      zdxt-web-client/zdxt-enforcement-code-app/vite-env/.env.enterprise-prod

36
cmd/all-package.bat

@ -0,0 +1,36 @@
@echo off
echo.
echo ====== ZDXT All-in-One Package ======
echo.
set "ENV=dev"
if not "%~1"=="" set "ENV=%~1"
echo Env: %ENV%
echo.
echo [1/2] Server Package ...
echo.
powershell -ExecutionPolicy Bypass -File "%~dp0ep-package.ps1" -BuildEnv %ENV%
if %ERRORLEVEL% neq 0 (
echo.
echo Server Package Failed!
pause
exit /b 1
)
echo.
echo [2/2] Client Package ...
echo.
powershell -ExecutionPolicy Bypass -File "%~dp0client-package.ps1" -BuildEnv %ENV%
if %ERRORLEVEL% neq 0 (
echo.
echo Client Package Failed!
pause
exit /b 1
)
echo.
echo ====== All Done! ======
echo.
pause

15
cmd/client-package.bat

@ -0,0 +1,15 @@
@echo off
echo.
echo ====== ZDXT Client Package ======
echo.
set "ENV=dev"
if not "%~1"=="" set "ENV=%~1"
echo Env: %ENV%
echo.
powershell -ExecutionPolicy Bypass -File "%~dp0client-package.ps1" -BuildEnv %ENV%
echo.
pause

155
cmd/client-package.ps1

@ -0,0 +1,155 @@
# client-package.ps1
# 一键打包前端项目:zdxt-admin-plus-ui + zdxt-enforcement-code-app
# 输出到 /dist/{timestamp}_{env}/ 目录
#
# 用法:
# .\client-package.ps1 # 默认 dev 环境
# .\client-package.ps1 -BuildEnv prod # prod 环境
param(
[ValidateSet("dev", "prod")]
[string]$BuildEnv = "dev"
)
$ErrorActionPreference = "Stop"
$projectRoot = (Get-Item $PSScriptRoot).Parent.FullName
$timestamp = Get-Date -Format "yyyy-MM-dd_HH"
$folderName = "{0}_{1}" -f $timestamp, $BuildEnv
$deployDir = Join-Path $projectRoot "dist\$folderName"
# --- 项目配置 ---
$uiProjectDir = Join-Path $projectRoot "zdxt-web-client\zdxt-admin-plus-ui"
$uiName = "zdxt-admin-plus-ui"
$uiOutputName = "zdxt-sup-web"
$appProjectDir = Join-Path $projectRoot "zdxt-web-client\zdxt-enforcement-code-app"
$appEndpoints = @(
@{ mode = "enterprise"; output = "zdxt-ent-app" },
@{ mode = "enforcement"; output = "zdxt-enf-app" }
)
Write-Host ""
Write-Host "============================================" -ForegroundColor Cyan
Write-Host " ZDXT Client Package Script" -ForegroundColor Cyan
Write-Host (" Env: {0} | Timestamp: {1}" -f $BuildEnv, $timestamp) -ForegroundColor Cyan
Write-Host (" Output: dist\{0}" -f $folderName) -ForegroundColor Cyan
Write-Host "============================================" -ForegroundColor Cyan
Write-Host ""
# ======================================================
# Part 1: zdxt-admin-plus-ui
# ======================================================
Write-Host ">>> [Part 1/2] zdxt-admin-plus-ui" -ForegroundColor Magenta
Write-Host ""
# 1.1 npm install
Write-Host "[1/3] npm install ..." -ForegroundColor Yellow
Set-Location $uiProjectDir
if (-not (Test-Path (Join-Path $uiProjectDir "node_modules"))) {
npm install
if ($LASTEXITCODE -ne 0) {
Write-Host "npm install Failed!" -ForegroundColor Red
exit 1
}
Write-Host "[1/3] npm install Success" -ForegroundColor Green
} else {
Write-Host "[1/3] node_modules exists, skip install" -ForegroundColor Green
}
# 1.2 Vite Build
Write-Host ""
$buildScript = "{0}-build:{1}" -f $uiName, $BuildEnv
Write-Host ("[2/3] npm run {0} ..." -f $buildScript) -ForegroundColor Yellow
npm run $buildScript
if ($LASTEXITCODE -ne 0) {
Write-Host "Vite Build Failed!" -ForegroundColor Red
exit 1
}
Write-Host "[2/3] Vite Build Success" -ForegroundColor Green
# 1.3 Copy
Write-Host ""
Write-Host "[3/3] Copy Artifacts ..." -ForegroundColor Yellow
$buildOutputDir = Join-Path $uiProjectDir "dist\$BuildEnv"
if (-not (Test-Path $buildOutputDir)) {
Write-Host (" Build output not found: {0}" -f $buildOutputDir) -ForegroundColor Red
exit 1
}
$targetDir = Join-Path $deployDir $uiOutputName
New-Item -ItemType Directory -Force -Path $targetDir | Out-Null
Copy-Item -Path (Join-Path $buildOutputDir "*") -Destination $targetDir -Recurse -Force
Write-Host (" [ui] {0}" -f $uiOutputName) -ForegroundColor Green
# ======================================================
# Part 2: zdxt-enforcement-code-app (enterprise + enforcement)
# ======================================================
Write-Host ""
Write-Host ">>> [Part 2/2] zdxt-enforcement-code-app" -ForegroundColor Magenta
Write-Host ""
# 2.1 npm install
Write-Host "[1/3] npm install ..." -ForegroundColor Yellow
Set-Location $appProjectDir
if (-not (Test-Path (Join-Path $appProjectDir "node_modules"))) {
npm install
if ($LASTEXITCODE -ne 0) {
Write-Host "npm install Failed!" -ForegroundColor Red
exit 1
}
Write-Host "[1/3] npm install Success" -ForegroundColor Green
} else {
Write-Host "[1/3] node_modules exists, skip install" -ForegroundColor Green
}
# 2.2 Build each endpoint
Write-Host ""
Write-Host "[2/3] Vite Build (2 endpoints) ..." -ForegroundColor Yellow
foreach ($ep in $appEndpoints) {
$mode = $ep.mode
$outputName = $ep.output
$script = "app-build:{0}-{1}" -f $mode, $BuildEnv
Write-Host ""
Write-Host (" Building: npm run {0} ..." -f $script) -ForegroundColor Yellow
npm run $script
if ($LASTEXITCODE -ne 0) {
Write-Host (" Build [{0}] Failed!" -f $mode) -ForegroundColor Red
exit 1
}
Write-Host (" Build [{0}] Success" -f $mode) -ForegroundColor Green
}
# 2.3 Copy each endpoint
Write-Host ""
Write-Host "[3/3] Copy Artifacts ..." -ForegroundColor Yellow
foreach ($ep in $appEndpoints) {
$mode = $ep.mode
$outputName = $ep.output
$appBuildDir = Join-Path $appProjectDir ("dist\{0}-{1}" -f $mode, $BuildEnv)
if (-not (Test-Path $appBuildDir)) {
Write-Host (" Build output not found: {0}" -f $appBuildDir) -ForegroundColor Red
exit 1
}
$appTargetDir = Join-Path $deployDir $outputName
New-Item -ItemType Directory -Force -Path $appTargetDir | Out-Null
Copy-Item -Path (Join-Path $appBuildDir "*") -Destination $appTargetDir -Recurse -Force
Write-Host (" [app] {0}" -f $outputName) -ForegroundColor Green
}
# ============ Done ============
Write-Host ""
Write-Host "============================================" -ForegroundColor Cyan
Write-Host " All Client Builds Done!" -ForegroundColor Cyan
Write-Host (" Output: {0}" -f $deployDir) -ForegroundColor Cyan
Write-Host " |- zdxt-sup-web" -ForegroundColor Cyan
Write-Host " |- zdxt-ent-app" -ForegroundColor Cyan
Write-Host " |- zdxt-enf-app" -ForegroundColor Cyan
Write-Host "============================================" -ForegroundColor Cyan
Write-Host ""

4
cmd/ep-package.ps1

@ -13,8 +13,8 @@ param(
$ErrorActionPreference = "Stop"
$projectRoot = (Get-Item $PSScriptRoot).Parent.FullName
# Windows 文件名不支持冒号(:), 使用 yyyy-MM-dd_HH-mm-ss 格式
$timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
# Windows 文件名不支持冒号(:), 使用 yyyy-MM-dd_HH 格式
$timestamp = Get-Date -Format "yyyy-MM-dd_HH"
$folderName = "{0}_{1}" -f $timestamp, $BuildEnv
$deployDir = Join-Path $projectRoot "dist\$folderName"

6
zdxt-web-client/zdxt-enforcement-code-app/package.json

@ -5,7 +5,11 @@
"type": "module",
"scripts": {
"app-vite:enterprise-dev": "vite --mode enterprise-dev",
"app-vite:enforcement-dev": "vite --mode enforcement-dev"
"app-vite:enforcement-dev": "vite --mode enforcement-dev",
"app-build:enterprise-dev": "vite build --mode enterprise-dev --outDir dist/enterprise-dev",
"app-build:enterprise-prod": "vite build --mode enterprise-prod --outDir dist/enterprise-prod",
"app-build:enforcement-dev": "vite build --mode enforcement-dev --outDir dist/enforcement-dev",
"app-build:enforcement-prod": "vite build --mode enforcement-prod --outDir dist/enforcement-prod"
},
"dependencies": {
"@zxing/library": "^0.20.0",

8
zdxt-web-client/zdxt-enforcement-code-app/src/router/home.js

@ -45,18 +45,18 @@ const routes = [
},
},
// 企业信息登记
{
/*{
path: "/enterprise/register",
name: "enterpriseRegister",
component: () => import("@/views/enterprise/register.vue"),
},
},*/
// 执法监督码
{
path: "/enterprise/qrCode",
name: "enterpriseQrCode",
component: () => import("@/views/enterprise/qrCode.vue"),
},
//历史执法信息
{
path: "/enterprise/registrationList",
@ -129,7 +129,7 @@ const routes = [
name: "registrationSelectList",
component: () => import("@/views/enterprise/registrationSelectList.vue"),
},
// 执法登记详情
{
path: "/registrationDetail",

4
zdxt-web-client/zdxt-enforcement-code-app/vite-env/.env.enforcement-prod

@ -0,0 +1,4 @@
# 执法端开发环境
VITE_PORT = 12002
VITE_BASE_URL = 'http://localhost:17000/enf-ep'
VITE_DEFAULT_LOGIN = '/enforce/login'

4
zdxt-web-client/zdxt-enforcement-code-app/vite-env/.env.enterprise-prod

@ -0,0 +1,4 @@
# 企业端开发环境
VITE_PORT = 12001
VITE_BASE_URL = 'http://localhost:17000/ent-ep'
VITE_DEFAULT_LOGIN = '/enterprise/login'
Loading…
Cancel
Save