docs: 新增「初次部署(从零跑起来)」;去混淆字符与真实内网信息

- README.md / README.txt 新增初次部署章节:前置条件(JDK 17 / SDK 34 / Gradle 8.9)、
  获取代码与本地配置(local.properties 不入仓)、Debug/Release 构建、装到手机与相机权限、
  连接配置(只连 Windows 客户端,默认 8765 / /pose)、第一次跑通、自检清单、常见问题
- 单测数量按实际(30 项)修正
- 三库同源契约:':=' 写法修回、去掉真实 MariaDB 版本串
- 全文去除易被 Gitea 判为「模棱两可 Unicode」的字符
- 本机 JDK 路径与内网示例地址改占位符 / RFC 5737 文档网段
This commit is contained in:
2026-09-15 21:33:27 +08:00
parent 203dcd8a9c
commit 264786134c
20 changed files with 485 additions and 172 deletions
@@ -55,7 +55,7 @@ class AppSettings(context: Context) {
companion object {
const val PREFS_NAME = "opendance_settings"
const val DEFAULT_HOST = "192.168.1.100"
const val DEFAULT_HOST = "192.0.2.100"
const val DEFAULT_PORT = 8765
const val DEFAULT_FPS = 30
@@ -35,7 +35,7 @@ object HostDiscovery {
/** 发现结果 */
data class Candidate(val ip: String, val port: Int, val latencyMs: Long)
/** 手机自身的 WiFi IPv4 地址(形如 192.168.1.23),无网络时返回 null */
/** 手机自身的 WiFi IPv4 地址(形如 192.0.2.23),无网络时返回 null */
suspend fun localIpv4Address(): String? = withContext(Dispatchers.IO) {
try {
val candidates = mutableListOf<String>()
@@ -71,7 +71,7 @@ object HostDiscovery {
(a == 192 && b == 168)
}
/** 由本机地址推导 /24 前缀,如 192.168.1.23 → "192.168.1" */
/** 由本机地址推导 /24 前缀,如 192.0.2.23 -> "192.0.2" */
fun subnetPrefix(ip: String): String? {
val parts = ip.split(".")
if (parts.size != 4) return null