69 lines
1.7 KiB
Kotlin
69 lines
1.7 KiB
Kotlin
package ink.snowflake.server
|
|
|
|
import com.google.gson.Gson
|
|
import ink.snowflake.server.plugins.*
|
|
import ink.snowflake.server.route.User
|
|
import ink.snowflake.server.route.chat
|
|
import ink.snowflake.server.plugins.configureSockets
|
|
import ink.snowflake.server.route.ImageAnalytics
|
|
import ink.snowflake.server.route.RemoteDebug
|
|
import ink.snowflake.server.route.VideoAnalytics
|
|
import ink.snowflake.server.route.VideoAnalyticsJetson
|
|
import ink.snowflake.server.utils.AppConfig
|
|
import io.ktor.server.application.*
|
|
import io.ktor.server.tomcat.jakarta.*
|
|
|
|
|
|
//const val VIDEO_INPUT_PATH = "/tmp/"
|
|
const val VIDEO_INPUT_PATH = "C:/tmp/"
|
|
|
|
/**
|
|
* 服务器地址
|
|
* ADB 秦朗FRP地址
|
|
*/
|
|
const val SERVER_PATH_FRP = "171.212.101.201"
|
|
/**
|
|
* 服务器地址
|
|
* OSS 对象存储服务器地址
|
|
*/
|
|
const val SERVER_PATH_OSS = "171.212.101.199"
|
|
|
|
val gson = Gson()
|
|
|
|
fun main(args: Array<String>): Unit = EngineMain.main(args)
|
|
|
|
fun Application.module() {
|
|
// 使用 appConfig 进行配置
|
|
val appConfig = AppConfig(environment.config)
|
|
|
|
// 序列化
|
|
configureSerialization()
|
|
// Thymeleaf
|
|
configureTemplating()
|
|
// 设置-身份验证
|
|
configureSecurity(appConfig)
|
|
// 路径
|
|
configureStaticPath()
|
|
// 跨域
|
|
configureCORS()
|
|
// 设置数据库
|
|
configureDatabases(appConfig)
|
|
// 状态拦截
|
|
configureStatusPages()
|
|
// 设置-WebSocket
|
|
configureSockets()
|
|
|
|
// 业务-用户信息相关操作
|
|
User(appConfig)
|
|
// 业务-聊天
|
|
chat()
|
|
// 业务-远程控制
|
|
RemoteDebug()
|
|
// 业务-视频分析
|
|
VideoAnalytics()
|
|
// 业务-视频分析-Jetson本地
|
|
VideoAnalyticsJetson()
|
|
// 业务-图片分析
|
|
ImageAnalytics()
|
|
}
|