diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
index b1b34de..d9bd8ba 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
@@ -2,16 +2,16 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.LoginResultBean
+import com.casic.birmm.inspect.model.LoginResultModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class LoginInViewModel : BaseViewModel() {
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun login(account: String, secretKey: String) = launch({
- resultBean.value = RetrofitServiceManager.login(account, secretKey)
+ resultModel.value = RetrofitServiceManager.login(account, secretKey)
loadState.value = LoadState.Success
}, {
loadState.value = LoadState.Fail
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
index b1b34de..d9bd8ba 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
@@ -2,16 +2,16 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.LoginResultBean
+import com.casic.birmm.inspect.model.LoginResultModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class LoginInViewModel : BaseViewModel() {
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun login(account: String, secretKey: String) = launch({
- resultBean.value = RetrofitServiceManager.login(account, secretKey)
+ resultModel.value = RetrofitServiceManager.login(account, secretKey)
loadState.value = LoadState.Success
}, {
loadState.value = LoadState.Fail
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
new file mode 100644
index 0000000..fa22f6c
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
@@ -0,0 +1,23 @@
+package com.casic.birmm.inspect.vm
+
+import android.util.Log
+import androidx.lifecycle.MutableLiveData
+import com.casic.birmm.inspect.base.BaseViewModel
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.utils.launch
+import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
+
+class LoginOutViewModel : BaseViewModel() {
+
+ companion object {
+ private const val Tag = "LoginOutViewModel"
+ }
+
+ val resultModel = MutableLiveData()
+
+ fun loginOut() = launch({
+ resultModel.value = RetrofitServiceManager.loginOut()
+ }, {
+ Log.d(Tag, it.stackTrace.toString())
+ })
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
index b1b34de..d9bd8ba 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
@@ -2,16 +2,16 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.LoginResultBean
+import com.casic.birmm.inspect.model.LoginResultModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class LoginInViewModel : BaseViewModel() {
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun login(account: String, secretKey: String) = launch({
- resultBean.value = RetrofitServiceManager.login(account, secretKey)
+ resultModel.value = RetrofitServiceManager.login(account, secretKey)
loadState.value = LoadState.Success
}, {
loadState.value = LoadState.Fail
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
new file mode 100644
index 0000000..fa22f6c
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
@@ -0,0 +1,23 @@
+package com.casic.birmm.inspect.vm
+
+import android.util.Log
+import androidx.lifecycle.MutableLiveData
+import com.casic.birmm.inspect.base.BaseViewModel
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.utils.launch
+import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
+
+class LoginOutViewModel : BaseViewModel() {
+
+ companion object {
+ private const val Tag = "LoginOutViewModel"
+ }
+
+ val resultModel = MutableLiveData()
+
+ fun loginOut() = launch({
+ resultModel.value = RetrofitServiceManager.loginOut()
+ }, {
+ Log.d(Tag, it.stackTrace.toString())
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index c410715..f13301d 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -3,7 +3,7 @@
import android.util.Log
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
@@ -12,10 +12,10 @@
private const val Tag = "UserViewModel"
}
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun getUserInfo() = launch({
- resultBean.value = RetrofitServiceManager.getUserInfo()
+ resultModel.value = RetrofitServiceManager.getUserInfo()
}, {
Log.d(Tag, it.stackTrace.toString())
})
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
index b1b34de..d9bd8ba 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
@@ -2,16 +2,16 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.LoginResultBean
+import com.casic.birmm.inspect.model.LoginResultModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class LoginInViewModel : BaseViewModel() {
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun login(account: String, secretKey: String) = launch({
- resultBean.value = RetrofitServiceManager.login(account, secretKey)
+ resultModel.value = RetrofitServiceManager.login(account, secretKey)
loadState.value = LoadState.Success
}, {
loadState.value = LoadState.Fail
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
new file mode 100644
index 0000000..fa22f6c
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
@@ -0,0 +1,23 @@
+package com.casic.birmm.inspect.vm
+
+import android.util.Log
+import androidx.lifecycle.MutableLiveData
+import com.casic.birmm.inspect.base.BaseViewModel
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.utils.launch
+import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
+
+class LoginOutViewModel : BaseViewModel() {
+
+ companion object {
+ private const val Tag = "LoginOutViewModel"
+ }
+
+ val resultModel = MutableLiveData()
+
+ fun loginOut() = launch({
+ resultModel.value = RetrofitServiceManager.loginOut()
+ }, {
+ Log.d(Tag, it.stackTrace.toString())
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index c410715..f13301d 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -3,7 +3,7 @@
import android.util.Log
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
@@ -12,10 +12,10 @@
private const val Tag = "UserViewModel"
}
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun getUserInfo() = launch({
- resultBean.value = RetrofitServiceManager.getUserInfo()
+ resultModel.value = RetrofitServiceManager.getUserInfo()
}, {
Log.d(Tag, it.stackTrace.toString())
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
index 278e72b..cb30ae3 100644
--- a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
@@ -7,7 +7,7 @@
import android.os.Bundle
import android.view.WindowManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.ToastHelper
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.dialog_input.*
@@ -53,7 +53,7 @@
dialogConfirmButton.setOnClickListener {
val inputValue = dialogInputView.text.toString().trim()
if (inputValue.isEmpty()) {
- OtherUtils.showTipsDialog(ctx!!, "什么都没输入,请重新输入", dialogConfirmButton)
+ ToastHelper.showToast(ctx!!, "什么都没输入,请重新输入")
return@setOnClickListener
}
listener?.onButtonClick(inputValue)
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
index b1b34de..d9bd8ba 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
@@ -2,16 +2,16 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.LoginResultBean
+import com.casic.birmm.inspect.model.LoginResultModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class LoginInViewModel : BaseViewModel() {
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun login(account: String, secretKey: String) = launch({
- resultBean.value = RetrofitServiceManager.login(account, secretKey)
+ resultModel.value = RetrofitServiceManager.login(account, secretKey)
loadState.value = LoadState.Success
}, {
loadState.value = LoadState.Fail
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
new file mode 100644
index 0000000..fa22f6c
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
@@ -0,0 +1,23 @@
+package com.casic.birmm.inspect.vm
+
+import android.util.Log
+import androidx.lifecycle.MutableLiveData
+import com.casic.birmm.inspect.base.BaseViewModel
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.utils.launch
+import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
+
+class LoginOutViewModel : BaseViewModel() {
+
+ companion object {
+ private const val Tag = "LoginOutViewModel"
+ }
+
+ val resultModel = MutableLiveData()
+
+ fun loginOut() = launch({
+ resultModel.value = RetrofitServiceManager.loginOut()
+ }, {
+ Log.d(Tag, it.stackTrace.toString())
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index c410715..f13301d 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -3,7 +3,7 @@
import android.util.Log
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
@@ -12,10 +12,10 @@
private const val Tag = "UserViewModel"
}
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun getUserInfo() = launch({
- resultBean.value = RetrofitServiceManager.getUserInfo()
+ resultModel.value = RetrofitServiceManager.getUserInfo()
}, {
Log.d(Tag, it.stackTrace.toString())
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
index 278e72b..cb30ae3 100644
--- a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
@@ -7,7 +7,7 @@
import android.os.Bundle
import android.view.WindowManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.ToastHelper
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.dialog_input.*
@@ -53,7 +53,7 @@
dialogConfirmButton.setOnClickListener {
val inputValue = dialogInputView.text.toString().trim()
if (inputValue.isEmpty()) {
- OtherUtils.showTipsDialog(ctx!!, "什么都没输入,请重新输入", dialogConfirmButton)
+ ToastHelper.showToast(ctx!!, "什么都没输入,请重新输入")
return@setOnClickListener
}
listener?.onButtonClick(inputValue)
diff --git a/app/src/main/res/drawable/bg_dialog_button.xml b/app/src/main/res/drawable/bg_dialog_button.xml
deleted file mode 100644
index 5f7d57d..0000000
--- a/app/src/main/res/drawable/bg_dialog_button.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
index b1b34de..d9bd8ba 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
@@ -2,16 +2,16 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.LoginResultBean
+import com.casic.birmm.inspect.model.LoginResultModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class LoginInViewModel : BaseViewModel() {
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun login(account: String, secretKey: String) = launch({
- resultBean.value = RetrofitServiceManager.login(account, secretKey)
+ resultModel.value = RetrofitServiceManager.login(account, secretKey)
loadState.value = LoadState.Success
}, {
loadState.value = LoadState.Fail
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
new file mode 100644
index 0000000..fa22f6c
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
@@ -0,0 +1,23 @@
+package com.casic.birmm.inspect.vm
+
+import android.util.Log
+import androidx.lifecycle.MutableLiveData
+import com.casic.birmm.inspect.base.BaseViewModel
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.utils.launch
+import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
+
+class LoginOutViewModel : BaseViewModel() {
+
+ companion object {
+ private const val Tag = "LoginOutViewModel"
+ }
+
+ val resultModel = MutableLiveData()
+
+ fun loginOut() = launch({
+ resultModel.value = RetrofitServiceManager.loginOut()
+ }, {
+ Log.d(Tag, it.stackTrace.toString())
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index c410715..f13301d 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -3,7 +3,7 @@
import android.util.Log
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
@@ -12,10 +12,10 @@
private const val Tag = "UserViewModel"
}
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun getUserInfo() = launch({
- resultBean.value = RetrofitServiceManager.getUserInfo()
+ resultModel.value = RetrofitServiceManager.getUserInfo()
}, {
Log.d(Tag, it.stackTrace.toString())
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
index 278e72b..cb30ae3 100644
--- a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
@@ -7,7 +7,7 @@
import android.os.Bundle
import android.view.WindowManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.ToastHelper
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.dialog_input.*
@@ -53,7 +53,7 @@
dialogConfirmButton.setOnClickListener {
val inputValue = dialogInputView.text.toString().trim()
if (inputValue.isEmpty()) {
- OtherUtils.showTipsDialog(ctx!!, "什么都没输入,请重新输入", dialogConfirmButton)
+ ToastHelper.showToast(ctx!!, "什么都没输入,请重新输入")
return@setOnClickListener
}
listener?.onButtonClick(inputValue)
diff --git a/app/src/main/res/drawable/bg_dialog_button.xml b/app/src/main/res/drawable/bg_dialog_button.xml
deleted file mode 100644
index 5f7d57d..0000000
--- a/app/src/main/res/drawable/bg_dialog_button.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_toast_layout.xml b/app/src/main/res/drawable/bg_toast_layout.xml
new file mode 100644
index 0000000..78ff8e6
--- /dev/null
+++ b/app/src/main/res/drawable/bg_toast_layout.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
index b1b34de..d9bd8ba 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
@@ -2,16 +2,16 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.LoginResultBean
+import com.casic.birmm.inspect.model.LoginResultModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class LoginInViewModel : BaseViewModel() {
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun login(account: String, secretKey: String) = launch({
- resultBean.value = RetrofitServiceManager.login(account, secretKey)
+ resultModel.value = RetrofitServiceManager.login(account, secretKey)
loadState.value = LoadState.Success
}, {
loadState.value = LoadState.Fail
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
new file mode 100644
index 0000000..fa22f6c
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
@@ -0,0 +1,23 @@
+package com.casic.birmm.inspect.vm
+
+import android.util.Log
+import androidx.lifecycle.MutableLiveData
+import com.casic.birmm.inspect.base.BaseViewModel
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.utils.launch
+import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
+
+class LoginOutViewModel : BaseViewModel() {
+
+ companion object {
+ private const val Tag = "LoginOutViewModel"
+ }
+
+ val resultModel = MutableLiveData()
+
+ fun loginOut() = launch({
+ resultModel.value = RetrofitServiceManager.loginOut()
+ }, {
+ Log.d(Tag, it.stackTrace.toString())
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index c410715..f13301d 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -3,7 +3,7 @@
import android.util.Log
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
@@ -12,10 +12,10 @@
private const val Tag = "UserViewModel"
}
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun getUserInfo() = launch({
- resultBean.value = RetrofitServiceManager.getUserInfo()
+ resultModel.value = RetrofitServiceManager.getUserInfo()
}, {
Log.d(Tag, it.stackTrace.toString())
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
index 278e72b..cb30ae3 100644
--- a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
@@ -7,7 +7,7 @@
import android.os.Bundle
import android.view.WindowManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.ToastHelper
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.dialog_input.*
@@ -53,7 +53,7 @@
dialogConfirmButton.setOnClickListener {
val inputValue = dialogInputView.text.toString().trim()
if (inputValue.isEmpty()) {
- OtherUtils.showTipsDialog(ctx!!, "什么都没输入,请重新输入", dialogConfirmButton)
+ ToastHelper.showToast(ctx!!, "什么都没输入,请重新输入")
return@setOnClickListener
}
listener?.onButtonClick(inputValue)
diff --git a/app/src/main/res/drawable/bg_dialog_button.xml b/app/src/main/res/drawable/bg_dialog_button.xml
deleted file mode 100644
index 5f7d57d..0000000
--- a/app/src/main/res/drawable/bg_dialog_button.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_toast_layout.xml b/app/src/main/res/drawable/bg_toast_layout.xml
new file mode 100644
index 0000000..78ff8e6
--- /dev/null
+++ b/app/src/main/res/drawable/bg_toast_layout.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_left_back.xml b/app/src/main/res/drawable/ic_left_back.xml
new file mode 100644
index 0000000..a1996c9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_left_back.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List? = null
+ var devices: List<*>? = null
+ var roleList: List? = null
+ var roleNames: List? = null
+ var roleTips: List? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
index 78a633a..ce5b6ec 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/AuthenticationHelper.kt
@@ -2,6 +2,7 @@
import com.casic.birmm.inspect.utils.SaveKeyValues.getValue
import com.casic.birmm.inspect.utils.SaveKeyValues.putValue
+import com.casic.birmm.inspect.utils.SaveKeyValues.removeKey
object AuthenticationHelper {
@@ -18,4 +19,8 @@
val token: String?
get() = getValue("token", "") as String?
+
+ fun removeToken() {
+ removeKey("token")
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
index 44c3514..981afb0 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/Constant.kt
@@ -13,4 +13,6 @@
const val DEFAULT_SERVER_CONFIG = "defaultServerConfig"
const val USER_OBJECT = "userObject"
+ const val OPEN_WARNING = "isOpenWarning"
+ const val AUTO_RECORD = "isRecordLog"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
index ff63747..070b1fd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/OtherUtils.kt
@@ -1,24 +1,12 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.view.View
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog
object OtherUtils {
private var loadingDialog: QMUITipDialog? = null
- //替换Toast
- fun showTipsDialog(context: Context, message: String, view: View) {
- val tipDialog = QMUITipDialog.Builder(context)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_NOTHING)
- .setTipWord(message).create()
- tipDialog.show()
- view.postDelayed({
- tipDialog.dismiss()
- }, 2000)
- }
-
fun showLoadingDialog(context: Context?, message: String?) {
loadingDialog = QMUITipDialog.Builder(context)
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
index 04c9f5a..b64d2d1 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/SaveKeyValues.kt
@@ -1,12 +1,9 @@
package com.casic.birmm.inspect.utils
import android.content.Context
-import android.content.SharedPreferences
import com.casic.birmm.inspect.base.BaseApplication
object SaveKeyValues {
- private var sharedPreferences: SharedPreferences? = null
- private var editor: SharedPreferences.Editor? = null
private var fileName: String? = null
fun initSharedPreferences() {
@@ -20,11 +17,11 @@
* 存储
*/
fun putValue(key: String?, obj: Any) {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- val editor = sharedPreferences!!.edit()
+ )!!
+ val editor = sharedPreferences.edit()
when (obj) {
is String -> {
editor.putString(key, obj).apply()
@@ -51,28 +48,28 @@
* 获取保存的数据
*/
operator fun getValue(key: String?, defaultObject: Any?): Any? {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
+ )!!
return when (defaultObject) {
is String -> {
- sharedPreferences!!.getString(key, defaultObject as String?)
+ sharedPreferences.getString(key, defaultObject as String?)
}
is Int -> {
- sharedPreferences!!.getInt(key, (defaultObject as Int?)!!)
+ sharedPreferences.getInt(key, (defaultObject as Int?)!!)
}
is Boolean -> {
- sharedPreferences!!.getBoolean(key, (defaultObject as Boolean?)!!)
+ sharedPreferences.getBoolean(key, (defaultObject as Boolean?)!!)
}
is Float -> {
- sharedPreferences!!.getFloat(key, (defaultObject as Float?)!!)
+ sharedPreferences.getFloat(key, (defaultObject as Float?)!!)
}
is Long -> {
- sharedPreferences!!.getLong(key, (defaultObject as Long?)!!)
+ sharedPreferences.getLong(key, (defaultObject as Long?)!!)
}
else -> {
- sharedPreferences!!.getString(key, null)
+ sharedPreferences.getString(key, null)
}
}
}
@@ -81,26 +78,32 @@
* 移除某个key值已经对应的值
*/
fun removeKey(key: String?) {
- editor!!.remove(key)
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().remove(key).apply()
}
/**
* 清除所有数据
*/
fun clearAll() {
- editor!!.clear()
- editor!!.commit()
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ fileName,
+ Context.MODE_PRIVATE
+ )!!
+ sharedPreferences.edit().clear().apply()
}
/**
* 查询某个key是否存在
*/
fun containsKey(key: String?): Boolean {
- sharedPreferences = BaseApplication.instance.getSharedPreferences(
+ val sharedPreferences = BaseApplication.instance.getSharedPreferences(
fileName,
Context.MODE_PRIVATE
- )
- return sharedPreferences!!.contains(key)
+ )!!
+ return sharedPreferences.contains(key)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
new file mode 100644
index 0000000..82e47ad
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/StatusBarColorUtil.kt
@@ -0,0 +1,47 @@
+package com.casic.birmm.inspect.utils
+
+import android.R
+import android.app.Activity
+import android.view.View
+import android.view.ViewGroup
+import android.view.WindowManager
+import android.widget.LinearLayout
+
+object StatusBarColorUtil {
+ fun setColor(activity: Activity, color: Int) { //限制android系统的版本
+ // 设置状态栏透明
+ activity.window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
+ // 生成一个状态栏大小的矩形
+ val statusView = createStatusView(activity, color)
+ // 添加 statusView 到布局中
+ val decorView = activity.window.decorView as ViewGroup
+ decorView.addView(statusView)
+ // 设置根布局的参数
+ val rootView =
+ (activity.findViewById(R.id.content) as ViewGroup).getChildAt(
+ 0
+ ) as ViewGroup
+ rootView.fitsSystemWindows = true
+ rootView.clipToPadding = true
+ }
+
+ /**
+ * 生成一个和状态栏大小相同的矩形条
+ *
+ * @param activity 需要设置的activity
+ * @param color 状态栏颜色值
+ * @return 状态栏矩形条
+ */
+ private fun createStatusView(activity: Activity, color: Int): View { // 获得状态栏高度
+ val resourceId =
+ activity.resources.getIdentifier("status_bar_height", "dimen", "android")
+ val statusBarHeight = activity.resources.getDimensionPixelSize(resourceId)
+ // 绘制一个和状态栏一样高的矩形
+ val statusView = View(activity)
+ val params =
+ LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight)
+ statusView.layoutParams = params
+ statusView.setBackgroundColor(color)
+ return statusView
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
new file mode 100644
index 0000000..0ed4ff4
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/ToastHelper.kt
@@ -0,0 +1,31 @@
+package com.casic.birmm.inspect.utils
+
+import android.content.Context
+import android.graphics.Color
+import android.view.Gravity
+import android.widget.TextView
+import android.widget.Toast
+import com.casic.birmm.inspect.R
+import com.qmuiteam.qmui.util.QMUIDisplayHelper
+
+
+object ToastHelper {
+ fun showToast(context: Context, message: String) {
+ val toast = Toast(context)
+ val textView = TextView(context)
+ textView.setBackgroundResource(R.drawable.bg_toast_layout)
+ textView.setTextColor(Color.WHITE)
+ textView.textSize = 16.0f
+ textView.text = message
+ textView.setPadding(
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10),
+ QMUIDisplayHelper.dp2px(context, 20),
+ QMUIDisplayHelper.dp2px(context, 10)
+ )
+ toast.setGravity(Gravity.CENTER, 0, 0)
+ toast.view = textView
+ toast.duration = Toast.LENGTH_SHORT
+ toast.show()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index ea45d68..a870f5a 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import retrofit2.http.*
/**
@@ -14,18 +15,27 @@
* PublicKey校验
*/
@GET("/config/baseConfig")
- suspend fun obtainPublicKey(): PublicKeyBean
+ suspend fun obtainPublicKey(): PublicKeyModel
/**
* 登录并获取Token
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun obtainLoginResult(@Field("username") account: String, @Field("password") secretKey: String): LoginResultBean
+ suspend fun obtainLoginResult(
+ @Field("username") account: String,
+ @Field("password") secretKey: String
+ ): LoginResultModel
/**
* 获取用户信息
*/
@GET("/user/info")
- suspend fun obtainUserInfo(@Header("token") token: String): UserInfoBean
+ suspend fun obtainUserInfo(@Header("token") token: String): UserInfoModel
+
+ /**
+ * 退出登录
+ */
+ @GET("/user/logout")
+ suspend fun obtainLoginOutResult(@Header("token") token: String): ActionResultModel
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index ec0a4c9..4dde02f 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,8 +1,9 @@
package com.casic.birmm.inspect.utils.retrofit
-import com.casic.birmm.inspect.model.LoginResultBean
-import com.casic.birmm.inspect.model.PublicKeyBean
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.model.LoginResultModel
+import com.casic.birmm.inspect.model.PublicKeyModel
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.AuthenticationHelper
@@ -13,21 +14,28 @@
/**
* 验证PublicKey
*/
- suspend fun authenticate(): PublicKeyBean {
+ suspend fun authenticate(): PublicKeyModel {
return api.obtainPublicKey()
}
/**
* 登录并获取Token
*/
- suspend fun login(account: String, secretKey: String): LoginResultBean {
+ suspend fun login(account: String, secretKey: String): LoginResultModel {
return api.obtainLoginResult(account, secretKey)
}
/**
* 获取用户信息
*/
- suspend fun getUserInfo(): UserInfoBean {
+ suspend fun getUserInfo(): UserInfoModel {
return api.obtainUserInfo(AuthenticationHelper.token!!)
}
+
+ /**
+ * 退出登录
+ */
+ suspend fun loginOut(): ActionResultModel {
+ return api.obtainLoginOutResult(AuthenticationHelper.token!!)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
index d0d42e8..cb01ce4 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/GuideActivity.kt
@@ -13,6 +13,7 @@
import com.casic.birmm.inspect.utils.Constant
import com.casic.birmm.inspect.utils.SaveKeyValues
import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.activity_guide.*
@@ -65,8 +66,8 @@
} else {
val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
userViewModel.getUserInfo()
- userViewModel.resultBean.observe(this, Observer {
- SaveKeyValues.putValue(Constant.USER_OBJECT, it)//保存用户对象
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
startActivity(Intent(this, MainActivity::class.java))
finish()
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index 82c765c..36e6828 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -31,7 +31,7 @@
override fun initData() {
authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- authenticateViewModel.keyBean.observe(this, Observer {
+ authenticateViewModel.keyModel.observe(this, Observer {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -47,9 +47,9 @@
//登录并获取Token,POST请求
val loginInViewModel = ViewModelProvider(this).get(LoginInViewModel::class.java)
loginInViewModel.login(account, dataByPublicKey)
- loginInViewModel.resultBean.observe(this, Observer { loginResultBean ->
- if (loginResultBean.code == 200) {
- AuthenticationHelper.saveToken(loginResultBean.data!!.token!!)
+ loginInViewModel.resultModel.observe(this, Observer { loginResult ->
+ if (loginResult.code == 200) {
+ AuthenticationHelper.saveToken(loginResult.data!!.token!!)
//验证成功登录
startActivity(Intent(this, MainActivity::class.java))
finish()
@@ -59,7 +59,7 @@
changeLoadStatus(loginState)
})
} else {
- OtherUtils.showTipsDialog(this, it.message!!, loginButton)
+ ToastHelper.showToast(this, it.message!!)
}
})
authenticateViewModel.loadState.observe(this, Observer {
@@ -109,11 +109,11 @@
val account = userNameView.text.toString()
val userPassword = userPasswordView.text.toString()
if (TextUtils.isEmpty(account)) {
- OtherUtils.showTipsDialog(this, "用户名不能为空", userNameView)
+ ToastHelper.showToast(this, "用户名不能为空")
return@setOnClickListener
}
if (TextUtils.isEmpty(userPassword)) {
- OtherUtils.showTipsDialog(this, "密码不能为空", userPasswordView)
+ ToastHelper.showToast(this, "密码不能为空")
return@setOnClickListener
}
authenticateViewModel.obtainPublicKey()
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
index 98b9e9a..6baf2fb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/MainActivity.kt
@@ -1,21 +1,73 @@
package com.casic.birmm.inspect.view
+import android.content.Intent
+import android.text.TextUtils
+import android.view.KeyEvent
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.utils.Constant
+import com.casic.birmm.inspect.utils.SaveKeyValues
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.casic.birmm.inspect.utils.ToastHelper
+import com.casic.birmm.inspect.vm.UserViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_main.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
class MainActivity : BaseActivity() {
+ private var clickTime: Long = 0
+
override fun initLayoutView(): Int = R.layout.activity_main
override fun setupTopBarLayout() {
-
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ leftBackView.visibility = View.GONE
+ titleView.text = "主菜单"
}
override fun initData() {
-
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ if (TextUtils.isEmpty(userModelJson)) {
+ val userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ userViewModel.getUserInfo()
+ userViewModel.resultModel.observe(this, Observer {
+ SaveKeyValues.putValue(Constant.USER_OBJECT, Gson().toJson(it))//保存用户对象
+ })
+ }
}
override fun initEvent() {
+ //新建巡检
+ createIssueLayout.setOnClickListener {
+ }
+ //记录查询
+ logSearchLayout.setOnClickListener {
+
+ }
+ //系统设置
+ settingsLayout.setOnClickListener {
+ startActivity(Intent(this, UserSettingsActivity::class.java))
+ }
+ }
+
+ override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
+ return if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (System.currentTimeMillis() - clickTime > 2000) {
+ ToastHelper.showToast(this, "再按一次退出程序")
+ clickTime = System.currentTimeMillis()
+ true
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ } else super.onKeyDown(keyCode, event)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
new file mode 100644
index 0000000..2e73469
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/UserSettingsActivity.kt
@@ -0,0 +1,110 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Context
+import android.content.Intent
+import android.os.Vibrator
+import androidx.core.content.ContextCompat
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import com.casic.birmm.inspect.BuildConfig
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.base.BaseActivity
+import com.casic.birmm.inspect.model.UserInfoModel
+import com.casic.birmm.inspect.utils.*
+import com.casic.birmm.inspect.vm.LoginOutViewModel
+import com.google.gson.Gson
+import com.gyf.immersionbar.ImmersionBar
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
+import kotlinx.android.synthetic.main.activity_user_settings.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class UserSettingsActivity : BaseActivity() {
+
+ private lateinit var vibrator: Vibrator
+
+ override fun initLayoutView(): Int = R.layout.activity_user_settings
+
+ override fun setupTopBarLayout() {
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "系统设置"
+ }
+
+ override fun initData() {
+ val userModelJson = SaveKeyValues.getValue(Constant.USER_OBJECT, "") as String
+ val userModel = Gson().fromJson(userModelJson, UserInfoModel::class.java)
+ val data = userModel.data
+ userNameView.text = data?.name
+ userPhoneView.text = data?.phone
+
+ val isOpen = SaveKeyValues.getValue(Constant.OPEN_WARNING, false) as Boolean
+ warningSwitch.isChecked = isOpen
+ val isRecord = SaveKeyValues.getValue(Constant.AUTO_RECORD, false) as Boolean
+ autoRecordSwitch.isChecked = isRecord
+
+ appVersionView.text = BuildConfig.VERSION_NAME
+
+ //震动
+ vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ warningSwitch.setOnClickListener {
+ if (!vibrator.hasVibrator()) {
+ ToastHelper.showToast(this, "设备没有震动蜂鸣器,无法打开此开关")
+ warningSwitch.isChecked = false
+ return@setOnClickListener
+ }
+ }
+ warningSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, true)
+ vibrator.vibrate(1000)
+ } else {
+ SaveKeyValues.putValue(Constant.OPEN_WARNING, false)
+ }
+ }
+ autoRecordSwitch.setOnCheckedChangeListener { _, isChecked ->
+ if (isChecked) {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, true)
+ } else {
+ SaveKeyValues.putValue(Constant.AUTO_RECORD, false)
+ }
+ }
+ loginOutButton.setChangeAlphaWhenPress(true)
+ loginOutButton.setOnClickListener {
+ QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("提示")
+ .setMessage("确定要退出吗?")
+ .setCanceledOnTouchOutside(false)
+ .addAction(
+ "取消"
+ ) { dialog, _ -> dialog?.dismiss() }
+ .addAction(
+ "确定"
+ ) { dialog, _ ->
+ dialog?.dismiss()
+ //执行退出登录操作
+ val loginOutModel =
+ ViewModelProvider(this@UserSettingsActivity).get(LoginOutViewModel::class.java)
+ loginOutModel.loginOut()
+ loginOutModel.resultModel.observe(this@UserSettingsActivity, Observer {
+ if (it.code == 200) {
+ AuthenticationHelper.removeToken()
+ startActivity(
+ Intent(
+ this@UserSettingsActivity,
+ LoginActivity::class.java
+ )
+ )
+ finish()
+ } else {
+ ToastHelper.showToast(this@UserSettingsActivity, "操作失败")
+ }
+ })
+ }.create().show()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index bc9161d..f14f4cb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -2,17 +2,17 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.PublicKeyBean
+import com.casic.birmm.inspect.model.PublicKeyModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class AuthenticateViewModel : BaseViewModel() {
- val keyBean = MutableLiveData()
+ val keyModel = MutableLiveData()
fun obtainPublicKey() = launch({
loadState.value = LoadState.Loading
- keyBean.value = RetrofitServiceManager.authenticate()
+ keyModel.value = RetrofitServiceManager.authenticate()
}, {
loadState.value = LoadState.Fail
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
index b1b34de..d9bd8ba 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginInViewModel.kt
@@ -2,16 +2,16 @@
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.LoginResultBean
+import com.casic.birmm.inspect.model.LoginResultModel
import com.casic.birmm.inspect.utils.LoadState
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
class LoginInViewModel : BaseViewModel() {
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun login(account: String, secretKey: String) = launch({
- resultBean.value = RetrofitServiceManager.login(account, secretKey)
+ resultModel.value = RetrofitServiceManager.login(account, secretKey)
loadState.value = LoadState.Success
}, {
loadState.value = LoadState.Fail
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
new file mode 100644
index 0000000..fa22f6c
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/LoginOutViewModel.kt
@@ -0,0 +1,23 @@
+package com.casic.birmm.inspect.vm
+
+import android.util.Log
+import androidx.lifecycle.MutableLiveData
+import com.casic.birmm.inspect.base.BaseViewModel
+import com.casic.birmm.inspect.model.ActionResultModel
+import com.casic.birmm.inspect.utils.launch
+import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
+
+class LoginOutViewModel : BaseViewModel() {
+
+ companion object {
+ private const val Tag = "LoginOutViewModel"
+ }
+
+ val resultModel = MutableLiveData()
+
+ fun loginOut() = launch({
+ resultModel.value = RetrofitServiceManager.loginOut()
+ }, {
+ Log.d(Tag, it.stackTrace.toString())
+ })
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index c410715..f13301d 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -3,7 +3,7 @@
import android.util.Log
import androidx.lifecycle.MutableLiveData
import com.casic.birmm.inspect.base.BaseViewModel
-import com.casic.birmm.inspect.model.UserInfoBean
+import com.casic.birmm.inspect.model.UserInfoModel
import com.casic.birmm.inspect.utils.launch
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
@@ -12,10 +12,10 @@
private const val Tag = "UserViewModel"
}
- val resultBean = MutableLiveData()
+ val resultModel = MutableLiveData()
fun getUserInfo() = launch({
- resultBean.value = RetrofitServiceManager.getUserInfo()
+ resultModel.value = RetrofitServiceManager.getUserInfo()
}, {
Log.d(Tag, it.stackTrace.toString())
})
diff --git a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
index 278e72b..cb30ae3 100644
--- a/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/widgets/InputDialog.kt
@@ -7,7 +7,7 @@
import android.os.Bundle
import android.view.WindowManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.ToastHelper
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import kotlinx.android.synthetic.main.dialog_input.*
@@ -53,7 +53,7 @@
dialogConfirmButton.setOnClickListener {
val inputValue = dialogInputView.text.toString().trim()
if (inputValue.isEmpty()) {
- OtherUtils.showTipsDialog(ctx!!, "什么都没输入,请重新输入", dialogConfirmButton)
+ ToastHelper.showToast(ctx!!, "什么都没输入,请重新输入")
return@setOnClickListener
}
listener?.onButtonClick(inputValue)
diff --git a/app/src/main/res/drawable/bg_dialog_button.xml b/app/src/main/res/drawable/bg_dialog_button.xml
deleted file mode 100644
index 5f7d57d..0000000
--- a/app/src/main/res/drawable/bg_dialog_button.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_toast_layout.xml b/app/src/main/res/drawable/bg_toast_layout.xml
new file mode 100644
index 0000000..78ff8e6
--- /dev/null
+++ b/app/src/main/res/drawable/bg_toast_layout.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_left_back.xml b/app/src/main/res/drawable/ic_left_back.xml
new file mode 100644
index 0000000..a1996c9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_left_back.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml
new file mode 100644
index 0000000..3b96761
--- /dev/null
+++ b/app/src/main/res/drawable/ic_right.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index dd8fa19..c9fe38c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@
minSdkVersion 21
targetSdkVersion 30
versionCode 1
- versionName "1.0"
+ versionName "v2.0.0.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index be35467..1ed6ab1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,9 @@
+
+
@@ -33,6 +35,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
new file mode 100644
index 0000000..afffa16
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/ActionResultModel.kt
@@ -0,0 +1,11 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * 请求成功统一实体类
+ */
+class ActionResultModel {
+ var code = 0
+ var data: String? = null
+ var message: String? = null
+ var isSuccess = false
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
deleted file mode 100644
index abe817a..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultBean.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class LoginResultBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var kaptcha: String? = null
- var token: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
new file mode 100644
index 0000000..2905c3e
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/LoginResultModel.kt
@@ -0,0 +1,13 @@
+package com.casic.birmm.inspect.model
+
+class LoginResultModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var kaptcha: String? = null
+ var token: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
deleted file mode 100644
index 25c5436..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyBean.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.casic.birmm.inspect.model
-
-/**
- * PublicKey 登录校验Key
- */
-class PublicKeyBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- var isAppKaptcha = false
- var isKaptcha = false
- var publicKey: String? = null
- var sid: String? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
new file mode 100644
index 0000000..a2906dd
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/PublicKeyModel.kt
@@ -0,0 +1,18 @@
+package com.casic.birmm.inspect.model
+
+/**
+ * PublicKey 登录校验Key
+ */
+class PublicKeyModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ var isAppKaptcha = false
+ var isKaptcha = false
+ var publicKey: String? = null
+ var sid: String? = null
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
deleted file mode 100644
index 7d31d42..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoBean.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.birmm.inspect.model
-
-class UserInfoBean {
- var code = 0
- var data: DataBean? = null
- var message: String? = null
- var isSuccess = false
-
- class DataBean {
- /**
- * account : wxy
- * attr1 :
- * avatar :
- * bizData :
- * dataScope : ["1236854643826184194"]
- * deptId : 1236854643826184194
- * deptName : A公司
- * devices : []
- * id : 1281045327302316033
- * ipAddr : 223.104.40.162
- * name : 王晓颖
- * phone :
- * roleList : ["1268776836310409218"]
- * roleNames : ["普通用户"]
- * roleTips : ["普通用户"]
- * scopeType : 3
- * targetId :
- * targetName :
- * tenantId :
- */
- var account: String? = null
- var attr1: String? = null
- var avatar: String? = null
- var bizData: String? = null
- var deptId: String? = null
- var deptName: String? = null
- var id: String? = null
- var ipAddr: String? = null
- var name: String? = null
- var phone: String? = null
- var scopeType: String? = null
- var targetId: String? = null
- var targetName: String? = null
- var tenantId: String? = null
- var dataScope: List? = null
- var devices: List<*>? = null
- var roleList: List? = null
- var roleNames: List? = null
- var roleTips: List? = null
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
new file mode 100644
index 0000000..389b43f
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/model/UserInfoModel.kt
@@ -0,0 +1,51 @@
+package com.casic.birmm.inspect.model
+
+class UserInfoModel {
+ var code = 0
+ var data: DataBean? = null
+ var message: String? = null
+ var isSuccess = false
+
+ class DataBean {
+ /**
+ * account : wxy
+ * attr1 :
+ * avatar :
+ * bizData :
+ * dataScope : ["1236854643826184194"]
+ * deptId : 1236854643826184194
+ * deptName : A公司
+ * devices : []
+ * id : 1281045327302316033
+ * ipAddr : 223.104.40.162
+ * name : 王晓颖
+ * phone :
+ * roleList : ["1268776836310409218"]
+ * roleNames : ["普通用户"]
+ * roleTips : ["普通用户"]
+ * scopeType : 3
+ * targetId :
+ * targetName :
+ * tenantId :
+ */
+ var account: String? = null
+ var attr1: String? = null
+ var avatar: String? = null
+ var bizData: String? = null
+ var deptId: String? = null
+ var deptName: String? = null
+ var id: String? = null
+ var ipAddr: String? = null
+ var name: String? = null
+ var phone: String? = null
+ var scopeType: String? = null
+ var targetId: String? = null
+ var targetName: String? = null
+ var tenantId: String? = null
+ var dataScope: List