logo
0
0
WeChat Login
zhouhao<zhouhao3207@qq.com>
docs: 更新README中的文件链接为相对路径

Food Server(AndroidMaster)

这是一个基于 Spring Boot 的后端服务,使用 Gradle 构建,提供点餐(order)、微信社交(wechat)、音乐(music)等相关接口能力。

技术栈

  • Java 17
  • Spring Boot 2.6.4
  • MyBatis-Plus
  • MySQL(HikariCP)
  • JWT(请求头 token
  • Gradle Wrapper(构建与运行)

入口与模块

  • 启动类:Application
  • 主要业务模块:
    • com.android.master.application.order:点餐/账号/商铺/订单相关
    • com.android.master.application.wechat:微信/好友/聊天/朋友圈相关
    • com.android.master.application.music:音乐相关

配置说明

  • 默认启用生产配置:spring.profiles.active: pro(见 application.yml
  • 生产环境配置示例:见 application-pro.yml
    • 服务端口:8100
    • 数据库:spring.datasource.url/username/password(请替换为实际环境)
    • 文件目录:
      • file.music
      • file.wechat
      • file.order

本地运行

前置条件:

  • 安装 JDK 17
  • 准备 MySQL,并创建数据库(默认配置使用 food_db,以实际环境为准)

启动(使用 Gradle Wrapper):

./gradlew bootRun

如需临时切换 profile(例如本地 dev),可通过环境变量覆盖:

SPRING_PROFILES_ACTIVE=dev ./gradlew bootRun

构建

构建可执行 Jar:

./gradlew clean bootJar

产物默认输出到:

  • build/libs/FoodServer.jar

项目已在 build.gradle 中将 bootJar 的归档名设置为 FoodServer,因此 jar 文件名固定为 FoodServer.jar

测试

./gradlew test

接口鉴权

项目默认对所有接口进行拦截校验(见 InterceptorConfigAuthenticationInterceptor):

  • 请求头中需要携带 token
  • 标注 @IgnoreSecurity 的接口不校验 token(常用于登录/注册等)

示例(登录接口不校验 token):

部署(CNB)

仓库根目录的 .cnb.yml 已配置 web_trigger_deploy 流程:

  • 使用 ./gradlew --no-daemon clean bootJar 构建 FoodServer.jar
  • 通过 tencentcom/rsync 将产物同步到服务器(远端目录与文件名由流水线配置)
  • 同步完成后输出部署成功信息