From f60e3751b8dfee3ea18e411ae62801740da5b74d Mon Sep 17 00:00:00 2001 From: hailin Date: Sat, 31 Jan 2026 09:19:38 -0800 Subject: [PATCH] =?UTF-8?q?fix(c2c):=20=E4=BF=AE=E5=A4=8D=E6=B0=B4?= =?UTF-8?q?=E5=8D=95=E4=B8=8A=E4=BC=A0=E6=9D=83=E9=99=90=E3=80=81=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7=E3=80=81=E5=8D=96=E6=96=B9ID=E3=80=81?= =?UTF-8?q?=E8=B5=84=E4=BA=A7=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Dockerfile: 用 su-exec 模式解决 Docker volume 权限问题 - JWT guard: 从 token 提取 phone 字段 - 订单详情: 新增卖方ID显示 - C2C市场页: 修复资产概览两列重复显示 availableCash, 改为左列显示可用积分股、右列显示可用积分值 Co-Authored-By: Claude Opus 4.5 --- backend/services/trading-service/Dockerfile | 8 +++++--- .../lib/presentation/pages/c2c/c2c_market_page.dart | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/services/trading-service/Dockerfile b/backend/services/trading-service/Dockerfile index 434811c1..d3a0a3f2 100644 --- a/backend/services/trading-service/Dockerfile +++ b/backend/services/trading-service/Dockerfile @@ -22,9 +22,9 @@ FROM node:20-alpine AS runner RUN addgroup --system --gid 1001 nodejs && \ adduser --system --uid 1001 -G nodejs nestjs -RUN apk add --no-cache curl tzdata openssl +RUN apk add --no-cache curl tzdata openssl su-exec -RUN mkdir -p /app /app/uploads/c2c-proofs && chown -R nestjs:nodejs /app +RUN mkdir -p /app && chown nestjs:nodejs /app WORKDIR /app USER nestjs @@ -37,7 +37,9 @@ RUN DATABASE_URL="postgresql://user:pass@localhost:5432/db" npx prisma generate COPY --chown=nestjs:nodejs --from=builder /app/dist ./dist -RUN printf '#!/bin/sh\nset -e\necho "Running database migrations..."\nnpx prisma migrate deploy\necho "Starting application..."\nexec node dist/main.js\n' > /app/start.sh && chmod +x /app/start.sh +# entrypoint 以 root 启动 → 修复 volume 权限 → 降权到 nestjs 运行 +USER root +RUN printf '#!/bin/sh\nset -e\n# 修复 Docker volume 挂载权限(volume 首次由 root 创建)\nmkdir -p /app/uploads/c2c-proofs\nchown -R nestjs:nodejs /app/uploads\n# 以 nestjs 用户运行\necho "Running database migrations..."\nsu-exec nestjs npx prisma migrate deploy\necho "Starting application..."\nexec su-exec nestjs node dist/main.js\n' > /app/start.sh && chmod +x /app/start.sh ENV NODE_ENV=production ENV TZ=Asia/Shanghai diff --git a/frontend/mining-app/lib/presentation/pages/c2c/c2c_market_page.dart b/frontend/mining-app/lib/presentation/pages/c2c/c2c_market_page.dart index c0578243..14a6fa6f 100644 --- a/frontend/mining-app/lib/presentation/pages/c2c/c2c_market_page.dart +++ b/frontend/mining-app/lib/presentation/pages/c2c/c2c_market_page.dart @@ -127,12 +127,12 @@ class _C2cMarketPageState extends ConsumerState crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - '可用积分值', + '可用积分股', style: TextStyle(fontSize: 12, color: AppColors.textSecondaryOf(context)), ), const SizedBox(height: 4), Text( - formatAmount(availableCash), + formatAmount(availableShares), style: const TextStyle( fontSize: 18, fontWeight: FontWeight.bold,