Browse Source

Merge remote-tracking branch 'origin/landscape_main' into landscape_main

wbspool 1 năm trước cách đây
mục cha
commit
1b99da49d5

+ 179 - 0
BusinessAirFryer/src/main/assets/lang_config_032.json

@@ -0,0 +1,179 @@
+{
+  "langs": [
+    {
+      "name": "Polish(波兰语)",
+      "value": "PL",
+      "icon": "icon_lang_pl",
+      "showName": "Polski",
+      "show": false
+    },
+    {
+      "name": "Spanish(西班牙语)",
+      "value": "ES",
+      "icon": "icon_lang_es",
+      "showName": "Español",
+      "show": true
+    },
+    {
+      "name": "Portuguese(葡萄牙语)",
+      "value": "PT",
+      "icon": "icon_lang_pt",
+      "showName": "Português",
+      "show": true
+    },
+    {
+      "name": "Italiano(意大利语)",
+      "value": "IT",
+      "icon": "icon_lang_it",
+      "showName": "Italiano",
+      "show": true
+    },
+    {
+      "name": "English(英语)",
+      "value": "EN",
+      "icon": "icon_lang_en",
+      "showName": "English",
+      "show": true
+    },
+    {
+      "name": "German(德语)",
+      "value": "DE",
+      "icon": "icon_lang_de",
+      "showName": "Deutsch",
+      "show": true
+    },
+    {
+      "name": "French(法语)",
+      "value": "FR",
+      "icon": "icon_lang_fr",
+      "showName": "Français",
+      "show": false
+    },
+    {
+      "name": "Dutch(荷兰语)",
+      "value": "NL",
+      "icon": "icon_lang_nl",
+      "showName": "Nederlands",
+      "show": false
+    },
+    {
+      "name": "Greek(希腊语)",
+      "value": "GR",
+      "icon": "icon_lang_gr",
+      "showName": "Ελληνικά",
+      "show": false
+    },
+    {
+      "name": "Russian(俄语)",
+      "value": "RU",
+      "icon": "icon_lang_ru",
+      "showName": "Русский",
+      "show": false
+    },
+    {
+      "name": "Romanian(罗马尼亚语)",
+      "value": "RO",
+      "icon": "icon_lang_ro",
+      "showName": "Română",
+      "show": false
+    },
+    {
+      "name": "Finnish(芬兰语)",
+      "value": "FI",
+      "icon": "icon_lang_fi",
+      "showName": "Suomi",
+      "show": false
+    },
+    {
+      "name": "Norsk(挪威语)",
+      "value": "NO",
+      "icon": "icon_lang_no",
+      "showName": "Norsk",
+      "show": false
+    },
+    {
+      "name": "Swedish(瑞典语)",
+      "value": "SE",
+      "icon": "icon_lang_se",
+      "showName": "Svenska",
+      "show": false
+    },
+    {
+      "name": "Danish(丹麦语)",
+      "value": "DK",
+      "icon": "icon_lang_dk",
+      "showName": "Dansk",
+      "show": false
+    },
+    {
+      "name": "Czech(捷克语)",
+      "value": "CZ",
+      "icon": "icon_lang_cz",
+      "showName": "Čeština",
+      "show": false
+    },
+    {
+      "name": "Estonki(爱沙尼亚语)",
+      "value": "EE",
+      "icon": "icon_lang_ee",
+      "showName": "Eesti keel",
+      "show": false
+    },
+    {
+      "name": "Slovak(斯洛伐克语)",
+      "value": "SK",
+      "icon": "icon_lang_sk",
+      "showName": "Slovenčina",
+      "show": false
+    },
+    {
+      "name": "Ukrainian(乌克兰语)",
+      "value": "UK",
+      "icon": "icon_lang_uk",
+      "showName": "Українська",
+      "show": false
+    },
+    {
+      "name": "Arabic(阿拉伯语)",
+      "value": "AR",
+      "icon": "icon_lang_ar",
+      "showName": "العربية",
+      "show": false
+    },
+    {
+      "name": "Lithuanian(立陶宛语)",
+      "value": "LT",
+      "icon": "icon_lang_lt",
+      "showName": "Lietuvių kalba",
+      "show": false
+    },
+    {
+      "name": "Farsi(波斯语)",
+      "value": "IR",
+      "icon": "icon_lang_ir",
+      "showName": "فارسی",
+      "show": false
+    },
+    {
+      "name": "Kazakh(哈萨克语)",
+      "value": "KZ",
+      "icon": "icon_lang_kz",
+      "showName": "Қазақша",
+      "show": false
+    },
+    {
+      "name": "Chinese(中文)",
+      "value": "ZH",
+      "icon": "icon_lang_zh",
+      "showName": "中文",
+      "show": false
+    },
+    {
+      "name": "Japanese(日语)",
+      "value": "JA",
+      "icon": "icon_lang_ja",
+      "showName": "日本語",
+      "show": false
+    }
+  ]
+}

+ 48 - 8
BusinessAirFryer/src/main/assets/tuya_config.json

@@ -220,15 +220,15 @@
       "uid": "uuid1ed716f65a8fc8c6",
       "ak": "TliIl48lle7GbMB2MCjrvWDknjH4guo9"
     },
-    "045A50370020123010190001": {
-      "pid": "lozjriuxwhwpaz4k",
-      "uid": "uuid68716791437c5329",
-      "ak": "qcz27dPBLo82sgvbZpmwuVmZxheKrtzk"
+    "045A20060020123010190001": {
+      "pid": "zqu9xyol98eirdqg",
+      "uid": "uuidbd4d1cbba19ea736",
+      "ak": "S1Tv2LOeANACGugcWdNlszKO6EqgeTMl"
     },
-    "045A50370020123010190002": {
-      "pid": "lozjriuxwhwpaz4k",
-      "uid": "uuiddd1bf831a6aecfae",
-      "ak": "ko3JgbIIFmiNHyD7sPPq4jYyeycrbB6t"
+    "045A20060020123010190002": {
+      "pid": "zqu9xyol98eirdqg",
+      "uid": "uuid11883ce74bcb3c8e",
+      "ak": "jME9tDGXIF3F1Y0E6m9AAAiNeegNJJGO"
     },
     "029C21010020123010190001": {
       "pid": "vowpjhiaj5tyv2rd",
@@ -239,6 +239,46 @@
       "pid": "vowpjhiaj5tyv2rd",
       "uid": "uuid5c221a4957ad2f69",
       "ak": "ysx7mZoKndu12lNAqABH8AP31yW3Iv8v"
+    },
+    "032D21060020123010190001": {
+      "pid": "ua4cifaz2yysnhvx",
+      "uid": "uuida2fe2befab0fd953",
+      "ak": "AtiUKJP1EqEWBzH5xfHKjJ8HnP2kyD0X"
+    },
+    "032D21060020123010190002": {
+      "pid": "ua4cifaz2yysnhvx",
+      "uid": "uuid51d88782ae882cd7",
+      "ak": "vLcW2HLzZUssv6m2TXnCBsYeCFeTHSud"
+    },
+    "000A20020020123010190002": {
+      "pid": "wy8ogbhchnzkmrup",
+      "uid": "uuid7143531b44de5bb0",
+      "ak": "DX3kDyYBLSJL1j9CxFwulaAmErWo2N8W"
+    },
+    "000A20030020123010190001": {
+      "pid": "wy8ogbhchnzkmrup",
+      "uid": "uuid8ada28fd62c8955f",
+      "ak": "YTXLIlSvDmi0TSeVeLOaxeXBxOOqdAbP"
+    },
+    "000A10390020123010190011": {
+      "pid": "wy8ogbhchnzkmrup",
+      "uid": "uuid1a3173102ec7297d",
+      "ak": "WwRyqI7dPt5ymWwEEgDfpj7qDHxuavvW"
+    },
+    "000A10390020123010190012": {
+      "pid": "wy8ogbhchnzkmrup",
+      "uid": "uuiddc725f67a649312d",
+      "ak": "wXJYOjFRWWkmVEOyd5OdXOAatTo0be1R"
+    },
+    "000A10390020123010190013": {
+      "pid": "wy8ogbhchnzkmrup",
+      "uid": "uuid9a548bc824c5e2b9",
+      "ak": "rxR958Jqu5amgXvGLcpgJG6OFIwLEPaj"
+    },
+    "000A20080020123010190001": {
+      "pid": "wy8ogbhchnzkmrup",
+      "uid": "uuide4ebd69311eab54e",
+      "ak": "96cTOSOPxvvcExlyJJe7NrkLaucr0As2"
     }
   }
 }

+ 6 - 2
BusinessAuth/src/main/java/com/develop/auth/ui/MemberProfileFragment.kt

@@ -45,8 +45,12 @@ class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, Me
         viewModel.queryUserInfo()
         binding.tvChooseAge.setOnClickListener {
             AgeSelectDialog(hostActivity) { index, change ->
-                if (index != 0) {
-                    selectAge = index + 20
+                selectAge = if (index == 0) {
+                    0
+                } else if (index == 1){
+                    20
+                } else {
+                    index + 19
                 }
                 binding.tvChooseAge.text = selectAge.toString()
                 binding.tvChooseAge.setTextColor(Color.BLACK)

+ 5 - 0
BusinessCommon/src/main/java/com/develop/common/ui/CommonBindingActivity.kt

@@ -15,6 +15,7 @@ import android.view.inputmethod.InputMethodManager
 import android.widget.EditText
 import androidx.viewbinding.ViewBinding
 import com.develop.base.ext.navigateTo
+import com.develop.base.ext.toJson
 import com.develop.base.mvvm.BaseBindingActivity
 import com.develop.base.mvvm.FullScreenTransparentDialog
 import com.develop.base.util.GlobalToast
@@ -267,9 +268,13 @@ abstract class CommonBindingActivity<T : ViewBinding> : BaseBindingActivity<T>()
 
     @Subscribe
     fun onCookDevMsgEvent(event: DevPromptEvent) {
+        Log.d("设备返回", "msg=>${event.msg}==action=>${event.action}==errorCode=>${CofarSDK.devInfo().errCode}")
         if (!this.equals(TopResumedAtyHolder.getCurrentActivity())) {
             return
         }
+        if (CofarSDK.devInfo().errCode.toInt() != 0 && event.msg == "dev_end_of_run_tips") {
+            return
+        }
 
         if("hide" == event.action){
             lastMsg = "";

+ 1 - 1
BusinessCommon/src/main/java/com/develop/common/utils/AppVersionUtil.kt

@@ -259,7 +259,7 @@ object AppVersionUtil {
             if (!jsonFile.exists()) {
                 return
             }
-            val jsonContent = FileKit.readFileToString(jsonFile)
+            val jsonContent = FileKit.readFileToStringB(jsonFile)
             val contentData = jsonDecoder.decodeFromString<RecipeDataConfig>(jsonContent)
             contentData.resetAllCodes()
             FoodDataProvider.getDatabase().runInTransaction {

BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/splash_logo_032.png


+ 8 - 0
BusinessCommon/src/main/res/values/themes.xml

@@ -55,4 +55,12 @@
         <item name="windowActionBar">false</item>
         <item name="android:windowFullscreen">true</item>
     </style>
+
+    <style name="Splash032DTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
+        <!-- 这里的trans自己写一个#00000000即可-->
+        <item name="android:windowBackground">@drawable/splash_logo_032</item>
+        <item name="windowNoTitle">true</item>
+        <item name="windowActionBar">false</item>
+        <item name="android:windowFullscreen">true</item>
+    </style>
 </resources>

+ 1 - 1
BusinessStep/src/main/java/com/develop/step/viewmodel/CookDetailViewModel.kt

@@ -200,7 +200,7 @@ class CookDetailViewModel : BaseViewModel() {
                 }
                 return
             }
-            val jsonContent = FileKit.readFileToString(jsonFile)
+            val jsonContent = FileKit.readFileToStringB(jsonFile)
 
             val contentData = GsonUtils.fromJson(jsonContent, RecipeDataConfig::class.java)
 //            contentData.resetAllCodes()

+ 9 - 1
app/build.gradle

@@ -12,7 +12,7 @@ ext{
 
     versionCode=Integer.parseInt(new SimpleDateFormat("yyMMddHH").format(new Date()) + 1)
 //    versionCode=230617180
-    brandCode="010D"
+    brandCode="045A"
     model="1039"
 
 }
@@ -150,6 +150,13 @@ android {
             buildConfigField("String", "UpdatePlatform", "\"normal\"")
         }
 
+        brand032DTuya {
+            dimension "platform"
+            applicationId "com.develop.foodcooking"
+            buildConfigField("String", "UpdatePlatform", "\"normal\"")
+            resValue("string", "app_theme", "@style/Splash032DTheme")
+        }
+
     }
 
     signingConfigs {
@@ -188,6 +195,7 @@ android {
             productFlavors.brand036I.signingConfig signingConfigs.release
             productFlavors.brand000A.signingConfig signingConfigs.release
             productFlavors.brand045ATuya.signingConfig signingConfigs.release
+            productFlavors.brand032DTuya.signingConfig signingConfigs.release
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
     }

+ 206 - 0
app/src/main/assets/help/PT/help-white.html

@@ -0,0 +1,206 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Preguntas y respuestas frecuentes</title>
+</head>
+
+<style>
+  * {
+    margin: 0;
+    padding: 0;
+  }
+
+  body {
+    background-color: #ffffff;
+    height: 100vh;
+    color: #000000;
+    padding: 12px;
+  }
+
+  p {
+    font-size: 14px;
+  }
+
+  .item {
+    margin-top: 14px;
+  }
+
+  .item h3 {
+    position: relative;
+  }
+
+  .item h3::after {
+    content: "";
+    display: inline-block;
+    width: 12px;
+    height: 12px;
+    border-top: 2px solid #000000;
+    border-right: 2px solid #000000;
+    transform: rotate(136deg);
+    margin-left: 14px;
+  }
+
+  .item p,
+  .item ul {
+    display: none;
+    margin-top: 8px;
+  }
+
+  .item:hover p,
+  .item:hover ul {
+    display: block;
+  }
+</style>
+
+<body>
+  <h2>Preguntas y respuestas frecuentes</h2>
+  <div class="item">
+    <h3>La cuchilla Se torció cuando me preparé por primera vez..</h3>
+    <p>La cuchilla no está dañada, se puede ver su forma específica en el manual, tiene una cuchilla más curvada para
+      mezclar mejor la materia prima.</p>
+  </div>
+
+  <div class="item">
+    <h3>La primera vez que se usa, el humo sale de la parte posterior del equipo.</h3>
+    <p>Este fenómeno es normal, el humo proviene del devanado del motor, ya que es nuevo y emite humo y un ligero olor
+      "termoplástico" cuando se usa por primera vez. Este fenómeno se aliviará y desaparecerá en uso.</p>
+  </div>
+
+  <div class="item">
+    <h3>Mi robot ya no se calienta o no sube a la temperatura requerida.</h3>
+    <p>Una vez preparado y enfriado el tazón, basta con presionar con el dedo la sonda térmica colocada debajo del tazón
+      hasta que se escuche un "clic".</p>
+  </div>
+
+  <div class="item">
+    <h3>Mensaje de error en la pantalla durante la receta.</h3>
+    <p>El Robot está equipado con dispositivos de Seguridad para minimizar el riesgo de sobrecarga del motor
+      (desbordamiento o preparación excesiva). Para resolver este problema, apague el dispositivo y deje que se enfríe
+      durante unos 20 a 30 minutos. Después de eso, el problema debe resolverse. Si todavía ve que la cocina robótica no
+      se puede abrir, repita el proceso de enfriamiento. Si otros métodos no funcionan, Póngase en contacto con el
+      servicio post - venta.</p>
+  </div>
+
+  <div class="item">
+    <h3>El tazón no está completamente colocado en la base o la tapa no está en la posición de bloqueo.</h3>
+    <p>Comprobar si el eje motriz del accesorio está completamente bloqueado (en la parte superior del filtro).</p>
+  </div>
+
+  <div class="item">
+    <h3>Accesorios: perdí la canasta de vapor, perdí el putt y me rompí el látigo.</h3>
+    <p>Los clientes pueden comprar piezas directamente en el sitio web o hacer pedidos directamente en la dirección de
+      correo electrónico a través de POS</p>
+  </div>
+
+  <div class="item">
+    <h3>La tapa es difícil de cerrar.</h3>
+    <p>Lubricar el sello de la tapa después de cada limpieza (por ejemplo, lubricar los dedos con aceite vegetal y
+      aplicarlo al sello).</p>
+  </div>
+
+  <div class="item">
+    <h3>No puedo conectarme a wifi: la contraseña es correcta, cerca de la Caja.</h3>
+    <p>Este problema se debe al Protocolo de Seguridad WiFi utilizado por la Caja. La Caja debe usar el último protocolo
+      (wpa2) y debe actualizar el software de la Caja.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ necesito una conexión wifi para crear recetas?</h3>
+    <p>No, la conexión wifi solo se utiliza para actualizaciones de recetas.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ a qué temperatura se calienta mi robot?</h3>
+    <p>En modo manual, el robot puede calentarse de 37 ° C a 130 ° c, y puede optar por cambiar la temperatura en
+      incrementos de 5 ° c. el dial de temperatura solo muestra que la temperatura de la receta es superior a 37 ° c.
+    </p>
+    <p>*Algunas de las recetas automáticas del medio se pueden cocinar a 160 ° c, pero el modo manual se limita a 130 °
+      C.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ cuál es el régimen del motor?</h3>
+    <p>La velocidad se puede ajustar de 1 a 12.</p>
+    <p>Por razones de seguridad, los robots limitan la velocidad a 3 en sus actividades culinarias.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ Cómo limpiar mi robot?</h3>
+    <p>Después de apagar y quitar el cable de alimentación, se recomienda lavar el tazón y los accesorios con agua
+      caliente inmediatamente después de usar el robot.</p>
+    <p>Si hay marcas de quemaduras en el Fondo del tazón, es mejor remojar el interior del tazón y frotar ocasionalmente
+      el Fondo del tazón con una esponja hasta que la comida se pela.</p>
+    <p>También puede iniciar el procedimiento de limpieza. </p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ todos los accesorios pueden ser lavavajillas?</h3>
+    <p>Todos los accesorios del robot se pueden colocar en el lavavajillas (excepto el bloque del motor).</p>
+  </div>
+
+  <div class="item">
+    <h3>Algunos alimentos pueden decolorar el plástico. ¿¿ cómo limpiar?</h3>
+    <p>Algunos materiales de color, como curry, tomate, zanahoria, etc., contaminan las piezas de plástico, y este
+      efecto de color no siempre se puede evitar. Este color no afectará su salud ni el funcionamiento de los
+      accesorios.
+      Para reducir el color, limpie el área manchada con un paño o toallas de papel empapadas en aceite comestible y
+      luego limpie regularmente.</p>
+    <p>La limpieza debe realizarse inmediatamente después de su uso para reducir la contaminación.</p>
+    <p>Nota: este problema no está cubierto por la garantía porque es un problema estético y no una avería.</p>
+  </div>
+
+  <div class="item">
+    <h3>Aparecieron puntos blancos en la tapa de la olla. ¿¿ cómo eliminarlos?</h3>
+    <p>Estos rastros son depósitos de tarro producidos durante la cocción utilizando agua de piedra caliza. Se debe
+      utilizar una solución antiincrustante y remojar la tapa durante el tiempo suficiente para suavizar las marcas.
+      Tenga en cuenta que cuanto más tiempo se cocinen estas manchas, más difícil será eliminarlas. Por lo tanto,
+      recomendamos retirarlo inmediatamente después de detectarlo.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ Cómo limpiar los alimentos quemados y adheridos al Fondo del tazón?</h3>
+    <p>Hay varias soluciones, por ejemplo, puedes remojar el agua de fondo en bicarbonato de sodio, limón o
+      lavavajillas.</p>
+    <p>También puedes calentar un poco de vinagre blanco y unas gotas de líquido para lavar los platos en un tazón,
+      dejarlo reposar por un tiempo antes de lavarlo. Si todo el contenido no ha desaparecido, reinicie la operación.
+      Una recomendación particularmente efectiva es poner en su interior una partícula del lavavajillas y un poco de
+      agua caliente para que se remoje por un tiempo.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ cómo evitar que los alimentos que hay que cocinar sigan pegados al tazón?</h3>
+    <p>Antes de comenzar a cocinar recetas, recomendamos aplicar aceite en el Fondo del tazón con papel absorbente
+      empapado. Este mantenimiento regular evita que los alimentos se peguen al tazón. Para preparaciones azucaradas,
+      sustituir el aceite por un poco de jugo de limón.</p>
+  </div>
+
+  <div class="item">
+    <h3>Mezcla incorrecta de ingredientes o cocina incompleta</h3>
+    <p>Esto puede deberse a que las recetas problemáticas pueden requerir más tiempo de cocción.
+      Aunque en teoría hay un tiempo de cocción claro de los alimentos en la receta, el tiempo de cocción puede variar
+      según varios factores :</p>
+    <ul>
+      <li>Temperatura de los alimentos en la receta ;</li>
+      <li>Si no sacas los ingredientes del refrigerador y no están a temperatura ambiente ;</li>
+      <li>Fuente y madurez de las materias primas.</li>
+    </ul>
+  </div>
+
+  <div class="item">
+    <h3>No sé cómo calentar los platos prefabricados.</h3>
+    <p>R : Debe cambiar al modo manual y seleccionar la temperatura, la duración, etc., en función de la preparación
+      para calentarse.</p>
+  </div>
+
+  <div class="item">
+    <h3>Desbordamiento del equipo durante la cocción.</h3>
+    <p>R : Este fenómeno se debe a la temperatura excesiva del líquido y los alimentos en el tazón, lo que aumenta la
+      presión en el tazón y provoca derrames. Para evitar esto, baje la temperatura o use una gran canasta de vapor con
+      una tapa de vidrio en lugar de una tapa de cocina.</p>
+  </div>
+</body>
+
+</html>

+ 206 - 0
app/src/main/assets/help/PT/help.html

@@ -0,0 +1,206 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>帮助文件</title>
+</head>
+
+<style>
+  * {
+    margin: 0;
+    padding: 0;
+  }
+
+  body {
+    background-color: #000000;
+    height: 100vh;
+    color: #ffffff;
+    padding: 12px;
+  }
+
+  p {
+    font-size: 14px;
+  }
+
+  .item {
+    margin-top: 14px;
+  }
+
+  .item h3 {
+    position: relative;
+  }
+
+  .item h3::after {
+    content: "";
+    display: inline-block;
+    width: 12px;
+    height: 12px;
+    border-top: 2px solid #ffffff;
+    border-right: 2px solid #ffffff;
+    transform: rotate(136deg);
+    margin-left: 14px;
+  }
+
+  .item p,
+  .item ul {
+    display: none;
+    margin-top: 8px;
+  }
+
+  .item:hover p,
+  .item:hover ul {
+    display: block;
+  }
+</style>
+
+<body>
+  <h2>Preguntas y respuestas frecuentes</h2>
+  <div class="item">
+    <h3>La cuchilla Se torció cuando me preparé por primera vez..</h3>
+    <p>La cuchilla no está dañada, se puede ver su forma específica en el manual, tiene una cuchilla más curvada para
+      mezclar mejor la materia prima.</p>
+  </div>
+
+  <div class="item">
+    <h3>La primera vez que se usa, el humo sale de la parte posterior del equipo.</h3>
+    <p>Este fenómeno es normal, el humo proviene del devanado del motor, ya que es nuevo y emite humo y un ligero olor
+      "termoplástico" cuando se usa por primera vez. Este fenómeno se aliviará y desaparecerá en uso.</p>
+  </div>
+
+  <div class="item">
+    <h3>Mi robot ya no se calienta o no sube a la temperatura requerida.</h3>
+    <p>Una vez preparado y enfriado el tazón, basta con presionar con el dedo la sonda térmica colocada debajo del tazón
+      hasta que se escuche un "clic".</p>
+  </div>
+
+  <div class="item">
+    <h3>Mensaje de error en la pantalla durante la receta.</h3>
+    <p>El Robot está equipado con dispositivos de Seguridad para minimizar el riesgo de sobrecarga del motor
+      (desbordamiento o preparación excesiva). Para resolver este problema, apague el dispositivo y deje que se enfríe
+      durante unos 20 a 30 minutos. Después de eso, el problema debe resolverse. Si todavía ve que la cocina robótica no
+      se puede abrir, repita el proceso de enfriamiento. Si otros métodos no funcionan, Póngase en contacto con el
+      servicio post - venta.</p>
+  </div>
+
+  <div class="item">
+    <h3>El tazón no está completamente colocado en la base o la tapa no está en la posición de bloqueo.</h3>
+    <p>Comprobar si el eje motriz del accesorio está completamente bloqueado (en la parte superior del filtro).</p>
+  </div>
+
+  <div class="item">
+    <h3>Accesorios: perdí la canasta de vapor, perdí el putt y me rompí el látigo.</h3>
+    <p>Los clientes pueden comprar piezas directamente en el sitio web o hacer pedidos directamente en la dirección de
+      correo electrónico a través de POS</p>
+  </div>
+
+  <div class="item">
+    <h3>La tapa es difícil de cerrar.</h3>
+    <p>Lubricar el sello de la tapa después de cada limpieza (por ejemplo, lubricar los dedos con aceite vegetal y
+      aplicarlo al sello).</p>
+  </div>
+
+  <div class="item">
+    <h3>No puedo conectarme a wifi: la contraseña es correcta, cerca de la Caja.</h3>
+    <p>Este problema se debe al Protocolo de Seguridad WiFi utilizado por la Caja. La Caja debe usar el último protocolo
+      (wpa2) y debe actualizar el software de la Caja.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ necesito una conexión wifi para crear recetas?</h3>
+    <p>No, la conexión wifi solo se utiliza para actualizaciones de recetas.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ a qué temperatura se calienta mi robot?</h3>
+    <p>En modo manual, el robot puede calentarse de 37 ° C a 130 ° c, y puede optar por cambiar la temperatura en
+      incrementos de 5 ° c. el dial de temperatura solo muestra que la temperatura de la receta es superior a 37 ° c.
+    </p>
+    <p>*Algunas de las recetas automáticas del medio se pueden cocinar a 160 ° c, pero el modo manual se limita a 130 °
+      C.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ cuál es el régimen del motor?</h3>
+    <p>La velocidad se puede ajustar de 1 a 12.</p>
+    <p>Por razones de seguridad, los robots limitan la velocidad a 3 en sus actividades culinarias.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ Cómo limpiar mi robot?</h3>
+    <p>Después de apagar y quitar el cable de alimentación, se recomienda lavar el tazón y los accesorios con agua
+      caliente inmediatamente después de usar el robot.</p>
+    <p>Si hay marcas de quemaduras en el Fondo del tazón, es mejor remojar el interior del tazón y frotar ocasionalmente
+      el Fondo del tazón con una esponja hasta que la comida se pela.</p>
+    <p>También puede iniciar el procedimiento de limpieza. </p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ todos los accesorios pueden ser lavavajillas?</h3>
+    <p>Todos los accesorios del robot se pueden colocar en el lavavajillas (excepto el bloque del motor).</p>
+  </div>
+
+  <div class="item">
+    <h3>Algunos alimentos pueden decolorar el plástico. ¿¿ cómo limpiar?</h3>
+    <p>Algunos materiales de color, como curry, tomate, zanahoria, etc., contaminan las piezas de plástico, y este
+      efecto de color no siempre se puede evitar. Este color no afectará su salud ni el funcionamiento de los
+      accesorios.
+      Para reducir el color, limpie el área manchada con un paño o toallas de papel empapadas en aceite comestible y
+      luego limpie regularmente.</p>
+    <p>La limpieza debe realizarse inmediatamente después de su uso para reducir la contaminación.</p>
+    <p>Nota: este problema no está cubierto por la garantía porque es un problema estético y no una avería.</p>
+  </div>
+
+  <div class="item">
+    <h3>Aparecieron puntos blancos en la tapa de la olla. ¿¿ cómo eliminarlos?</h3>
+    <p>Estos rastros son depósitos de tarro producidos durante la cocción utilizando agua de piedra caliza. Se debe
+      utilizar una solución antiincrustante y remojar la tapa durante el tiempo suficiente para suavizar las marcas.
+      Tenga en cuenta que cuanto más tiempo se cocinen estas manchas, más difícil será eliminarlas. Por lo tanto,
+      recomendamos retirarlo inmediatamente después de detectarlo.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ Cómo limpiar los alimentos quemados y adheridos al Fondo del tazón?</h3>
+    <p>Hay varias soluciones, por ejemplo, puedes remojar el agua de fondo en bicarbonato de sodio, limón o
+      lavavajillas.</p>
+    <p>También puedes calentar un poco de vinagre blanco y unas gotas de líquido para lavar los platos en un tazón,
+      dejarlo reposar por un tiempo antes de lavarlo. Si todo el contenido no ha desaparecido, reinicie la operación.
+      Una recomendación particularmente efectiva es poner en su interior una partícula del lavavajillas y un poco de
+      agua caliente para que se remoje por un tiempo.</p>
+  </div>
+
+  <div class="item">
+    <h3>¿¿ cómo evitar que los alimentos que hay que cocinar sigan pegados al tazón?</h3>
+    <p>Antes de comenzar a cocinar recetas, recomendamos aplicar aceite en el Fondo del tazón con papel absorbente
+      empapado. Este mantenimiento regular evita que los alimentos se peguen al tazón. Para preparaciones azucaradas,
+      sustituir el aceite por un poco de jugo de limón.</p>
+  </div>
+
+  <div class="item">
+    <h3>Mezcla incorrecta de ingredientes o cocina incompleta</h3>
+    <p>Esto puede deberse a que las recetas problemáticas pueden requerir más tiempo de cocción.
+      Aunque en teoría hay un tiempo de cocción claro de los alimentos en la receta, el tiempo de cocción puede variar
+      según varios factores :</p>
+    <ul>
+      <li>Temperatura de los alimentos en la receta ;</li>
+      <li>Si no sacas los ingredientes del refrigerador y no están a temperatura ambiente ;</li>
+      <li>Fuente y madurez de las materias primas.</li>
+    </ul>
+  </div>
+
+  <div class="item">
+    <h3>No sé cómo calentar los platos prefabricados.</h3>
+    <p>R : Debe cambiar al modo manual y seleccionar la temperatura, la duración, etc., en función de la preparación
+      para calentarse.</p>
+  </div>
+
+  <div class="item">
+    <h3>Desbordamiento del equipo durante la cocción.</h3>
+    <p>R : Este fenómeno se debe a la temperatura excesiva del líquido y los alimentos en el tazón, lo que aumenta la
+      presión en el tazón y provoca derrames. Para evitar esto, baje la temperatura o use una gran canasta de vapor con
+      una tapa de vidrio en lugar de una tapa de cocina.</p>
+  </div>
+</body>
+
+</html>

+ 1 - 4
libBase/src/main/java/com/develop/base/mvvm/FullScreenTransparentDialog.kt

@@ -33,10 +33,7 @@ abstract class FullScreenTransparentDialog : DialogFragment() {
             )
         }
         dialog?.setOnKeyListener { dialogInterface, i, keyEvent ->
-            if (keyEvent.action == KeyEvent.ACTION_UP) {
-                EventBus.getDefault().post(CloseDialogEvent())
-                false
-            } else keyEvent.action == KeyEvent.ACTION_DOWN
+            i == KeyEvent.KEYCODE_BACK
         }
     }
 

+ 24 - 1
libBase/src/main/java/com/develop/base/util/FileKit.kt

@@ -4,11 +4,11 @@ import android.content.ContentUris
 import android.content.Context
 import android.database.Cursor
 import android.net.Uri
-import android.os.Build
 import android.os.Environment
 import android.provider.DocumentsContract
 import android.provider.MediaStore
 import java.io.*
+import java.nio.charset.Charset
 
 
 object FileKit {
@@ -54,6 +54,29 @@ object FileKit {
         return sb.toString()
     }
 
+    fun readFileToStringB(file: File): String {
+        val sb = StringBuilder()
+        try {
+            //打开文件输入流
+            val inputStream = FileInputStream(file)
+            val inputStreamReader = InputStreamReader(inputStream,Charset.forName("utf-8"))
+            val bufferedReader = BufferedReader(inputStreamReader)
+            var str: String
+            while (bufferedReader.readLine().also { str = it } != null) {
+                println("====>字符流:$str")
+                sb.append(str)
+            }
+            bufferedReader.close()
+            //关闭输入流
+            inputStreamReader.close()
+            inputStream.close()
+        } catch (ex: Exception) {
+            ex.printStackTrace()
+        }
+        return sb.toString()
+    }
+
+
     fun writeToFile(file: File, content: String) {
         try {
             val out = BufferedWriter(FileWriter(file))