diff --git a/appbase/build.properties b/appbase/build.properties index 1653d66..e6ba608 100644 --- a/appbase/build.properties +++ b/appbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Thu Jan 22 16:27:07 GMT 2026 +#Thu Jan 22 19:08:20 GMT 2026 stageCount=7 libraryProject=libappbase baseVersion=15.15 publishVersion=15.15.6 -buildCount=18 +buildCount=36 baseBetaVersion=15.15.7 diff --git a/libappbase/build.properties b/libappbase/build.properties index 1653d66..e6ba608 100644 --- a/libappbase/build.properties +++ b/libappbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Thu Jan 22 16:27:07 GMT 2026 +#Thu Jan 22 19:08:20 GMT 2026 stageCount=7 libraryProject=libappbase baseVersion=15.15 publishVersion=15.15.6 -buildCount=18 +buildCount=36 baseBetaVersion=15.15.7 diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java index 4e51b99..bc81741 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/GlobalApplication.java @@ -82,20 +82,25 @@ public class GlobalApplication extends Application { public static boolean isDebugging() { return isDebugging; } - - // 新增:设置 WinBoLL 服务器主机地址(同时保存到 SP 持久化) - public static void setWinbollHost(String host) { - if (sInstance == null) { - LogUtils.e(TAG, "setWinbollHost: 应用未初始化,设置失败"); - return; - } - // 更新内存中的字段 - winbollHost = host; - // 保存到 SP 持久化(私有模式,安全) - SharedPreferences sp = sInstance.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE); - sp.edit().putString(SP_KEY_WINBOLL_HOST, host).apply(); - LogUtils.d(TAG, "setWinbollHost: 服务器地址已设置并持久化,host=" + host); - } + + // 新增:设置 WinBoLL 服务器主机地址(同时保存到 SP 持久化) + public static void setWinbollHost(String host) { + if (sInstance == null) { + LogUtils.e(TAG, "setWinbollHost: 应用未初始化,设置失败"); + return; + } + // 检查并补全末尾 / 核心改动 + if (host != null && !host.isEmpty() && !host.endsWith("/")) { + host += "/"; + } + // 更新内存中的字段 + winbollHost = host; + // 保存到 SP 持久化(私有模式,安全) + SharedPreferences sp = sInstance.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE); + sp.edit().putString(SP_KEY_WINBOLL_HOST, host).apply(); + LogUtils.d(TAG, "setWinbollHost: 服务器地址已设置并持久化,host=" + host); + } + // 新增:获取 WinBoLL 服务器主机地址(优先内存,内存为空则从 SP 读取) public static String getWinbollHost() { @@ -109,7 +114,7 @@ public class GlobalApplication extends Application { } // 内存中不存在,从 SP 读取并更新到内存 SharedPreferences sp = sInstance.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE); - winbollHost = sp.getString(SP_KEY_WINBOLL_HOST, null); + winbollHost = sp.getString(SP_KEY_WINBOLL_HOST, "https://console.winboll.cc/"); LogUtils.d(TAG, "getWinbollHost: 从 SP 读取服务器地址,host=" + winbollHost); return winbollHost; } diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/dialogs/DebugHostDialog.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/dialogs/DebugHostDialog.java index 79a9bb6..1141570 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/dialogs/DebugHostDialog.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/dialogs/DebugHostDialog.java @@ -35,7 +35,7 @@ public class DebugHostDialog extends Dialog implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.dialog_debug_host); // 绑定XML布局 + setContentView(R.layout.dialog_winboll_host); // 绑定XML布局 setCancelable(true); // 点击外部可关闭 initView(); initData(); diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/utils/APPUtils.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/utils/APPUtils.java index b4f3320..7f69033 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/utils/APPUtils.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/utils/APPUtils.java @@ -27,8 +27,7 @@ import okhttp3.Response; public class APPUtils { public static final String TAG = "APPUtils"; // 网络校验接口地址 - private static final String CHECK_API_URL = "https://console.winboll.cc/api/app-signatures-check"; - private static final String CHECK_API_URL_DEGUG = "http://localhost:8080/api/app-signatures-check"; + private static final String CHECK_API_URI = "api/app-signatures-check"; // OKHTTP客户端(单例复用) private static OkHttpClient sOkHttpClient = new OkHttpClient(); // Gson解析实例 @@ -62,7 +61,7 @@ public class APPUtils { // 3. 构建请求URL(拼接加密后的签名参数) String requestUrl = String.format("%s?signature=%s&validTime=%d", - GlobalApplication.isDebugging()?CHECK_API_URL_DEGUG:CHECK_API_URL, + GlobalApplication.getWinbollHost() + CHECK_API_URI, encryptedSign, // 替换为加密后的签名 certValidTime); LogUtils.d(TAG, "checkAppValid: 发起网络校验请求,URL=" + requestUrl); diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java index ddc294b..5f1852f 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java @@ -16,6 +16,7 @@ import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.ToastUtils; +import cc.winboll.studio.libappbase.dialogs.DebugHostDialog; import cc.winboll.studio.libappbase.dialogs.SignGetDialog; import cc.winboll.studio.libappbase.models.APPInfo; @@ -128,6 +129,7 @@ public class AboutView extends LinearLayout { llFunctionContainer = findViewById(R.id.ll_function_container); ibSigngetDialog = findViewById(R.id.ib_signgetdialog); // 新增按钮绑定 ibWinBoLLHostDialog = findViewById(R.id.ib_winbollhostdialog); // 新增按钮绑定 + ibWinBoLLHostDialog.setVisibility(GlobalApplication.isDebugging()?View.VISIBLE:View.GONE); setBtnClickListener(); // 新增绑定点击事件 LogUtils.d(TAG, "initViewFromXml 布局加载+视图绑定完成"); } @@ -141,6 +143,13 @@ public class AboutView extends LinearLayout { new SignGetDialog(mContext).show(); // 弹出对话框 } }); + ibWinBoLLHostDialog.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + LogUtils.d(TAG, "签名获取按钮点击,弹出SignGetDialog"); + new DebugHostDialog(mContext).show(); // 弹出对话框 + } + }); } diff --git a/libappbase/src/main/res/layout/dialog_debug_host.xml b/libappbase/src/main/res/layout/dialog_winboll_host.xml similarity index 95% rename from libappbase/src/main/res/layout/dialog_debug_host.xml rename to libappbase/src/main/res/layout/dialog_winboll_host.xml index df7fe80..807a0e7 100644 --- a/libappbase/src/main/res/layout/dialog_debug_host.xml +++ b/libappbase/src/main/res/layout/dialog_winboll_host.xml @@ -1,6 +1,6 @@ - + winboll.cc - localhost - 127.0.0.1 + 127.0.0.1 + + + 10.8.0.0 + 10.8.0.1 + 10.8.0.2 + 10.8.0.3 + 10.8.0.4 + 10.8.0.5 + 10.8.0.6 + 10.8.0.7 + 10.8.0.8 + 10.8.0.9 + 10.8.0.10 + 10.8.0.11 + 10.8.0.12 + 10.8.0.13 + 10.8.0.14 + 10.8.0.15 + 10.8.0.16 + 10.8.0.17 + 10.8.0.18 + 10.8.0.19 + + +