后端代码结构
从DJI Cloud API github上获取Cloud API后端示例代码,导入到集成开发环境后,项目的包结构如下:
DJI-Cloud-API-Demo
├─api
├─logs
├─sql
├─src.main
│ ├─java
│ │ └─com.dji.sample
│ │ ├─common // 通用工具类、dto
│ │ ├─component // 依赖组件
│ │ │ ├─mqtt // mqtt配置
│ │ │ ├─mybatis // mybatis配置
│ │ │ ├─oss // 对象存储配置
│ │ │ ├─redis // 缓存Redis配置
│ │ │ └─websocket // websocket配置
│ │ ├─configuration // spring通用配置
│ │ ├─control // 业务实现-设备控制
│ │ ├─manage // 业务实现-设备管理
│ │ ├─map // 业务实现-地图功能
│ │ ├─media // 业务实现-媒体文件
│ │ ├─storage // 业务实现-存储实现
│ │ └─wayline // 业务实现-航线功能
│ └─resources // 配置文件
配置文件说明如下:
# 开发环境配置
server:
# 后端启动端口
port: 6789
# spring配置
spring:
# 项目配置
application:
# 项目名称
name: cloud-api-sample
# 数据库配置
datasource:
# druid数据源配置
druid:
# 数据源类型
type: com.alibaba.druid.pool.DruidDataSource
# 数据库驱动
driver-class-name: com.mysql.cj.jdbc.Driver
# 数据库连接地址
url: jdbc:mysql://cloud_api_sample_mysql:3306/cloud_sample?useSSL=false&allowPublicKeyRetrieval=true
# 数据库用户名
username: root
# 数据库密码
password: root
# 初始化连接池大小
initial-size: 10
# 最小连接数
min-idle: 10
# 最大连接数
max-active: 20
# 连接等待超时的时间
max-wait: 60000
# redis配置
redis:
# redis服务器地址
host: cloud_api_sample_redis
# redis服务器端口
port: 6379
# redis数据库
database: 0
# redis用户名
username: # if you enable
# redis密码
password:
# redis连接池
lettuce:
pool:
# 最大连接数
max-active: 8
# 最大空闲数
max-idle: 8
# 最小空闲数
min-idle: 0
# 文件上传
servlet:
multipart:
# 单个文件大小
max-file-size: 2GB
# 设置总上传的文件大小
max-request-size: 2GB
# jwt配置
jwt:
# 颁发者
issuer: DJI
# 主题
subject: CloudApiSample
# 发布密钥
secret: CloudApiSample
# 过期时间
age: 86400
# mqtt配置
mqtt:
# @see com.dji.sample.component.mqtt.model.MqttUseEnum
# BASIC parameters are required.
# 基础连接链路
BASIC:
protocol: MQTT # @see com.dji.sample.component.mqtt.model.MqttProtocolEnum
# mqtt服务器地址
host: Please enter your ip.
# 端口
port: 1883
# 用户名
username: JavaServer
# 密码
password: 123456
# 客户端id
client-id: 123456
# If the protocol is ws/wss, this value is required.
# 路径,如果使用ws/wss协议,路径是必须的
path:
# Topics that need to be subscribed when initially connecting to mqtt, multiple topics are divided by ",".
inbound-topic: sys/product/+/status,thing/product/+/requests
# DRC控制链路
DRC:
# 示例代码在前端进行控制,需要返回给前端。默认使用ws连接
protocol: WS # @see com.dji.sample.component.mqtt.model.MqttProtocolEnum
# mqtt地址
host: Please enter your ip.
# mqtt端口
port: 8083
# mqtt路径
path: /mqtt
# url前缀
url:
# 设备管理url
manage:
# url前缀
prefix: /manage
# url版本
version: /api/v1
# 地图功能url
map:
# url前缀
prefix: /map
# url版本
version: /api/v1
# 媒体功能url
media:
# url前缀
prefix: /media
# url版本
version: /api/v1
# 航线功能url
wayline:
# url前缀
prefix: /wayline
# url版本
version: /api/v1
# 存储功能url
storage:
# url前缀
prefix: /storage
# url版本
version: /api/v1
# 设备控制url
control:
# url前缀
prefix: /control
# url版本
version: /api/v1
# Tutorial: https://www.alibabacloud.com/help/en/object-storage-service/latest/use-a-temporary-credential-provided-by-sts-to-access-oss
# 对象存储配置(阿里云oss配置示例)
oss:
# 是否开启对象存储
enable: false
# 对象存储厂商枚举值
provider: ali # @see com.dji.sample.component.OssConfiguration.model.enums.OssTypeEnum
# 对外服务的访问域名
endpoint: https://oss-cn-hangzhou.aliyuncs.com
# 后端访问对象存储的密钥
access-key: Please enter your access key.
secret-key: Please enter your secret key.
# 下发临时凭证的访问过期时间
expire: 3600
# 数据中心所在的地域
region: Please enter your oss region. # cn-hangzhou
role-session-name: cloudApi
role-arn: Please enter your role arn. # acs:ram::123456789:role/stsrole
# 对象存储桶名称
bucket: Please enter your bucket name.
# 对象存储桶的key的前缀
object-dir-prefix: Please enter a folder name.
# 对象存储配置(AWS配置示例)
#oss:
# enable: true
# provider: aws
# endpoint: https://s3.us-east-1.amazonaws.com
# access-key:
# secret-key:
# expire: 3600
# region: us-east-1
# role-session-name: cloudApi
# role-arn:
# bucket: cloudapi-bucket
# object-dir-prefix: wayline
# 对象存储配置(minio配置示例)
#oss:
# enable: true
# provider: minio
# endpoint: http://192.168.1.1:9000
# access-key: minioadmin
# secret-key: minioadmin
# bucket: cloud-bucket
# expire: 3600
# region: us-east-1
# object-dir-prefix: wayline
# 日志配置
logging:
level:
com.dji.sample: debug
file:
name: logs/cloud-api-sample.log
# ntp服务器
ntp:
server:
host: Google.mzr.me
# To create a license for an application: https://developer.dji.com/user/apps/#all
# DJI开发者官网申请的License信息
cloud-api:
app:
id: Please enter the app id.
key: Please enter the app key.
license: Please enter the app license.
评论
0 条评论
请登录写评论。