环境配置
本章节详细介绍各项目的环境配置要求和配置方法。
后端环境 (MootingBackend)
必需软件
| 软件 | 版本要求 | 用途 |
|---|---|---|
| JDK | 17+ | Java 运行环境 |
| Maven | 3.6+ | 项目构建工具 |
| SQL Server | 2022 | 数据库 |
数据库配置
1. 创建数据库
sql
-- 连接到 SQL Server
-- 创建数据库
CREATE DATABASE user_system;
GO
-- 使用数据库
USE user_system;
GO2. 配置连接
编辑 application.properties:
properties
# 数据库连接
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=user_system;encrypt=true;trustServerCertificate=true;
spring.datasource.username=sa
spring.datasource.password=YourPassword123
# JPA 配置
spring.jpa.database-platform=org.hibernate.dialect.SQLServerDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=trueJWT 配置
properties
# JWT 密钥 (生产环境必须更换)
app.jwt.secret=your-256-bit-secret-key-for-jwt-signing-change-in-production
app.jwt.expiration-ms=86400000安全提醒
生产环境务必更换 JWT 密钥,并通过环境变量注入,不要提交到代码仓库。
邮件服务配置 (飞书 SMTP)
properties
spring.mail.host=smtp.feishu.cn
spring.mail.port=465
spring.mail.username=no-reply@mooting.life
spring.mail.password=your-smtp-auth-code
spring.mail.properties.mail.smtp.ssl.enable=true
app.mail.from-name=Mooting短信服务配置 (阿里云)
properties
app.sms.aliyun.access-key-id=your-access-key-id
app.sms.aliyun.access-key-secret=your-access-key-secret
app.sms.aliyun.sign-name=Mooting
app.sms.aliyun.template-code=SMS_XXXXXXXXX环境变量方式配置
推荐使用环境变量管理敏感信息:
bash
export DB_PASSWORD=YourPassword123
export JWT_SECRET=your-256-bit-secret
export MAIL_PASSWORD=smtp-auth-code
export ALIYUN_AK_ID=access-key-id
export ALIYUN_AK_SECRET=access-key-secret对应的 application.properties:
properties
spring.datasource.password=${DB_PASSWORD}
app.jwt.secret=${JWT_SECRET}
spring.mail.password=${MAIL_PASSWORD}
app.sms.aliyun.access-key-id=${ALIYUN_AK_ID}
app.sms.aliyun.access-key-secret=${ALIYUN_AK_SECRET}移动应用环境 (MootingAPP)
必需软件
| 软件 | 版本要求 | 用途 |
|---|---|---|
| Node.js | 18+ | JavaScript 运行环境 |
| npm | 9+ | 包管理器 |
| Watchman | 最新 | 文件监控 (macOS) |
Android 开发环境
- Android Studio Hedgehog 或更高版本
- Android SDK 34
- Android NDK (可选,原生模块需要)
配置环境变量:
bash
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-toolsiOS 开发环境 (macOS)
- Xcode 15+
- CocoaPods 1.14+
bash
# 安装 CocoaPods
sudo gem install cocoapods
# 安装 iOS 依赖
cd MootingAPP/ios
pod installAPI 配置
编辑 src/services/api.js:
javascript
// 开发环境
const BASE_URL = 'http://localhost:8080';
// 生产环境
// const BASE_URL = 'https://api.mooting.life';
// Mock 环境 (Apifox)
// const BASE_URL = 'http://127.0.0.1:4523/m1/7728811-0-default';腾讯云 ASR 配置
编辑 src/services/tencentCloud.js:
javascript
const config = {
SecretId: 'your-secret-id',
SecretKey: 'your-secret-key',
AppId: 'your-app-id'
};注意
腾讯云密钥不应硬编码在客户端,生产环境应通过后端代理获取临时凭证。
Android SDK 环境 (Mooting_android_demo)
必需软件
| 软件 | 版本要求 | 用途 |
|---|---|---|
| Android Studio | Hedgehog+ | IDE |
| JDK | 17 | Java 环境 |
| Android SDK | 34 | 编译工具 |
Gradle 配置
项目使用 Gradle Kotlin DSL,版本配置在 gradle/libs.versions.toml:
toml
[versions]
agp = "8.4.0"
kotlin = "1.9.0"
coreKtx = "1.13.1"
appcompat = "1.7.0"
material = "1.12.0"内部 Maven 仓库
项目依赖 MetaBounds 内部 Maven 仓库,配置在 settings.gradle.kts:
kotlin
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") }
maven {
url = uri("http://maven.mbsoft.com/repository/metabounds/")
isAllowInsecureProtocol = true
}
}
}权限配置
AndroidManifest.xml 中已配置必要权限:
xml
<!-- 蓝牙权限 -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<!-- 位置权限 (BLE 扫描需要) -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>开发工具推荐
IDE
| 项目 | 推荐 IDE | 备注 |
|---|---|---|
| MootingBackend | IntelliJ IDEA | Spring Boot 支持最佳 |
| MootingAPP | VS Code | React Native 插件丰富 |
| Android Demo | Android Studio | 官方推荐 |
VS Code 插件 (React Native)
- ES7+ React/Redux/React-Native snippets
- Prettier - Code formatter
- ESLint
- React Native Tools
IntelliJ IDEA 插件
- Lombok
- Spring Boot Assistant
- Database Navigator
常见问题
Q: 后端启动报数据库连接失败
检查以下配置:
- SQL Server 是否启动
- TCP/IP 协议是否启用
- 端口 1433 是否开放
- 用户名密码是否正确
Q: React Native 编译失败
bash
# 清理缓存
cd MootingAPP
npm cache clean --force
rm -rf node_modules
rm -rf android/app/build
npm installQ: Android 模拟器无法扫描蓝牙
BLE 扫描需要真机测试,模拟器不支持蓝牙功能。
下一步
- 后端概览 - 了解后端架构
- APP 概览 - 了解 APP 架构
- Android SDK - 了解 SDK 架构