# 安卓自动打包微服务版 **Repository Path**: Marthkoper/android-package ## Basic Information - **Project Name**: 安卓自动打包微服务版 - **Description**: 可以将网页打包成安卓项目 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-09 - **Last Updated**: 2025-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Android Package 项目文档 ## 项目简介 本项目是一个基于Spring Boot和MyBatis Plus的微服务系统,专注于Android应用信息管理、数据点追踪及Web应用配置。系统包含多个模块,涵盖从客户端接口定义到服务端业务逻辑、数据持久化、消息队列监听、定时任务等完整功能。 主要模块包括: - `android-client`: Feign客户端接口定义 - `android-common`: 核心数据模型与通用类 - `android-service-10040`: 主业务服务模块 - `basic-common`: 异常处理、断言、日志过滤等基础工具 - `schedule-service-10100`: 定时清理任务 - `entrance-service-10030`: 网关服务与全局过滤器 ## 功能特性 - Android应用信息上传与查询 - 数据点追踪与管理 - Kafka消息监听与处理 - 自动化生成二维码与签名文件 - 邮件通知机制 - 文件上传功能 - 定时清理过期文件夹 - 全局请求日志记录与限流控制 ## 技术栈 - Spring Boot 2.x - MyBatis Plus - Feign Client - Kafka 消息队列 - Redis 缓存 - Java Mail Sender - Swagger UI - Nacos 配置中心 - Spring Cloud Gateway ## 安装部署 ### 环境要求 - JDK 1.8+ - Maven 3.5+ - MySQL 5.7+ - Kafka 2.0+ - Redis 3.0+ - Nacos 1.4+ ### 构建步骤 1. 克隆项目 ```bash git clone https://gitee.com/Martinkeep/android-package.git ``` 2. 初始化数据库 导入`sql/webadmin.sql`到MySQL数据库 3. 配置Nacos 导入`nacos/nacos_config_export_*.zip`中的配置文件 4. 构建项目 ```bash cd android-package mvn clean install ``` 5. 启动服务 - 启动网关服务: `support/entrance-service-10030` - 启动Android主服务: `android/android-service-10040` - 启动定时任务服务: `common/schedule-service-10100` ## 使用说明 ### Android信息管理 #### 上传Android信息 POST `/Upload_A_info` ```json { "packageName": "com.example.app", "appName": "示例应用", "url": "http://example.com/app.apk", "iconName": "app_icon.png", "code": "v1.0.0" } ``` #### 查询Android信息 GET `/get_A_info?uuid=xxx` ### 数据点管理 通过Kafka消息队列自动处理数据点信息 ### 生成签名文件 GET `/generate?userId=123` ## 系统架构 ``` +---------------------+ | Android Client | +----------+----------+ | v +---------------------+ | Gateway Service | | (Entrance-10030) | +----------+----------+ | v +---------------------+ | Android Service | | (android-service- | | 10040) | +----------+----------+ | +------+------+ | | +----v----+ +----v----+ | Kafka | | MySQL | | Queue | | DB | +---------+ +---------+ ``` ## 配置说明 主要配置文件: - `android-service-10040/src/main/resources/application.yml` - `entrance-service-10030/src/main/resources/application.yml` 关键配置项: ```yaml server: port: 10040 spring: datasource: url: jdbc:mysql://localhost:3306/android_db username: root password: root kafka: bootstrap-servers: localhost:9092 mail: host: smtp.example.com port: 587 username: user@example.com password: yourpassword file: upload-path: /var/www/uploads ``` ## 日志监控 - 日志文件位置:`android-service-10040/logs/` - 监控指标:通过Spring Boot Actuator提供健康检查和指标监控 ## 安全机制 - JWT身份验证 - 接口限流(`@Limit`注解) - 请求日志记录(`@Log`注解) - 全局异常处理 ## 扩展指南 ### 添加新接口 1. 在`AndroidInfoController`中添加新接口方法 2. 在`IAndroidInfoService`中定义接口 3. 在`AndroidInfoServiceImpl`中实现业务逻辑 4. 更新数据库映射文件(如需要) ### 添加新消息处理 1. 在`SimpleListener`中添加新的`@KafkaListener`方法 2. 实现消息处理逻辑 3. 添加相应的业务服务调用 ## 常见问题 Q: 启动时报数据库连接失败? A: 检查`application.yml`中的数据库配置,确认MySQL服务已启动 Q: 上传文件失败? A: 检查`file.upload-path`配置的目录是否存在且有写入权限 Q: Kafka消息无法消费? A: 确认Kafka服务正常运行,检查消费者组配置 Q: 无法生成二维码? A: 确认服务器上有可用的字体文件,检查图片生成路径权限 ## 贡献指南 欢迎贡献代码!请遵循以下步骤: 1. Fork项目 2. 创建新分支 3. 提交代码更改 4. 创建Pull Request 请确保: - 保持代码风格一致 - 添加必要的注释 - 更新相关文档 - 通过所有测试用例 ## 许可证 本项目采用 Apache-2.0 许可证。详情请参阅 LICENSE 文件。