feat: 集成Google OAuth认证和完善Stripe支付系统
- 新增Google OAuth 2.0认证模块 - 实现Google Strategy和AuthController - 添加Google平台适配器和用户统一管理 - 支持OAuth回调和token交换机制 - 完善Stripe支付集成 - 新增Stripe支付适配器和控制器 - 实现webhook事件处理和支付确认 - 支持多币种和国际化支付 - 扩展平台类型支持 - 在PlatformType中新增GOOGLE和STRIPE - 更新适配器工厂注册机制 - 完善跨平台用户身份管理 - 增强依赖和配置 - 添加@nestjs/passport和passport-google-oauth20 - 更新支付方法枚举和货币支持 - 完善订单号生成和回调URL构建
This commit is contained in:
28
Dockerfile
28
Dockerfile
@@ -14,20 +14,20 @@ ENV BUILD_TIME=$BUILD_TIME
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 复制 package.json 和 package-lock.json (如果存在)
|
||||
COPY package*.json ./
|
||||
# 复制 package.json 和 pnpm-lock.yaml
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
|
||||
# 安装依赖
|
||||
RUN npm install --only=production && npm cache clean --force
|
||||
# 安装 pnpm 并安装生产依赖
|
||||
RUN npm install -g pnpm && pnpm install --prod --frozen-lockfile
|
||||
|
||||
# 构建阶段
|
||||
FROM base AS build
|
||||
# 安装所有依赖(包括开发依赖)
|
||||
RUN npm install
|
||||
RUN pnpm install --frozen-lockfile
|
||||
# 复制源代码
|
||||
COPY . .
|
||||
# 构建应用
|
||||
RUN npm run build
|
||||
RUN pnpm run build
|
||||
|
||||
# 生产阶段
|
||||
FROM node:22-alpine AS production
|
||||
@@ -38,18 +38,18 @@ RUN addgroup -g 1001 -S nodejs
|
||||
RUN adduser -S nestjs -u 1001
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
# 复制 package.json
|
||||
COPY package*.json ./
|
||||
# 安装生产依赖
|
||||
RUN npm install --only=production && npm cache clean --force
|
||||
# 复制 package.json 和 pnpm-lock.yaml
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
# 安装 pnpm 并安装生产依赖
|
||||
RUN npm install -g pnpm && pnpm install --prod --frozen-lockfile
|
||||
# 从构建阶段复制构建产物
|
||||
COPY --from=build --chown=nestjs:nodejs /app/dist ./dist
|
||||
# 切换到非root用户
|
||||
USER nestjs
|
||||
# 暴露端口
|
||||
EXPOSE 3000
|
||||
EXPOSE 3003
|
||||
# 健康检查
|
||||
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||||
CMD curl -f http://localhost:3000/health || exit 1
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
|
||||
CMD wget --no-verbose --tries=1 --spider http://localhost:3003/health || exit 1
|
||||
# 启动应用
|
||||
CMD ["node", "dist/src/main"]
|
||||
CMD ["node", "dist/main"]
|
||||
|
||||
Reference in New Issue
Block a user