Browse Source

1.添加帮助中心获取机构信息功能

王鹏鹏 2 years ago
parent
commit
93757fb9db

+ 1 - 0
.idea/misc.xml

@@ -571,6 +571,7 @@
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_login_out.xml" value="0.151" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_personal_center.xml" value="0.151" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/drawable/bg_setting_center.xml" value="0.1715" />
+        <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/activity_help.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/activity_personal_center.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/activity_setting.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/personalcenter/src/main/res/layout/activity_version_record.xml" value="0.23697916666666666" />

+ 1 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/CommonParam.kt

@@ -13,4 +13,5 @@ object CommonParam {
     val USERSEX = "userSex"
     val USERAGE = "userAge"
     val TXSIGN = "txSign"
+    val ORGCODE = "orgCode"
 }

+ 13 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/User.kt

@@ -177,6 +177,19 @@ object User {
         }
     }
 
+    fun saveOrgCode(orgCode: String) {
+        Preferences.put(CommonParam.ORGCODE, orgCode)
+        CrashReport.setUserId(orgCode)
+    }
+
+    fun getOrgCode(): String {
+        return if (Preferences.getString(CommonParam.ORGCODE).isNullOrEmpty()) {
+            ""
+        } else {
+            Preferences.getString(CommonParam.ORGCODE)!!
+        }
+    }
+
     /**
      * 是否第一次登陆 0第一次登陆
      */

+ 3 - 2
login/src/main/java/com/yingyang/login/ui/login/LoginActivity.kt

@@ -29,8 +29,6 @@ import com.yingyangfly.baselib.utils.User
 class LoginActivity : BaseMVVMActivity<ActivityLoginBinding, LoginViewModel>(),
     View.OnTouchListener {
 
-    private var tabTitles = mutableListOf("手机号登录")
-    private var loginType = 0
     private lateinit var rxTimer: RxTimer
 
     override fun initViews() {
@@ -125,6 +123,9 @@ class LoginActivity : BaseMVVMActivity<ActivityLoginBinding, LoginViewModel>(),
                     }
                     User.saveUserSex(it.getSex())
                     User.saveUserAge(it.getAgeInfo())
+                    if (TextUtils.isEmpty(it.orgCode).not()) {
+                        User.saveOrgCode(it.orgCode)
+                    }
                     if (TextUtils.isEmpty(it.id).not()) {
                         User.saveUserId(it.id)
                     }

+ 26 - 0
personalcenter/src/main/java/com/yingyang/personalcenter/entity/OrgBean.kt

@@ -0,0 +1,26 @@
+package com.yingyang.personalcenter.entity
+
+/**
+ * 机构信息
+ */
+data class OrgBean(
+    val createBy: String,
+    val createTime: String,
+    val email: String,
+    val expirationDate: String,
+    val id: String,
+    val leader: String,
+    val limit: String,
+    val logo: String,
+    val orderNum: String,
+    val orgCode: String,
+    val orgName: String,
+    val page: String,
+    val phone: String,
+    val registerDate: String,
+    val status: String,
+    val updateBy: String,
+    val updateTime: String,
+    val workTime: String,
+    val wxUrl: String
+)

+ 10 - 3
personalcenter/src/main/java/com/yingyang/personalcenter/help/HelpActivity.kt

@@ -6,9 +6,10 @@ import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.yingyang.personalcenter.R
 import com.yingyang.personalcenter.databinding.ActivityHelpBinding
-import com.yingyangfly.baselib.base.BaseActivity
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
+import com.yingyangfly.baselib.ext.toast
+import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.JumpUtil
 
@@ -16,7 +17,7 @@ import com.yingyangfly.baselib.utils.JumpUtil
  * 帮助中心
  */
 @Route(path = RouterUrlCommon.help)
-class HelpActivity : BaseActivity<ActivityHelpBinding>(),
+class HelpActivity : BaseMVVMActivity<ActivityHelpBinding, HelpViewModel>(),
     View.OnTouchListener {
 
     override fun initViews() {
@@ -29,7 +30,13 @@ class HelpActivity : BaseActivity<ActivityHelpBinding>(),
     }
 
     override fun initData() {
-
+        viewModel.findByOrgCode(fail = {
+            it.toast()
+        }, success = {
+            if (it != null) {
+                binding.data = it
+            }
+        })
     }
 
     @SuppressLint("ClickableViewAccessibility")

+ 19 - 0
personalcenter/src/main/java/com/yingyang/personalcenter/help/HelpViewModel.kt

@@ -0,0 +1,19 @@
+package com.yingyang.personalcenter.help
+
+import com.yingyang.personalcenter.entity.OrgBean
+import com.yingyang.personalcenter.net.PERSONALCENTER_API
+import com.yingyangfly.baselib.mvvm.BaseViewModel
+import com.yingyangfly.baselib.utils.User
+
+class HelpViewModel : BaseViewModel() {
+
+    fun findByOrgCode(
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: OrgBean?) -> Unit)? = null,
+    ) = launchFlow(true) {
+        PERSONALCENTER_API.findByOrgCode(User.getOrgCode())
+    }.runUI(
+        success,
+        fail
+    )
+}

+ 8 - 0
personalcenter/src/main/java/com/yingyang/personalcenter/net/PersonalCenterApiService.kt

@@ -1,9 +1,11 @@
 package com.yingyang.personalcenter.net
 
+import com.yingyang.personalcenter.entity.OrgBean
 import com.yingyang.personalcenter.entity.VersionBean
 import com.yingyangfly.baselib.bean.UserInfoBean
 import com.yingyangfly.baselib.net.BaseResp
 import retrofit2.http.POST
+import retrofit2.http.Query
 
 interface PersonalCenterApiService {
 
@@ -24,4 +26,10 @@ interface PersonalCenterApiService {
      */
     @POST("app/logout")
     suspend fun logout(): BaseResp<String>
+
+    /**
+     * 获取机构信息
+     */
+    @POST("app/sysOrg/findByOrgCode")
+    suspend fun findByOrgCode(@Query("orgCode") orgCode: String): BaseResp<OrgBean>
 }

+ 3 - 0
personalcenter/src/main/java/com/yingyang/personalcenter/personalcenter/PersonalCenterActivity.kt

@@ -79,6 +79,9 @@ class PersonalCenterActivity :
                 if (TextUtils.isEmpty(it.name).not()) {
                     User.saveName(it.name)
                 }
+                if (TextUtils.isEmpty(it.orgCode).not()) {
+                    User.saveOrgCode(it.orgCode)
+                }
                 User.saveUserSex(it.getSex())
                 User.saveUserAge(it.getAgeInfo())
                 if (TextUtils.isEmpty(it.id).not()) {

+ 11 - 3
personalcenter/src/main/res/layout/activity_help.xml

@@ -4,6 +4,13 @@
     xmlns:tools="http://schemas.android.com/tools"
     tools:ignore="ResourceName">
 
+    <data>
+
+        <variable
+            name="data"
+            type="com.yingyang.personalcenter.entity.OrgBean" />
+    </data>
+
     <LinearLayout
         style="@style/layout_properties_specify_width_geight"
         android:background="@mipmap/icon_uniform_background"
@@ -98,7 +105,7 @@
                             style="@style/layout_properties_self_adaption"
                             android:layout_marginStart="@dimen/divider_44px"
                             android:layout_marginTop="@dimen/divider_18px"
-                            android:text="服务电话:XXX-XXXXXXX"
+                            android:text='@{"服务电话:"+data.phone}'
                             android:textColor="@color/color_FF333333"
                             android:textSize="@dimen/divider_28px" />
 
@@ -106,7 +113,7 @@
                             style="@style/layout_properties_self_adaption"
                             android:layout_marginStart="@dimen/divider_44px"
                             android:layout_marginTop="@dimen/divider_18px"
-                            android:text="服务时间:工作日8:30-18:00"
+                            android:text='@{"服务时间:"+data.workTime}'
                             android:textColor="@color/color_FF333333"
                             android:textSize="@dimen/divider_28px" />
 
@@ -131,7 +138,8 @@
                         <androidx.appcompat.widget.AppCompatImageView
                             android:layout_width="@dimen/divider_218px"
                             android:layout_height="@dimen/divider_218px"
-                            android:background="@mipmap/icon_qr_code" />
+                            app:isCircle="@{false}"
+                            app:loadHeadImg="@{data.wxUrl}" />
 
                         <androidx.appcompat.widget.AppCompatTextView
                             style="@style/layout_properties_self_adaption"

+ 6 - 11
webview/src/main/java/com/yingyangfly/webview/WebviewActivity.kt

@@ -5,8 +5,11 @@ import android.content.pm.ActivityInfo
 import android.graphics.Bitmap
 import android.os.Build
 import android.os.Bundle
-import android.util.Log
-import android.webkit.*
+import android.text.TextUtils
+import android.webkit.WebResourceRequest
+import android.webkit.WebSettings
+import android.webkit.WebView
+import android.webkit.WebViewClient
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.yingyangfly.baselib.base.BaseActivity
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
@@ -47,16 +50,8 @@ class WebviewActivity : BaseActivity<ActivityWebviewBinding>() {
          * sessionStorage 用来存储与页面相关的数据,它在页面关闭后无法使用。而 localStorage 则持久存在,在页面关闭后也可以使用。
          */
         webSettings?.domStorageEnabled = true
-
-
         // 通过addJavascriptInterface()将Java对象映射到JS对象 下面一行代码是 JS调用原生方法
         binding.web.addJavascriptInterface(AndroidToJs(this), "android")
-//        binding.web.addJavascriptInterface(AndroidToJs(this), "callbackImgHandle")
-//        binding.web.addJavascriptInterface(AndroidToJs(this), "callbackBackHandle")
-
-        binding.web.evaluateJavascript("callbackHandle"
-        ) { value -> Log.e("wpp", "----" + value) }
-
         binding.web.isDrawingCacheEnabled = true
         binding.web.buildDrawingCache()
         binding.web.buildLayer()
@@ -92,7 +87,7 @@ class WebviewActivity : BaseActivity<ActivityWebviewBinding>() {
                 super.onPageStarted(view, url, favicon)
             }
         }
-        if (url.isNullOrEmpty().not()) {
+        if (TextUtils.isEmpty(url).not()) {
             //访问网页
             binding.web.loadUrl(url!!)
         }

+ 3 - 1
webview/src/main/res/layout/activity_webview.xml

@@ -23,7 +23,9 @@
 
             <androidx.appcompat.widget.AppCompatImageView style="@style/back_image" />
 
-            <androidx.appcompat.widget.AppCompatTextView style="@style/back_text" />
+            <androidx.appcompat.widget.AppCompatTextView
+                style="@style/back_text"
+                android:textColor="@color/color_FF333333" />
         </LinearLayout>
 
     </FrameLayout>

+ 2 - 0
workbenches/src/main/java/com/yingyang/workbenches/datamonitor/DataMonitorFragment.kt

@@ -2,6 +2,7 @@ package com.yingyang.workbenches.datamonitor
 
 import android.text.Html
 import android.text.TextUtils
+import android.util.Log
 import androidx.recyclerview.widget.GridLayoutManager
 import com.yingyang.workbenches.R
 import com.yingyang.workbenches.adapter.DataMonitorAdapter
@@ -98,6 +99,7 @@ class DataMonitorFragment : BaseMVVMFragment<FragmentDataMonitorBinding, DataMon
                 if (TextUtils.isEmpty(url).not()) {
                     val trainingDailyUrl = url +
                             "?userId=" + User.getUserId() + "&time=" + selectedTime + "&userToken=" + User.getToken()
+                    Log.e("wpp", "url--------------》        "+trainingDailyUrl)
                     JumpUtil.jumpActivityWithUrl(
                         RouterUrlCommon.load_web_view,
                         trainingDailyUrl,