mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
@@ -6,8 +6,10 @@
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
{
@@ -77,8 +79,9 @@
        /// <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
            {
@@ -86,7 +89,7 @@
                d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
                d.Add("deviceIds", functionIds);
                var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_RefreshDeviceStatus, "刷新设备状态");
                if (!this.dataChecking(responsePackNew))
                if (!this.DataChecking(responsePackNew, tipType))
                {
                    return;
                }
@@ -113,8 +116,10 @@
        /// 获取当前播放音乐列表
        /// </summary>
        /// <param name="music">音乐播放器</param>
        /// <param name="action">回调</param>
        ///  <param name="tipType">是否需要提示,默认提示</param>
        /// <returns></returns>
        public void GetCurrentPalyList(Function music)
        public void GetCurrentPalyList(Function music, Action action, TipType tipType = TipType.flicker)
        {
            try
            {
@@ -122,7 +127,7 @@
                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 (!this.dataChecking(responsePackNew))
                if (!this.DataChecking(responsePackNew,tipType))
                {
                    return;
                }
@@ -142,6 +147,13 @@
            catch
            {
            }
            finally
            {
                Application.RunOnMainThread(() =>
                {
                    action();
                });
            }
        }
        /// <summary>
@@ -149,8 +161,9 @@
        /// </summary>
        /// <param name="music"></param>
        /// <param name="source">音乐源为null,支持多个源获取</param>
        ///  <param name="tipType">是否需要提示,默认提示</param>
        /// <returns></returns>
        public List<GroupList> GetMultipleSourceListName(Function music, string source)
        public List<GroupList> GetMultipleSourceListName(Function music, string source,TipType tipType=TipType.flicker)
        {
            try
            {
@@ -165,7 +178,7 @@
                }
                d.Add("deviceInfos", new List<Dictionary<string, object>> { deviceIds });
                var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_GroupList, "获取列表名列表");
                if (!this.dataChecking(responsePackNew))
                if (!this.DataChecking(responsePackNew, tipType))
                {
                    return new List<GroupList>();
                }
@@ -201,7 +214,7 @@
            return groupList.Count > 0 ? groupList[0] : new GroupList();
        }
        /// <summary>
@@ -210,8 +223,9 @@
        /// <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)
        public List<PalyerSongListInfo> GetMultipleSongListM(Function music, string listName, string source, TipType tipType= TipType.flicker)
        {
            try
            {
@@ -230,7 +244,7 @@
                d.Add("sidGroups", new List<Dictionary<string, object>> { d1 });
                var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_GroupPlayerList, "通过列表名获取歌曲列表");
                if (!this.dataChecking(responsePackNew))
                if (!this.DataChecking(responsePackNew, tipType))
                {
                    return new List<PalyerSongListInfo>();
                }
@@ -257,9 +271,9 @@
        /// <param name="listName">列表名</param>
        /// <param name="source">音乐源</param>
        /// <returns></returns>
        public SongList GetSingleSongList(Function music, string listName, string source)
        public SongList GetSingleSongList(Function music, string listName, string source, TipType tipType= TipType.flicker)
        {
            List<PalyerSongListInfo> listInfos = this.GetMultipleSongListM(music, listName, source);
            List<PalyerSongListInfo> listInfos = this.GetMultipleSongListM(music, listName, source, tipType);
            if (listInfos.Count == 0)
            {
                return new SongList();
@@ -269,19 +283,40 @@
            return songList;
        }
        /// <summary>
        /// <summary>
        /// 检验数据回复成功或者失败
        /// </summary>
        /// <param name="responsePackNew">回复数据对象</param>
        /// <param name="tipType">是否需要提示</param>
        /// <returns></returns>
        private bool dataChecking(ResponsePackNew responsePackNew)
        private bool DataChecking(ResponsePackNew responsePackNew, TipType tipType)
        {
            if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "")
            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>
        ///请求服务器(与住宅有关:例如;homeId) 
@@ -290,7 +325,7 @@
        /// <param name="api_Url">请求地址(不是绝对地址)</param>
        /// <param name="tag">标记->描述接口(自定义)</param>
        /// <returns></returns>
        public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag, int mTimeout = 5)
        public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag, int mTimeout = 10)
        {
            JObject jobject = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(o));
            return UI2.Intelligence.Automation.Send.Current.RequestServerhomeId(jobject, api_Url, tag, mTimeout);