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): 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() }