| | |
| | | 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() == "") |
| | | if (!this.dataChecking(responsePackNew)) |
| | | { |
| | | return; |
| | | } |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取音乐列表 |
| | | /// 获取当前播放音乐列表 |
| | | /// </summary> |
| | | /// <param name="music"></param> |
| | | /// <param name="music">音乐播放器</param> |
| | | /// <returns></returns> |
| | | public void GetPalyList(Function music) |
| | | public void GetCurrentPalyList(Function music) |
| | | { |
| | | try |
| | | { |
| | |
| | | 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() == "") |
| | | if (!this.dataChecking(responsePackNew)) |
| | | { |
| | | return; |
| | | } |
| | | //数据返序列化为Function对象 |
| | | 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 |
| | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 获取列表名列表 |
| | | /// 获取【多个音乐源】列表名列表 |
| | | /// </summary> |
| | | /// <param name="music"></param> |
| | | /// <param name="source">音乐源为null,支持多个源获取</param> |
| | | /// <returns></returns> |
| | | public List<GroupList> GetListName(Function music) |
| | | public List<GroupList> GetMultipleSourceListName(Function music, string source) |
| | | { |
| | | 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); |
| | | d.Add("deviceIds", new List<string> { music.deviceId }); |
| | | 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 (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "") |
| | | if (!this.dataChecking(responsePackNew)) |
| | | { |
| | | return new List<GroupList>(); |
| | | } |
| | |
| | | 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> |
| | | /// <returns></returns> |
| | | public PalyList GetListMusic(Function music, string listName) |
| | | public List<PalyerSongListInfo> GetMultipleSongListM(Function music, string listName, string source) |
| | | { |
| | | try |
| | | { |
| | |
| | | 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 (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "") |
| | | var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_GroupPlayerList, "通过列表名获取歌曲列表"); |
| | | if (!this.dataChecking(responsePackNew)) |
| | | { |
| | | return new PalyList(); |
| | | return new List<PalyerSongListInfo>(); |
| | | } |
| | | //数据返序列化为Function对象 |
| | | 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>(); |
| | | return new List<PalyerSongListInfo>(); |
| | | } |
| | | |
| | | if (palyLists.Count == 0) |
| | | { |
| | | return new PalyList(); |
| | | } |
| | | //默认第一个列表里面第一个音乐列表 |
| | | return palyLists[0].playlist.Count > 0 ? palyLists[0].playlist[0] : new PalyList(); |
| | | return palyLists; |
| | | |
| | | } |
| | | catch |
| | | { |
| | | return new PalyList(); |
| | | 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) |
| | | { |
| | | List<PalyerSongListInfo> listInfos = this.GetMultipleSongListM(music, listName, source); |
| | | if (listInfos.Count == 0) |
| | | { |
| | | return new SongList(); |
| | | } |
| | | ////默认第一个列表里面第一个音乐列表 |
| | | SongList songList = listInfos[0].playlist.Count > 0 ? listInfos[0].playlist[0] : new SongList(); |
| | | return songList; |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 检验数据回复成功或者失败 |
| | | /// </summary> |
| | | /// <param name="responsePackNew">回复数据对象</param> |
| | | /// <returns></returns> |
| | | private bool dataChecking(ResponsePackNew responsePackNew) |
| | | { |
| | | if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "") |
| | | { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <returns></returns> |
| | | public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag, int mTimeout = 5) |
| | | { |
| | | JObject jobject = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(o)); |
| | | JObject jobject = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(o)); |
| | | return UI2.Intelligence.Automation.Send.Current.RequestServerhomeId(jobject, api_Url, tag, mTimeout); |
| | | } |
| | | } |