From b562a582ac3a288193e6e4f57c5eff8a344305a4 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 27 九月 2024 13:52:17 +0800
Subject: [PATCH] Update AndroidManifest.xml
---
HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 200 insertions(+), 24 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
index 70026c6..7ba3ab9 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
@@ -6,22 +6,25 @@
using System.Text;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
+using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
+using Newtonsoft.Json.Linq;
using Shared;
+using static HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod;
namespace HDL_ON.UI.Music
{
public class SendMethod
{
- private static SendMethod sMethod=null;
- public static SendMethod mMethod
+ private static SendMethod s_Current = null;
+ public static SendMethod Current
{
get
{
- if (sMethod == null)
+ if (s_Current == null)
{
- sMethod = new SendMethod();
+ s_Current = new SendMethod();
}
- return sMethod;
+ return s_Current;
}
}
@@ -44,7 +47,7 @@
{
new System.Threading.Thread(() =>
{
- DriverLayer.Control.Ins.SendWriteCommand(function, dic);
+ DriverLayer.Control.Ins.SendWriteCommand(function, dic, false, 0);
})
{ IsBackground = true }.Start();
}
@@ -57,9 +60,9 @@
{
try
{
- // RefreshDeviceStatus(functionIds);
+ //RefreshDeviceStatus(functionIds);
a31Music.LastDateTime = DateTime.Now;
- ///浠庣紦瀛橀噷闈㈡煡鎵鹃煶涔愭挱鏀惧櫒瀵硅薄<缂撳瓨鏁版嵁鏀跺埌鎺ㄩ�佽繃鏉ョ殑鐘舵�佷細鏇存柊缂撳瓨鏁版嵁>
+ ///浠庣紦瀛橀噷闈㈡煡鎵鹃煶涔愭挱鏀惧櫒瀵硅薄<鏀跺埌鎺ㄩ�佽繃鏉ョ殑鐘舵�佷細鏇存柊缂撳瓨鏁版嵁>
var allLocalFuntion = FunctionList.List.GetDeviceFunctionList();
var localFunction = allLocalFuntion.Find((obj) => obj.sid == sid);
if (localFunction == null)
@@ -76,16 +79,17 @@
/// <summary>
/// 鍒锋柊璁惧鐘舵��
/// </summary>
+ /// <param name="tipType">鏄惁闇�瑕佹彁绀�,榛樿鎻愮ず</param>
/// <returns></returns>
- public void RefreshDeviceStatus(List<string> functionIds)
+ public void RefreshDeviceStatus(List<string> functionIds,TipType tipType = TipType.flicker)
{
try
{
Dictionary<string, object> d = new Dictionary<string, object>();
d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
d.Add("deviceIds", functionIds);
- var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_RefreshDeviceStatus);
- if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "")
+ var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_RefreshDeviceStatus, "鍒锋柊璁惧鐘舵��");
+ if (!this.DataChecking(responsePackNew, tipType))
{
return;
}
@@ -109,50 +113,222 @@
}
/// <summary>
- /// 鑾峰彇闊充箰鍒楄〃
+ /// 鑾峰彇褰撳墠鎾斁闊充箰鍒楄〃
/// </summary>
- /// <param name="music"></param>
+ /// <param name="music">闊充箰鎾斁鍣�</param>
+ /// <param name="action">鍥炶皟</param>
+ /// <param name="tipType">鏄惁闇�瑕佹彁绀�,榛樿鎻愮ず</param>
/// <returns></returns>
- public void GetPalyList(Function music)
+ public void GetCurrentPalyList(Function music, Action action, TipType tipType = TipType.flicker)
{
try
{
Dictionary<string, object> d = new Dictionary<string, object>();
d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
d.Add("deviceIds", new List<string> { music.deviceId });
- var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_PlayerList);
- if (responsePackNew.Code != "0"||responsePackNew.Data == null ||responsePackNew.Data.ToString() == "")
+ var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_PlayerList, "鑾峰彇闊充箰鍒楄〃");
+ if (!this.DataChecking(responsePackNew,tipType))
{
return;
}
//鏁版嵁杩斿簭鍒楀寲涓篎unction瀵硅薄
var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data);
- var palyLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PalyListInfo>>(str);
+ var palyLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PalyerSongListInfo>>(str);
if (palyLists == null)
{
- palyLists =new List<PalyListInfo>();
+ palyLists = new List<PalyerSongListInfo>();
}
if (palyLists.Count > 0)
{
///榛樿鎷跨涓�涓垪琛�
- A31MusicModel.Current.palyLists = palyLists[0].playlist;
+ A31MusicModel.Current.CurrentPlayMusicInfoList = palyLists[0].playlist;
}
}
catch
{
}
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ action();
+ });
+ }
}
-
+ /// <summary>
+ /// 鑾峰彇銆愬涓煶涔愭簮銆戝垪琛ㄥ悕鍒楄〃
+ /// </summary>
+ /// <param name="music"></param>
+ /// <param name="source">闊充箰婧愪负null,鏀寔澶氫釜婧愯幏鍙�</param>
+ /// <param name="tipType">鏄惁闇�瑕佹彁绀�,榛樿鎻愮ず</param>
+ /// <returns></returns>
+ public List<GroupList> GetMultipleSourceListName(Function music, string source,TipType tipType=TipType.flicker)
+ {
+ try
+ {
+ Dictionary<string, object> d = new Dictionary<string, object>();
+ d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+ d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId);
+ Dictionary<string, object> deviceIds = new Dictionary<string, object>();
+ deviceIds.Add("deviceId", music.deviceId);
+ if (!string.IsNullOrEmpty(source))
+ {
+ deviceIds.Add("source", source);
+ }
+ d.Add("deviceInfos", new List<Dictionary<string, object>> { deviceIds });
+ var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_GroupList, "鑾峰彇鍒楄〃鍚嶅垪琛�");
+ if (!this.DataChecking(responsePackNew, tipType))
+ {
+ return new List<GroupList>();
+ }
+ //鏁版嵁杩斿簭鍒楀寲涓篎unction瀵硅薄
+ var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data);
+ var groupLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupList>>(str);
+ if (groupLists == null)
+ {
+ groupLists = new List<GroupList>();
+ }
+ return groupLists;
+ }
+ catch
+ {
+ return new List<GroupList>();
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇銆愬崟涓煶涔愭簮銆戝垪琛ㄥ悕鍒楄〃(榛樿鍙栧畾鍒楄〃涓竴涓�)
+ /// </summary>
+ /// <param name="music"></param>
+ /// <param name="source">闊充箰婧�</param>
+ /// <returns></returns>
+ public GroupList GetSingleSourceListNameList(Function music, string source)
+ {
+ List<GroupList> groupList = this.GetMultipleSourceListName(music, source);
+ if (groupList.Count == 0)
+ {
+ return new GroupList();
+ }
+ ////榛樿鍙栧畾鍒楄〃涓竴涓�
+ return groupList.Count > 0 ? groupList[0] : new GroupList();
+ }
+
+
+
+
+ /// <summary>
+ /// 閫氳繃鍒楄〃鍚嶈幏鍙栥�愬涓瓕鏇插垪琛ㄣ��
+ /// </summary>
+ /// <param name="music"></param>
+ /// <param name="listName">鍒楄〃鍚�</param>
+ /// <param name="source">闊充箰婧�</param>
+ /// <param name="tipType">鏄惁闇�瑕佹彁绀�,榛樿鎻愮ず</param>
+ /// <returns></returns>
+ public List<PalyerSongListInfo> GetMultipleSongListM(Function music, string listName, string source, TipType tipType= TipType.flicker)
+ {
+ try
+ {
+ Dictionary<string, object> d = new Dictionary<string, object>();
+ Dictionary<string, object> d1 = new Dictionary<string, object>();
+ Dictionary<string, object> d2 = new Dictionary<string, object>();
+ d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+ d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId);
+ d2.Add("group", listName);
+ d1.Add("sid", music.sid);
+ if (!string.IsNullOrEmpty(source))
+ {
+ d1.Add("source", source);
+ }
+ d1.Add("groupList", new List<Dictionary<string, object>> { d2 });
+ d.Add("sidGroups", new List<Dictionary<string, object>> { d1 });
+
+ var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_GroupPlayerList, "閫氳繃鍒楄〃鍚嶈幏鍙栨瓕鏇插垪琛�");
+ if (!this.DataChecking(responsePackNew, tipType))
+ {
+ return new List<PalyerSongListInfo>();
+ }
+ //鏁版嵁杩斿簭鍒楀寲涓篎unction瀵硅薄
+ var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data);
+ var palyLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PalyerSongListInfo>>(str);
+ if (palyLists == null)
+ {
+ return new List<PalyerSongListInfo>();
+ }
+
+ return palyLists;
+
+ }
+ catch
+ {
+ return new List<PalyerSongListInfo>();
+ }
+ }
+ /// <summary>
+ /// 閫氳繃鍒楄〃鍚嶈幏鍙栥�愬崟涓瓕鏇插垪琛ㄣ��(榛樿鍙栧畾鍒楄〃涓竴涓瓕鏇插垪琛�)
+ /// </summary>
+ /// <param name="music"></param>
+ /// <param name="listName">鍒楄〃鍚�</param>
+ /// <param name="source">闊充箰婧�</param>
+ /// <returns></returns>
+ public SongList GetSingleSongList(Function music, string listName, string source, TipType tipType= TipType.flicker)
+ {
+ List<PalyerSongListInfo> listInfos = this.GetMultipleSongListM(music, listName, source, tipType);
+ if (listInfos.Count == 0)
+ {
+ return new SongList();
+ }
+ ////榛樿绗竴涓垪琛ㄩ噷闈㈢涓�涓煶涔愬垪琛�
+ SongList songList = listInfos[0].playlist.Count > 0 ? listInfos[0].playlist[0] : new SongList();
+ return songList;
+
+ }
+
+ /// <summary>
+ /// <summary>
+ /// 妫�楠屾暟鎹洖澶嶆垚鍔熸垨鑰呭け璐�
+ /// </summary>
+ /// <param name="responsePackNew">鍥炲鏁版嵁瀵硅薄</param>
+ /// <param name="tipType">鏄惁闇�瑕佹彁绀�</param>
+ /// <returns></returns>
+ private bool DataChecking(ResponsePackNew responsePackNew, TipType tipType)
+ {
+ if (responsePackNew.Data == null || responsePackNew.Code != "0" || responsePackNew.Data.ToString() == "")
+ {
+ if (TipType.flicker == tipType)
+ {
+ if (responsePackNew == null)
+ {
+ responsePackNew = new ResponsePackNew { message = "娌″洖澶�,璇风‘璁ょ綉缁滄槸鍚︽甯�.", Code = "-1", };
+ }
+ Application.RunOnMainThread(() =>
+ {
+ //new Tip()
+ //{
+ // CloseTime = 1,
+ // Text = responsePackNew.message + "(" + responsePackNew.Code + ")",
+ // Direction = AMPopTipDirection.None,
+ //}.Show(MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1));
+ CommonMethod.Current.ShowTip(responsePackNew.message + "(" + responsePackNew.Code + ")", 3);
+ });
+ }
+ return false;
+ }
+ return true;
+ }
+
+
/// <summary>
///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛�
/// </summary>
+ /// <param name="o">鍙戦�佹暟鎹�</param>
+ /// <param name="api_Url">璇锋眰鍦板潃(涓嶆槸缁濆鍦板潃)</param>
+ /// <param name="tag">鏍囪->鎻忚堪鎺ュ彛(鑷畾涔�)</param>
/// <returns></returns>
- public ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 5)
+ public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag, int mTimeout = 10)
{
- var requestJson = HttpUtil.GetSignRequestJson(o);
- return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
-
+ JObject jobject = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(o));
+ return UI2.Intelligence.Automation.Send.Current.RequestServerhomeId(jobject, api_Url, tag, mTimeout);
}
}
}
--
Gitblit v1.8.0