diff --git a/positions/build.properties b/positions/build.properties
index 2822afa..2d1f1dc 100644
--- a/positions/build.properties
+++ b/positions/build.properties
@@ -1,8 +1,8 @@
 #Created by .winboll/winboll_app_build.gradle
-#Wed Oct 01 12:10:23 GMT 2025
+#Wed Oct 01 12:59:11 GMT 2025
 stageCount=4
 libraryProject=
 baseVersion=15.0
 publishVersion=15.0.3
-buildCount=58
+buildCount=63
 baseBetaVersion=15.0.4
diff --git a/positions/src/beta/res/values-zh/strings.xml b/positions/src/beta/res/values-zh/strings.xml
new file mode 100644
index 0000000..c413bdf
--- /dev/null
+++ b/positions/src/beta/res/values-zh/strings.xml
@@ -0,0 +1,4 @@
+
+
+    @笨笨龙@
+
diff --git a/positions/src/main/java/cc/winboll/studio/positions/App.java b/positions/src/main/java/cc/winboll/studio/positions/App.java
index 216d70e..9ca6fd7 100644
--- a/positions/src/main/java/cc/winboll/studio/positions/App.java
+++ b/positions/src/main/java/cc/winboll/studio/positions/App.java
@@ -41,6 +41,7 @@ import java.util.Arrays;
 import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
+import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
 
 public class App extends GlobalApplication {
 
@@ -51,6 +52,8 @@ public class App extends GlobalApplication {
         super.onCreate();
 		setIsDebuging(BuildConfig.DEBUG);
 		
+		WinBoLLActivityManager.init(this);
+		
         // 初始化 Toast 框架
         ToastUtils.init(this);
         // 设置 Toast 布局样式
diff --git a/positions/src/main/java/cc/winboll/studio/positions/MainActivity.java b/positions/src/main/java/cc/winboll/studio/positions/MainActivity.java
index 5a0dac0..f6fc071 100644
--- a/positions/src/main/java/cc/winboll/studio/positions/MainActivity.java
+++ b/positions/src/main/java/cc/winboll/studio/positions/MainActivity.java
@@ -1,21 +1,20 @@
 package cc.winboll.studio.positions;
 
-import android.content.ComponentName;
-import android.content.Context;
+import android.app.Activity;
 import android.content.Intent;
-import android.content.ServiceConnection;
 import android.content.pm.PackageManager;
 import android.os.Build;
 import android.os.Bundle;
-import android.os.IBinder;
 import android.view.View;
+import android.widget.Button;
 import android.widget.CompoundButton;
 import android.widget.Switch;
-import androidx.appcompat.app.AppCompatActivity;
 import androidx.appcompat.widget.Toolbar;
-import cc.winboll.studio.libappbase.LogActivity;
+import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
+import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
 import cc.winboll.studio.libappbase.LogUtils;
 import cc.winboll.studio.positions.activities.LocationActivity;
+import cc.winboll.studio.positions.activities.WinBoLLActivity;
 import cc.winboll.studio.positions.services.MainService;
 import cc.winboll.studio.positions.utils.AppConfigsUtil;
 import com.hjq.toast.ToastUtils;
@@ -26,17 +25,29 @@ import com.hjq.toast.ToastUtils;
  * 2. 跳转至“位置管理页(LocationActivity)”和“日志页(LogActivity)”
  * 3. Java 7 语法适配:无 Lambda、显式接口实现、兼容低版本
  */
-public class MainActivity extends AppCompatActivity {
+public class MainActivity extends WinBoLLActivity implements IWinBoLLActivity {
     public static final String TAG = "MainActivity";
     // 位置权限请求码(自定义唯一标识)
     private static final int REQUEST_LOCATION_PERMISSIONS = 1001;
 
     // UI 控件:服务控制开关、顶部工具栏
     private Switch mServiceSwitch;
+	private Button mManagePositionsButton;
     private Toolbar mToolbar;
     // 服务相关:服务实例、绑定状态标记
     //private DistanceRefreshService mDistanceService;
     private boolean isServiceBound = false;
+	
+
+    @Override
+    public Activity getActivity() {
+        return this;
+    }
+
+    @Override
+    public String getTag() {
+        return TAG;
+    }
 
     // ---------------------- 服务连接回调(仅用于获取服务状态,不依赖服务执行核心逻辑) ----------------------
 //    private final ServiceConnection mServiceConn = new ServiceConnection() {
@@ -69,8 +80,8 @@ public class MainActivity extends AppCompatActivity {
 
         // 1. 初始化顶部 Toolbar(保留原逻辑,设置页面标题)
         initToolbar();
-        // 2. 初始化服务控制开关(核心功能:绑定开关点击事件)
-        initServiceSwitch();
+        // 2. 初始化其他控件
+        initViews();
         // 3. 检查并申请位置权限(含后台GPS权限,确保服务启动前权限就绪)
         if (!checkLocationPermissions()) {
             requestLocationPermissions();
@@ -106,9 +117,12 @@ public class MainActivity extends AppCompatActivity {
     /**
      * 初始化服务控制开关:读取SP状态、绑定点击事件(含权限检查)
      */
-    private void initServiceSwitch() {
+    private void initViews() {
         mServiceSwitch = (Switch) findViewById(R.id.switch_service_control); // 显式强转
 		mServiceSwitch.setChecked(AppConfigsUtil.getInstance(this).isEnableMainService(true));
+		
+		mManagePositionsButton = (Button) findViewById(R.id.btn_manage_positions);
+		mManagePositionsButton.setEnabled(mServiceSwitch.isChecked());
 
         // Java 7 用匿名内部类实现 CompoundButton.OnCheckedChangeListener
         mServiceSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@@ -136,6 +150,8 @@ public class MainActivity extends AppCompatActivity {
 //						}
 						stopService(new Intent(MainActivity.this, MainService.class));
 					}
+
+					mManagePositionsButton.setEnabled(isChecked);
 				}
 			});
     }
@@ -166,7 +182,7 @@ public class MainActivity extends AppCompatActivity {
      * 无服务状态限制,直接跳转
      */
     public void onLog(View view) {
-        LogActivity.startLogActivity(this); // 调用LogActivity静态方法跳转(保留原逻辑)
+        WinBoLLActivityManager.getInstance().startLogActivity(this); // 调用LogActivity静态方法跳转(保留原逻辑)
     }
 
     // ---------------------- 新增:位置权限处理(适配Java7 + 后台GPS权限) ----------------------
diff --git a/positions/src/main/java/cc/winboll/studio/positions/activities/LocationActivity.java b/positions/src/main/java/cc/winboll/studio/positions/activities/LocationActivity.java
index 7a01685..6d9df27 100644
--- a/positions/src/main/java/cc/winboll/studio/positions/activities/LocationActivity.java
+++ b/positions/src/main/java/cc/winboll/studio/positions/activities/LocationActivity.java
@@ -5,15 +5,16 @@ package cc.winboll.studio.positions.activities;
  * @Date 2025/09/29 18:22
  * @Describe 位置列表页面(直连服务数据+移除绑定,兼容服务私有字段)
  */
+import android.app.Activity;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.view.View;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.Toast;
-import androidx.appcompat.app.AppCompatActivity;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 import cc.winboll.studio.libappbase.LogUtils;
 import cc.winboll.studio.positions.R;
 import cc.winboll.studio.positions.adapters.PositionAdapter;
@@ -29,7 +30,7 @@ import java.util.ArrayList;
  * 3. 保留“直连服务实例”的核心需求,避免绑定,但尊重服务数据私有性
  * 4. 兼容Java 7语法,无Lambda、显式类型转换
  */
-public class LocationActivity extends AppCompatActivity {
+public class LocationActivity extends WinBoLLActivity implements IWinBoLLActivity {
     public static final String TAG = "LocationActivity";
 	
 	// SP配置常量(判断服务是否运行)
@@ -43,6 +44,17 @@ public class LocationActivity extends AppCompatActivity {
     // 缓存服务数据(从服务PUBLIC方法获取,避免重复调用)
     private ArrayList mCachedPositionList; 
     private ArrayList mCachedTaskList;
+	
+
+    @Override
+    public Activity getActivity() {
+        return this;
+    }
+
+    @Override
+    public String getTag() {
+        return TAG;
+    }
 
     // ---------------------- 页面生命周期(简化资源管理,无服务绑定) ----------------------
     @Override
diff --git a/positions/src/main/java/cc/winboll/studio/positions/activities/WinBoLLActivity.java b/positions/src/main/java/cc/winboll/studio/positions/activities/WinBoLLActivity.java
new file mode 100644
index 0000000..3cf13b7
--- /dev/null
+++ b/positions/src/main/java/cc/winboll/studio/positions/activities/WinBoLLActivity.java
@@ -0,0 +1,60 @@
+package cc.winboll.studio.positions.activities;
+
+/**
+ * @Author ZhanGSKen&豆包大模型
+ * @Date 2025/09/29 00:11
+ * @Describe WinBoLL 窗口基础类
+ */
+import android.app.Activity;
+import android.os.Bundle;
+import android.view.MenuItem;
+import androidx.appcompat.app.AppCompatActivity;
+import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
+import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
+import cc.winboll.studio.libappbase.LogUtils;
+
+public class WinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity {
+
+    public static final String TAG = "WinBoLLActivity";
+
+    @Override
+    public Activity getActivity() {
+        return this;
+    }
+
+    @Override
+    public String getTag() {
+        return TAG;
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        LogUtils.d(TAG, String.format("onResume %s", getTag()));
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        /*if (item.getItemId() == R.id.item_log) {
+            WinBoLLActivityManager.getInstance().startLogActivity(this);
+            return true;
+        } else if (item.getItemId() == R.id.item_home) {
+			startActivity(new Intent(this, MainActivity.class));
+            return true;
+        }*/
+        // 在switch语句中处理每个ID,并在处理完后返回true,未处理的情况返回false。
+        return super.onOptionsItemSelected(item);
+    }
+
+    @Override
+    protected void onPostCreate(Bundle savedInstanceState) {
+        super.onPostCreate(savedInstanceState);
+        WinBoLLActivityManager.getInstance().add(this);
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        WinBoLLActivityManager.getInstance().registeRemove(this);
+    }
+}
diff --git a/positions/src/main/res/layout/activity_main.xml b/positions/src/main/res/layout/activity_main.xml
index 7673f9e..50dfe05 100644
--- a/positions/src/main/res/layout/activity_main.xml
+++ b/positions/src/main/res/layout/activity_main.xml
@@ -25,7 +25,8 @@
 		android:layout_height="wrap_content"
 		android:layout_margin="16dp"
 		android:onClick="onPositions"
-		android:text="进入位置管理"/>
+		android:text="进入位置管理"
+		android:id="@+id/btn_manage_positions"/>