Browse Source

first release

CJ 1 year ago
parent
commit
fcf2188efe

+ 1 - 1
dtok-app/.idea/deploymentTargetDropDown.xml

@@ -15,7 +15,7 @@
               </deviceKey>
             </Target>
           </runningDeviceTargetSelectedWithDropDown>
-          <timeTargetWasSelectedWithDropDown value="2024-03-16T16:33:52.895989800Z" />
+          <timeTargetWasSelectedWithDropDown value="2024-03-17T07:08:31.387548100Z" />
         </State>
       </entry>
     </value>

BIN
dtok-app/app/release/app-x86-release.apk


+ 5 - 4
dtok-app/app/src/main/java/com/cj/autojs/dtok/Api.java

@@ -3,6 +3,7 @@ package com.cj.autojs.dtok;
 import android.content.Intent;
 
 import com.cj.autojs.dtok.config.UrlConfig;
+import com.stardust.app.GlobalAppContext;
 
 import java.io.IOException;
 import java.util.concurrent.TimeUnit;
@@ -80,10 +81,10 @@ public class Api {
         @Override
         public Response intercept(Chain chain) throws IOException {
             Response response = chain.proceed(chain.request());
-            if (response.code() == 401) {//401
-                Intent i = new Intent(App.INSTANCE.getMContext(), LoginActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
+            if (response.code() == 401 && Api.INSTANCE.getToken() != null) {//401
+                Intent i = new Intent(GlobalAppContext.get(), LoginActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                 i.putExtra("loginError", "登录失效");
-                (App.INSTANCE.getMContext()).startActivity(i);
+                (GlobalAppContext.get()).startActivity(i);
             }
             return response;
         }
@@ -144,7 +145,7 @@ public class Api {
         Api api = INSTANCE;
         OkHttpClient client = api.client();
         Request.Builder request = api.request();
-        String url = UrlConfig.BASE_API + String.format("registerDevice/%s", uuid);
+        String url = UrlConfig.BASE_API + String.format("unBundleDevice/%s", uuid);
         client.newCall(request.url(url).get().build()).enqueue(callback);
     }
 

+ 24 - 7
dtok-app/app/src/main/java/com/cj/autojs/dtok/MainActivity.java

@@ -17,6 +17,7 @@ import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.widget.Toast;
 
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AppCompatActivity;
 
 import com.afollestad.materialdialogs.DialogAction;
@@ -40,7 +41,7 @@ public class MainActivity extends AppCompatActivity {
     private boolean isHome = true;
 
 
-    public  void openDialogAccessibility() {
+    public void openDialogAccessibility() {
         if (checkAccessibility()) {
             return;
         }
@@ -51,6 +52,8 @@ public class MainActivity extends AppCompatActivity {
             }
         }).show();
     }
+
+
     public final void openAccessibility() {
         if (checkAccessibility()) {
             return;
@@ -94,6 +97,7 @@ public class MainActivity extends AppCompatActivity {
         NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
         return notificationManager.areNotificationsEnabled();
     }
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -112,9 +116,6 @@ public class MainActivity extends AppCompatActivity {
     }
 
 
-
-
-
     public final boolean isHome() {
         return this.isHome;
     }
@@ -123,7 +124,10 @@ public class MainActivity extends AppCompatActivity {
         this.isHome = z;
     }
 
-
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+    }
 
     @Override
     protected void onResume() {
@@ -132,6 +136,20 @@ public class MainActivity extends AppCompatActivity {
             startActivity(new Intent(this, LoginActivity.class));
             finish();
         }
+        if (checkAccessibility()) {
+            webView.evaluateJavascript("javascript:android.setAccessibility(true)", s -> {
+            });
+        } else {
+            webView.evaluateJavascript("javascript:android.setAccessibility(false)", s -> {
+            });
+        }
+        if (checkDrawOverlay()) {
+            webView.evaluateJavascript("javascript:android.setDrawOverlay(true)", s -> {
+            });
+        } else {
+            webView.evaluateJavascript("javascript:android.setDrawOverlay(false)", s -> {
+            });
+        }
     }
 
     @Override
@@ -204,6 +222,7 @@ public class MainActivity extends AppCompatActivity {
             @Override
             public void onPageFinished(WebView view, String url) {
                 super.onPageFinished(view, url);
+
                 Log.d(TAG, "onPageFinished: 页面加载完成");
             }
         });
@@ -211,6 +230,4 @@ public class MainActivity extends AppCompatActivity {
     }
 
 
-
-
 }

+ 1 - 1
dtok-app/app/src/main/java/com/cj/autojs/dtok/config/UrlConfig.java

@@ -9,7 +9,7 @@ public class UrlConfig {
     public static String script;
 
     public static final String BASE_API = "https://api.ruanjian168.cc/api/";
-    public static final String UI_URL = "http://192.168.2.24:8080";
+    public static final String UI_URL = "https://118.89.119.129";
     public static final String LOGIN_URL = "https://api.ruanjian168.cc/login";
 
     public static final String DEVICE = "DEVICE";

+ 246 - 81
dtok-app/app/src/main/java/com/cj/autojs/dtok/jsinterface/JsInterface.java

@@ -7,11 +7,20 @@ import android.app.NotificationManager;
 import android.content.Context;
 import android.content.Intent;
 import android.webkit.JavascriptInterface;
+import android.webkit.ValueCallback;
 import android.webkit.WebView;
 import android.widget.Toast;
 
+import com.afollestad.materialdialogs.DialogAction;
+import com.afollestad.materialdialogs.MaterialDialog;
+import com.android.dx.command.Main;
 import com.cj.autojs.dtok.MainActivity;
 import com.cj.autojs.dtok.MainActivity;
+import com.cj.autojs.dtok.R;
+import com.cj.autojs.dtok.SplashActivity;
+import com.cj.autojs.dtok.entity.Device;
+import com.cj.autojs.dtok.entity.User;
+import com.google.gson.Gson;
 import com.stardust.app.GlobalAppContext;
 import com.cj.autojs.dtok.Api;
 import com.cj.autojs.dtok.App;
@@ -166,111 +175,267 @@ public class JsInterface {
     }
 
     @JavascriptInterface
-    public final boolean isOpenNotify(boolean z) {
+    public final boolean isOpenNotify() {
         return ((MainActivity) context).isNotificationEnabled();
     }
 
     @JavascriptInterface
-    public final boolean isAccessibility(boolean z) {
+    public final boolean isAccessibility() {
         return ((MainActivity) context).checkAccessibility();
     }
 
     @JavascriptInterface
-    public final boolean isFloaty(boolean z) {
+    public final boolean isFloaty() {
         return ((MainActivity) context).checkDrawOverlay();
     }
 
     @JavascriptInterface
-    public final void OpenNotify(boolean z) {
+    public final void OpenNotify() {
         ((MainActivity) context).jumpNotificationSetting();
     }
 
     @JavascriptInterface
-    public final void openAccessibility(boolean z) {
+        public final void openAccessibility() {
         ((MainActivity) context).openAccessibility();
     }
 
     @JavascriptInterface
-    public final void openFloaty(boolean z) {
+    public final void openFloaty() {
         ((MainActivity) context).requestWindowPermission();
     }
 
+    @JavascriptInterface
+    public final void openSureRegister() {
+        new MaterialDialog.Builder(context).title(R.string.open_sure_register).content(R.string.open_sure_register_text).positiveText(R.string.ok).negativeText(R.string.text_cancel).onPositive(new MaterialDialog.SingleButtonCallback() { // from class: com.phgors.auto.ui.BaseActivity$$ExternalSyntheticLambda3
+            @Override
+            public void onClick(MaterialDialog materialDialog, DialogAction dialogAction) {
+                registerDevice();
+            }
+        }).show();
+    }
 
+    @JavascriptInterface
+    public final void openUnBonding() {
+        new MaterialDialog.Builder(context).title(R.string.open_sure_unbouding).content(R.string.open_sure_unbouding_text).positiveText(R.string.ok).negativeText(R.string.text_cancel).onPositive(new MaterialDialog.SingleButtonCallback() { // from class: com.phgors.auto.ui.BaseActivity$$ExternalSyntheticLambda3
+            @Override
+            public void onClick(MaterialDialog materialDialog, DialogAction dialogAction) {
+                unBundleDevice();
+            }
+        }).show();
+    }
+
+    //
 //
-//
-//    @JavascriptInterface
-//    public void registerDevice(String param,String callbackId) {
-//        new Thread(() -> Api.INSTANCE.registerDevice(DeviceUtil.getPhoneModel(), DeviceUtil.getBuildVersion(),
-//                DeviceUtil.getPhoneBrand(), DeviceUtil.getDeviceIMEI(context), new Callback() {
-//                    @Override
-//                    public void onFailure(Call call, IOException e) {
-//                        webView.sendResponse(null,callbackId);
-//                    }
-//
-//                    @Override
-//                    public void onResponse(Call call, Response response) throws IOException {
-//                        try {
-//                            JSONObject responseData = new JSONObject(response.body().string());
-//                            if (responseData.getBoolean("success")) {
-//                                String deviceJson = responseData.getJSONObject("data").toString();
-//                                SharedPreferencesUtils.saveString(context, "registerInfo", deviceJson);
-//                                webView.sendResponse(responseData.toString(),callbackId);
-//                            } else {
-//                                webView.sendResponse(responseData.toString(),callbackId);
-//                            }
-//                        } catch (JSONException e) {
-//                            webView.sendResponse(null,callbackId);
-//                        }
-//                    }
-//                })).start();
-//    }
-//
-//
-//    @JavascriptInterface
-//    public void unBundleDevice(String param,String callbackId) {
-//        Device device = new Gson().fromJson(SharedPreferencesUtils.getString(context, "registerInfo", null), Device.class);
-//        new Thread(() -> Api.INSTANCE.unBundleDevice(device.getUuid(), new Callback() {
-//            @Override
-//            public void onFailure(Call call, IOException e) {
-//                webView.sendResponse(null,callbackId);
-//            }
-//
-//            @Override
-//            public void onResponse(Call call, Response response) throws IOException {
-//                try {
-//                    JSONObject responseData = new JSONObject(response.body().string());
-//                    if (responseData.getBoolean("success")) {
-//                        SharedPreferencesUtils.remove(context, "registerInfo");
-//                        webView.sendResponse(responseData.toString(),callbackId);
-//                    } else {
-//                        webView.sendResponse(responseData.toString(),callbackId);
-//                    }
-//                } catch (JSONException e) {
-//                    webView.sendResponse(null,callbackId);
-//                }
-//            }
-//        })).start();
-//    }
-//
-//    @JavascriptInterface
-//    public void getCommonItem(String param,String callbackId) {
-//        new Thread(() -> Api.INSTANCE.getCommonItem(new Callback() {
-//            @Override
-//            public void onFailure(Call call, IOException e) {
-//                webView.sendResponse(null,callbackId);
-//            }
-//
-//            @Override
-//            public void onResponse(Call call, Response response) throws IOException {
-//                try {
-//                    JSONObject responseData = new JSONObject(response.body().string());
-//                    webView.sendResponse(responseData.toString(),callbackId);
-//                } catch (JSONException e) {
-//                    webView.sendResponse(null,callbackId);
-//                }
-//            }
-//        })).start();
-//    }
+    @JavascriptInterface
+    public void getPermission() {
+        ((MainActivity) context).runOnUiThread(()->{
+            if ( ((MainActivity) context).checkAccessibility()) {
+                webView.evaluateJavascript("javascript:android.setAccessibility(true)", s -> {
+                });
+            } else {
+                webView.evaluateJavascript("javascript:android.setAccessibility(false)", s -> {
+                });
+            }
+            if ( ((MainActivity) context).checkDrawOverlay()) {
+                webView.evaluateJavascript("javascript:android.setDrawOverlay(true)", s -> {
+                });
+            } else {
+                webView.evaluateJavascript("javascript:android.setDrawOverlay(false)", s -> {
+                });
+            }
+        });
+
+    }
+  @JavascriptInterface
+    public void registerDevice() {
+        new Thread(() -> Api.INSTANCE.registerDevice(DeviceUtil.getPhoneModel(), DeviceUtil.getBuildVersion(),
+                DeviceUtil.getPhoneBrand(), DeviceUtil.getDeviceIMEI(context), new Callback() {
+                    @Override
+                    public void onFailure(Call call, IOException e) {
+                        ((MainActivity) context).runOnUiThread(() -> {
+                            webView.evaluateJavascript("javascript:android.setRegisterInfo(null)", s -> {
+                            });
+                        });
+                    }
+
+                    @Override
+                    public void onResponse(Call call, Response response) throws IOException {
+                        try {
+                            JSONObject responseData = new JSONObject(response.body().string());
+                            if (responseData.getBoolean("success")) {
+                                String deviceJson = responseData.getJSONObject("data").toString();
+                                SharedPreferencesUtils.saveString(context, "registerInfo", deviceJson);
+                                ((MainActivity) context).runOnUiThread(() -> {
+                                    webView.evaluateJavascript("javascript:android.setRegisterInfo(" + responseData.toString() + ")", s -> {
+                                    });
+                                });
+                            } else {
+                                ((MainActivity) context).runOnUiThread(() -> {
+                                    webView.evaluateJavascript("javascript:android.setRegisterInfo(" + responseData.toString() + ")", s -> {
+                                    });
+                                });
+                            }
+                        } catch (JSONException e) {
+                            ((MainActivity) context).runOnUiThread(() -> {
+                                webView.evaluateJavascript("javascript:android.setRegisterInfo(null)", s -> {
+                                });
+                            });
+                        }
+                    }
+                })).start();
+    }
+
+
+    @JavascriptInterface
+    public void unBundleDevice() {
+        JSONObject device = null;
+        String uuid = "";
+        try {
+            device = new JSONObject(SharedPreferencesUtils.getString(context, "registerInfo", null));
+            uuid = device.getString("uuid");
+        } catch (JSONException e) {
+            webView.evaluateJavascript("javascript:android.unBondingDevice(null)", s -> {
+            });return;
+        }
+
+        String finalUuid = uuid;
+        new Thread(() -> Api.INSTANCE.unBundleDevice(finalUuid, new Callback() {
+            @Override
+            public void onFailure(Call call, IOException e) {
+                ((MainActivity) context).runOnUiThread(() -> {
+                    webView.evaluateJavascript("javascript:android.unBondingDevice(null)", s -> {
+                    });
+                });
+            }
+
+            @Override
+            public void onResponse(Call call, Response response) throws IOException {
+                try {
+                    JSONObject responseData = new JSONObject(response.body().string());
+                    if (responseData.getBoolean("success")) {
+                        SharedPreferencesUtils.remove(context, "registerInfo");
+                        ((MainActivity) context).runOnUiThread(() -> {
+                            webView.evaluateJavascript("javascript:android.unBondingDevice(" + responseData.toString() + ")", s -> {
+                            });
+                        });
+                    } else {
+                        ((MainActivity) context).runOnUiThread(() -> {
+                            webView.evaluateJavascript("javascript:android.unBondingDevice(" + responseData.toString() + ")", s -> {
+                            });
+                        });
+                    }
+                } catch (JSONException e) {
+                    ((MainActivity) context).runOnUiThread(() -> {
+                        webView.evaluateJavascript("javascript:android.unBondingDevice(" + null + ")", s -> {
+                        });
+                    });
+                }
+            }
+        })).start();
+    }
+
+    @JavascriptInterface
+    public void checkRegister() {
+
+        new Thread(() -> Api.INSTANCE.checkRegister(Api.INSTANCE.getToken(), DeviceUtil.getDeviceIMEI(context), new Callback() {
+            @Override
+            public void onFailure(Call call, IOException e) {
+                ((MainActivity) context).runOnUiThread(() -> {
+                    webView.evaluateJavascript("javascript:android.setRegisterInfoCheck(" + null + ")", s -> {
+                    });
+                });
+            }
+
+            @Override
+            public void onResponse(Call call, Response response) throws IOException {
+                try {
+                    JSONObject responseData = new JSONObject(response.body().string());
+                    if (responseData.getBoolean("success")) {
+                        String deviceJson = responseData.getJSONObject("data").toString();
+                        SharedPreferencesUtils.saveString(context, "registerInfo", deviceJson);
+                        ((MainActivity) context).runOnUiThread(() -> {
+                            webView.evaluateJavascript("javascript:android.setRegisterInfoCheck(" + responseData.toString() + ")", s -> {
+                            });
+                        });
+                    } else {
+                        ((MainActivity) context).runOnUiThread(() -> {
+                            webView.evaluateJavascript("javascript:android.setRegisterInfoCheck(" + responseData.toString() + ")", s -> {
+                            });
+                        });
+                    }
+                } catch (JSONException e) {
+                    ((MainActivity) context).runOnUiThread(() -> {
+                        webView.evaluateJavascript("javascript:android.setRegisterInfoCheck(" + null + ")", s -> {
+                        });
+                    });
+                }
+            }
+        })).start();
+    }
+
+
+    @JavascriptInterface
+    public void getCommonItem() {
+        new Thread(() -> Api.INSTANCE.getCommonItem(new Callback() {
+            @Override
+            public void onFailure(Call call, IOException e) {
+                ((MainActivity) context).runOnUiThread(() -> {
+                    webView.evaluateJavascript("javascript:android.setCommonItems(" + null + ")", s -> {
+                    });
+                });
+            }
+
+            @Override
+            public void onResponse(Call call, Response response) throws IOException {
+                try {
+                    JSONObject responseData = new JSONObject(response.body().string());
+                    ((MainActivity) context).runOnUiThread(() -> {
+                        webView.evaluateJavascript("javascript:android.setCommonItems(" + responseData.toString() + ")", s -> {
+                        });
+                    });
+                } catch (JSONException e) {
+                    ((MainActivity) context).runOnUiThread(() -> {
+                        webView.evaluateJavascript("javascript:android.setCommonItems(" + null + ")", s -> {
+                        });
+                    });
+                }
+            }
+        })).start();
+    }
+
+    @JavascriptInterface
+    public void checkLogin() {
+        new Thread(() -> Api.INSTANCE.checkLogin(new Callback() {
+            @Override
+            public void onFailure(Call call, IOException e) {
+                ((MainActivity) context).runOnUiThread(() -> {
+                    webView.evaluateJavascript("javascript:android.setLoginInfo(" + null + ")", s -> {
+                    });
+                });
+            }
+
+            @Override
+            public void onResponse(Call call, Response response) throws IOException {
+                try {
+                    JSONObject responseData = new JSONObject(response.body().string());
+                    if (responseData.getBoolean("success")) {
+                        Gson gson = new Gson();
+                        User user = gson.fromJson(responseData.getJSONObject("data").toString(), User.class);
+                        SharedPreferencesUtils.saveUserInfo(context, user);
+                    }
+                    ((MainActivity) context).runOnUiThread(() -> {
+                        webView.evaluateJavascript("javascript:android.setLoginInfo(" + responseData.toString() + ")", s -> {
+                        });
+                    });
+                } catch (JSONException e) {
+                    ((MainActivity) context).runOnUiThread(() -> {
+                        webView.evaluateJavascript("javascript:android.setLoginInfo(" + null + ")", s -> {
+                        });
+                    });
+                }
+            }
+        })).start();
+    }
 
     @JavascriptInterface
     public void reload() {
@@ -287,7 +452,7 @@ public class JsInterface {
         SharedPreferencesUtils.remove(context, "registerInfo");
         SharedPreferencesUtils.removeUserInfo(context);
         SharedPreferencesUtils.remove(context, "token");
-        Intent i = new Intent(App.INSTANCE.getMContext(), LoginActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
+        Intent i = new Intent(context, LoginActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
         context.startActivity(i);
     }
 

+ 1 - 1
dtok-app/app/src/main/res/layout/login_activity.xml

@@ -87,7 +87,7 @@
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:background="@null"
-                android:digits="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+                android:digits="&amp;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@!#$%^*"
                 android:drawableStart="@drawable/ic_password"
                 android:drawablePadding="6dp"
                 android:hint="@string/prompt_password"

+ 6 - 1
dtok-app/app/src/main/res/values/strings.xml

@@ -8,14 +8,19 @@
     <string name="prompt_username">用户名</string>
     <string name="prompt_password">密码</string>
     <string name="login">登录</string>
+    <string name="ok">确定</string>
 
     <string name="text_required_floating_window_permission">需要悬浮窗权限</string>
     <string name="text_to_open">去打开</string>
     <string name="text_cancel">取消</string>
     <string name="go_to_accessibility_settings">请打开设置->无障碍服务->XXX 并开启</string>
     <string name="text_need_to_enable_accessibility_service">需要启用无障碍服务</string>
-    <string name="explain_accessibility_permission">需要打开\"无障碍服务\"才能运行,请在随后的设置中选择\"DTOK\"并开启服务。</string>
+    <string name="explain_accessibility_permission">需要打开\"无障碍服务\"才能运行,请在随后的设置中选择\"腾龙拓客\"并开启服务。</string>
     <string name="text_go_to_setting">去设置</string>
+    <string name="open_sure_register">确认注册设备?</string>
+    <string name="open_sure_register_text">注册后方可使用功能</string>
+    <string name="open_sure_unbouding">确认解绑设备?</string>
+    <string name="open_sure_unbouding_text">解绑后功能不可用</string>
 
     <string name="key_use_volume_control_running">key_use_volume_control_running</string>
     <string name="key_enable_accessibility_service_by_root">key_enable_accessibility_service_by_root</string>

+ 2 - 2
dtok-app/app/src/main/res/values/styles.xml

@@ -2,8 +2,8 @@
     <!-- Base application theme. -->
     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
         <!-- Customize your theme here. -->
-        <item name="colorPrimary">@color/colorPrimary</item>
-        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+        <item name="colorPrimary">@color/abc_decor_view_status_guard_light</item>
+        <item name="colorPrimaryDark">@color/accent_material_light</item>
         <item name="colorAccent">@color/colorAccent</item>
     </style>
 

BIN
dtok-app/app/release/app-armeabi-v7a-release.apk → dtok-app/release/app-armeabi-v7a-release.apk


BIN
dtok-app/release/app-x86-release.apk


+ 0 - 0
dtok-app/app/release/output-metadata.json → dtok-app/release/output-metadata.json


BIN
dtok-app/app/release/app-arm64-v8a-release.apk → dtok-app/release/腾龙拓客.apk


BIN
dtok-mobile/src/assets/logo.png


+ 16 - 0
dtok-mobile/src/core/android.js

@@ -0,0 +1,16 @@
+const android = {
+    reload: function () {
+        window.location.reload()
+    },
+    goBack: function () {
+        window.history.back()
+    }
+}
+
+window.android = android
+
+if (window.Vue) {
+    window.Vue.use(android)
+}
+
+export {android}

+ 117 - 51
dtok-mobile/src/views/IndexPage.vue

@@ -18,6 +18,22 @@
           解除绑定
         </van-button>
       </van-notice-bar>
+
+
+      <van-notice-bar v-if="!isFloaty" color="green">
+        请开启悬浮窗权限
+        <van-button @click="openFloaty" style="position: absolute;margin-left: 10px" type="info"
+                    size="mini">
+          开启
+        </van-button>
+            </van-notice-bar>
+            <van-notice-bar v-if="!isAccessibility" color="green">
+              请开启无障碍权限
+              <van-button @click="openAccessibility" style="position: absolute;margin-left: 10px" type="info"
+                          size="mini">
+                开启
+              </van-button>
+            </van-notice-bar>
     </div>
 
     <div class="page-home" style="margin-top: 17vh">
@@ -145,8 +161,8 @@
 
 // import {Toast} from "vant";
 
-import {Dialog, Toast} from "vant";
-import request from "../axios/request";
+import {Toast} from "vant";
+import {android} from '@/core/android'
 
 export default {
   name: 'IndexPage',
@@ -159,57 +175,120 @@ export default {
       zxyhs: 1000
     },
     isRegister: false,
-    registerInfo: null
+    registerInfo: null,
+    isFloaty: true,
+    isAccessibility: true
   }),
   computed: {},
   methods: {
+    setAccessibility(z) {
+      console.log('setAccessibility',z)
+      this.isAccessibility = z
+    },
+    setDrawOverlay(z) {
+      this.isFloaty = z
+    },
+    openFloaty() {
+      window.dtokjs.openFloaty()
+    },
+    openAccessibility() {
+      window.dtokjs.openAccessibility()
+    },
     reload() {
       window.dtokjs.reload()
     },
     unbounding() {
-      Dialog.confirm({
-        title: '确认解除?',
-      })
-          .then(() => {
-            let uuid = JSON.parse(localStorage.getItem("registerInfo")).uuid
-            request({
-              url: `/unBundleDevice/${uuid}`,
-              method: 'get',
-            }).then((resp) => {
-              localStorage.removeItem('registerInfo')
-              this.isRegister = false
-              this.registerInfo = null
-              Toast.success("设备解绑成功")
-            }).catch((err) => {
-              // console.log("注册失败",err.response.data)
-              Toast.fail("设备解绑失败:" + err.response.data.message)
-            })
-          })
-          .catch(() => {
-            // on cancel
-          });
+      window.dtokjs.openUnBonding()
+    },
+    setCommonItems(resp) {
+      if (resp !== null) {
+        localStorage.setItem('commonItems', JSON.stringify(resp.data))
+      }
+    },
+    setRegisterInfo(resp) {
+      if (resp == null) {
+        this.registerInfo = null
+        this.isRegister = false
+        localStorage.removeItem("registerInfo")
+      } else {
+        if (resp.success) {
+          console.log("checkRegister", resp)
+          localStorage.setItem('registerInfo', JSON.stringify(resp.data))
+          this.registerInfo = resp.data
+          this.isRegister = true
+        } else {
+          Toast.fail(resp.message)
+          this.registerInfo = null
+          this.isRegister = false
+          localStorage.removeItem("registerInfo")
+        }
+      }
+    },
+    unBondingDevice(resp) {
+      if (resp == null) {
+        Toast.fail("解绑失败")
+      } else {
+        if (resp.success) {
+          Toast.success("解绑成功")
+          this.registerInfo = null
+          this.isRegister = false
+          localStorage.removeItem("registerInfo")
+        } else {
+          Toast.fail("解绑失败")
+        }
+      }
     },
+    setRegisterInfoCheck(resp) {
+      if (resp == null) {
+        this.registerInfo = null
+        this.isRegister = false
+        localStorage.removeItem("registerInfo")
+      } else {
+        if (resp.success) {
+          localStorage.setItem('registerInfo', JSON.stringify(resp.data))
+          this.registerInfo = resp.data
+          this.isRegister = true
+        } else {
+          this.registerInfo = null
+          this.isRegister = false
+          localStorage.removeItem("registerInfo")
+        }
+      }
+    },
+    setLoginInfo(resp) {
+      if (resp == null) {
+        Toast.fail("服务器异常")
+      } else {
+        if (resp.success) {
+          this.userInfo = resp.data
+          localStorage.setItem("userInfo", JSON.stringify(resp.data))
+        } else {
+          Toast.fail(resp.message)
+        }
+      }
+    }
   },
+
   watch: {},
   created() {
+    this.$nextTick(() => {
+      android.setCommonItems = this.setCommonItems
+      android.setRegisterInfo = this.setRegisterInfo
+      android.unBondingDevice = this.unBondingDevice
+      android.setLoginInfo = this.setLoginInfo
+      android.setRegisterInfoCheck = this.setRegisterInfoCheck
+      android.setAccessibility = this.setAccessibility
+      android.setDrawOverlay = this.setDrawOverlay
+
+    })
     window.dtokjs.webIsHome(true)
-    console.log("token", window.dtokjs.getToken())
-    localStorage.setItem("token", window.dtokjs.getToken())
 
     // eslint-disable-next-line no-empty
     if ('commonItems' in localStorage) {
     } else {
-      request({
-        url: '/getCommonItem',
-        method: 'get',
-        params: {}
-      }).then((resp) => {
-        console.log(resp)
-        localStorage.setItem('commonItems', JSON.stringify(resp.data))
-      })
+      window.dtokjs.getCommonItem()
     }
 
-
     this.userInfo = JSON.parse(window.dtokjs.getUserInfo())
 
     if ('registerInfo' in localStorage) {
@@ -217,27 +296,14 @@ export default {
       this.registerInfo = JSON.parse(localStorage.getItem('registerInfo'))
       this.isRegister = true
     }
-    request({
-      url: `/checkRegister/${localStorage.getItem("token")}/${window.dtokjs.getImei()}`,
-      method: 'get',
-      params: {}
-    }).then((resp) => {
-      console.log("checkRegister", resp)
-      localStorage.setItem('registerInfo', JSON.stringify(resp.data))
-      this.registerInfo = resp.data
-      this.isRegister = true
-    }).catch((err) => {
-      this.registerInfo = null
-      this.isRegister = false
-      localStorage.removeItem("registerInfo")
-    })
-
+    window.dtokjs.checkLogin()
+    window.dtokjs.checkRegister()
 
   },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
     // eslint-disable-next-line no-empty
-
+    window.dtokjs.getPermission()
   }
 
   //eslint-disable-next-line no-undef

+ 46 - 32
dtok-mobile/src/views/UserPage.vue

@@ -36,7 +36,7 @@
 
 <script>
 import {Dialog, Toast} from "vant";
-import request from "@/axios/request";
+import { android } from '@/core/android'
 
 export default {
   name: 'UserPage',
@@ -53,40 +53,50 @@ export default {
   }),
   computed: {},
   methods: {
+    setRegisterInfo(resp) {
+      console.log("userpage:json " + resp)
+      if (resp == null) {
+        this.registerInfo = null
+        this.isRegister = false
+        localStorage.removeItem("registerInfo")
+      } else {
+        if (resp.success) {
+          Toast.success("注册成功")
+          localStorage.setItem('registerInfo', JSON.stringify(resp.data))
+          this.registerInfo = resp.data
+          this.isRegister = true
+        } else {
+          Toast.fail(resp.message)
+          this.registerInfo = null
+          this.isRegister = false
+          localStorage.removeItem("registerInfo")
+        }
+      }
+    },
+    setRegisterInfoCheck(resp) {
+      console.log("userpage:json " + resp)
+      if (resp == null) {
+        this.registerInfo = null
+        this.isRegister = false
+        localStorage.removeItem("registerInfo")
+      } else {
+        if (resp.success) {
+          localStorage.setItem('registerInfo', JSON.stringify(resp.data))
+          this.registerInfo = resp.data
+          this.isRegister = true
+        } else {
+          this.registerInfo = null
+          this.isRegister = false
+          localStorage.removeItem("registerInfo")
+        }
+      }
+    },
     getCommonItem() {
       this.$router.push('/commonItem')
     },
-    registerDevice() {
-      Dialog.confirm({
-        title: '确认注册?',
-      })
-          .then(() => {
-            // on confirm
-            // eslint-disable-next-line no-undef
-            let data = new FormData()
-            data.append("deviceName", window.dtokjs.getPhoneModel())
-            data.append("deviceVersion", window.dtokjs.getBuildVersion())
-            data.append("deviceBrand", window.dtokjs.getPhoneBrand())
-            data.append("androidId", window.dtokjs.getImei())
-            request({
-              url: `/registerDevice/${localStorage.getItem("token")}`,
-              method: 'post',
-              data: data
-            }).then((resp) => {
-              console.log("checkRegister", resp)
-              localStorage.setItem('registerInfo', JSON.stringify(resp.data))
-              this.registerInfo = resp.data
-              this.isRegister = true
-              Toast.success("注册成功")
 
-            }).catch((err) => {
-              // console.log("注册失败",err.response.data)
-              Toast.fail("注册失败:" + err.response.data.message)
-            })
-          })
-          .catch(() => {
-            // on cancel
-          });
+    registerDevice() {
+      window.dtokjs.openSureRegister()
     },
     logout() {
       Dialog.confirm({
@@ -97,7 +107,7 @@ export default {
             localStorage.removeItem('userInfo')
             localStorage.removeItem('isRegister')
             localStorage.removeItem('registerInfo')
-            this.$router.replace('/login')
+            window.dtokjs.logout()
           }).catch(() => {
         // on cancel
       });
@@ -105,6 +115,10 @@ export default {
   },
   watch: {},
   created() {
+    this.$nextTick(() => {
+      android.setRegisterInfo = this.setRegisterInfo
+      android.setRegisterInfoCheck = this.setRegisterInfoCheck
+    })
     this.$parent.active = 1
     if ('userInfo' in localStorage) {
       console.log("JSON", JSON.stringify(localStorage.getItem('userInfo')))

+ 0 - 0
dtok-mobile/src/core/dtokjs.js → script/repack/conf.js