Skip to content

环境准备

开发环境要求

必需环境

环境版本要求说明
Python3.11+后端运行环境
Node.js18+Web 前端和移动端
pnpm8+Web 前端包管理器
PostgreSQL14+推荐的主数据库
Redis6+缓存、会话、任务队列

可选环境

环境版本要求说明
MySQL8+可替代 PostgreSQL
Qdrant1.7+AI 知识库向量数据库
Minio最新版对象存储(可用本地存储替代)
HBuilderX最新版UniApp 开发工具

安装开发环境

Python 环境

推荐使用 Miniconda 管理 Python 环境:

bash
# 创建虚拟环境
conda create -n zq-fastapi python=3.11
conda activate zq-fastapi

或使用 venv:

bash
python3.11 -m venv venv
source venv/bin/activate  # macOS/Linux
# venv\Scripts\activate   # Windows

Node.js 环境

推荐使用 nvm 管理 Node.js 版本:

bash
nvm install 18
nvm use 18

安装 pnpm:

bash
npm install -g pnpm

PostgreSQL

bash
brew install postgresql@14
brew services start postgresql@14
bash
sudo apt install postgresql-14
sudo systemctl start postgresql
bash
docker run -d \
  --name postgres \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=your_password \
  -e POSTGRES_DB=fastapi_db \
  -p 5432:5432 \
  postgres:14

Redis

bash
brew install redis
brew services start redis
bash
sudo apt install redis-server
sudo systemctl start redis
bash
docker run -d \
  --name redis \
  -p 6379:6379 \
  redis:7

Qdrant(可选,AI 功能需要)

bash
docker run -d \
  --name qdrant \
  -p 6333:6333 \
  -p 6334:6334 \
  qdrant/qdrant

推荐开发工具

IDE

工具用途推荐插件
VS Code全栈开发Python、Volar、Tailwind CSS IntelliSense
PyCharm后端开发内置 Python 支持
HBuilderXUniApp 开发uni-app 插件

调试工具

工具用途
Postman / ApifoxAPI 接口调试
Redis InsightRedis 可视化管理
pgAdmin / DBeaver数据库可视化管理
微信开发者工具小程序调试

验证环境

安装完成后,运行以下命令验证:

bash
# Python
python --version   # 应输出 3.11+

# Node.js
node --version     # 应输出 18+
pnpm --version     # 应输出 8+

# PostgreSQL
psql --version     # 应输出 14+

# Redis
redis-cli ping     # 应输出 PONG

OAuth 单点登录配置

系统支持多种 OAuth 平台的单点登录,每个平台需要配置相应的环境变量。

支持的平台

平台配置前缀说明
GiteeGITEE_Gitee 开放平台
GitHubGITHUB_GitHub OAuth Apps
QQQQ_QQ 互联
GoogleGOOGLE_Google OAuth 2.0
微信WECHAT_微信开放平台
MicrosoftMICROSOFT_Microsoft 账户
钉钉DINGTALK_钉钉开放平台
飞书FEISHU_飞书开放平台
企业微信WECOM_企业微信

环境变量配置示例

bash
# Gitee
GITEE_CLIENT_ID=your_client_id
GITEE_CLIENT_SECRET=your_client_secret
GITEE_REDIRECT_URI=http://localhost:5173/oauth/gitee/callback

# GitHub
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
GITHUB_REDIRECT_URI=http://localhost:5173/oauth/github/callback

# QQ(使用 APP_ID 和 APP_KEY)
QQ_APP_ID=your_app_id
QQ_APP_KEY=your_app_key
QQ_REDIRECT_URI=http://your-domain.com/oauth/qq/callback

# Google
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REDIRECT_URI=http://localhost:5173/oauth/google/callback

# 微信
WECHAT_APP_ID=your_app_id
WECHAT_APP_SECRET=your_app_secret
WECHAT_REDIRECT_URI=http://your-domain.com/oauth/wechat/callback

# Microsoft
MICROSOFT_CLIENT_ID=your_client_id
MICROSOFT_CLIENT_SECRET=your_client_secret
MICROSOFT_REDIRECT_URI=http://localhost:5173/oauth/microsoft/callback

# 钉钉
DINGTALK_APP_ID=your_app_key
DINGTALK_APP_SECRET=your_app_secret
DINGTALK_REDIRECT_URI=http://your-domain.com/oauth/dingtalk/callback

# 飞书
FEISHU_APP_ID=your_app_id
FEISHU_APP_SECRET=your_app_secret
FEISHU_REDIRECT_URI=http://localhost:5173/oauth/feishu/callback

# 企业微信
WECOM_CORP_ID=your_corp_id
WECOM_APP_SECRET=your_app_secret
WECOM_AGENT_ID=your_agent_id
WECOM_REDIRECT_URI=http://your-domain.com/oauth/wecom/callback

# OAuth 用户是否自动授予管理员权限
GRANT_ADMIN_TO_OAUTH_USER=false

OAuth 应用注册

Gitee

  1. 访问 https://gitee.com/oauth/applications
  2. 点击「创建应用」,填写应用信息
  3. 回调地址:http://localhost:5173/oauth/gitee/callback
  4. 获取 Client IDClient Secret

GitHub

  1. 访问 https://github.com/settings/developers
  2. 点击「New OAuth App」
  3. 回调地址:http://localhost:5173/oauth/github/callback
  4. 获取 Client IDClient Secret

Google

  1. 访问 https://console.cloud.google.com/
  2. 创建项目 → API 和服务 → 凭据 → OAuth 客户端 ID
  3. 配置 OAuth 同意屏幕
  4. 重定向 URI:http://localhost:5173/oauth/google/callback

钉钉

  1. 访问 https://open.dingtalk.com/
  2. 创建企业内部应用
  3. 在「登录与分享」中配置回调域名

飞书

  1. 访问 https://open.feishu.cn/
  2. 创建企业自建应用
  3. 在「安全设置」中配置重定向 URL
  4. 申请权限:contact:user.base:readonly

企业微信

  1. 访问 https://work.weixin.qq.com/
  2. 创建自建应用,获取 AgentId 和 Secret
  3. 在「网页授权及 JS-SDK」中配置可信域名

注意

  • QQ 互联和微信开放平台要求回调地址必须是已备案的域名
  • 微信开放平台需要企业资质
  • 详细配置说明请参考 SSO 单点登录

Released under the MIT License.