Browse Source

Merge branch 'F/20231026_RTCChange' of https://gogs.ghz-tech.com:8843/GHzGlass/GHZLangChao into F/20231026_RTCChange

胡佳骏 1 year ago
parent
commit
b363c6c21d
30 changed files with 2891 additions and 650 deletions
  1. 7 2
      Assets/Game/Blue/Controller/LangChaoRommMinIo.cs
  2. 7 1
      Assets/Game/ShowChoose/ChooseManager.cs
  3. 500 296
      Assets/Game/ShowChoose/ShowChoose.prefab
  4. 587 287
      Assets/Game/ShowXunJian/ShowXunJian.prefab
  5. 627 0
      Assets/Game/ShowXunJian/TaskItem.prefab
  6. 7 0
      Assets/Game/ShowXunJian/TaskItem.prefab.meta
  7. 97 0
      Assets/Game/ShowXunJian/XJTaskItem.cs
  8. 11 0
      Assets/Game/ShowXunJian/XJTaskItem.cs.meta
  9. 376 0
      Assets/Game/ShowXunJian/XunJianDetails.cs
  10. 11 0
      Assets/Game/ShowXunJian/XunJianDetails.cs.meta
  11. 14 0
      Assets/Game/ShowXunJian/XunJianErrorBtn.cs
  12. 11 0
      Assets/Game/ShowXunJian/XunJianErrorBtn.cs.meta
  13. 28 0
      Assets/Game/ShowXunJian/XunJianException.cs
  14. 11 0
      Assets/Game/ShowXunJian/XunJianException.cs.meta
  15. 140 0
      Assets/Game/ShowXunJian/XunJianInitialize.cs
  16. 11 0
      Assets/Game/ShowXunJian/XunJianInitialize.cs.meta
  17. 81 0
      Assets/Game/ShowXunJian/XunJianPhotos.cs
  18. 11 0
      Assets/Game/ShowXunJian/XunJianPhotos.cs.meta
  19. 119 58
      Assets/LangChaoJiekou.cs
  20. 4 4
      Assets/LangChaoRTC/Remote/ShowRoom/RoomFile.prefab
  21. 61 0
      Assets/Scenes/LangChaoDemo2.unity
  22. 1 0
      Assets/Scripts/MQTT/MQTTManager.cs
  23. 8 0
      Assets/Scripts/New Folder.meta
  24. 15 0
      Assets/Scripts/UI/XunJianAllData.cs
  25. 11 0
      Assets/Scripts/UI/XunJianAllData.cs.meta
  26. 34 0
      Assets/Scripts/UI/XunJianDataManager.cs
  27. 11 0
      Assets/Scripts/UI/XunJianDataManager.cs.meta
  28. 77 0
      Assets/Scripts/UI/XunJianDefault.cs
  29. 11 0
      Assets/Scripts/UI/XunJianDefault.cs.meta
  30. 2 2
      Assets/UI/1027/2/切图_slices/Card-BG@2x(2).png.meta

+ 7 - 2
Assets/Game/Blue/Controller/LangChaoRommMinIo.cs

@@ -78,10 +78,15 @@ public class LangChaoRommMinIo : MonoSingleton<LangChaoRommMinIo>
         rfdb.rfd = rfd;
         rfdb.Nowfd = Nowfd;
         backQueue.Enqueue(rfdb);*/
-        StatObjectArgs statObjectArgs = new StatObjectArgs()
+        StatObjectArgs statObjectArgs = new StatObjectArgs()                                              
                                               .WithBucket(Nowfd.bucket)
                                               .WithObject(Nowfd.objectName);
-            await minio.StatObjectAsync(statObjectArgs);
+
+
+        //.WithBucket("cmcc")
+        //.WithObject("remote/845995/eb00bda9-c63b-4b93-a801-e45548e7a8c2.pdf");
+
+        await minio.StatObjectAsync(statObjectArgs);
 
             // Get input stream to have content of 'my-objectname' from 'my-bucketname'
             GetObjectArgs getObjectArgs = new GetObjectArgs()

+ 7 - 1
Assets/Game/ShowChoose/ChooseManager.cs

@@ -4,6 +4,7 @@ using Blue;
 using UnityEngine;
 using UnityEngine.UI;
 using UnityEngine.Events;
+using static LangChaoJiekou;
 
 public class ChooseManager : MonoBehaviour,IController
 {
@@ -37,7 +38,10 @@ public class ChooseManager : MonoBehaviour,IController
     }
     public void GetInspectionInfo()
     {
-        this.GetService<IInspectionService>().Get();
+        //  this.GetService<IInspectionService>().Get();
+
+       
+
     }
 
     public void GotoSupport()
@@ -68,6 +72,8 @@ public class ChooseManager : MonoBehaviour,IController
         Tip.SetActive(false);
     }
 
+   
+
     private void OnEnable()
     {
         if(mQueueSystem.Level3QueueCount.Value>0)

File diff suppressed because it is too large
+ 500 - 296
Assets/Game/ShowChoose/ShowChoose.prefab


File diff suppressed because it is too large
+ 587 - 287
Assets/Game/ShowXunJian/ShowXunJian.prefab


+ 627 - 0
Assets/Game/ShowXunJian/TaskItem.prefab

@@ -0,0 +1,627 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2901995831393273930
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6756658978992705020}
+  - component: {fileID: 9003852249877709816}
+  - component: {fileID: 3904300525323143662}
+  m_Layer: 5
+  m_Name: Name_Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6756658978992705020
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2901995831393273930}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7940795203904938627}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: -93}
+  m_SizeDelta: {x: 211.339, y: 114.19}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9003852249877709816
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2901995831393273930}
+  m_CullTransparentMesh: 1
+--- !u!114 &3904300525323143662
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2901995831393273930}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: "\u901A\u98CE\u6548\u679C"
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 53b37c1f568195149b410dacded90c09, type: 2}
+  m_sharedMaterial: {fileID: 1738077909898060448, guid: 53b37c1f568195149b410dacded90c09, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 50
+  m_fontSizeBase: 50
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 1
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 4096
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &7645084872700758707
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7940795203904938627}
+  - component: {fileID: 7350649361258748609}
+  m_Layer: 5
+  m_Name: TaskItem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7940795203904938627
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7645084872700758707}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 4337334007917550768}
+  - {fileID: 1525682237224124644}
+  - {fileID: 6756658978992705020}
+  - {fileID: 1969131897574581988}
+  - {fileID: 4222002658792191365}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &7350649361258748609
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7645084872700758707}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 577315de11183c947bb2a68c0f3ad735, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &7700981336343179168
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4222002658792191365}
+  - component: {fileID: 7177540592047949249}
+  - component: {fileID: 2244507811620856916}
+  m_Layer: 5
+  m_Name: Error
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4222002658792191365
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7700981336343179168}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7940795203904938627}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 43, y: 108}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7177540592047949249
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7700981336343179168}
+  m_CullTransparentMesh: 1
+--- !u!114 &2244507811620856916
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7700981336343179168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: f99c22f51e806554992f40e41b5de0ff, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8418501295247032965
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4337334007917550768}
+  - component: {fileID: 7123460190821151719}
+  - component: {fileID: 1133348280102369988}
+  - component: {fileID: 5190978295931163826}
+  m_Layer: 5
+  m_Name: Toggle1 (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4337334007917550768
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8418501295247032965}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7940795203904938627}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 48}
+  m_SizeDelta: {x: 160, y: 160}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7123460190821151719
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8418501295247032965}
+  m_CullTransparentMesh: 1
+--- !u!114 &1133348280102369988
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8418501295247032965}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: e59f0c20b2a57ef498b06dbc3c4a05ac, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &5190978295931163826
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8418501295247032965}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1133348280102369988}
+  toggleTransition: 1
+  graphic: {fileID: 0}
+  m_Group: {fileID: 0}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
+        m_MethodName: SetActive
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 1
+        m_CallState: 2
+  m_IsOn: 1
+--- !u!1 &8430249991365198025
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1969131897574581988}
+  - component: {fileID: 6665109891714907890}
+  - component: {fileID: 7286170989260178358}
+  m_Layer: 5
+  m_Name: bg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1969131897574581988
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8430249991365198025}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7940795203904938627}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 48}
+  m_SizeDelta: {x: 160, y: 160}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6665109891714907890
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8430249991365198025}
+  m_CullTransparentMesh: 1
+--- !u!114 &7286170989260178358
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8430249991365198025}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: b6306d43fbcbb90428c13e7d8e4b69ab, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8440265010240603882
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1525682237224124644}
+  - component: {fileID: 5336381612969367342}
+  - component: {fileID: 3574649648161934019}
+  m_Layer: 5
+  m_Name: Num_Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1525682237224124644
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8440265010240603882}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7940795203904938627}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 48}
+  m_SizeDelta: {x: 160, y: 160}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5336381612969367342
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8440265010240603882}
+  m_CullTransparentMesh: 1
+--- !u!114 &3574649648161934019
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8440265010240603882}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 1
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 53b37c1f568195149b410dacded90c09, type: 2}
+  m_sharedMaterial: {fileID: 1738077909898060448, guid: 53b37c1f568195149b410dacded90c09, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4278249983
+  m_fontColor: {r: 1, g: 0.9132024, b: 0, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 80
+  m_fontSizeBase: 80
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 1
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 4096
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

+ 7 - 0
Assets/Game/ShowXunJian/TaskItem.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 87071b209bf7fca41b94d3839f47ca29
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 97 - 0
Assets/Game/ShowXunJian/XJTaskItem.cs

@@ -0,0 +1,97 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using TMPro;
+using static LangChaoJiekou;
+using Newtonsoft.Json;
+
+public class XJTaskItem : MonoBehaviour
+{
+    public Toggle toggle;
+    public TMP_Text numText;
+    public TMP_Text nameText;
+    public GameObject errorObj;
+    public GameObject imageBG;
+    public RoomItem itemData;
+    public XunJianDetails xjDetails;
+
+   
+    private void Start()
+    {
+        toggle.onValueChanged.AddListener((b) =>
+        {  
+            if(b)
+            {
+                XunJianInitialize.Instance.checkTaskItem = this;
+                // 把数据传递出去
+                xjDetails.InitData(itemData);
+            }
+        });
+        numText.raycastTarget = false;
+        nameText.raycastTarget = false;
+    }
+    public void InitData(int num, RoomItem data , XunJianDetails xjDetails)
+    {
+        this.itemData = data;
+        this.xjDetails = xjDetails;
+
+        numText.text = num.ToString();
+        nameText.text = data.inspItemName;
+
+        if(data.recd ==null)
+        {
+            // 未操作过的
+            errorObj.SetActive(false);
+            imageBG.SetActive(false);
+        }
+        else
+        {
+            errorObj.SetActive(data.recd.recordStatus == "0");
+            imageBG.SetActive(true);
+        } 
+    }
+
+    public void SubmitData(List<string> imageUrl, string state, string memo)
+    {
+        string url = JsonConvert.SerializeObject(imageUrl);
+        Debug.Log("DGJ ===> SubmitData  " + url + state + memo);
+      //  Debug.Log("DGJ ===> SubmitData  " + JsonConvert.SerializeObject(itemData.recd.recordImgList) + itemData.recd.recordStatus + itemData.recd.recordMemo);
+        if (itemData.recd == null)
+        {
+            itemData.recd = new Record();
+
+            itemData.recd.distributeId = XunJianAllData.taskItem.distributeId;         
+            itemData.recd.recordTargetId = XunJianAllData.taskItem.distributeTargetId;
+            itemData.recd.recordTarget = XunJianAllData.taskItem.distributeTarget;
+            itemData.recd.recordTargetType = "1";
+            itemData.recd.inspItemId = itemData.inspItemId;
+            itemData.recd.inspItemName = itemData.inspItemName;
+            itemData.recd.recordMemo = null;
+            itemData.recd.recordStatus = null;
+            itemData.recd.recordImg = null;
+            itemData.recd.recordImgList = null;
+        }
+
+        if(url != JsonConvert.SerializeObject(itemData.recd.recordImgList) ||state!= itemData.recd.recordStatus||memo!= itemData.recd.recordMemo)
+        {
+
+
+            Debug.Log("DGJ ===> Record   ");
+
+            itemData.recd.recordImg = url;
+            itemData.recd.recordStatus = state;
+            itemData.recd.recordMemo = memo;
+            itemData.recd.recordImgList = imageUrl;
+            LangChaoJiekou.Instance.addRecord(itemData.recd, (b) => {
+
+                if (b)
+                {
+                    Debug.Log("DGJ ===> Record  更新成功");
+                }
+            });
+
+        }
+
+    }
+}

+ 11 - 0
Assets/Game/ShowXunJian/XJTaskItem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 577315de11183c947bb2a68c0f3ad735
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 376 - 0
Assets/Game/ShowXunJian/XunJianDetails.cs

@@ -0,0 +1,376 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using TMPro;
+using static LangChaoJiekou;
+using UnityEngine.UI;
+using System.IO;
+using LitJson;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+public class XunJianDetails : MonoBehaviour
+{
+    public TMP_Text xjName;
+
+
+    public List<Image> listImages;
+
+    public Button normalBtn;
+    public Button WarningBtn;
+
+    public Image normalBG1;
+    public Image normalBG2;
+
+    public Image warningBG1;
+    public Image WarningBG2;
+
+
+    public XunJianException exception;
+
+    
+
+    public Button lastBtn;
+    public Button nextBtn;
+    public Button completeBtn;
+
+  
+    public XunJianPhotos UI2;
+
+    private Image showImage;
+    private int showImageNum;
+    public Sprite startImg;
+    public Sprite loadImg;
+
+    private RoomItem data;
+    private RoomItem oldData;
+
+
+    #region 巡检更新项
+    private bool isUpdata;
+    private List<string> listImageUrl; // 图片
+    private string recordMemo; // 巡检备注
+    private string recordStatus;// 1-正常 0-异常 
+    #endregion
+
+    private void Start()
+    {
+        for (int i = 0; i < listImages.Count; i++)
+        {
+            listImages[i].GetComponent<Button>().onClick.AddListener(() =>
+            {
+               
+                if (!UI2.gameObject.activeSelf)
+                    UI2.gameObject.SetActive(true);
+
+                LayoutRebuilder.ForceRebuildLayoutImmediate(GetComponent<RectTransform>());
+            });
+        }
+
+        normalBtn.onClick.AddListener(() =>
+        {
+            exception.gameObject.SetActive(false);
+
+            recordStatus = "1";
+            isUpdata = true;
+
+            normalBG1.gameObject.SetActive(true);
+            normalBG2.gameObject.SetActive(false);
+            warningBG1.gameObject.SetActive(false);
+            WarningBG2.gameObject.SetActive(true);
+
+            LayoutRebuilder.ForceRebuildLayoutImmediate(GetComponent<RectTransform>());
+        });
+
+        WarningBtn.onClick.AddListener(() =>
+        {
+            exception.gameObject.SetActive(true);
+
+            recordStatus = "0";
+            isUpdata = true;
+
+            normalBG1.gameObject.SetActive(false);
+            normalBG2.gameObject.SetActive(true);
+            warningBG1.gameObject.SetActive(true);
+            WarningBG2.gameObject.SetActive(false);
+
+            LayoutRebuilder.ForceRebuildLayoutImmediate(GetComponent<RectTransform>());
+        });
+
+        lastBtn.onClick.AddListener(() =>
+        {
+            // 提交
+            SubmitData();
+            XunJianInitialize.Instance.LastItem();
+          
+        });
+
+        nextBtn.onClick.AddListener(() =>
+        {
+            // 提交
+            SubmitData();
+
+            XunJianInitialize.Instance.NextItem();
+            
+
+        });
+
+        completeBtn.onClick.AddListener(() =>
+        {
+            // 提交
+            SubmitData();
+
+            // 调用是否退出弹框
+            XunJianInitialize.Instance.Complete();
+        });
+    }
+    public void InitData(RoomItem data)
+    {
+       // SubmitData();
+
+       // 提交
+
+
+        this.data = data;
+        this.oldData = data;
+       
+        listImageUrl = null;
+        // 根据数据进行初始化
+        InitUI();
+        if (data.recd != null) // 之前提交过
+        {
+            // 同步照片
+            if (data.recd.recordImgList != null)
+            {
+                // Json 转换
+                // List<string> listurl = data.recd.recordImgList;
+
+
+                for (int i = 0; i < data.recd.recordImgList.Count; i++)
+                {
+
+                    if (!string.IsNullOrEmpty(data.recd.recordImgList[i]))
+                    {
+                        Debug.Log(" DGJ ===> recordImgList " + data.recd.recordImgList[i]);
+                        JsonData data2 = new JsonData();
+                        data2["fileName"] = data.recd.recordImgList[i];
+                        StartCoroutine(LangChaoJiekou.Instance.DownloadImage(LangChaoJiekou.file_download, data2.ToJson(), (texture, url) =>
+                        {
+
+                            Debug.Log("DGJ ===> DownLoadImage " + url);
+                            JObject obj = JObject.Parse(url);
+                            url = obj["fileName"].ToString();
+
+                            if (texture != null)
+                            {
+                               
+                                for (int i = 0; i < data.recd.recordImgList.Count; i++)
+                                {
+                                    Debug.Log("DGJ ===> DownLoadImage2  " + url + "    " + data.recd.recordImgList[i]);
+                                    if (data.recd.recordImgList[i] == url)
+                                    {
+                                        Debug.Log("DGJ ===> DownLoadImage3  " + url);
+                                        listImages[i].sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
+                                        break;
+                                    }
+                                }
+                            }
+
+                        }));
+                    }
+                }
+
+            }
+
+            switch (data.recd.recordStatus)
+            {
+                case "0":
+                    normalBG1.gameObject.SetActive(false);
+                    normalBG2.gameObject.SetActive(true);
+                    warningBG1.gameObject.SetActive(true);
+                    WarningBG2.gameObject.SetActive(false);
+                    break;
+                case "1":
+                    normalBG1.gameObject.SetActive(true);
+                    normalBG2.gameObject.SetActive(false);
+                    warningBG1.gameObject.SetActive(false);
+                    WarningBG2.gameObject.SetActive(true);
+                    break;
+                default:
+                    break;
+            }
+            // 同步异常
+            exception.gameObject.SetActive(data.recd.recordStatus=="0");
+
+            //if (data.recd.recordImg != null)
+            //    listImageUrl = JsonConvert.DeserializeObject<List<string>>(data.recd.recordImg);
+            listImageUrl = new List<string>();
+
+            for (int i = 0; i < data.recd.recordImgList.Count; i++)
+            {
+                listImageUrl.Add(data.recd.recordImgList[i]);
+            }          
+            recordStatus = data.recd.recordStatus;
+            recordMemo = data.recd.recordMemo;
+            exception.scInput.text = data.recd.recordMemo;
+        }
+        else
+        {
+            normalBG1.gameObject.SetActive(true);
+            normalBG2.gameObject.SetActive(false);
+            warningBG1.gameObject.SetActive(true);
+            WarningBG2.gameObject.SetActive(false);
+
+            listImageUrl = new List<string>();
+            recordStatus = null;
+            recordMemo = null;
+            exception.scInput.text = null;
+        }
+
+        LayoutRebuilder.ForceRebuildLayoutImmediate(GetComponent<RectTransform>());
+    }
+
+    private void InitUI()
+    {
+        xjName.text = data.inspItemDesc;
+        for (int i = 0; i < listImages.Count; i++)
+        {
+            listImages[i].sprite = startImg;
+        }
+        exception.InitData(data);
+        exception.gameObject.SetActive(false);
+
+        lastBtn.gameObject.SetActive(true);
+        nextBtn.gameObject.SetActive(true);
+        completeBtn.gameObject.SetActive(false);
+        // 如果是第一步 没有上一步按钮
+
+        if (data == XunJianAllData.listRoomItem[0])
+        {
+            lastBtn.gameObject.SetActive(false);
+        }
+
+        // 如果是最后一步  下一步按钮 替换未完成按钮 
+        if(data == XunJianAllData.listRoomItem[XunJianAllData.listRoomItem.Count-1])
+        {
+            nextBtn.gameObject.SetActive(false);
+            completeBtn.gameObject.SetActive(true);
+        }
+    }
+
+
+    /// <summary>
+    ///  重新提交
+    /// </summary>
+    private void ResubmitData()
+    {
+        // 检测数据状态是否有变化,有变化就提交
+
+    
+
+
+
+    }
+    /// <summary>
+    ///  提交数据
+    /// </summary>
+    public void SubmitData()
+    {
+
+        Debug.Log("DGJ ===> SubmitData  " + isUpdata);
+        if (isUpdata)
+        {
+            isUpdata = false;
+
+            recordMemo = exception.scInput.text;
+            XunJianInitialize.Instance.checkTaskItem.SubmitData(listImageUrl, recordStatus, recordMemo);
+        }
+    }
+
+    public void SetPhotosShowImage( Image image)
+    {
+        this.showImage = image;
+    }
+
+    public void SetPhotosNum(int i)
+    {
+        this.showImageNum = i;
+    }
+
+    public void SetShowImage(Texture2D texture2D)
+    {
+        if (showImage == null)
+            return;
+        isUpdata = true;
+        string fileName = SaveLocal(texture2D);
+        // 将截图应用到Image组件上
+        showImage.sprite = Sprite.Create(texture2D, new Rect(0, 0, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f));
+        StartCoroutine(LangChaoJiekou.Instance.UploadFile(fileName, "http://36.133.197.238:10002" + file_upload, (string msg) => {
+
+
+            Debug.Log("UploadFile===>" + msg);
+            JsonData data = JsonMapper.ToObject(msg);
+
+            if (listImageUrl == null)
+            {
+                listImageUrl = new List<string>();
+                for (int i = 0; i < listImages.Count; i++)
+                {
+                    listImageUrl.Add(null);
+                }
+
+            }
+
+            listImageUrl[showImageNum] = data["data"].ToString();
+
+            if (data["code"].ToString() == "200")
+            {
+               
+            }
+        }));
+    }
+
+
+    /// <summary>
+    /// 保存到本地
+    /// </summary>
+    /// <param name="rawImage"></param>
+    /// <param name="Step">某个步骤</param>
+    /// <param name="id">某个步骤的第几张图片</param>
+    private string SaveLocal(Texture2D texture2D)
+    {
+       
+        byte[] bytes = texture2D.EncodeToPNG();
+        if (!Directory.Exists(Application.persistentDataPath + "/Image"))
+            Directory.CreateDirectory(Application.persistentDataPath + "/Image");
+        string filename = Application.persistentDataPath + "/Image" + "/" +data.inspItemName+ showImage.name + ".png";
+        if (File.Exists(filename))
+            File.Delete(filename);
+       // Debug.LogError(filename);
+        File.WriteAllBytes(filename, bytes);
+
+        return filename;
+    }
+
+    /// <summary>
+    /// 运行模式下Texture转换成Texture2D
+    /// </summary>
+    /// <param name="texture"></param>
+    /// <returns></returns>
+    public Texture2D TextureToTexture2D(Texture texture)
+    {
+        Texture2D texture2D = new Texture2D(texture.width, texture.height, TextureFormat.RGBA32, false);
+        RenderTexture currentRT = RenderTexture.active;
+        RenderTexture renderTexture = RenderTexture.GetTemporary(texture.width, texture.height, 32);
+        Graphics.Blit(texture, renderTexture);
+
+        RenderTexture.active = renderTexture;
+        texture2D.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
+        texture2D.Apply();
+
+        RenderTexture.active = currentRT;
+        RenderTexture.ReleaseTemporary(renderTexture);
+
+        return texture2D;
+    }
+}

+ 11 - 0
Assets/Game/ShowXunJian/XunJianDetails.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9e29caa6f32b5954c9d405d4c2269dbe
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 14 - 0
Assets/Game/ShowXunJian/XunJianErrorBtn.cs

@@ -0,0 +1,14 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using TMPro;
+public class XunJianErrorBtn : MonoBehaviour
+{
+    public TMP_Text nameText;
+
+   public void SetName( string name)
+    {
+        nameText.text = name;
+
+    }
+}

+ 11 - 0
Assets/Game/ShowXunJian/XunJianErrorBtn.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b28f7010bc7c07646bc3cce225a94106
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 28 - 0
Assets/Game/ShowXunJian/XunJianException.cs

@@ -0,0 +1,28 @@
+using SC.XR.Unity;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using static LangChaoJiekou;
+
+public class XunJianException : MonoBehaviour
+{
+    public SCInputField scInput;
+
+    public List<XunJianErrorBtn> listErrorBtn;
+
+    public void InitData( RoomItem  data )
+    {
+        for (int i = 0; i < listErrorBtn.Count; i++)
+        {
+            listErrorBtn[i].gameObject.SetActive(false);
+        }
+
+        for (int i = 0; i < data.errorList.Count; i++)
+        {
+            listErrorBtn[i].gameObject.SetActive(true);
+            listErrorBtn[i].SetName(data.errorList[i].itemErrorName);
+
+        }
+    }
+}

+ 11 - 0
Assets/Game/ShowXunJian/XunJianException.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4975fe22c51c73f43be0601b958f87f8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 140 - 0
Assets/Game/ShowXunJian/XunJianInitialize.cs

@@ -0,0 +1,140 @@
+using Newtonsoft.Json;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using static LangChaoJiekou;
+
+public class XunJianInitialize :MonoSingleton<XunJianInitialize>
+{
+    public XJTaskItem tastItem;
+    public XunJianDetails xjDetails;
+
+    public GameObject defaultUI;
+    public GameObject endUI;
+    public GameObject homeEndUI;
+
+   
+    public XJTaskItem checkTaskItem;
+
+
+    private bool isInit;
+
+    private List<XJTaskItem> listItem;
+
+    private void Start()
+    {
+        isInit = false;
+        listItem = new List<XJTaskItem>();
+    }
+    private void OnEnable()
+    {
+        defaultUI.SetActive(false);
+        endUI.SetActive(false);
+        homeEndUI.SetActive(false);
+    }
+    private void Update()
+    {
+        if(!isInit && XunJianAllData.listRoomItem!=null)
+        {
+            isInit = true;
+
+            InitializeData();
+        }
+    }
+    public void InitializeData( )
+    {
+       
+        for (int i = 0; i < XunJianAllData.listRoomItem.Count; i++)
+        {
+            GameObject item = GameObject.Instantiate(tastItem.gameObject, tastItem.transform.parent);
+            item.SetActive(true);
+            item.GetComponent<XJTaskItem>().InitData(i+1, XunJianAllData.listRoomItem[i] ,xjDetails);
+            listItem.Add(item.GetComponent<XJTaskItem>());
+        }
+
+        if (listItem.Count > 0)
+        {
+            checkTaskItem = listItem[0];
+            xjDetails.InitData(listItem[0].itemData);
+
+        }
+          
+
+    }
+
+    public void GoHome()
+    {
+        
+        xjDetails.SubmitData();
+        homeEndUI.SetActive(true);
+       
+    }
+    
+    public void Complete()
+    {
+        for (int i = 0; i < listItem.Count; i++)
+        {
+            if(listItem[i].itemData.recd==null)
+            {
+                defaultUI.SetActive(true);
+                return;
+            }
+        }
+
+        endUI.SetActive(true);
+    }
+
+    public void LastItem()
+    {
+        for (int i = 0; i < listItem.Count; i++)
+        {
+            if(checkTaskItem.itemData.inspItemId == listItem[i].itemData.inspItemId)
+            {
+                int num = i - 1;
+
+                if(num>=0)
+                {
+                    checkTaskItem = listItem[num];
+                    xjDetails.InitData(listItem[num].itemData);
+                }
+                else
+                {
+                    checkTaskItem = listItem[i];
+                    xjDetails.InitData(listItem[i].itemData);
+                }
+
+
+                break;
+            }
+        }
+    }
+
+    public void NextItem()
+    {
+        for (int i = 0; i < listItem.Count; i++)
+        {
+            if (checkTaskItem.itemData.inspItemId == listItem[i].itemData.inspItemId)
+            {
+                int num = i + 1;
+
+                if (num < listItem.Count)
+                {
+                    checkTaskItem = listItem[num];
+                    xjDetails.InitData(listItem[num].itemData);
+                }
+                else
+                {
+                    checkTaskItem = listItem[i];
+                    xjDetails.InitData(listItem[i].itemData);
+                }
+
+
+                break;
+            }
+        }
+    }
+    public void back()
+    {
+        ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
+    }
+}

+ 11 - 0
Assets/Game/ShowXunJian/XunJianInitialize.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 95b805519f5b8714fbea327bad891040
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 81 - 0
Assets/Game/ShowXunJian/XunJianPhotos.cs

@@ -0,0 +1,81 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class XunJianPhotos : MonoBehaviour
+{
+    public RawImage rawImage;
+
+    public Image screenshotImage;
+
+    public Button saveBtn;
+    public Button cancelBtn;
+
+  
+    public Image showImage;
+    // Start is called before the first frame update
+    void Start()
+    {
+        cancelBtn.onClick.AddListener(() =>
+        {
+            gameObject.SetActive(false);
+        });
+
+        saveBtn.onClick.AddListener(() =>
+        {         
+            XunJianInitialize.Instance.xjDetails.SetShowImage(SwitchSprite(rawImage));
+            gameObject.SetActive(false);
+
+        });
+    }
+
+    public void SetImage(Image image)
+    {
+        this.showImage = image;
+    }
+    private void OnEnable()
+    {
+        XRRGBCamera.Instance.playCamera(1280, 720);
+        rawImage.texture = XRRGBCamera.Instance.CaptureImage;
+    }
+
+    public Texture2D SwitchSprite(RawImage rawImage)
+    {
+        //SaveLocal(rawImage, "1", "0");
+
+        // 获取RawImage的纹理
+        Texture2D rawTexture = TextureToTexture2D(rawImage.texture);
+        // 创建一个新的纹理,用于截图
+        Texture2D screenshot = new Texture2D(rawTexture.width, rawTexture.height);
+        // 截取RawImage的画面,并应用到新的纹理上
+        screenshot.SetPixels(rawTexture.GetPixels());
+        screenshot.Apply();
+       
+        return screenshot;
+    }
+
+    /// <summary>
+    /// 运行模式下Texture转换成Texture2D
+    /// </summary>
+    /// <param name="texture"></param>
+    /// <returns></returns>
+    public Texture2D TextureToTexture2D(Texture texture)
+    {
+        Texture2D texture2D = new Texture2D(texture.width, texture.height, TextureFormat.RGBA32, false);
+        RenderTexture currentRT = RenderTexture.active;
+        RenderTexture renderTexture = RenderTexture.GetTemporary(texture.width, texture.height, 32);
+        Graphics.Blit(texture, renderTexture);
+
+        RenderTexture.active = renderTexture;
+        texture2D.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
+        texture2D.Apply();
+
+        RenderTexture.active = currentRT;
+        RenderTexture.ReleaseTemporary(renderTexture);
+
+        return texture2D;
+    }
+
+   
+}

+ 11 - 0
Assets/Game/ShowXunJian/XunJianPhotos.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 56904ca18f6ade04bac78f01dfd87c4d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 119 - 58
Assets/LangChaoJiekou.cs

@@ -13,15 +13,15 @@ using UnityEngine.UI;
 public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
 {
 
-    //1.调用 /task/getMyList接口传参为header中的Authorization和distributeTarget(机房名称,后续根据需要再修改),这个接口跟上边的/task/getList接口返回的内容结构是一样的,所以这个几口下我没再写返回定义
-    //2.通过/task/getMyList可以查询到是否有任务,有的话返回值里有inspId字段,是巡检任务的ID
-    //根据这个inspId调用/insp/getInfo接口获取巡检的详细信息,主要是inspItemList里有这次巡检需要巡检的巡检项ID列表
-    //3./inspItem/getList这个接口返回的是系统中定义的所有巡检项,通过inspItemList中的ID可以对应出本次巡检任务中的巡检项信息
-    //4.开始巡检时调用/record/execute接口,参数id传distributeId的值
-    //5.通过/record/addRecord接口上传巡检项的巡检记录,其中distributeId来自/task/getMyList的接口返回
-    //6.图片文件通过文件上传接口上传,然后将上传接口返回的data字段的值存到recordImg字段中,多张图片的返回值可以用逗号隔开
-    //7.通过/record/getRecord接口查询回显数据,查询出的图片字段想要显示可以分别调用文件下载接口,将值作为fileName参数就可以得到
-    //inline的图片了
+    //1.璋冪敤 /task/getMyList鎺ュ彛浼犲弬涓篽eader涓�殑Authorization鍜宒istributeTarget(鏈烘埧鍚嶇О锛屽悗缁�牴鎹�渶瑕佸啀淇�敼)锛岃繖涓�帴鍙h窡涓婅竟鐨�/task/getList鎺ュ彛杩斿洖鐨勫唴瀹圭粨鏋勬槸涓€鏍风殑锛屾墍浠ヨ繖涓�嚑鍙d笅鎴戞病鍐嶅啓杩斿洖瀹氫箟
+    //2.閫氳繃/task/getMyList鍙�互鏌ヨ�鍒版槸鍚︽湁浠诲姟锛屾湁鐨勮瘽杩斿洖鍊奸噷鏈塱nspId瀛楁�锛屾槸宸℃�浠诲姟鐨処D
+    //鏍规嵁杩欎釜inspId璋冪敤/insp/getInfo鎺ュ彛鑾峰彇宸℃�鐨勮�缁嗕俊鎭�紝涓昏�鏄痠nspItemList閲屾湁杩欐�宸℃�闇€瑕佸贰妫€鐨勫贰妫€椤笽D鍒楄〃
+    //3./inspItem/getList杩欎釜鎺ュ彛杩斿洖鐨勬槸绯荤粺涓�畾涔夌殑鎵€鏈夊贰妫€椤癸紝閫氳繃inspItemList涓�殑ID鍙�互瀵瑰簲鍑烘湰娆″贰妫€浠诲姟涓�殑宸℃�椤逛俊鎭�
+    //4.寮€濮嬪贰妫€鏃惰皟鐢�/record/execute鎺ュ彛锛屽弬鏁癷d浼燿istributeId鐨勫€�
+    //5.閫氳繃/record/addRecord鎺ュ彛涓婁紶宸℃�椤圭殑宸℃�璁板綍锛屽叾涓璬istributeId鏉ヨ嚜/task/getMyList鐨勬帴鍙h繑鍥�
+    //6.鍥剧墖鏂囦欢閫氳繃鏂囦欢涓婁紶鎺ュ彛涓婁紶锛岀劧鍚庡皢涓婁紶鎺ュ彛杩斿洖鐨刣ata瀛楁�鐨勫€煎瓨鍒皉ecordImg瀛楁�涓�紝澶氬紶鍥剧墖鐨勮繑鍥炲€煎彲浠ョ敤閫楀彿闅斿紑
+    //7.閫氳繃/record/getRecord鎺ュ彛鏌ヨ�鍥炴樉鏁版嵁锛屾煡璇㈠嚭鐨勫浘鐗囧瓧娈垫兂瑕佹樉绀哄彲浠ュ垎鍒�皟鐢ㄦ枃浠朵笅杞芥帴鍙o紝灏嗗€间綔涓篺ileName鍙傛暟灏卞彲浠ュ緱鍒�
+    //inline鐨勫浘鐗囦簡
     
     public const string insp_getlist = "/inms/metaverse-cooperate/insp/getInfo";
     public const string inspItem_getlist = "/inms/metaverse-cooperate/inspItem/getList";
@@ -41,7 +41,7 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
     Dictionary<string, string> requestHeader = new Dictionary<string, string>();  //  header
 
 
-    //登录
+    //鐧诲綍
     public void GotToLogin(string username, string password,Action<bool> callback)
     {
 
@@ -67,12 +67,12 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
     }
 
 
-    //检查是否有巡检
+    //妫€鏌ユ槸鍚︽湁宸℃�
     public void checkXunjian(string distributeTarget,Action<TaskItem> callback)
     {
 
         JsonData data = new JsonData();
-        data["distributeTarget"] = distributeTarget;//"机房A";
+        data["distributeTarget"] = distributeTarget;//"鏈烘埧A";
 
         StartCoroutine(SendHttp(task_getMyList, data.ToJson(), (string msg) => {
         Debug.Log("task_getMyList===>" + msg);
@@ -97,7 +97,7 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
 
     }
 
-    //获取巡检项目列表
+    //鑾峰彇宸℃�椤圭洰鍒楄〃
     public void getXunJian(TaskItem ti,Action<List<RoomItem>> callback)
     {
         JsonData data = new JsonData();
@@ -150,7 +150,7 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
         },"",false));
     }
 
-    //上报记录
+    //涓婃姤璁板綍
     public void addRecord(Record add,Action<bool> callback)
     {
         /*
@@ -160,12 +160,12 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
         add.recordTarget = ti.distributeTarget;
         add.recordTargetId = ti.distributeTargetId;
         add.inspItemId = "1722899997636894720";
-        add.inspItemName = "机房巡检项1";
+        add.inspItemName = "鏈烘埧宸℃�椤�1";
         add.recordImg = "common/2023/12/file.png";
-        add.recordMemo = "异常情况2";
+        add.recordMemo = "寮傚父鎯呭喌2";
         add.recordStatus = "0";
         addRecord(add, (bool b) => { });*/
-
+        Debug.Log("DGJ ===> addRecord " + JsonConvert.SerializeObject(add));
         StartCoroutine(SendHttp(record_addRecord, JsonConvert.SerializeObject(add), (string msg) => {
 
             try
@@ -230,13 +230,16 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
         public string inspItemType;
         public List<RoomError> errorList;
         public string inspItemName;
+        public string inspItemDesc;
         public string createUser;
         public string createUserName;
         public string inspItemId;
         public Record recd;
 
     }
-
+    /// <summary>
+    ///  涓婃姤淇℃伅
+    /// </summary>
     public class Record
     {
         public string distributeId;
@@ -245,49 +248,58 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
         public string recordTargetId;
         public string inspItemId;
         public string inspItemName;
-        public string recordImg;
+        public string recordImg; // 鍥剧墖
+        public string recordMemo; // 宸℃�澶囨敞
+        public string recordStatus;// 1-姝e父 0-寮傚父
         public List<string> recordImgList;
-        public string recordMemo;
-        public string recordStatus;
     }
 
     public void Start()
     {
-        /*
-        //测试接口
-        GotToLogin("lisongnan", "13579Wp!#%&(",(bool b)=> {
+
+       GotToLogin("lisongnan", "13579Wp!#%&(", (bool b) => {
 
             if (b)
             {
-                checkXunjian("机房A", (TaskItem item) => {
-                
-                    if(item!=null)
-                    {
-                        getXunJian(item, (List<RoomItem> list)=>{
-
-                            for (int i = 0; i < list.Count; i++)
-                            {
-                                Debug.Log("RoomItem===>"+JsonConvert.SerializeObject(list[i]));
-                            }
-                    
-                        });
-                    }
-                
-                });
+              
             }
-        
+
         });
-        StartCoroutine(UploadFile("D:\\Button.png", "http://36.133.197.238:10002" + file_upload, (string msg) => {
 
-            Debug.Log("UploadFile===>" + msg);
-            JsonData d2 = JsonMapper.ToObject(msg);
+        //娴嬭瘯鎺ュ彛
+        /*  GotToLogin("lisongnan", "13579Wp!#%&(",(bool b)=> {
 
-            JsonData data = new JsonData();
-            data["fileName"] = d2["data"].ToString();
-            StartCoroutine(DownloadImage(file_download, data.ToJson(), (Texture2D msg) => {
-             //   img.texture = msg;
-            }));
-        }));*/
+             if (b)
+             {
+                 checkXunjian("鏈烘埧A", (TaskItem item) => {
+
+                     if(item!=null)
+                     {
+                         getXunJian(item, (List<RoomItem> list)=>{
+
+                             for (int i = 0; i < list.Count; i++)
+                             {
+                                 Debug.Log("RoomItem===>"+JsonConvert.SerializeObject(list[i]));
+                             }
+
+                         });
+                     }
+
+                 });
+             }
+
+         });
+         StartCoroutine(UploadFile("D:\\Screenshot_0_Btn.png", "http://36.133.197.238:10002" + file_upload, (string msg) => {
+
+             Debug.Log("UploadFile===>" + msg);
+             JsonData d2 = JsonMapper.ToObject(msg);
+
+             JsonData data = new JsonData();
+             data["fileName"] = d2["data"].ToString();
+             StartCoroutine(DownloadImage(file_download, data.ToJson(), (Texture2D msg) => {
+              //   img.texture = msg;
+             }));
+         }));*/
     }
 
     public void initHead(string ContentType)
@@ -297,7 +309,7 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
         requestHeader.Add("Content-Type", ContentType);
     }
 
-    //下载图片
+    //涓嬭浇鍥剧墖
     public IEnumerator DownloadImage(string url, string jsonString,  Action<Texture2D> CallBack) 
     {
         UnityWebRequest webRequest;
@@ -310,8 +322,8 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
         }
 
         webRequest = UnityWebRequest.Get(url);
-        Debug.Log("下载==》" + url + "   " + jsonString);
-        Debug.Log("下载参数==》" + jsonString  );
+        Debug.Log("涓嬭浇==銆�" + url + "   " + jsonString);
+        Debug.Log("涓嬭浇鍙傛暟==銆�" + jsonString  );
         using (webRequest)
         {
             webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
@@ -341,22 +353,71 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
         }
 
     }
-    //上传图片
+
+
+    public IEnumerator DownloadImage(string url, string jsonString, Action<Texture2D ,string> CallBack)
+    {
+        UnityWebRequest webRequest;
+        url = "http://36.133.197.238:10002" + url;
+        JsonData data = JsonMapper.ToObject(jsonString);
+        url += "?";
+        foreach (var item in data.Keys)
+        {
+            url += item + "=" + data[item].ToString() + "&";
+        }
+
+        webRequest = UnityWebRequest.Get(url);
+        Debug.Log("涓嬭浇==銆�" + url + "   " + jsonString);
+        Debug.Log("涓嬭浇鍙傛暟==銆�" + jsonString);
+        using (webRequest)
+        {
+            webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
+            foreach (var v in requestHeader)
+            {
+                webRequest.SetRequestHeader(v.Key, v.Value);
+            }
+            yield return webRequest.SendWebRequest();
+
+            while (!webRequest.downloadHandler.isDone)
+            {
+                yield return null;
+            }
+
+            if (webRequest.isHttpError || webRequest.isNetworkError)
+            {
+                CallBack(null,jsonString);
+            }
+            else
+            {
+
+                Debug.Log("CallBack==>" + webRequest.downloadHandler.data.Length);
+                Texture2D d2d = new Texture2D(1, 1);
+                d2d.LoadImage(webRequest.downloadHandler.data);
+                CallBack(d2d, jsonString);
+            }
+        }
+
+    }
+    //涓婁紶鍥剧墖
     public IEnumerator UploadFile(string path, string url, Action<string> CallBack)
     {
-        // 读取要上传的文件
+
+       
+        // 璇诲彇瑕佷笂浼犵殑鏂囦欢
         byte[] bytes = File.ReadAllBytes(path);
         WWWForm formData = new WWWForm();
 
 
         formData.AddBinaryData("file", bytes);
-        // 创建UnityWebRequest对象
+
+        Debug.Log("DGJ ===> UploadFile  URL " + url + "  Path" + path +" Bytes  "+ bytes.Length);
+        // 鍒涘缓UnityWebRequest瀵硅薄
         UnityWebRequest request = UnityWebRequest.Post(url, formData);
 
-        // 发送请求
+        // 鍙戦€佽�姹�
         yield return request.SendWebRequest();
 
-        // 处理响应数据
+        // 澶勭悊鍝嶅簲鏁版嵁
         if (request.isNetworkError || request.isHttpError)
         {
             Debug.Log(request.error);
@@ -463,7 +524,7 @@ public class LangChaoJiekou : MonoSingleton<LangChaoJiekou>
             token = d["data"]["token"]["accessToken"].ToString();
 
             JsonData data = new JsonData();
-            data["distributeTarget"] = "机房A";
+            data["distributeTarget"] = "鏈烘埧A";
 
             StartCoroutine(SendHttp(task_getMyList, data.ToJson(), (string msg) => {
                 Debug.Log("task_getMyList===>"+ msg);

+ 4 - 4
Assets/LangChaoRTC/Remote/ShowRoom/RoomFile.prefab

@@ -1628,7 +1628,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 5295285539923751734, guid: a5c61b9b0b4aa184cbc1f6ef6eb326fe, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 20
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 5295285539923751734, guid: a5c61b9b0b4aa184cbc1f6ef6eb326fe, type: 3}
       propertyPath: m_AnchoredPosition.y
@@ -1664,7 +1664,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 5295285540247215454, guid: a5c61b9b0b4aa184cbc1f6ef6eb326fe, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 138.455
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 5295285540247215454, guid: a5c61b9b0b4aa184cbc1f6ef6eb326fe, type: 3}
       propertyPath: m_AnchoredPosition.y
@@ -1740,7 +1740,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 5295285540490895475, guid: a5c61b9b0b4aa184cbc1f6ef6eb326fe, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 5
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 5295285540490895475, guid: a5c61b9b0b4aa184cbc1f6ef6eb326fe, type: 3}
       propertyPath: m_AnchoredPosition.y
@@ -1776,7 +1776,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 5295285541080847994, guid: a5c61b9b0b4aa184cbc1f6ef6eb326fe, type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 486.50134
+      value: 0
       objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: a5c61b9b0b4aa184cbc1f6ef6eb326fe, type: 3}

+ 61 - 0
Assets/Scenes/LangChaoDemo2.unity

@@ -3101,6 +3101,7 @@ Transform:
   - {fileID: 583309982}
   - {fileID: 1496039441}
   - {fileID: 1677450787}
+  - {fileID: 1519883030}
   m_Father: {fileID: 0}
   m_RootOrder: 13
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -21332,6 +21333,66 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1519300306}
   m_CullTransparentMesh: 0
+--- !u!1 &1519883029
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1519883030}
+  - component: {fileID: 1519883031}
+  - component: {fileID: 1519883032}
+  m_Layer: 0
+  m_Name: XunJianDataManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1519883030
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1519883029}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 264371157}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1519883031
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1519883029}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22773e3fa36912f4ca8ba0acbd7eba53, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  global: 1
+--- !u!114 &1519883032
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1519883029}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba94a9fce95525b4e90a5a18224d0c90, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  global: 1
+  token: 
 --- !u!1 &1528778001
 GameObject:
   m_ObjectHideFlags: 0

+ 1 - 0
Assets/Scripts/MQTT/MQTTManager.cs

@@ -216,6 +216,7 @@ public class MQTTManager : MonoSingleton<MQTTManager>,IController
                 break;
             case "share": // 接受文件
 
+                Debug.Log(" DGJ ===> share  " + obj["chatMessage"].ToString());
                 // 拆解用户名  和 文件名称  显示到聊天框里   下载文件
                 FileConfig fileConfig = JsonConvert.DeserializeObject<FileConfig>(obj["chatMessage"].ToString());
                 fileConfig.From = obj["from"].ToString();

+ 8 - 0
Assets/Scripts/New Folder.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4342674fab9b4d8438488c61cb4269cc
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 15 - 0
Assets/Scripts/UI/XunJianAllData.cs

@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using static LangChaoJiekou;
+
+public class XunJianAllData
+{
+    public static TaskItem taskItem;
+    public static List<RoomItem> listRoomItem;
+   
+}
+  
+
+
+

+ 11 - 0
Assets/Scripts/UI/XunJianAllData.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 70d72056359e2424f9665152deafaf22
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 34 - 0
Assets/Scripts/UI/XunJianDataManager.cs

@@ -0,0 +1,34 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using static LangChaoJiekou;
+
+public class XunJianDataManager : MonoSingleton<XunJianDataManager>
+{
+    public void checkXunjian( Action<string> callBack)
+    {
+        LangChaoJiekou.Instance.checkXunjian("机房A",(taskItem) => {
+            if (taskItem == null)
+            {
+                callBack("当前机房暂无巡检任务!");
+            }
+            else
+            {
+                callBack(null);
+                XunJianAllData.taskItem = taskItem;
+
+                LangChaoJiekou.Instance.getXunJian(taskItem, (listRoomItem) => {
+
+                    
+                    XunJianAllData.listRoomItem = listRoomItem;
+                    Debug.Log(" DGJ ===> getXunJian " + JsonConvert.SerializeObject(listRoomItem));
+
+                });
+               
+            }
+        } );
+    }
+    
+}

+ 11 - 0
Assets/Scripts/UI/XunJianDataManager.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 22773e3fa36912f4ca8ba0acbd7eba53
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 77 - 0
Assets/Scripts/UI/XunJianDefault.cs

@@ -0,0 +1,77 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using TMPro;
+using static LangChaoJiekou;
+using UnityEngine.UI;
+using XRTool.Util;
+
+public class XunJianDefault : MonoBehaviour
+{
+  
+
+    public Button noBtn;
+    public Button yesBtn;
+
+    public GameObject hintUI;
+    public TMP_Text hintText;
+
+    private bool isGetData;
+    private void Start()
+    {
+        isGetData = false;
+
+        noBtn.onClick.AddListener(() => { gameObject.SetActive(false); });
+
+        yesBtn.onClick.AddListener(() => {
+          
+           if(isGetData)
+            {
+                // 进入巡检
+                ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowXunJian);
+                hintUI.SetActive(false);
+                gameObject.SetActive(false);
+            }
+            else if(!string.IsNullOrEmpty(hintText.text))
+            {
+                HintShow();
+            }
+            else
+            {
+                // 获取数据的回调未完成 等待完成
+
+                return;
+            }
+        });
+
+      
+    }
+
+    private void OnEnable()
+    {
+
+        hintUI.SetActive(false);
+
+        if (XunJianAllData.taskItem == null)
+            XunJianDataManager.Instance.checkXunjian((msg) =>
+            {
+                hintText.text = msg;
+
+                isGetData = string.IsNullOrEmpty(msg);
+            });
+
+    }
+
+   
+    private void HintShow()
+    {
+        hintUI.gameObject.SetActive(true);
+        TimerMgr.Instance.CreateTimer(() =>
+        {
+            hintUI.gameObject.SetActive(false);
+            
+        }, 3);
+        gameObject.SetActive(false);
+
+    }
+}

+ 11 - 0
Assets/Scripts/UI/XunJianDefault.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 52d2ed8382742294eb9d2fc70815cd61
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 2
Assets/UI/1027/2/切图_slices/Card-BG@2x(2).png.meta

@@ -42,7 +42,7 @@ TextureImporter:
   nPOTScale: 0
   lightmap: 0
   compressionQuality: 50
-  spriteMode: 0
+  spriteMode: 1
   spriteExtrude: 1
   spriteMeshType: 1
   alignment: 0
@@ -119,7 +119,7 @@ TextureImporter:
     outline: []
     physicsShape: []
     bones: []
-    spriteID: 
+    spriteID: 5e97eb03825dee720800000000000000
     internalID: 0
     vertices: []
     indices: 

Some files were not shown because too many files changed in this diff