Commit 9e241f7e authored by wuliangshun's avatar wuliangshun

-

parent 6967a074
......@@ -4,8 +4,14 @@ using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Model.Cinema;
using CinemaWin.Iqiyi.Request.Cinema;
using CinemaWin.Iqiyi.Response.Cinema;
using iqiyiWin.Constant;
using iqiyiWin.Model;
using iqiyiWin.Request;
using iqiyiWin.Request.Cinema;
using iqiyiWin.Response;
using iqiyiWin.Response.Cinema.CinemaItem;
using iqiyiWin.Response.Cinema.Citites;
using iqiyiWin.Util;
......@@ -15,29 +21,22 @@ namespace iqiyiWin.Api
{
public class Cinema
{
public static List<IqiyiCity> GetCities()
public static List<IqiyiH5City> GetCities()
{
var headers = new SortedDictionary<string, string>();
var request = new IqiyiH5BaseRequest();
headers.Add("version", IqiyiVersion.Version);
headers.Add("os", IqiyiVersion.Os);
headers.Add("src", IqiyiVersion.Src);
headers.Add("platform", IqiyiVersion.Platform);
headers.Add("appid", IqiyiVersion.Appid);
headers.Add("dvsrc", IqiyiVersion.Dvsrc);
headers.Add("dfp", IqiyiVersion.Dfp());
headers.Add("ts", DateUtils.GetTimeStampOfMilliseconds().ToString());
headers.Add("nonce", IqiyiVersion.Nonce());
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
headers.Add("sig", IqiyiSign.Sign(headers));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var queryText = UrlUtils.BuildQueryStringUrl(headers);
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_CITIES + queryText, headers);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_CITIES + queryText, queryList);
var response = JsonConvert.DeserializeObject<CityListResponse>(responseStr);
var cityList = new List<IqiyiCity>();
var cityList = new List<IqiyiH5City>();
if (response != null && response.Code == "A00000")
{
......@@ -57,28 +56,22 @@ namespace iqiyiWin.Api
return cityList;
}
}
public static List<IqiyiCinema> GetCinemaList(IqiyiCity city, int pageIndex = 0)
public static List<IqiyiCinema> GetCinemaList(IqiyiH5City city, int pageIndex = 0)
{
var headers = new SortedDictionary<string, string>();
var request = new IqiyiH5GetCinemaRequest()
{
CityId = city.CityId.ToString(),
Page = pageIndex.ToString()
};
headers.Add("version", IqiyiVersion.Version);
headers.Add("os", IqiyiVersion.Os);
headers.Add("src", IqiyiVersion.Src);
headers.Add("platform", IqiyiVersion.Platform);
headers.Add("appid", IqiyiVersion.Appid);
headers.Add("dvsrc", IqiyiVersion.Dvsrc);
headers.Add("dfp", IqiyiVersion.Dfp());
headers.Add("ts", DateUtils.GetTimeStampOfMilliseconds().ToString());
headers.Add("nonce", IqiyiVersion.Nonce());
headers.Add("cityId", city.CityId.ToString());
headers.Add("page", pageIndex.ToString());
headers.Add("pageCount", "20");
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
headers.Add("sig", IqiyiSign.Sign(headers));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var queryText = UrlUtils.BuildQueryStringUrl(headers);
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_CINEMA_LIST + queryText, headers);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_CINEMA_LIST + queryText, queryList);
var response = JsonConvert.DeserializeObject<CinemaResponse>(responseStr);
......@@ -105,5 +98,160 @@ namespace iqiyiWin.Api
return cinemaList;
}
}
public static List<IqiyiH5City> getHostCities()
{
var request = new IqiyiH5BaseRequest();
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_CITIES + queryText, queryList);
var response = JsonConvert.DeserializeObject<CityListResponse>(responseStr);
var cityList = new List<IqiyiH5City>();
if (response != null && response.Code == "A00000")
{
cityList = response.Data.HotCities;
return cityList;
}
else
{
return cityList;
}
}
/// <summary>
/// 获取影院列表
/// </summary>
/// <param name="iqiyiH5Account">账号</param>
/// <param name="cityId">城市id</param>
/// <returns></returns>
public static List<IqiyiH5Cinema> GetCinemaList(string cityId)
{
var request = new IqiyiH5GetCinemaListRequest()
{
CityId = cityId
};
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.H5_API_GET_CINEMAS + queryText, new Dictionary<string, string>());
var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<IqiyiH5CinemasResponse>>(responseStr);
if (response != null && response.Success)
{
return response.Data.Cinemas;
}
else
{
return new List<IqiyiH5Cinema>();
}
}
/// <summary>
/// 获取电影列表
/// </summary>
/// <param name="iqiyiH5Account">账号</param>
/// <param name="cinemaId">影院id</param>
/// <returns></returns>
public static List<IqiyiH5Movie> GetMovieList(string cityId, string cinemaId)
{
var request = new IqiyiH5GetMovieListRequest()
{
CinemaId = cinemaId,
};
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.H5_API_GET_MOVIES + queryText, new Dictionary<string, string>());
UILogUtils.Debug("爱奇艺H5 【获取电影列表】响应:" + responseStr);
var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<IqiyiH5MoviesResponse>>(responseStr);
if (response != null && response.Success)
{
return response.Data.CinemaInfo.Movies;
}
else
{
//UILogUtils.Error("爱奇艺H5 【获取电影列表】失败:" + (response == null ? responseStr : response.Msg));
return new List<IqiyiH5Movie>();
}
}
/// <summary>
/// 获取场次座位信息
/// </summary>
/// <param name="iqiyiH5Account">账号</param>
/// <param name="cityId">城市id</param>
/// <param name="cinemaId">影院id</param>
/// <param name="movieId">电影id</param>
/// <param name="sessionId">场次id</param>
public static List<IqiyiH5Seat> GetSeatMap(string cityId, string cinemaId, string movieId ,string sessionId)
{
var request = new IqiyiH5GetSeatMapRequest()
{
CityId = cityId,
CinemaId = cinemaId,
MovieId = movieId,
SessionId = sessionId,
};
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.H5_API_GET_SEAT_MAP + queryText, new Dictionary<string, string>());
var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<IqiyiH5SeatMapResponse>>(responseStr);
var seatList = new List<IqiyiH5Seat>();
if (response != null && response.Success)
{
foreach (var row in response.Data.Seats)
{
foreach (var item in row.Value)
{
if (item.Aid != "")
{
item.Price = response.Data.AreaPrice[item.Aid];
seatList.Add(item);
}
else if (item.PartnerSeatId != "")
{
item.Price = response.Data.Price;
seatList.Add(item);
}
}
}
return seatList;
}
else
{
return seatList;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Constant;
using iqiyiWin.Model;
using iqiyiWin.Request;
using iqiyiWin.Response.Film;
using iqiyiWin.Util;
using Newtonsoft.Json;
namespace iqiyiWin.Api
{
public class City4Film
{
public static List<IqiyiFilm> GetWaitShowFileList(IqiyiAccount iqiyiAccount, string cityId)
{
var request = new IqiyiH5BaseRequest();
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
queryList.Add("cityId", cityId);
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_WAIT_SHOW_FILM + queryText, queryList);
var response = JsonConvert.DeserializeObject<MovieInfoResponse>(responseStr);
var filmList = new List<IqiyiFilm>();
if (response != null && response.Code == "A00000")
{
filmList = response.Data.UpcomingSessions.MovieClips;
//UILogUtils.Info($"爱奇艺票务 【获取城市列表】成功;");
return filmList;
}
else
{
//UILogUtils.Error($"爱奇艺票务 【获取城市列表】失败: {(response == null ? responseStr : response.Msg)}");
return filmList;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Api;
using CinemaWin.Iqiyi.Model.Cinema;
using iqiyiWin.Constant;
using iqiyiWin.Model;
using iqiyiWin.Request.FilmTask;
using iqiyiWin.Response.Task.TaskList;
using iqiyiWin.Util;
using Newtonsoft.Json;
namespace iqiyiWin.Api
{
public class FilmTask
{
private static Random random = new Random();
/// <summary>
/// 获取新手任务状态
/// </summary>
/// <param name="iqiyiAccount"></param>
public static List<IqiyiTask> GetTaskList(IqiyiAccount iqiyiAccount)
{
var request = new GetTaskListRequest()
{
Ck = iqiyiAccount.Cookie
};
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_TASK_LIST + queryText, queryList);
var response = JsonConvert.DeserializeObject<GetTaskListResponse>(responseStr);
var tasks = new List<IqiyiTask>();
if (response != null && response.Code == "A00000")
{
tasks = response.Data.Task;
//UILogUtils.Info($"爱奇艺票务 【获取新手任务状态】成功;");
return tasks;
}
else
{
//UILogUtils.Error($"爱奇艺票务 【获取新手任务状态】失败: {(response == null ? responseStr : response.Msg)}");
return tasks;
}
}
/// <summary>
/// 标记想看电影票
/// </summary>
/// <param name="iqiyiAccount"></param>
/// <returns></returns>
public static IqiyiH5TaskResult SignWaitShowFilm(IqiyiAccount iqiyiAccount)
{
var result = new IqiyiH5TaskResult()
{
Status = true,
Message = ""
};
var hotCitites = App.Instance.IqiyiHotCitites;
var cityId = hotCitites[random.Next(0, hotCitites.Count)].CityId;
var waitShowFilms = City4Film.GetWaitShowFileList(iqiyiAccount, cityId);
if(waitShowFilms == null || waitShowFilms.Count == 0)
{
result.Status = false;
result.Message = "获取等待上映列表失败";
return result;
}
var movieId = waitShowFilms[random.Next(0, waitShowFilms.Count)].MovieId;
result = User.WantLookMoive(iqiyiAccount, movieId);
return result;
}
public static IqiyiH5TaskResult FirstCreatedOrder(IqiyiAccount iqiyiAccount)
{
// 获取城市信息
var hotCitites = App.Instance.IqiyiHotCitites;
var cityId = hotCitites[random.Next(0, hotCitites.Count)].CityId;
// 获取影院信息
var cinemas = Cinema.GetCinemaList(cityId);
if(cinemas ==null || cinemas.Count == 0)
{
return new IqiyiH5TaskResult() {
Status= false,
Message = "获取列表失败"
};
}
var cinemaId = cinemas[random.Next(0,cinemas.Count)].CinemaId;
// 获取电影信息
var movies = Cinema.GetMovieList(cityId,cinemaId);
if (movies == null || movies.Count == 0)
{
return new IqiyiH5TaskResult()
{
Status = false,
Message = "获取影院电影列表失败"
};
}
var movieId = movies[0].MovieId;
// 获取场次信息
var sessions = movies[0].Sessions[random.Next(0, movies[0].Sessions.Count)].Value;
if (sessions == null || sessions.Count == 0)
{
return new IqiyiH5TaskResult()
{
Status = false,
Message = "获取场次列表失败"
};
}
var session = sessions[random.Next(0, sessions.Count)];
// 获取座位信息
var seats = Cinema.GetSeatMap(cityId, cinemaId, movieId, session.SessionId);
if (seats == null || seats.Count == 0)
{
return new IqiyiH5TaskResult()
{
Status = false,
Message = "获取座位列表失败"
};
}
var selectSeats = new List<IqiyiH5Seat>();
var seatIndex = 0;
do
{
var seat = seats[seatIndex];
if(seat.Status == "OK")
{
selectSeats.Add(seat);
}
seatIndex++;
if(seatIndex > seats.Count-1)
{
return new IqiyiH5TaskResult()
{
Status = false,
Message = "该场次没有空位"
};
}
} while (selectSeats.Count == 0);
// 创建订单
var orderId = IqiyiH5OrderApi.CreateOrder(new IqiyiH5CreateOrder()
{
IqiyiAccount = iqiyiAccount,
MovieId = movieId,
Session = session,
Seats = selectSeats
});
if(orderId.Length == 0)
{
return new IqiyiH5TaskResult()
{
Status = false,
Message = "创建订单失败"
};
}
return new IqiyiH5TaskResult();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Request;
using CinemaWin.Iqiyi.Request.Order;
using CinemaWin.Iqiyi.Response;
using CinemaWin.Iqiyi.Response.Order;
using Newtonsoft.Json;
using iqiyiWin.Util;
using iqiyiWin.Api;
using iqiyiWin.Response;
using iqiyiWin.Model;
using iqiyiWin.Constant;
namespace CinemaWin.Iqiyi.Api
{
public class IqiyiH5OrderApi
{
/// <summary>
/// 创建订单
/// </summary>
/// <param name="iqiyiH5Account">账号</param>
/// <param name="movieIds">电影id</param>
/// <param name="sessionId">场次id</param>
/// <param name="seatInfo">座位信息</param>
/// <param name="partnerId">?partnerId</param>
/// <param name="seqNo">场次id</param>
/// <param name="seatNum">座位数</param>
/// <param name="seatId">座位id</param>
/// <param name="areaId">区域id</param>
/// <returns></returns>
public static string CreateOrder(IqiyiH5CreateOrder createdOrderData)
{
// 账号
//var iqiyiH5Account = workUnit.CinemaAccounts[orderIndex];
var iqiyiH5Account = createdOrderData.IqiyiAccount;
// 拆开的座位
//var separateSeat = workUnit.SeparateSeat[orderIndex];
var seats = createdOrderData.Seats;
/// 电影id
//var movieIds = workUnit.ShowItem.MovieId;
var movieIds = createdOrderData.MovieId;
/// sessionId
//var sessionId = workUnit.ShowItem.PartnerSessionId;
//SessionId = session.SessionId,
// PartnerId = session.PartnerId,
// SeqNo = session.PartnerSessionId,
// PartnerSessionId = session.PartnerSessionId,
var sessionId = createdOrderData.Session.SessionId;
/// {row}:{column}|{row}:{column}
var seatInfoList = new List<string>();
/// ?partnerId
//var partnerId = workUnit.ShowItem.PartnerId;
var partnerId = createdOrderData.Session.PartnerId;
/// sessionId
//var seqNo = workUnit.ShowItem.PartnerSessionId;
var seqNo = createdOrderData.Session.PartnerSessionId;
/// 选座数量
var seatNum = seats.Count;
/// partnerSeatId,partnerSeatId
var seatIdList = new List<string>();
/// ?aid
var areaId = "";
foreach (var seat in seats)
{
seatInfoList.Add($"{seat.Row}:{seat.Column}");
seatIdList.Add($"{seat.PartnerSeatId}");
areaId = seat.Aid;
}
var request = new IqiyiH5CreateOrderRequest()
{
Ck = iqiyiH5Account.Cookie,
MovieIds = movieIds,
SessionId = sessionId,
SeatInfo = string.Join("|", seatInfoList.ToArray()),
PartnerId = partnerId,
SeqNo = seqNo,
SeatNum = seatNum.ToString(),
SeatId = string.Join(",", seatIdList.ToArray()),
AreaId = areaId
};
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var cookieContainer = new CookieContainer();
var cookieItem = new Cookie();
cookieItem.Name = "P00001";
cookieItem.Value = iqiyiH5Account.Cookie;
cookieItem.Domain = ".iqiyi.com";
cookieContainer.Add(cookieItem);
var responseStr = HttpUtils.DoPost(cookieContainer, Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.H5_API_CREATE_ORDER, UrlUtils.BuildQueryStringUrl(queryList).Substring(1));
var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<IqiyiH5CreateOrderResponse>>(responseStr);
if (response != null && response.Success)
{
return response.Data.OrderId;
}
else
{
return "";
}
}
/// <summary>
/// 获取确定订单详情
/// </summary>
/// <param name="iqiyiH5Account">账号</param>
/// <param name="orderId">订单Id</param>
/// <returns></returns>
//public static IqiyiH5Order GetConfirmOrderInfo(IqiyiH5WorkUnit workUnit,int orderIndex)
//{
// var iqiyiH5Account = workUnit.CinemaAccounts[orderIndex];
// var orderId = workUnit.CinemaAccounts[orderIndex].IQYOrderNo;
// var request = new IqiyiH5BaseRequest()
// {
// Ck = iqiyiH5Account.Cookie
// };
// SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
// queryList.Add("orderId", orderId);
// queryList.Add("orderSource", "seatMap");
// request.Sig = IqiyiHelpUtils.GetSign(queryList);
// queryList["sig"] = request.Sig;
// var queryText = UrlUtils.BuildQueryStringUrl(queryList);
// var responseStr = HttpUtils.DoGet(iqiyiH5Account.CookieContainer, IqiyiDomainConstants.REFERER_DOMAIN, IqiyiDomainConstants.TICKET_IQIYI + IqiyiApiConstants.H5_API_GET_CONFIRM_ORDER_INFO + "?" + queryText, new Dictionary<string, string>());
// UILogUtils.Debug("爱奇艺H5 【获取电影列表】响应:" + responseStr);
// var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<IqiyiH5Order>>(responseStr);
// if (response != null && response.Success)
// {
// return response.Data;
// }
// else
// {
// UILogUtils.Error("爱奇艺H5 【获取电影列表】失败:" + (response == null ? responseStr : response.Msg));
// return null;
// }
//}
///// <summary>
///// 确定订单信息
///// </summary>
///// <param name="iqiyiH5Account">账号</param>
///// <param name="expCard">优惠券</param>
///// <param name="discountType">折扣类型</param>
///// <param name="balanceCount">观影豆</param>
//public static Boolean ConfirmOrder(IqiyiH5WorkUnit workUnit ,int orderIndex)
//{
// var orderId = workUnit.CinemaAccounts[orderIndex].IQYOrderNo;
// var expCard = "";
// var discountType = 0;
// var balanceCount = workUnit.IqiyiOrders[orderIndex].BalanceInfo.BalanceCount;
// if (workUnit.IqiyiOrders[orderIndex].DiscountInfo.Price > 0)
// {
// expCard = workUnit.IqiyiOrders[orderIndex].DiscountInfo.DiscountId;
// discountType = workUnit.IqiyiOrders[orderIndex].DiscountInfo.UseType;
// }
// var iqiyiH5Account = workUnit.CinemaAccounts[orderIndex];
// var request = new IqiyiH5ConfirmOrderRequest()
// {
// Ck = iqiyiH5Account.Cookie,
// OrderId = orderId,
// ExpCard = expCard,
// DiscountType = discountType,
// Phone = iqiyiH5Account.MobileNo,
// BalanceCount = balanceCount.ToString(),
// };
// SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
// request.Sig = IqiyiHelpUtils.GetSign(queryList);
// var responseStr = HttpUtils.DoPost(iqiyiH5Account.CookieContainer, IqiyiDomainConstants.REFERER_DOMAIN, IqiyiDomainConstants.TICKET_IQIYI + IqiyiApiConstants.H5_API_CONFIRM_ORDER, UrlUtils.BuildQueryStringUrl(request), new Dictionary<string, string>());
// UILogUtils.Debug("爱奇艺H5 【确认订单】响应:" + responseStr);
// var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<IqiyiH5ConfirmOrderResponse>>(responseStr);
// if (response != null && response.Success)
// {
// UILogUtils.Info($"爱奇艺H5 【确认订单】成功。订单Id:{response.Data.OrderId}");
// return true;
// }
// else
// {
// UILogUtils.Error("爱奇艺H5 【确认订单】失败:" + (response == null ? responseStr : response.Msg));
// return false;
// }
//}
//public static string PayOrder(IqiyiH5WorkUnit workUnit,int orderIndex)
//{
// var iqiyiH5Account = workUnit.CinemaAccounts[orderIndex];
// var orderId = iqiyiH5Account.IQYOrderNo;
// SortedDictionary<string, string> queryList = new SortedDictionary<string, string>() ;
// queryList.Add("partner_order_no", orderId);
// queryList.Add("partner", "piaowu");
// queryList.Add("version", "1.0");
// queryList.Add("platform", "h5");
// queryList.Add("pay_type", "ALIPAYWAPCREATEDIRECT");
// var sign = IqiyiHelpUtils.GetPaySign(queryList);
// queryList.Add("sign", sign);
// var queryText = UrlUtils.BuildQueryStringUrl(queryList);
// var responseStr = "";
// try
// {
// responseStr = HttpUtils.DoGet(iqiyiH5Account.CookieContainer, IqiyiDomainConstants.REFERER_CASHIER, IqiyiDomainConstants.PAY_IQIYI + IqiyiApiConstants.H5_API_PAY_ORDER + "?" + queryText, new Dictionary<string, string>(), 30 * 1000, true);
// }
// catch (Exception ex)
// {
// UILogUtils.Error(ex);
// return null;
// }
// UILogUtils.Debug("爱奇艺H5 【获取支付链接】响应:" + responseStr);
// if (responseStr != null && responseStr.Contains("mclient.alipay.com"))
// {
// UILogUtils.Debug("爱奇艺H5 【获取支付链接】成功:" + responseStr);
// return responseStr;
// }
// else
// {
// UILogUtils.Error("爱奇艺H5 【获取电影列表】失败;" + (responseStr));
// return null;
// }
//}
//public static IqiyiH5SimpleDraw GetOrderInfo(IqiyiH5Account cinemaAccount)
//{
// var iqiyiH5Account = cinemaAccount;
// var orderId = cinemaAccount.IQYOrderNo;
// var request = new IqiyiH5BaseRequest()
// {
// Ck = iqiyiH5Account.Cookie
// };
// SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
// queryList.Add("orderId", orderId);
// request.Sig = IqiyiHelpUtils.GetSign(queryList);
// queryList["sig"] = request.Sig;
// var queryText = UrlUtils.BuildQueryStringUrl(queryList);
// var responseStr = HttpUtils.DoGet(iqiyiH5Account.CookieContainer, IqiyiDomainConstants.REFERER_DOMAIN, IqiyiDomainConstants.TICKET_IQIYI + IqiyiApiConstants.H5_API_GET_ORDER_INFO + "?" + queryText, new Dictionary<string, string>());
// UILogUtils.Debug("爱奇艺H5 【获取订单详情】响应:" + responseStr);
// var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<IqiyiH5OrderInfoResponse>>(responseStr);
// var resultData = new IqiyiH5SimpleDraw();
// if (response != null && response.Success)
// {
// if(response.Data.OrderStatus == "1")
// {
// cinemaAccount.WorkStatus = (int)IqyiH5CinemaAccountStatusEnum.NotIssued;
// cinemaAccount.WorkStatusDesc = EnumsUtils.GetDescriptionByEnum(IqyiH5CinemaAccountStatusEnum.NotIssued);
// }
// else if(response.Data.OrderStatus == "2")
// {
// cinemaAccount.WorkStatus = (int)IqyiH5CinemaAccountStatusEnum.PaymentOvertime;
// cinemaAccount.WorkStatusDesc = EnumsUtils.GetDescriptionByEnum(IqyiH5CinemaAccountStatusEnum.PaymentOvertime);
// }
// else if (response.Data.OrderStatus == "3")
// {
// cinemaAccount.WorkStatus =(int)IqyiH5CinemaAccountStatusEnum.NoTicketIssued;
// cinemaAccount.WorkStatusDesc = EnumsUtils.GetDescriptionByEnum(IqyiH5CinemaAccountStatusEnum.NoTicketIssued);
// }
// else
// {
// if (response.Data.TwoDimenCode != null && response.Data.TwoDimenCode != "")
// {
// resultData.QrCode = response.Data.TwoDimenCode;
// resultData.Code = response.Data.TwoDimenCode.Split('|')[0];
// resultData.ValidCode = response.Data.TwoDimenCode.Split('|').Length > 1 ? response.Data.TwoDimenCode.Split('|')[1] : "";
// }
// else if (response.Data.MachineInfos != null && response.Data.MachineInfos.TicketId != null && response.Data.MachineInfos.Pwd != null)
// {
// resultData.Code = response.Data.MachineInfos.TicketId;
// resultData.ValidCode = response.Data.MachineInfos.Pwd;
// }
// else if (response.Data.MachineInfos != null && response.Data.MachineInfos.Pwd != null)
// {
// resultData.Code = response.Data.MachineInfos.Pwd;
// }
// else if (response.Data.MachineInfos != null && response.Data.MachineInfos.TwoDimenCode != null)
// {
// resultData.Code = response.Data.MachineInfos.TwoDimenCode;
// resultData.ValidCode = response.Data.MachineInfos.Pwd != "" ? response.Data.MachineInfos.Pwd.Replace(" ", "") : "";
// }
// else if (response.Data.MachineInfos != null && response.Data.MachineInfos.TicketId != "")
// {
// resultData.Code = response.Data.MachineInfos.TicketId.Replace(" ", "");
// resultData.ValidCode = response.Data.MachineInfos.Pwd != "" ? response.Data.MachineInfos.Pwd.Replace(" ", "") : "";
// }
// else
// {
// cinemaAccount.WorkStatus = (int)IqyiH5CinemaAccountStatusEnum.WaitUploadNotEnum;
// cinemaAccount.WorkStatusDesc = EnumsUtils.GetDescriptionByEnum(IqyiH5CinemaAccountStatusEnum.WaitUploadNotEnum);
// }
// }
// return resultData;
// }
// else
// {
// UILogUtils.Error("爱奇艺H5 【获取订单详情】失败:" + (response == null ? responseStr : response.Msg));
// return resultData;
// }
//}
}
}
......@@ -6,6 +6,9 @@ using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Constant;
using iqiyiWin.Model;
using iqiyiWin.Request;
using iqiyiWin.Request.User;
using iqiyiWin.Response;
using iqiyiWin.Response.User.CouponList;
using iqiyiWin.Response.User.LockDraw;
using iqiyiWin.Response.User.MovieBean;
......@@ -22,24 +25,15 @@ namespace iqiyiWin.Api
/// </summary>
/// <param name="cookie"></param>
/// <returns></returns>
public static string GetMovieBean(IqiyiAccount iqiyiAccount)
public static string GetMovieBean(IqiyiAccount iqiyiAccount)
{
var headers = new SortedDictionary<string, string>();
headers.Add("version", IqiyiVersion.Version);
headers.Add("os", IqiyiVersion.Os);
headers.Add("src", IqiyiVersion.Src);
headers.Add("platform", IqiyiVersion.Platform);
headers.Add("appid", IqiyiVersion.Appid);
headers.Add("dvsrc", IqiyiVersion.Dvsrc);
headers.Add("dfp", IqiyiVersion.Dfp());
headers.Add("ts", DateUtils.GetTimeStampOfMilliseconds().ToString());
headers.Add("nonce", IqiyiVersion.Nonce());
headers.Add("pageNo", "0");
headers.Add("pageCount", "20");
headers.Add("ck", iqiyiAccount.Cookie);
headers.Add("sig", IqiyiSign.Sign(headers));
var request = new IqiyiH5UserBaseRequest()
{
Ck = iqiyiAccount.Cookie
};
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var cookieContainer = new CookieContainer();
var cookieItem = new Cookie();
......@@ -48,9 +42,9 @@ namespace iqiyiWin.Api
cookieItem.Domain = ".iqiyi.com";
cookieContainer.Add(cookieItem);
var queryText = UrlUtils.BuildQueryStringUrl(headers);
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(cookieContainer, Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_MOVIE_BEAN + queryText, headers);
var responseStr = HttpUtils.DoGet(cookieContainer, Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_MOVIE_BEAN + queryText, queryList);
var response = JsonConvert.DeserializeObject<MovieBeanResponse>(responseStr);
......@@ -72,22 +66,14 @@ namespace iqiyiWin.Api
/// <returns></returns>
public static List<Valid> GetCouponList(IqiyiAccount iqiyiAccount)
{
var headers = new SortedDictionary<string, string>();
headers.Add("version", IqiyiVersion.Version);
headers.Add("os", IqiyiVersion.Os);
headers.Add("src", IqiyiVersion.Src);
headers.Add("platform", IqiyiVersion.Platform);
headers.Add("appid", IqiyiVersion.Appid);
headers.Add("dvsrc", IqiyiVersion.Dvsrc);
headers.Add("dfp", IqiyiVersion.Dfp());
headers.Add("ts", DateUtils.GetTimeStampOfMilliseconds().ToString());
headers.Add("nonce", IqiyiVersion.Nonce());
headers.Add("pageNo", "0");
headers.Add("pageCount", "20");
headers.Add("ck", iqiyiAccount.Cookie);
headers.Add("sig", IqiyiSign.Sign(headers));
var request = new IqiyiH5UserBaseRequest()
{
Ck = iqiyiAccount.Cookie
};
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var cookieContainer = new CookieContainer();
var cookieItem = new Cookie();
......@@ -96,16 +82,16 @@ namespace iqiyiWin.Api
cookieItem.Domain = ".iqiyi.com";
cookieContainer.Add(cookieItem);
var queryText = UrlUtils.BuildQueryStringUrl(headers);
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(cookieContainer, Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_COUPON_LIST + queryText, headers);
var responseStr = HttpUtils.DoGet(cookieContainer, Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.GET_COUPON_LIST + queryText, queryList);
var response = JsonConvert.DeserializeObject<CouponListResponse>(responseStr);
if (response != null && response.Code == "A00000")
{
var couponTextList =new List<string>();
foreach(Valid item in response.Data.Valid)
var couponTextList = new List<string>();
foreach (Valid item in response.Data.Valid)
{
couponTextList.Add($" {item.DisplayName}-{item.DisCountStr}-{item.AvailableTips}");
};
......@@ -129,20 +115,6 @@ namespace iqiyiWin.Api
var dfp = IqiyiVersion.Dfp();
//headers.Add("deviceId", dfp);
//headers.Add("dfp", dfp);
//headers.Add("appid", "1003");
//headers.Add("os", "CPU iPhone OS 13_2_3 like Mac OS X");
//headers.Add("format", "json");
//headers.Add("platform", "Win32");
//headers.Add("ts", DateUtils.GetTimeStampOfMilliseconds().ToString());
//headers.Add("src", "H5");
//headers.Add("version", "1.0.0");
//headers.Add("ck", iqiyiAccount.Cookie);
//headers.Add("nonce", $"0.{NonceRandom.Next(10000000, 99999999)}{NonceRandom.Next(10000000, 99999999)}");
//headers.Add("bizType", "APP");
//headers.Add("_t", DateUtils.GetTimeStampOfMilliseconds().ToString());
headers.Add("deviceId", dfp);
headers.Add("dfp", dfp);
headers.Add("appid", "10010");
......@@ -180,7 +152,7 @@ namespace iqiyiWin.Api
/// 抽奖
/// </summary>
/// <param name="iqiyiAccount"></param>
public static LockDrawResponse LockDarw(IqiyiAccount iqiyiAccount,string actCode)
public static LockDrawResponse LockDarw(IqiyiAccount iqiyiAccount, string actCode)
{
var headers = new SortedDictionary<string, string>();
......@@ -192,21 +164,88 @@ namespace iqiyiWin.Api
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var responseStr = HttpUtils.DoGet(new CookieContainer() , Domain.WWW_IQIYI, Domain.PCELL_DOMAIN + ApiConstant.LOCK_DRAW + queryText, headers);
var responseStr = HttpUtils.DoGet(new CookieContainer(), Domain.WWW_IQIYI, Domain.PCELL_DOMAIN + ApiConstant.LOCK_DRAW + queryText, headers);
var response = JsonConvert.DeserializeObject<LockDrawResponse>(responseStr);
return response;
//if (response != null && (response.Code == "A00000"))
//{
// // UILogUtils.Info($"爱奇艺票务 【签到】成功: {iqiyiAccount.MobileNo}");
// return response;
//}
//else
//{
// // UILogUtils.Error($"爱奇艺票务 【签到】失败: {iqiyiAccount.MobileNo} {(response == null ? responseStr : response.Msg)}");
// return null;
//}
}
/// <summary>
/// 想看电影
/// </summary>
/// <param name="iqiyiAccount"></param>
/// <param name="movieId"></param>
/// <returns></returns>
public static IqiyiH5TaskResult WantLookMoive(IqiyiAccount iqiyiAccount, string movieId)
{
var request = new WantLookMoiveRequest()
{
Ck = iqiyiAccount.Cookie,
MovieId = movieId
};
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
request.Sig = IqiyiSign.Sign(queryList);
queryList["sig"] = request.Sig;
var queryText = UrlUtils.BuildQueryStringUrl(queryList);
var cookieContainer = new CookieContainer();
var cookieItem = new Cookie();
cookieItem.Name = "P00001";
cookieItem.Value = iqiyiAccount.Cookie;
cookieItem.Domain = ".iqiyi.com";
cookieContainer.Add(cookieItem);
var responseStr = HttpUtils.DoGet(cookieContainer, Domain.REFERER_DOMAIN, Domain.TICKET_IQIYI + ApiConstant.WANT_LOOK_MOVIE + queryText, queryList);
var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<object>>(responseStr);
if (response != null && response.Code == "A00000")
{
return new IqiyiH5TaskResult();
}
else
{
return new IqiyiH5TaskResult() {
Status = false,
Message = response.Msg
};
}
}
public static IqiyiH5TaskResult ReceiveTaskNovice(IqiyiAccount iqiyiAccount, string recordId)
{
var request = new IqiyiH5ReceiveWaitLookRequest()
{
Ck = iqiyiAccount.Cookie,
RecordId = recordId
};
var cookieContainer = new CookieContainer();
var cookieItem = new Cookie();
cookieItem.Name = "P00001";
cookieItem.Value = iqiyiAccount.Cookie;
cookieItem.Domain = ".iqiyi.com";
cookieContainer.Add(cookieItem);
SortedDictionary<string, string> queryList = JsonConvert.DeserializeObject<SortedDictionary<string, string>>(JsonConvert.SerializeObject(request));
var responseStr = HttpUtils.DoPost(cookieContainer, "https://act.iqiyi.com/", Domain.TICKET_IQIYI + ApiConstant.RECEIVE_TASK_NOVICE, UrlUtils.BuildQueryStringUrl(queryList));
var response = JsonConvert.DeserializeObject<IqiyiH5BaseResponse<object>>(responseStr);
if (response != null && response.Code == "A00000")
{
return new IqiyiH5TaskResult();
}
else
{
return new IqiyiH5TaskResult()
{
Status = false,
Message = response.Msg
};
}
}
}
}
......@@ -5,6 +5,8 @@ using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Qianzhu.Model.User;
using iqiyiWin.Enums;
using iqiyiWin.Model;
using CinemaWin.Iqiyi.Model.Cinema;
namespace iqiyiWin
{
......@@ -15,6 +17,12 @@ namespace iqiyiWin
/// </summary>
public static readonly App Instance = new App();
/// <summary>
/// 爱奇艺热门城市列表
/// </summary>
public List<IqiyiH5City> IqiyiHotCitites = new List<IqiyiH5City>();
/// <summary>
/// Construct
/// </summary>
......
......@@ -36,5 +36,41 @@ namespace iqiyiWin.Constant
/// 获取影院列表
/// </summary>
public static string GET_CINEMA_LIST = "/app/v2/cinema/cinemaList";
/// <summary>
/// 获取观影豆任务情况
/// </summary>
public static string GET_TASK_LIST = "/app/v2/task/novice/info";
/// <summary>
/// 获取待上映的电影
/// </summary>
public static string GET_WAIT_SHOW_FILM = "/app/v2/movie/coming";
/// <summary>
/// 标记想看电影
/// </summary>
public static string WANT_LOOK_MOVIE = "/app/v2/movie/storeMovie";
/// <summary>
/// 领取想看电影观影豆
/// </summary>
public static string RECEIVE_TASK_NOVICE = "/app/v2/task/novice/reward";
/// <summary>
/// 获取影院列表
/// </summary>
public static readonly string H5_API_GET_CINEMAS = "/app/v2/cinema/cinemaList";
/// <summary>
/// 获取电影列表
/// </summary>
public static readonly string H5_API_GET_MOVIES = "/app/v2/cinema/cinemaInfoAndSessionByMovieId";
/// <summary>
/// 获取场次信息
/// </summary>
public static readonly string H5_API_GET_SESSIONS = "/app/v2/cinema/sessions";
/// <summary>
/// 获取座位信息
/// </summary>
public static readonly string H5_API_GET_SEAT_MAP = "/app/v2/seat/seatMap";
/// <summary>
/// 创建订单
/// </summary>
public static readonly string H5_API_CREATE_ORDER = "/app/v2/order/center";
}
}
......@@ -14,6 +14,7 @@ namespace iqiyiWin.Constant
public static string Platform = "iPhone";
public static string Appid = "10012";
public static string Dvsrc = "ios";
public static string BizType = "App";
public static Random Random = new Random();
public static string Dfp()
......@@ -28,16 +29,28 @@ namespace iqiyiWin.Constant
}
return resultText;
}
public static string Nonce()
public static string Nonce(int type = 0)
{
var nonce = "";
var encryption = "0123456789abcdefghijklmnopqrstuvwxyz";
var random = new Random();
for (int i = 0; i < 16; i++)
if (type == 0)
{
nonce += encryption[random.Next(0, encryption.Length)];
var nonceRandom = new Random();
return $"0.{nonceRandom.Next(10000000, 99999999)}{nonceRandom.Next(10000000, 99999999)}";
}
else if (type == 1)
{
var nonce = "";
var encryption = "0123456789abcdefghijklmnopqrstuvwxyz";
var random = new Random();
for (int i = 0; i < 16; i++)
{
nonce += encryption[random.Next(0, encryption.Length)];
}
return nonce;
}
else
{
return "";
}
return nonce;
}
}
}
......@@ -9,15 +9,35 @@ namespace iqiyiWin.Enums
{
public enum TaskTypeEnum
{
/// <summary>
/// 签到
/// </summary>
[Description("签到")]
SignIn = 0,
/// <summary>
/// 查询观影豆
/// </summary>
[Description("查询观影豆")]
MovieBean = 1,
/// <summary>
/// 查询优惠券
/// </summary>
[Description("查询优惠券")]
Coupon = 2,
/// <summary>
/// 抽奖
/// </summary>
[Description("抽奖")]
LockDraw = 3,
/// <summary>
/// 获取影院列表
/// </summary>
[Description("获取影院列表")]
GetCinemaList = 4,
/// <summary>
/// 领取新手任务豆
/// </summary>
[Description("领取新手任务豆")]
ReceiveNewbieTask = 5,
}
}
namespace iqiyiWin
{
partial class FormWebBrower
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.wb_login = new System.Windows.Forms.WebBrowser();
this.SuspendLayout();
//
// wb_login
//
this.wb_login.Dock = System.Windows.Forms.DockStyle.Fill;
this.wb_login.Location = new System.Drawing.Point(0, 0);
this.wb_login.MinimumSize = new System.Drawing.Size(20, 20);
this.wb_login.Name = "wb_login";
this.wb_login.ScrollBarsEnabled = false;
this.wb_login.Size = new System.Drawing.Size(359, 628);
this.wb_login.TabIndex = 0;
//
// FormWebBrower
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(359, 628);
this.Controls.Add(this.wb_login);
this.Name = "FormWebBrower";
this.Text = "FormWebBrower";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.WebBrowser wb_login;
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Timers;
using System.Windows.Forms;
namespace iqiyiWin
{
public partial class FormWebBrower : Form
{
System.Timers.Timer loadHtmlTimer = new System.Timers.Timer();
public FormWebBrower()
{
InitializeComponent();
Init();
}
public void Init()
{
wb_login.Navigate("https://m.iqiyi.com/user.html#baseLogin");
wb_login.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_login_DocumentCompleted);//加载完成后的事件
}
/// <summary>
/// 页面加载完事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void wb_login_DocumentCompleted(object sender, EventArgs e)
{
wb_login.ScriptErrorsSuppressed = true;
var url = wb_login.Url.ToString();
var title = wb_login.DocumentTitle;
if (url == "https://m.iqiyi.com/user.html#baseLogin")
{
var html = wb_login.DocumentText;
LoadOtherHtml("15005885021","axs970610");
}
else
{
var cookie = wb_login.Document.Cookie.Replace("\r", "").Replace("\n", ""); ;
var cookieList = cookie.Split(';');
var p00001 = "";
foreach (var item in cookieList)
{
var key = item.Split('=')[0].Trim();
var value = item.Split('=')[1].Trim();
if(key == "P00001")
{
p00001 = value;
break;
}
}
}
}
private void LoadOtherHtml(string mobileNo , string password)
{
var scriptText = "if(document.getElementById('phoneNumber')){document.getElementById('phoneNumber').value='" + mobileNo + "'}if(document.getElementsByClassName('enterNumber')&&document.getElementsByClassName('enterNumber')[2]){document.getElementsByClassName('enterNumber')[2].value='" + password + "'}if(document.getElementsByClassName('c-check-link')&&document.getElementsByClassName('c-check-link')[0]){document.getElementsByClassName('c-check-link')[0].click()}if(document.getElementsByClassName('c-btn-block c-btn-base')&&document.getElementsByClassName('c-btn-block c-btn-base')[0]){document.getElementsByClassName('c-btn-block c-btn-base')[0].click()};";
HtmlElement script = wb_login.Document.CreateElement("script");
script.SetAttribute("type", "text/javascript");
script.SetAttribute("text", scriptText); //这里写JS代码
HtmlElement head = wb_login.Document.Body.AppendChild(script);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
......@@ -59,6 +59,7 @@
this.cb_movieBean = new System.Windows.Forms.CheckBox();
this.cb_signIn = new System.Windows.Forms.CheckBox();
this.cb_luckDraw = new System.Windows.Forms.CheckBox();
this.cb_ReceiveNewbieTask = new System.Windows.Forms.CheckBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.btn_start = new System.Windows.Forms.Button();
......@@ -66,6 +67,7 @@
this.button2 = new System.Windows.Forms.Button();
this.btn_set_interval = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.tssl_timer_status = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabel7 = new System.Windows.Forms.ToolStripStatusLabel();
......@@ -79,7 +81,7 @@
this.tssl_error_num = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabel5 = new System.Windows.Forms.ToolStripStatusLabel();
this.tssl_wait_num = new System.Windows.Forms.ToolStripStatusLabel();
this.button4 = new System.Windows.Forms.Button();
this.领取新手任务豆ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tableLayoutPanel1.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgv_user)).BeginInit();
......@@ -209,6 +211,7 @@
this.查询观影豆ToolStripMenuItem,
this.查询优惠券ToolStripMenuItem,
this.抽奖ToolStripMenuItem,
this.领取新手任务豆ToolStripMenuItem,
this.toolStripMenuItem2,
this.复制账号ToolStripMenuItem,
this.删除ToolStripMenuItem,
......@@ -217,7 +220,7 @@
this.导出账号ToolStripMenuItem,
this.清空账号ToolStripMenuItem});
this.cms_user.Name = "cms_user";
this.cms_user.Size = new System.Drawing.Size(187, 246);
this.cms_user.Size = new System.Drawing.Size(187, 290);
//
// 签到ToolStripMenuItem
//
......@@ -333,10 +336,12 @@
this.tableLayoutPanel3.Controls.Add(this.cb_movieBean, 0, 1);
this.tableLayoutPanel3.Controls.Add(this.cb_signIn, 0, 0);
this.tableLayoutPanel3.Controls.Add(this.cb_luckDraw, 0, 3);
this.tableLayoutPanel3.Controls.Add(this.cb_ReceiveNewbieTask, 0, 4);
this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel3.Location = new System.Drawing.Point(3, 17);
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.RowCount = 5;
this.tableLayoutPanel3.RowCount = 6;
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
......@@ -393,6 +398,18 @@
this.cb_luckDraw.Text = "抽奖";
this.cb_luckDraw.UseVisualStyleBackColor = true;
//
// cb_ReceiveNewbieTask
//
this.cb_ReceiveNewbieTask.AutoSize = true;
this.cb_ReceiveNewbieTask.Dock = System.Windows.Forms.DockStyle.Fill;
this.cb_ReceiveNewbieTask.Location = new System.Drawing.Point(13, 131);
this.cb_ReceiveNewbieTask.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.cb_ReceiveNewbieTask.Name = "cb_ReceiveNewbieTask";
this.cb_ReceiveNewbieTask.Size = new System.Drawing.Size(212, 26);
this.cb_ReceiveNewbieTask.TabIndex = 8;
this.cb_ReceiveNewbieTask.Text = "领取新手任务豆";
this.cb_ReceiveNewbieTask.UseVisualStyleBackColor = true;
//
// groupBox4
//
this.groupBox4.Controls.Add(this.tableLayoutPanel2);
......@@ -418,7 +435,8 @@
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 17);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 4;
this.tableLayoutPanel2.RowCount = 5;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
......@@ -483,6 +501,17 @@
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.Button3_Click);
//
// button4
//
this.button4.Dock = System.Windows.Forms.DockStyle.Fill;
this.button4.Location = new System.Drawing.Point(117, 83);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(108, 34);
this.button4.TabIndex = 5;
this.button4.Text = "同步影院列表";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.Button4_Click);
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
......@@ -578,16 +607,12 @@
this.tssl_wait_num.Size = new System.Drawing.Size(15, 17);
this.tssl_wait_num.Text = "0";
//
// button4
// 领取新手任务豆ToolStripMenuItem
//
this.button4.Dock = System.Windows.Forms.DockStyle.Fill;
this.button4.Location = new System.Drawing.Point(117, 83);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(108, 34);
this.button4.TabIndex = 5;
this.button4.Text = "获取影院列表";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.Button4_Click);
this.领取新手任务豆ToolStripMenuItem.Name = "领取新手任务豆ToolStripMenuItem";
this.领取新手任务豆ToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
this.领取新手任务豆ToolStripMenuItem.Text = "领取新手任务豆";
this.领取新手任务豆ToolStripMenuItem.Click += new System.EventHandler(this.领取新手任务豆ToolStripMenuItem_Click);
//
// Main
//
......@@ -669,6 +694,8 @@
private System.Windows.Forms.Button button3;
private System.Windows.Forms.ToolStripMenuItem 抽奖ToolStripMenuItem;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.CheckBox cb_ReceiveNewbieTask;
private System.Windows.Forms.ToolStripMenuItem 领取新手任务豆ToolStripMenuItem;
}
}
......@@ -123,6 +123,9 @@ namespace iqiyiWin
UILogUtils.Add(this);
dgv_user.AutoGenerateColumns = false;
var formWB = new FormWebBrower();
formWB.Show();
}
......@@ -241,10 +244,12 @@ namespace iqiyiWin
var mominute = Convert.ToInt32(((EndTime - StartTime) % (1000 * 60 * 60)) / (1000 * 60));
var msecond = ((EndTime - StartTime) % (1000 * 60) / 1000);
var logText = $"爱奇艺票务 本次{EnumExtension.GetDescription(TaskList[TaskIndex])}任务,共计执行{SelectNum}个账号,成功{SuccessNum}个账号,失败{ErrorNum}个账号,所用时长{hour}小时{mominute}分钟{msecond}秒钟。";
var taskItem = TaskIndex == -1 ? TaskList[0] : TaskList[TaskIndex];
var logText = $"爱奇艺票务 本次{EnumExtension.GetDescription(taskItem)}任务,共计执行{SelectNum}个账号,成功{SuccessNum}个账号,失败{ErrorNum}个账号,所用时长{hour}小时{mominute}分钟{msecond}秒钟。";
// 如果它是查券就进行排序
if (TaskList[TaskIndex] == TaskTypeEnum.Coupon)
if (taskItem == TaskTypeEnum.Coupon)
{
var hasCouponAccount = new List<IqiyiAccount>();
foreach (var item in IqiyiAccounts)
......@@ -281,9 +286,10 @@ namespace iqiyiWin
FileUtils.AppendAllText(filePath, fileText, Encoding.UTF8);
}
}
else if( TaskList[TaskIndex] == TaskTypeEnum.GetCinemaList)
else if(taskItem == TaskTypeEnum.GetCinemaList)
{
QianzhuIqiyiCinema.InsertBatch(App.Instance.QianzhuUserAccount.Token, IqiyiCinemas);
var insertNum = QianzhuIqiyiCinema.InsertBatch(App.Instance.QianzhuUserAccount.Token, IqiyiCinemas);
logText += $"成功插入{insertNum}个影院。";
}
if (TimerTiming.Enabled)
{
......@@ -895,7 +901,7 @@ namespace iqiyiWin
FileUtils.AppendAllText(filePath, fileText, Encoding.UTF8);
// 设定服务器
App.Instance.SetEnvironmentByDescriprtion("测试");
App.Instance.SetEnvironmentByDescriprtion("正式");
// 登录账号
var account = "15005885021";
var password = "a123456";
......@@ -961,6 +967,160 @@ namespace iqiyiWin
}
}
#endregion
#region 领取新手任务豆
private void receiveNewbieTask(List<IqiyiAccount> iqiyiAccounts)
{
StartTime = DateUtils.GetTimeStampOfMilliseconds();
SelectNum = iqiyiAccounts.Count;
ImplementNum = 0;
SuccessNum = 0;
ErrorNum = 0;
WaitNum = iqiyiAccounts.Count;
setStatusStripNum();
_cancellationTokenSource?.Cancel();
_cancellationTokenSource = new CancellationTokenSource();
CancellationToken cancellationToken = _cancellationTokenSource.Token;
String fileDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "日志", "领取新手任务豆", DateTime.Now.ToString("yyyyMMdd"));
String fileNamePrefixSuccess = "领取新手任务豆-" + DateTime.Now.ToString("HHmmss") + ".txt";
String fileNamePrefixError = "领取新手任务豆-" + DateTime.Now.ToString("HHmmss") + ".txt";
if (App.Instance.IqiyiHotCitites.Count == 0)
{
App.Instance.IqiyiHotCitites = Cinema.getHostCities();
}
foreach (var iqiyiAccount in iqiyiAccounts)
{
Task.Factory.StartNew(() =>
{
int threadId = Thread.CurrentThread.ManagedThreadId;
if (!_threadIdSet.Contains(threadId))
{
_threadIdSet.Add(threadId);
UILogUtils.Info($"线程[{threadId}]运行中...总线程数[{_threadIdSet.Count}]");
}
string filePath = "";
string fileText = $"{iqiyiAccount.MobileNo}----{iqiyiAccount.Password}----{iqiyiAccount.Cookie}";
Boolean isRestart = false;
do
{
isRestart = false;
var tasks = FilmTask.GetTaskList(iqiyiAccount);
var receiveTask = new List<IqiyiTask>();
foreach (var task in tasks)
{
switch (task.TaskName)
{
case "首次标记\"想看\"电影":
if (!task.Complete)
{
var result = FilmTask.SignWaitShowFilm(iqiyiAccount);
fileText += $"|{task.TaskName}----任务完成" + (result.Status ? "成功" : ("失败:" + result.Message));
isRestart = true;
}
else if (!task.Receive)
{
var result = User.ReceiveTaskNovice(iqiyiAccount, task.RecordId);
fileText += $"|{task.TaskName}----任务领取" + (result.Status ? "成功" : ("失败:" + result.Message));
}
break;
case "首次体验在线选座":
if (!task.Complete)
{
var result = FilmTask.FirstCreatedOrder(iqiyiAccount);
fileText += $"|{task.TaskName}----任务完成" + (result.Status ? "成功" : ("失败:" + result.Message));
isRestart = true;
}
else if (!task.Receive)
{
var result = User.ReceiveTaskNovice(iqiyiAccount, task.RecordId);
fileText += $"|{task.TaskName}----任务领取" + (result.Status ? "成功" : ("失败:" + result.Message));
}
break;
case "首次购买超值礼包":
case "首次购买电影票":
case "完成全部新手任务":
if (task.Complete && !task.Receive)
{
var result = User.ReceiveTaskNovice(iqiyiAccount, task.RecordId);
fileText += $"|{task.TaskName}----任务领取" + (result.Status ? "成功" : ("失败:" + result.Message));
}
break;
default:
break;
}
}
} while (isRestart);
Interlocked.Increment(ref SuccessNum);
Interlocked.Increment(ref ImplementNum);
Interlocked.Decrement(ref WaitNum);
fileText = $"{fileText}\n";
filePath = Path.Combine(fileDirectory, fileNamePrefixSuccess);
setStatusStripNum();
FileUtils.AppendAllText(filePath, fileText, Encoding.UTF8);
}, cancellationToken);
}
}
private void 领取新手任务豆ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
if (dgv_user.SelectedRows == null || dgv_user.SelectedRows.Count <= 0)
{
UILogUtils.Error("请选择要领取新手任务豆的账号。");
return;
}
if (DateUtils.GetTimeStampOfMilliseconds() - StartTime > TimeAbnormalInterval)
{
IsLoading = false;
}
if (IsLoading)
{
return;
}
var iqiyiAccounts = new List<IqiyiAccount>();
foreach (DataGridViewRow row in dgv_user.SelectedRows)
{
IqiyiAccount iqiyiAccount = row.DataBoundItem as IqiyiAccount;
iqiyiAccounts.Add(iqiyiAccount);
}
IsLoading = true;
TaskList = new List<TaskTypeEnum>{
TaskTypeEnum.ReceiveNewbieTask
};
TaskIndex = 0;
receiveNewbieTask(iqiyiAccounts);
}
catch (Exception ex)
{
UILogUtils.Error(ex);
}
}
#endregion
/// <summary>
/// 开始按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Btn_start_Click(object sender, EventArgs e)
{
if (dgv_user.Rows.Count == 0)
......@@ -1010,6 +1170,12 @@ namespace iqiyiWin
TaskList.Add(TaskTypeEnum.LockDraw);
taskNameList.Add($"{EnumExtension.GetDescription(TaskTypeEnum.LockDraw)}");
}
// 新手任务
if (cb_ReceiveNewbieTask.Checked)
{
TaskList.Add(TaskTypeEnum.ReceiveNewbieTask);
taskNameList.Add($"{EnumExtension.GetDescription(TaskTypeEnum.ReceiveNewbieTask)}");
}
if (TaskList.Count != 0)
{
......@@ -1062,12 +1228,19 @@ namespace iqiyiWin
case TaskTypeEnum.GetCinemaList:
GetCinemaListInfo();
break;
case TaskTypeEnum.ReceiveNewbieTask:
receiveNewbieTask(IqiyiAccounts);
break;
default:
UILogUtils.Error($"未知任务类型");
break;
}
}
/// <summary>
/// 停止按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button1_Click(object sender, EventArgs e)
{
IsLoading = false;
......@@ -1080,7 +1253,11 @@ namespace iqiyiWin
UILogUtils.Error(ex.ToString());
}
}
/// <summary>
/// 复制账号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 复制账号ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
......@@ -1120,7 +1297,11 @@ namespace iqiyiWin
UILogUtils.Info("复制账号成功。");
}
/// <summary>
/// 到处账号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 导出账号ToolStripMenuItem_Click(object sender, EventArgs e)
{
if(dgv_user.Rows.Count == 0)
......@@ -1138,13 +1319,21 @@ namespace iqiyiWin
copyAccountInfo(iqiyiAccounts);
}
/// <summary>
/// 清空账号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 清空账号ToolStripMenuItem_Click(object sender, EventArgs e)
{
dgv_user.DataSource = null;
IqiyiAccounts = new List<IqiyiAccount>();
}
/// <summary>
/// 删除账号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
......@@ -1185,7 +1374,11 @@ namespace iqiyiWin
UILogUtils.Error(ex);
}
}
/// <summary>
/// 打开文件夹
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button2_Click(object sender, EventArgs e)
{
try
......@@ -1216,7 +1409,11 @@ namespace iqiyiWin
UILogUtils.Error(ex.ToString());
}
}
/// <summary>
/// 打开设置定时任务窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Btn_set_interval_Click(object sender, EventArgs e)
{
var setInterval = new SetInterval();
......@@ -1249,6 +1446,9 @@ namespace iqiyiWin
tssl_timer_status.ForeColor = Color.Black;
}
}
/// <summary>
/// 设定定时任务
/// </summary>
public void setTimer()
{
var intervalTime = IntervalTime;
......@@ -1284,6 +1484,9 @@ namespace iqiyiWin
TimerSetOnTime.Start();
}
/// <summary>
/// 启动定时任务定时器
/// </summary>
public void setTiming()
{
TimerTiming.Stop();
......@@ -1302,7 +1505,11 @@ namespace iqiyiWin
Btn_start_Click(new object(), new EventArgs());
}
/// <summary>
/// 设置抽奖id
/// </summary>
/// <param name="type"></param>
/// <param name="actCode"></param>
public void SetActCode(int type , string actCode)
{
if(type == 0)
......@@ -1311,7 +1518,11 @@ namespace iqiyiWin
UILogUtils.Info($"设置抽奖Id成功; [{ActCode}]");
}
}
/// <summary>
/// 发送钉钉消息
/// </summary>
/// <param name="message"></param>
/// <param name="mobile"></param>
private static void SendDingdingMessagesAsync(string message, string mobile)
{
UILogUtils.Info($"发送钉钉消息:[{message}] - [{mobile}]");
......@@ -1326,13 +1537,21 @@ namespace iqiyiWin
DingDingClient.SendMessage(DingDingConstant.WEB_HOOK_URL, message, atMobiles);
});
}
/// <summary>
/// 打开设置抽奖id窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button3_Click(object sender, EventArgs e)
{
var setLuckDraw = new SetLuckDraw();
setLuckDraw.ShowDialog(this);
}
/// <summary>
/// 同步影院
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button4_Click(object sender, EventArgs e)
{
try
......@@ -1359,5 +1578,6 @@ namespace iqiyiWin
UILogUtils.Error(ex);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Model
{
public class IqiyiFilm
{
/// <summary>
/// Examples: "动作大片《怒火·重案》定档7.30,甄子丹谢霆锋生死搏杀", "贝肯熊2定档 来欢笑一夏", "《俑之城》7月9日全国上映,一起见证千古爱恋!", "皮皮虾总裁", "电影《盛夏未来》“未来已来”预告,张子枫吴磊夏日出逃"
/// </summary>
[JsonProperty("title")]
public string Title { get; set; }
/// <summary>
/// Examples: "https://moviepic02.iqiyipic.com/movie/2021/01/27/4b1a796ae29553c5ea40169e78c32076f7a43ba7.jpg@s_2,w_600,h_340,q_100", "https://moviepic03.iqiyipic.com/movie/2021/05/31/3b606c3ea5b656917b51ae9f1ba8f1a6e73d0118.jpg@s_2,w_600,h_340,q_100", "https://moviepic03.iqiyipic.com/movie/2021/06/29/36f0090aeffb8becbb93d53d5a74b730402544dd.jpg@s_2,w_600,h_340,q_100", "https://moviepic05.iqiyipic.com/movie/2021/05/12/d57f63629f2b28d673d0c72b56834d0a1731859e.jpg@s_2,w_600,h_340,q_100", "https://moviepic03.iqiyipic.com/movie/2021/06/10/6d60c62199c047d6666d0a6041e6b5f9282afa5f.jpg@s_2,w_600,h_340,q_100"
/// </summary>
[JsonProperty("picUrl")]
public string PicUrl { get; set; }
/// <summary>
/// Examples: 5676626892530200, 2841772787017000, 6453925599269500, 6258999298184200, 3082422541340600
/// </summary>
[JsonProperty("tvId")]
public string TvId { get; set; }
/// <summary>
/// Examples: 5676626892530200, 2841772787017000, 6453925599269500, 6258999298184200, 3082422541340600
/// </summary>
[JsonProperty("aid")]
public string Aid { get; set; }
/// <summary>
/// Examples: null
/// </summary>
[JsonProperty("vid")]
public string Vid { get; set; }
/// <summary>
/// Examples: "01:41", "01:18", "01:37", "01:08", "01:53"
/// </summary>
[JsonProperty("duration")]
public string Duration { get; set; }
/// <summary>
/// Examples: "0"
/// </summary>
[JsonProperty("ctype")]
public string Ctype { get; set; }
/// <summary>
/// Examples: "0"
/// </summary>
[JsonProperty("_pc")]
public string Pc { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("playCount")]
public int PlayCount { get; set; }
/// <summary>
/// Examples: 2, 5, 4, 1, 3
/// </summary>
[JsonProperty("order")]
public int Order { get; set; }
/// <summary>
/// Examples: "2021-01-27", "2021-05-31", "2021-06-29", "2021-05-12", "2021-06-10"
/// </summary>
[JsonProperty("createAt")]
public string CreateAt { get; set; }
/// <summary>
/// Examples: 1728564199, 1704275499, 1669123999, 1635634299, 1749172499
/// </summary>
[JsonProperty("movieId")]
public string MovieId { get; set; }
/// <summary>
/// Examples: {"movieName":"怒火·重案"}, {"movieName":"贝肯熊2:金牌特工"}, {"movieName":"俑之城"}, {"movieName":"皮皮虾总裁"}, {"movieName":"盛夏未来"}
/// </summary>
[JsonProperty("relatedMovieMap")]
public RelatedMovieMap RelatedMovieMap { get; set; }
/// <summary>
/// Examples: null
/// </summary>
[JsonProperty("shareUrl")]
public string ShareUrl { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("unique")]
public bool Unique { get; set; }
}
public class RelatedMovieMap
{
/// <summary>
/// Examples: "怒火·重案", "贝肯熊2:金牌特工", "俑之城", "皮皮虾总裁", "盛夏未来"
/// </summary>
[JsonProperty("movieName")]
public string MovieName { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Model.Cinema
{
public class IqiyiH5Cinema
{
/// <summary>
/// Examples: 27.0, 40.0, 38.0, 28.0, 30.9
/// </summary>
[JsonProperty("cinemaPrice")]
public double CinemaPrice { get; set; }
/// <summary>
/// Examples: "27", "40", "38", "28", "30.9"
/// </summary>
[JsonProperty("cinemaPriceString")]
public string CinemaPriceString { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("seatStatus")]
public int SeatStatus { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("cinemaDistanceString")]
public string CinemaDistanceString { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("movieId")]
public int MovieId { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isStored")]
public bool IsStored { get; set; }
/// <summary>
/// Examples: "下沙文渊路499号四季广场5幢2层", "杭州市萧山区市心中路123号旺角城新天地商业步行街8号楼4-5层", "杭州市西湖区学院路77号", "杭州市西湖区文一路298号物美大买场6楼(近万塘路)", "杭州市拱墅区上塘路458号水晶城购物中心7楼"
/// </summary>
[JsonProperty("cinemaAddress")]
public string CinemaAddress { get; set; }
/// <summary>
/// Examples: [], [{"name":"杜比全景声","field":"dolby","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"IMAX","field":"imax","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"巨幕","field":"jumu","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}], [], [{"name":"杜比全景声","field":"dolby","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}], [{"name":"4K","field":"k4","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"REALD","field":"reald","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"IMAX","field":"imax","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}]
/// </summary>
[JsonProperty("tags")]
public List<CinemaTag> Tags { get; set; }
/// <summary>
/// Examples: 371, 277, 272, 256, 243
/// </summary>
[JsonProperty("sessionTotalCount")]
public int SessionTotalCount { get; set; }
/// <summary>
/// Examples: 1401250898, 1401250698, 1401251098, 1401251898, 1401250998
/// </summary>
[JsonProperty("areaId")]
public string AreaId { get; set; }
/// <summary>
/// Examples: 381779027, 180742627, 382245627, 180598727, 380930927
/// </summary>
[JsonProperty("cinemaId")]
public string CinemaId { get; set; }
/// <summary>
/// Examples: "四季国际影城", "萧山德纳IMAX影城", "晟嘉国际影城", "浙江翠苑电影大世界", "杭州万达影城水晶城店"
/// </summary>
[JsonProperty("cinemaName")]
public string CinemaName { get; set; }
/// <summary>
/// Examples: 0.0
/// </summary>
[JsonProperty("cinemaDistance")]
public double CinemaDistance { get; set; }
/// <summary>
/// Examples: false, true
/// </summary>
[JsonProperty("hasImx")]
public bool HasImx { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("order")]
public int Order { get; set; }
/// <summary>
/// 拓展字段
/// 城市id
/// </summary>
public string CityId { get; set; }
/// <summary>
/// 拓展字段
/// 城市名称
/// </summary>
public string CityName { get; set; }
}
public class CinemaTag
{
/// <summary>
/// Examples: "杜比全景声", "IMAX", "巨幕", "4K", "REALD"
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// <summary>
/// Examples: "dolby", "imax", "jumu", "k4", "reald"
/// </summary>
[JsonProperty("field")]
public string Field { get; set; }
/// <summary>
/// Examples: "common"
/// </summary>
[JsonProperty("type")]
public string Type { get; set; }
/// <summary>
/// Examples: "#EF7D52"
/// </summary>
[JsonProperty("wireframe")]
public string Wireframe { get; set; }
/// <summary>
/// Examples: "#FFFFFF"
/// </summary>
[JsonProperty("background")]
public string Background { get; set; }
/// <summary>
/// Examples: "#EF7D52"
/// </summary>
[JsonProperty("colorFont")]
public string ColorFont { get; set; }
}
}
......@@ -5,36 +5,37 @@ using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Model
namespace CinemaWin.Iqiyi.Model.Cinema
{
public class IqiyiCity
public class IqiyiH5City
{
/// <summary>
/// Examples: "akesu", "anshan", "alashan", "anqing", "anshun"
/// Examples: "shanghai"
/// </summary>
[JsonProperty("pinyin")]
public string Pinyin { get; set; }
/// <summary>
/// Examples: "A", "B", "C", "D", "E"
/// Examples: "S"
/// </summary>
[JsonProperty("initial")]
public string Initial { get; set; }
/// <summary>
/// Examples: "阿克苏", "鞍山", "阿盟,阿拉善", "安庆", "安顺"
/// Examples: "上海"
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// <summary>
/// Examples: 1401542293, 1401269893, 1401292393, 1401280593, 1401273993
/// Examples: 1400254893
/// </summary>
[JsonProperty("cityId")]
public int CityId { get; set; }
public string CityId { get; set; }
/// <summary>
/// Examples: false, true
/// Examples: true
/// </summary>
[JsonProperty("isHotCity")]
public bool IsHotCity { get; set; }
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Model.Cinema;
namespace iqiyiWin.Model
{
public class IqiyiH5CreateOrder
{
public IqiyiAccount IqiyiAccount { get; set; }
public string MovieId { get; set; }
public IqiyiH5Session Session { get; set; }
public List<IqiyiH5Seat> Seats { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Model.Cinema
{
public class IqiyiH5Movie
{
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("sessions")]
public List<Session> Sessions { get; set; }
/// <summary>
/// Examples: "9.2", "8.5", "6.5", "8.4", "8.2"
/// </summary>
[JsonProperty("scoreString")]
public string ScoreString { get; set; }
/// <summary>
/// Examples: 1745301399, 1665453699, 1749226399, 1743617799, 1647588499
/// </summary>
[JsonProperty("movieId")]
public string MovieId { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isVip")]
public bool IsVip { get; set; }
/// <summary>
/// Examples: {"score":9.2,"type":3}, {"score":8.5,"type":3}, {"type":1,"wantToSee":111}, {"score":8.4,"type":3}, {"score":8.2,"type":3}
/// </summary>
[JsonProperty("scoreBlock")]
public ScoreBlock ScoreBlock { get; set; }
/// <summary>
/// Examples: "https://pic0.iqiyipic.com/image/20210205/06/5a/v_154362925_m_601_m3_440_608.jpg", "https://pic6.iqiyipic.com/image/20201012/ee/15/v_115684213_m_601_m18_440_608.jpg", "", "https://pic1.iqiyipic.com/image/20210222/0a/be/v_154005610_m_601_m3_440_608.jpg", "https://pic3.iqiyipic.com/image/20210120/a9/dd/v_122200379_m_601_m16_440_608.jpg"
/// </summary>
[JsonProperty("picUrl")]
public string PicUrl { get; set; }
/// <summary>
/// Examples: 1400251193
/// </summary>
[JsonProperty("currentCityId")]
public int CurrentCityId { get; set; }
/// <summary>
/// Examples: 9.2, 8.5, 6.5, 8.4, 8.2
/// </summary>
[JsonProperty("score")]
public double Score { get; set; }
/// <summary>
/// Examples: false, true
/// </summary>
[JsonProperty("isPresell")]
public bool IsPresell { get; set; }
/// <summary>
/// Examples: 94, 72, 62, 42, 33
/// </summary>
[JsonProperty("sessionCount")]
public int SessionCount { get; set; }
/// <summary>
/// Examples: "你好,李焕英", "唐人街探案3", "寻龙传说", "人潮汹涌", "刺杀小说家"
/// </summary>
[JsonProperty("movieName")]
public string MovieName { get; set; }
/// <summary>
/// Examples: true, false
/// </summary>
[JsonProperty("selected")]
public bool Selected { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("order")]
public int Order { get; set; }
/// <summary>
/// Examples: "111"
/// </summary>
[JsonProperty("wantToSee")]
public string WantToSee { get; set; }
/// <summary>
/// Examples: 111
/// </summary>
[JsonProperty("wantToSeeNum")]
public int? WantToSeeNum { get; set; }
}
public class ScoreBlock
{
/// <summary>
/// Examples: 9.2, 8.5, 8.4, 8.2, 7.4
/// </summary>
[JsonProperty("score")]
public double Score { get; set; }
/// <summary>
/// Examples: 3, 1
/// </summary>
[JsonProperty("type")]
public int Type { get; set; }
/// <summary>
/// Examples: 111
/// </summary>
[JsonProperty("wantToSee")]
public int? WantToSee { get; set; }
}
public class Session
{
/// <summary>
/// Examples: {"originPriceMsg":"30.0元","priceMsg":"限时特惠¥6.9抢","displayName":"购买礼包,立得30元优惠券","displayNameHighlight":"购买礼包,立得#30#元优惠券","name":"礼包","hasShow":true}, {"originPriceMsg":"30.0元","priceMsg":"限时特惠¥6.9抢","displayName":"购买礼包,立得30元优惠券","displayNameHighlight":"购买礼包,立得#30#元优惠券","name":"礼包","hasShow":true}, {"originPriceMsg":"30.0元","priceMsg":"限时特惠¥6.9抢","displayName":"购买礼包,立得30元优惠券","displayNameHighlight":"购买礼包,立得#30#元优惠券","name":"礼包","hasShow":true}, {"originPriceMsg":"30.0元","priceMsg":"限时特惠¥6.9抢","displayName":"购买礼包,立得30元优惠券","displayNameHighlight":"购买礼包,立得#30#元优惠券","name":"礼包","hasShow":true}, {"originPriceMsg":"30.0元","priceMsg":"限时特惠¥6.9抢","displayName":"购买礼包,立得30元优惠券","displayNameHighlight":"购买礼包,立得#30#元优惠券","name":"礼包","hasShow":true}
/// </summary>
[JsonProperty("giftPackageInfo")]
public GiftPackageInfo GiftPackageInfo { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("hasGiftPkg")]
public bool HasGiftPkg { get; set; }
/// <summary>
/// Examples: {"priceId":0,"displayName":"","displaySubName":"","desc":"","pictureUrl":"","priceChangeNum":0,"priceChangeNumMax":0,"priceChangeSingle":"","startDate":"","endDate":"","createDate":"","valid":false,"movieIds":""}, {"priceId":0,"displayName":"","displaySubName":"","desc":"","pictureUrl":"","priceChangeNum":0,"priceChangeNumMax":0,"priceChangeSingle":"","startDate":"","endDate":"","createDate":"","valid":false,"movieIds":""}, {"priceId":0,"displayName":"","displaySubName":"","desc":"","pictureUrl":"","priceChangeNum":0,"priceChangeNumMax":0,"priceChangeSingle":"","startDate":"","endDate":"","createDate":"","valid":false,"movieIds":""}, {"priceId":0,"displayName":"","displaySubName":"","desc":"","pictureUrl":"","priceChangeNum":0,"priceChangeNumMax":0,"priceChangeSingle":"","startDate":"","endDate":"","createDate":"","valid":false,"movieIds":""}, {"priceId":0,"displayName":"","displaySubName":"","desc":"","pictureUrl":"","priceChangeNum":0,"priceChangeNumMax":0,"priceChangeSingle":"","startDate":"","endDate":"","createDate":"","valid":false,"movieIds":""}
/// </summary>
[JsonProperty("promotionInfo")]
public PromotionInfo PromotionInfo { get; set; }
/// <summary>
/// Examples: "温馨提示:电影开场前0分钟停止在线选座"
/// </summary>
[JsonProperty("tips")]
public string Tips { get; set; }
/// <summary>
/// Examples: "20210304", "20210305", "20210306", "20210307", "20210308"
/// </summary>
[JsonProperty("rawDate")]
public string RawDate { get; set; }
/// <summary>
/// Examples: true, false
/// </summary>
[JsonProperty("isLowest")]
public bool IsLowest { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("promotionDisplay")]
public bool PromotionDisplay { get; set; }
/// <summary>
/// Examples: true, false
/// </summary>
[JsonProperty("isShownOff")]
public bool IsShownOff { get; set; }
/// <summary>
/// Examples: "3-4", "3-5", "3-6", "3-7", "3-8"
/// </summary>
[JsonProperty("curDate")]
public string CurDate { get; set; }
/// <summary>
/// Examples: "https://act.iqiyi.com/act/pages/libao_goumai/app.html?channel=piaoh5_pqy"
/// </summary>
[JsonProperty("giftPackageH5Url")]
public string GiftPackageH5Url { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("outDateTime")]
public int OutDateTime { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("isReleased")]
public bool IsReleased { get; set; }
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("value")]
public List<IqiyiH5Session> Value { get; set; }
/// <summary>
/// Examples: "今天03-04", "明天03-05", "后天03-06", "周日03-07", "周一03-08"
/// </summary>
[JsonProperty("key")]
public string Key { get; set; }
}
public class GiftPackageInfo
{
/// <summary>
/// Examples: "30.0元"
/// </summary>
[JsonProperty("originPriceMsg")]
public string OriginPriceMsg { get; set; }
/// <summary>
/// Examples: "限时特惠¥6.9抢"
/// </summary>
[JsonProperty("priceMsg")]
public string PriceMsg { get; set; }
/// <summary>
/// Examples: "购买礼包,立得30元优惠券"
/// </summary>
[JsonProperty("displayName")]
public string DisplayName { get; set; }
/// <summary>
/// Examples: "购买礼包,立得#30#元优惠券"
/// </summary>
[JsonProperty("displayNameHighlight")]
public string DisplayNameHighlight { get; set; }
/// <summary>
/// Examples: "礼包"
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("hasShow")]
public bool HasShow { get; set; }
}
public class PromotionInfo
{
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("priceId")]
public int PriceId { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("displayName")]
public string DisplayName { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("displaySubName")]
public string DisplaySubName { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("desc")]
public string Desc { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("pictureUrl")]
public string PictureUrl { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("priceChangeNum")]
public int PriceChangeNum { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("priceChangeNumMax")]
public int PriceChangeNumMax { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("priceChangeSingle")]
public string PriceChangeSingle { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("startDate")]
public string StartDate { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("endDate")]
public string EndDate { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("createDate")]
public string CreateDate { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("valid")]
public bool Valid { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("movieIds")]
public string MovieIds { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Model.Cinema
{
public class IqiyiH5Seat
{
/// <summary>
/// Examples: "", 8
/// </summary>
[JsonProperty("partnerId")]
public string PartnerId { get; set; }
/// <summary>
/// Examples: "", "3301937101#01#01$3301937101#01#01_1_1", "3301937101#01#02$3301937101#01#02_1_2", "3301937101#01#03$3301937101#01#03_1_3", "3301937101#01#04$3301937101#01#04_1_4"
/// </summary>
[JsonProperty("partnerSeatId")]
public string PartnerSeatId { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("partnerHallId")]
public string PartnerHallId { get; set; }
/// <summary>
/// Examples: 1
/// </summary>
[JsonProperty("xCoord")]
public string XCoord { get; set; }
/// <summary>
/// Examples: 1, 2, 3, 4, 5
/// </summary>
[JsonProperty("yCoord")]
public string YCoord { get; set; }
/// <summary>
/// Examples: "0", "1"
/// </summary>
[JsonProperty("row")]
public string Row { get; set; }
/// <summary>
/// Examples: "0", "1", "2", "3", "4"
/// </summary>
[JsonProperty("column")]
public string Column { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("loveSeats")]
public string LoveSeats { get; set; }
/// <summary>
/// Examples: "", "ADULT"
/// </summary>
[JsonProperty("seatType")]
public string SeatType { get; set; }
/// <summary>
/// Examples: "", "UNABLE"
/// </summary>
[JsonProperty("status")]
public string Status { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("wangPiaoId")]
public string WangPiaoId { get; set; }
/// <summary>
/// Examples: 5
/// </summary>
[JsonProperty("maxSelectedNum")]
public int MaxSelectedNum { get; set; }
/// <summary>
/// Examples: "", "0"
/// </summary>
[JsonProperty("aid")]
public string Aid { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// 拓展字段
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("Price")]
public string Price { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Model.Cinema
{
public class IqiyiH5Session
{
/// <summary>
/// Examples: "80"
/// </summary>
[JsonProperty("plusPromotionPrice")]
public string PlusPromotionPrice { get; set; }
/// <summary>
/// Examples: "33"
/// </summary>
[JsonProperty("priceString")]
public string PriceString { get; set; }
/// <summary>
/// Examples: 80.0
/// </summary>
[JsonProperty("originalPrice")]
public double OriginalPrice { get; set; }
/// <summary>
/// Examples: "购礼包立减5元"
/// </summary>
[JsonProperty("sessionTips")]
public string SessionTips { get; set; }
/// <summary>
/// Examples: "8号厅", "7号厅", "情侣厅"
/// </summary>
[JsonProperty("hall")]
public string Hall { get; set; }
/// <summary>
/// Examples: [{"areaId":"15000","price":33.0,"setAreaId":true,"setPrice":true}], [{"areaId":"14999","price":33.0,"setAreaId":true,"setPrice":true}], [{"areaId":"15000","price":33.0,"setAreaId":true,"setPrice":true}], [{"areaId":"14993","price":33.0,"setAreaId":true,"setPrice":true}], [{"areaId":"14999","price":33.0,"setAreaId":true,"setPrice":true}]
/// </summary>
[JsonProperty("areas")]
public List<PriceArea> Areas { get; set; }
/// <summary>
/// Examples: "VIP专享0.0元"
/// </summary>
[JsonProperty("vipPriceTips")]
public string VipPriceTips { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isDiscount")]
public bool IsDiscount { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("promotionTag")]
public string PromotionTag { get; set; }
/// <summary>
/// Examples: "汉语 2D"
/// </summary>
[JsonProperty("type")]
public string Type { get; set; }
/// <summary>
/// Examples: "33"
/// </summary>
[JsonProperty("movieEnablePrice")]
public string MovieEnablePrice { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("hasDiffAreaPrice")]
public bool HasDiffAreaPrice { get; set; }
/// <summary>
/// Examples: 128
/// </summary>
[JsonProperty("duration")]
public int Duration { get; set; }
/// <summary>
/// Examples: 33.0
/// </summary>
[JsonProperty("price")]
public double Price { get; set; }
/// <summary>
/// Examples: 0.0
/// </summary>
[JsonProperty("vipPrice")]
public double VipPrice { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("promotionUse")]
public bool PromotionUse { get; set; }
/// <summary>
/// Examples: "20210304163000", "20210304180500", "20210304185000", "20210304193000", "20210304202500"
/// </summary>
[JsonProperty("rawOutDateTime")]
public string RawOutDateTime { get; set; }
/// <summary>
/// Examples: "16:30", "18:05", "18:50", "19:30", "20:25"
/// </summary>
[JsonProperty("startTime")]
public string StartTime { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("disabled")]
public bool Disabled { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("comparisonTips")]
public string ComparisonTips { get; set; }
/// <summary>
/// Examples: "80"
/// </summary>
[JsonProperty("originalPriceString")]
public string OriginalPriceString { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("thirdUpdateTime")]
public string ThirdUpdateTime { get; set; }
/// <summary>
/// Examples: "maoyan"
/// </summary>
[JsonProperty("thirdFrom")]
public string ThirdFrom { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("thirdCinemaId")]
public string ThirdCinemaId { get; set; }
/// <summary>
/// Examples: "1630", "1805", "1850", "1930", "2025"
/// </summary>
[JsonProperty("rawStartTime")]
public string RawStartTime { get; set; }
/// <summary>
/// Examples: 727383779, 727383787, 727383789, 727383791, 727383796
/// </summary>
[JsonProperty("sessionId")]
public string SessionId { get; set; }
/// <summary>
/// Examples: "727383779", "727383787", "727383789", "727383791", "727383796"
/// </summary>
[JsonProperty("partnerSessionId")]
public string PartnerSessionId { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isVip")]
public bool IsVip { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isComparable")]
public bool IsComparable { get; set; }
/// <summary>
/// Examples: [{"price":"33","vipPrice":"0","partnerId":8}], [{"price":"33","vipPrice":"0","partnerId":8}], [{"price":"33","vipPrice":"0","partnerId":8}], [{"price":"33","vipPrice":"0","partnerId":8}], [{"price":"33","vipPrice":"0","partnerId":8}]
/// </summary>
[JsonProperty("otherPartners")]
public List<OtherPartner> OtherPartners { get; set; }
/// <summary>
/// Examples: {"bgColor":"#FFE351","content":"购票","colorFont":"#333333"}, {"bgColor":"#FFE351","content":"购票","colorFont":"#333333"}, {"bgColor":"#FFE351","content":"购票","colorFont":"#333333"}, {"bgColor":"#FFE351","content":"购票","colorFont":"#333333"}, {"bgColor":"#FFE351","content":"购票","colorFont":"#333333"}
/// </summary>
[JsonProperty("movieButton")]
public MovieButton MovieButton { get; set; }
/// <summary>
/// Examples: "18:38", "20:13", "20:58", "21:38", "22:33"
/// </summary>
[JsonProperty("endTime")]
public string EndTime { get; set; }
/// <summary>
/// Examples: 8
/// </summary>
[JsonProperty("partnerId")]
public string PartnerId { get; set; }
/// <summary>
/// Examples: "D2"
/// </summary>
[JsonProperty("pureMovieType")]
public string PureMovieType { get; set; }
/// <summary>
/// Examples: 33.0
/// </summary>
[JsonProperty("realPrice")]
public double RealPrice { get; set; }
/// <summary>
/// Examples: "14205"
/// </summary>
[JsonProperty("partnerCinemaId")]
public string PartnerCinemaId { get; set; }
/// <summary>
/// 电影id
/// </summary>
[JsonProperty("movieId")]
public string MovieId { get; set; }
}
public class PriceArea
{
/// <summary>
/// Examples: "15000", "14999", "14993"
/// </summary>
[JsonProperty("areaId")]
public string AreaId { get; set; }
/// <summary>
/// Examples: 33.0
/// </summary>
[JsonProperty("price")]
public double Price { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("setAreaId")]
public bool SetAreaId { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("setPrice")]
public bool SetPrice { get; set; }
}
public class OtherPartner
{
/// <summary>
/// Examples: "33"
/// </summary>
[JsonProperty("price")]
public string Price { get; set; }
/// <summary>
/// Examples: "0"
/// </summary>
[JsonProperty("vipPrice")]
public string VipPrice { get; set; }
/// <summary>
/// Examples: 8
/// </summary>
[JsonProperty("partnerId")]
public string PartnerId { get; set; }
}
public class MovieButton
{
/// <summary>
/// Examples: "#FFE351"
/// </summary>
[JsonProperty("bgColor")]
public string BgColor { get; set; }
/// <summary>
/// Examples: "购票"
/// </summary>
[JsonProperty("content")]
public string Content { get; set; }
/// <summary>
/// Examples: "#333333"
/// </summary>
[JsonProperty("colorFont")]
public string ColorFont { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iqiyiWin.Model
{
public class IqiyiH5TaskResult
{
public Boolean Status { get; set; } = true;
public string Message { get; set; } = "成功";
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Model
{
public class IqiyiTask
{
/// <summary>
/// Examples: "观影豆"
/// </summary>
[JsonProperty("rewardName")]
public string RewardName { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("receive")]
public bool Receive { get; set; }
/// <summary>
/// Examples: "qyticket://movieticketroot", "https://app.iqiyi.com/ext/common/qipiao/libao_goumai/app.html?channel=piaoapp_flrw", ""
/// </summary>
[JsonProperty("ladingPage")]
public string LadingPage { get; set; }
/// <summary>
/// Examples: 25, 200, 50
/// </summary>
[JsonProperty("rewardCount")]
public int RewardCount { get; set; }
/// <summary>
/// Examples: "首次标记\"想看\"电影", "首次体验在线选座", "首次购买超值礼包", "首次购买电影票", "完成全部新手任务"
/// </summary>
[JsonProperty("taskName")]
public string TaskName { get; set; }
/// <summary>
/// Examples: "在电影列表中挑选自己想看的电影,在影片介绍页点击\"想看\"", "在电影列表中挑选想看的电影,体验在线选择座位并确认", "", "1.完成首次购买电影票,在所购买场次观影日期结束后记做任务完成;\r\n2.每位用户仅限赠送1次。同一爱奇艺账号、手机号、设备、支付账号均视为同一用户。"
/// </summary>
[JsonProperty("remark")]
public string Remark { get; set; }
/// <summary>
/// Examples: false, true
/// </summary>
[JsonProperty("complete")]
public bool Complete { get; set; }
/// <summary>
/// Examples: 30803720, 31926773
/// </summary>
[JsonProperty("recordId")]
public string RecordId { get; set; }
}
}
......@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Model;
using iqiyiWin.Qianzhu.Response;
using iqiyiWin.Util;
using Newtonsoft.Json;
......@@ -11,25 +12,25 @@ namespace iqiyiWin.Qianzhu.Api
{
public class QianzhuIqiyiCinema
{
public static void InsertBatch(string token , List<QianZhuSaveIqiyiCinema> iqiyiCinemas)
public static string InsertBatch(string token , List<QianZhuSaveIqiyiCinema> iqiyiCinemas)
{
Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("Authorization", token);
var responseStr = HttpUtils.DoPost(App.Instance.GetQianzhuDomain() + "/admin/v1/iqiyiCinema/insertBatch", JsonConvert.SerializeObject(iqiyiCinemas), headers);
UILogUtils.Debug("千猪 【批量写入爱奇艺影院】响应:" + responseStr);
//var response = JsonConvert.DeserializeObject<QianzhuGetUserResponse>(responseStr);
var response = JsonConvert.DeserializeObject<QianzhuBaseResponse<string>>(responseStr);
//if (response != null && response.Success)
//{
// UILogUtils.Info("千猪 【用户信息】成功。");
// return response.Data.User;
//}
//else
//{
// UILogUtils.Error("千猪 【用户信息】失败:" + (response == null ? responseStr : response.Message));
// return null;
//}
if (response != null && response.Success)
{
UILogUtils.Info("千猪 【批量写入爱奇艺影院】成功。");
return response.Data;
}
else
{
UILogUtils.Error("千猪 【批量写入爱奇艺影院】失败:" + (response == null ? responseStr : response.Message));
return "-1";
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Request;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Request.Cinema
{
public class IqiyiH5GetCinemaListRequest: IqiyiH5BaseRequest
{
/// <summary>
/// 城市id
/// </summary>
[JsonProperty("cityId")]
public string CityId { get; set; } = "1400251193";
/// <summary>
/// brandName
/// </summary>
[JsonProperty("brandName")]
public string BrandName { get; set; } = "0";
/// <summary>
/// tag
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; } = "0";
/// <summary>
/// orderBy
/// </summary>
[JsonProperty("orderBy")]
public string OrderBy { get; set; } = "0";
/// <summary>
/// areaId
/// </summary>
[JsonProperty("areaId")]
public string AreaId { get; set; } = "0";
/// <summary>
/// 页数 默认 0
/// </summary>
[JsonProperty("page")]
public int Page { get; set; } = 0;
/// <summary>
/// 页码
/// </summary>
[JsonProperty("pageCount")]
public int PageCount { get; set; } = 1000;
/// <summary>
/// location
/// </summary>
[JsonProperty("location")]
public string Location { get; set; } = "";
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Request.Cinema
{
public class IqiyiH5GetCinemaRequest: IqiyiH5BaseRequest
{
/// <summary>
/// 城市id
/// </summary>
[JsonProperty("cityId")]
public string CityId { get; set; }
/// <summary>
/// 页码
/// </summary>
[JsonProperty("page")]
public string Page { get; set; }
/// <summary>
/// 分页大小
/// </summary>
[JsonProperty("pageCount")]
public string PageCount { get; set; } = "20";
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Request;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Request.Cinema
{
public class IqiyiH5GetMovieListRequest: IqiyiH5BaseRequest
{
/// <summary>
/// 电影id
/// </summary>
[JsonProperty("movieId")]
public string MovieId { get; set; } = "";
/// <summary>
/// 影院id
/// </summary>
[JsonProperty("cinemaId")]
public string CinemaId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Request;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Request.Cinema
{
public class IqiyiH5GetSeatMapRequest : IqiyiH5BaseRequest
{
/// <summary>
/// 城市id
/// </summary>
[JsonProperty("cityId")]
public string CityId { get; set; } = "";
/// <summary>
/// 影院id
/// </summary>
[JsonProperty("cinemaId")]
public string CinemaId { get; set; }
/// <summary>
/// 电影id
/// </summary>
[JsonProperty("movieId")]
public string MovieId { get; set; } = "";
/// <summary>
/// 场次id
/// </summary>
[JsonProperty("sessionId")]
public string SessionId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Request;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Request.Cinema
{
public class IqiyiH5GetSessionRequest: IqiyiH5BaseRequest
{
/// <summary>
/// 电影id
/// </summary>
[JsonProperty("movieIds")]
public string MovieIds { get; set; }
/// <summary>
/// 电影id
/// </summary>
[JsonProperty("cinemaId")]
public string CinemaId { get; set; }
/// <summary>
/// 电影id
/// </summary>
[JsonProperty("cityId")]
public string CityId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Constant;
using iqiyiWin.Util;
using Newtonsoft.Json;
namespace iqiyiWin.Request.FilmTask
{
public class GetTaskListRequest
{
/// <summary>
/// 设备随机码
/// </summary>
[JsonProperty("dfp")]
public string Dfp { get; set; } = IqiyiVersion.Dfp();
[JsonProperty("deviceId")]
public string DeviceId { get { return Dfp; } }
/// <summary>
/// Appid
/// </summary>
[JsonProperty("appid")]
public string Appid { get; set; } = IqiyiVersion.Appid;
/// <summary>
/// 手机系统
/// </summary>
[JsonProperty("os")]
public string Os { get; set; } = IqiyiVersion.Os;
/// <summary>
/// 数据格式
/// </summary>
[JsonProperty("format")]
public string Format { get; set; } = "json";
/// <summary>
/// 平台
/// </summary>
[JsonProperty("platform")]
public string Platform { get; set; } = IqiyiVersion.Platform;
/// <summary>
/// 时间
/// </summary>
[JsonProperty("ts")]
public string Ts { get; set; } = DateUtils.GetTimeStampOfMilliseconds().ToString();
/// <summary>
/// 来源
/// </summary>
[JsonProperty("src")]
public string Src { get; set; } = IqiyiVersion.Src;
/// <summary>
/// 版本
/// </summary>
[JsonProperty("version")]
public string Version { get; set; } = IqiyiVersion.Version;
/// <summary>
/// cookie
/// </summary>
[JsonProperty("ck")]
public string Ck { get; set; }
/// <summary>
/// 请求随机码
/// </summary>
[JsonProperty("nonce")]
public string Nonce { get; set; } = IqiyiVersion.Nonce(0);
/// <summary>
/// 类型
/// </summary>
[JsonProperty("bizType")]
public string BizType { get; set; } = IqiyiVersion.BizType;
/// <summary>
/// 时间戳
/// </summary>
[JsonProperty("_t")]
public string T { get; set; } = DateUtils.GetTimeStampOfMilliseconds().ToString();
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Constant;
using iqiyiWin.Util;
using Newtonsoft.Json;
namespace iqiyiWin.Request
{
public class IqiyiH5BaseRequest
{
/// <summary>
/// 版本
/// </summary>
[JsonProperty("version")]
public string Version { get; set; } = IqiyiVersion.Version;
/// <summary>
/// 手机系统
/// </summary>
[JsonProperty("os")]
public string Os { get; set; } = IqiyiVersion.Os;
/// <summary>
/// 来源
/// </summary>
[JsonProperty("src")]
public string Src { get; set; } = IqiyiVersion.Src;
/// <summary>
/// 平台
/// </summary>
[JsonProperty("platform")]
public string Platform { get; set; } = IqiyiVersion.Platform;
/// <summary>
/// Appid
/// </summary>
[JsonProperty("appid")]
public string Appid { get; set; } = IqiyiVersion.Appid;
/// <summary>
/// 系统
/// </summary>
[JsonProperty("dvsrc")]
public string Dvsrc { get; set; } = IqiyiVersion.Dvsrc;
/// <summary>
/// 设备随机码
/// </summary>
[JsonProperty("dfp")]
public string Dfp { get; set; } = IqiyiVersion.Dfp();
/// <summary>
/// 系统
/// </summary>
[JsonProperty("ts")]
public string Ts { get; set; } = DateUtils.GetTimeStampOfMilliseconds().ToString();
/// <summary>
/// 请求随机码
/// </summary>
[JsonProperty("nonce")]
public string Nonce { get; set; } = IqiyiVersion.Nonce(1);
/// <summary>
/// 签名
/// </summary>
[JsonProperty("sig")]
public string Sig { get; set; } = "";
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Constant;
using iqiyiWin.Util;
using Newtonsoft.Json;
namespace iqiyiWin.Request
{
public class IqiyiH5BaseRequest2
{
[JsonProperty("dfp")]
public string Dfp { get; set; } = IqiyiVersion.Dfp();
[JsonProperty("deviceId")]
public string DeviceId { get { return Dfp; } }
[JsonProperty("appid")]
public string Appid { get; set; } = "1003";
[JsonProperty("os")]
public string Os { get; set; } = "CPU iPhone OS 13_2_3 like Mac OS X";
[JsonProperty("format")]
public string Format { get; set; } = "json";
[JsonProperty("platform")]
public string Platform { get; set; } = "Win32";
[JsonProperty("ts")]
public string Ts { get; set; } = DateUtils.GetTimeStampOfMilliseconds().ToString();
[JsonProperty("src")]
public string Src { get; set; } = "H5";
[JsonProperty("version")]
public string Version { get; set; } = "1.0.0";
[JsonProperty("ck")]
public string Ck { get; set; } = "";
[JsonProperty("nonce")]
public string Nonce { get; set; } = IqiyiVersion.Nonce(0);
[JsonProperty("bizType")]
public string BizType { get; set; } = "APP";
[JsonProperty("_t")]
public string T { get; set; } = DateUtils.GetTimeStampOfMilliseconds().ToString();
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Request;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Request.Order
{
public class IqiyiH5CreateOrderRequest: IqiyiH5BaseRequest
{
/// <summary>
/// 电影id
/// </summary>
[JsonProperty("movieIds")]
public string MovieIds { get; set; }
/// <summary>
/// sessionId
/// </summary>
[JsonProperty("sessionId")]
public string SessionId { get; set; }
/// <summary>
/// {row}:{column}|{row}:{column}
/// </summary>
[JsonProperty("seatInfo")]
public string SeatInfo { get; set; }
/// <summary>
/// ?partnerId
/// </summary>
[JsonProperty("partnerId")]
public string PartnerId { get; set; }
/// <summary>
/// sessionId
/// </summary>
[JsonProperty("seqNo")]
public string SeqNo { get; set; }
/// <summary>
/// 选座数量
/// </summary>
[JsonProperty("seatNum")]
public string SeatNum { get; set; }
/// <summary>
/// partnerSeatId,partnerSeatId
/// </summary>
[JsonProperty("seatId")]
public string SeatId { get; set; }
/// <summary>
/// thirdUpdateTime
/// </summary>
[JsonProperty("thirdUpdateTime")]
public string thirdUpdateTime { get; set; } = "";
/// <summary>
/// gway
/// </summary>
[JsonProperty("gway")]
public string Gway { get; set; } = "h5:border";
/// <summary>
/// gateway
/// </summary>
[JsonProperty("gateway")]
public string Gateway { get; set; } = "h5";
/// <summary>
/// mkey
/// </summary>
[JsonProperty("mkey")]
public string mMkey { get; set; } = "";
/// <summary>
/// inittype
/// </summary>
[JsonProperty("inittype")]
public string Inittype { get; set; } = "h5";
/// <summary>
/// ?aid
/// </summary>
[JsonProperty("areaId")]
public string AreaId { get; set; }
[JsonProperty("ck")]
public string Ck { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Request.User
{
public class IqiyiH5ReceiveWaitLookRequest:IqiyiH5BaseRequest2
{
[JsonProperty("recordId")]
public string RecordId { get; set; } = "";
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Request.User
{
public class IqiyiH5UserBaseRequest: IqiyiH5BaseRequest
{
/// <summary>
/// 页码
/// </summary>
[JsonProperty("pageNo")]
public string PageNo { get; set; } = "0";
/// <summary>
/// 分页大小
/// </summary>
[JsonProperty("pageCount")]
public string PageCount { get; set; } = "20";
/// <summary>
/// cookie
/// </summary>
[JsonProperty("ck")]
public string Ck { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Request.User
{
public class WantLookMoiveRequest : IqiyiH5BaseRequest
{
/// <summary>
/// cookie
/// </summary>
[JsonProperty("ck")]
public string Ck { get; set; }
/// <summary>
/// cookie
/// </summary>
[JsonProperty("movieId")]
public string MovieId { get; set; }
}
}
......@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Model.Cinema;
using iqiyiWin.Model;
using Newtonsoft.Json;
......@@ -50,13 +51,13 @@ namespace iqiyiWin.Response.Cinema.Citites
/// Examples: {"pinyin":"shanghai","initial":"S","name":"上海","cityId":1400254893,"isHotCity":true}
/// </summary>
[JsonProperty("defaultCity")]
public IqiyiCity DefaultCity { get; set; }
public IqiyiH5City DefaultCity { get; set; }
/// <summary>
/// Examples: [{"pinyin":"beijing","initial":"B","name":"北京","cityId":1400249193,"isHotCity":true},{"pinyin":"chongqing","initial":"C","name":"重庆","cityId":1400249593,"isHotCity":true},{"pinyin":"shanghai","initial":"S","name":"上海","cityId":1400254893,"isHotCity":true},{"pinyin":"guangzhou","initial":"G","name":"广州","cityId":1400250993,"isHotCity":true},{"pinyin":"shenzhen","initial":"S","name":"深圳","cityId":1400254993,"isHotCity":true},{"pinyin":"nanjing","initial":"N","name":"南京","cityId":1400253693,"isHotCity":true},{"pinyin":"hangzhou","initial":"H","name":"杭州","cityId":1400251193,"isHotCity":true},{"pinyin":"chengdu","initial":"C","name":"成都","cityId":1400249693,"isHotCity":true}]
/// </summary>
[JsonProperty("hotCities")]
public List<IqiyiCity> HotCities { get; set; }
public List<IqiyiH5City> HotCities { get; set; }
/// <summary>
/// Examples:
......@@ -68,7 +69,7 @@ namespace iqiyiWin.Response.Cinema.Citites
/// Examples: {"pinyin":"shanghai","initial":"S","name":"上海","cityId":1400254893,"isHotCity":true}
/// </summary>
[JsonProperty("currentCity")]
public IqiyiCity CurrentCity { get; set; }
public IqiyiH5City CurrentCity { get; set; }
}
public class CityBox
{
......@@ -76,7 +77,7 @@ namespace iqiyiWin.Response.Cinema.Citites
/// Examples: [{"pinyin":"akesu","initial":"A","name":"阿克苏","cityId":1401542293,"isHotCity":false},{"pinyin":"anshan","initial":"A","name":"鞍山","cityId":1401269893,"isHotCity":false},{"pinyin":"alashan","initial":"A","name":"阿盟,阿拉善","cityId":1401292393,"isHotCity":false},{"pinyin":"anqing","initial":"A","name":"安庆","cityId":1401280593,"isHotCity":false},{"pinyin":"anshun","initial":"A","name":"安顺","cityId":1401273993,"isHotCity":false},{"pinyin":"ankang","initial":"A","name":"安康","cityId":1401275593,"isHotCity":false},{"pinyin":"anyang","initial":"A","name":"安阳","cityId":1401264193,"isHotCity":false},{"pinyin":"aba","initial":"A","name":"阿坝","cityId":1401271193,"isHotCity":false}], [{"pinyin":"beijing","initial":"B","name":"北京","cityId":1400249193,"isHotCity":true},{"pinyin":"baiyin","initial":"B","name":"白银","cityId":1401280793,"isHotCity":false},{"pinyin":"binzhou","initial":"B","name":"滨州","cityId":1401271693,"isHotCity":false},{"pinyin":"baicheng","initial":"B","name":"白城","cityId":1401280893,"isHotCity":false},{"pinyin":"baishan","initial":"B","name":"白山","cityId":1400249293,"isHotCity":false},{"pinyin":"bayinguoleng","initial":"B","name":"巴音郭楞","cityId":1401292493,"isHotCity":false},{"pinyin":"baise","initial":"B","name":"百色","cityId":1401275493,"isHotCity":false},{"pinyin":"beihai","initial":"B","name":"北海","cityId":1401274593,"isHotCity":false},{"pinyin":"benxi","initial":"B","name":"本溪","cityId":1401281393,"isHotCity":false},{"pinyin":"bayannaoer","initial":"B","name":"巴彦淖尔","cityId":1401281193,"isHotCity":false},{"pinyin":"baotou","initial":"B","name":"包头","cityId":1400249493,"isHotCity":false},{"pinyin":"bengbu","initial":"B","name":"蚌埠","cityId":1400249393,"isHotCity":false},{"pinyin":"bozhou","initial":"B","name":"亳州","cityId":1401265893,"isHotCity":false},{"pinyin":"bijie","initial":"B","name":"毕节","cityId":1401273293,"isHotCity":false},{"pinyin":"baoding","initial":"B","name":"保定","cityId":1401268393,"isHotCity":false},{"pinyin":"baoji","initial":"B","name":"宝鸡","cityId":1401268893,"isHotCity":false},{"pinyin":"baoshan","initial":"B","name":"保山","cityId":1401268693,"isHotCity":false},{"pinyin":"bazhong","initial":"B","name":"巴中","cityId":1401281493,"isHotCity":false}], [{"pinyin":"chongqing","initial":"C","name":"重庆","cityId":1400249593,"isHotCity":true},{"pinyin":"chaozhou","initial":"C","name":"潮州","cityId":1401260793,"isHotCity":false},{"pinyin":"changchun","initial":"C","name":"长春","cityId":1400249893,"isHotCity":false},{"pinyin":"changzhi","initial":"C","name":"长治","cityId":1401282193,"isHotCity":false},{"pinyin":"changji","initial":"C","name":"昌吉","cityId":1401292793,"isHotCity":false},{"pinyin":"chongzuo","initial":"C","name":"崇左","cityId":1401281793,"isHotCity":false},{"pinyin":"changzhou","initial":"C","name":"常州","cityId":1400249793,"isHotCity":false},{"pinyin":"chengmai","initial":"C","name":"澄迈","cityId":1401420593,"isHotCity":false},{"pinyin":"chifeng","initial":"C","name":"赤峰","cityId":1401264393,"isHotCity":false},{"pinyin":"chuzhou","initial":"C","name":"滁州","cityId":1401263393,"isHotCity":false},{"pinyin":"chizhou","initial":"C","name":"池州","cityId":1401275793,"isHotCity":false},{"pinyin":"cangzhou","initial":"C","name":"沧州","cityId":1401262393,"isHotCity":false},{"pinyin":"chengde","initial":"C","name":"承德","cityId":1401279393,"isHotCity":false},{"pinyin":"changsha","initial":"C","name":"长沙","cityId":1400249993,"isHotCity":false},{"pinyin":"changde","initial":"C","name":"常德","cityId":1401281893,"isHotCity":false},{"pinyin":"chenzhou","initial":"C","name":"郴州","cityId":1401263893,"isHotCity":false},{"pinyin":"chuxiong","initial":"C","name":"楚雄","cityId":1401270293,"isHotCity":false},{"pinyin":"chengdu","initial":"C","name":"成都","cityId":1400249693,"isHotCity":true}], [{"pinyin":"daxinganling","initial":"D","name":"大兴安岭","cityId":1401540693,"isHotCity":false},{"pinyin":"daqing","initial":"D","name":"大庆","cityId":1400250293,"isHotCity":false},{"pinyin":"dingxi","initial":"D","name":"定西","cityId":1401282693,"isHotCity":false},{"pinyin":"dongguan","initial":"D","name":"东莞","cityId":1400250493,"isHotCity":false},{"pinyin":"dongying","initial":"D","name":"东营","cityId":1400250593,"isHotCity":false},{"pinyin":"dezhou","initial":"D","name":"德州","cityId":1401266393,"isHotCity":false},{"pinyin":"datong","initial":"D","name":"大同","cityId":1400250393,"isHotCity":false},{"pinyin":"dalian","initial":"D","name":"大连","cityId":1400250193,"isHotCity":false},{"pinyin":"dandong","initial":"D","name":"丹东","cityId":1401265793,"isHotCity":false},{"pinyin":"danzhou","initial":"D","name":"儋州","cityId":1401270693,"isHotCity":false},{"pinyin":"dongfang","initial":"D","name":"东方","cityId":1401295893,"isHotCity":false},{"pinyin":"dingan","initial":"D","name":"定安","cityId":1401376393,"isHotCity":false},{"pinyin":"dali","initial":"D","name":"大理","cityId":1400250093,"isHotCity":false},{"pinyin":"diqing","initial":"D","name":"迪庆","cityId":1401293093,"isHotCity":false},{"pinyin":"dehong","initial":"D","name":"德宏","cityId":1401293193,"isHotCity":false},{"pinyin":"deyang","initial":"D","name":"德阳","cityId":1401266493,"isHotCity":false},{"pinyin":"dazhou","initial":"D","name":"达州","cityId":1401262993,"isHotCity":false}], [{"pinyin":"ezhou","initial":"E","name":"鄂州","cityId":1401282793,"isHotCity":false},{"pinyin":"enshi","initial":"E","name":"恩施","cityId":1401291093,"isHotCity":false},{"pinyin":"eerduosi","initial":"E","name":"鄂尔多斯","cityId":1401264593,"isHotCity":false}]
/// </summary>
[JsonProperty("value")]
public List<IqiyiCity> Value { get; set; }
public List<IqiyiH5City> Value { get; set; }
/// <summary>
/// Examples: "A", "B", "C", "D", "E"
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Model.Cinema;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Response.Cinema
{
public class IqiyiH5CinemasResponse
{
/// <summary>
/// Examples: [{"cinemaPrice":27.0,"cinemaPriceString":"27","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"下沙文渊路499号四季广场5幢2层","tags":[],"sessionTotalCount":371,"areaId":1401250898,"cinemaId":381779027,"cinemaName":"四季国际影城","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":40.0,"cinemaPriceString":"40","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市萧山区市心中路123号旺角城新天地商业步行街8号楼4-5层","tags":[{"name":"杜比全景声","field":"dolby","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"IMAX","field":"imax","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"巨幕","field":"jumu","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}],"sessionTotalCount":277,"areaId":1401250698,"cinemaId":180742627,"cinemaName":"萧山德纳IMAX影城","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":38.0,"cinemaPriceString":"38","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市西湖区学院路77号","tags":[],"sessionTotalCount":272,"areaId":1401251098,"cinemaId":382245627,"cinemaName":"晟嘉国际影城","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":28.0,"cinemaPriceString":"28","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市西湖区文一路298号物美大买场6楼(近万塘路)","tags":[{"name":"杜比全景声","field":"dolby","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}],"sessionTotalCount":256,"areaId":1401251098,"cinemaId":180598727,"cinemaName":"浙江翠苑电影大世界","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":30.9,"cinemaPriceString":"30.9","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市拱墅区上塘路458号水晶城购物中心7楼","tags":[{"name":"4K","field":"k4","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"REALD","field":"reald","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"IMAX","field":"imax","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}],"sessionTotalCount":243,"areaId":1401251898,"cinemaId":380930927,"cinemaName":"杭州万达影城水晶城店","cinemaDistance":0.0,"hasImx":true,"order":0},{"cinemaPrice":34.0,"cinemaPriceString":"34","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市西湖区古墩路与余杭塘路交口五洲国际2层(印象城对面)","tags":[{"name":"4K","field":"k4","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"IMAX","field":"imax","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}],"sessionTotalCount":236,"areaId":1401251098,"cinemaId":180685927,"cinemaName":"杭州佳映IMAX影城","cinemaDistance":0.0,"hasImx":true,"order":0},{"cinemaPrice":27.0,"cinemaPriceString":"27","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州下沙经济技术开发区元成时代中心5幢2层(金桥街53号)","tags":[],"sessionTotalCount":230,"areaId":1401250898,"cinemaId":381337627,"cinemaName":"星禾时代影城","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":38.0,"cinemaPriceString":"38","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市西湖区文三路500号10幢2层31室(星光城)","tags":[],"sessionTotalCount":205,"areaId":1401251098,"cinemaId":382257627,"cinemaName":"德信影城(星光城店)","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":37.9,"cinemaPriceString":"37.9","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市西湖区紫霞街155号西溪诚品2F","tags":[],"sessionTotalCount":197,"areaId":1401251098,"cinemaId":381302727,"cinemaName":"德信影城杭州西溪诚品店","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":45.0,"cinemaPriceString":"45","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"江干区景昙路18-26号银泰百货6楼(近庆春东路)","tags":[],"sessionTotalCount":196,"areaId":1401250898,"cinemaId":180599027,"cinemaName":"卢米埃影城(杭州庆春银泰店)","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":38.5,"cinemaPriceString":"38.5","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市下城区东新路655号西联广场","tags":[{"name":"IMAX","field":"imax","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}],"sessionTotalCount":188,"areaId":1401250998,"cinemaId":380955827,"cinemaName":"杭州金逸影视中心IMAX店","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":45.0,"cinemaPriceString":"45","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市西湖区蒋村街道余杭塘路1001号花蒋天街商业中心A-6F,A-7F","tags":[],"sessionTotalCount":185,"areaId":1401251098,"cinemaId":382541227,"cinemaName":"卢米埃影城(杭州西溪天街店)","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":28.9,"cinemaPriceString":"28.9","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市西湖区三墩镇新天地商业中心11幢301室-303室","tags":[],"sessionTotalCount":182,"areaId":1401251098,"cinemaId":381090627,"cinemaName":"杭州比高电影院三墩店","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":25.9,"cinemaPriceString":"25.9","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市拱墅区小河路306号D32购物广场A座5楼","tags":[],"sessionTotalCount":180,"areaId":1401251898,"cinemaId":381584827,"cinemaName":"杭州万达影城光魔酷映店","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":26.0,"cinemaPriceString":"26","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市滨江区浦沿路物美大卖场盒座社五楼唐阁影城","tags":[],"sessionTotalCount":177,"areaId":1401251298,"cinemaId":381264527,"cinemaName":"杭州唐阁影城-滨江店","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":39.9,"cinemaPriceString":"39.9","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市下城区西湖文化广场F区一楼","tags":[],"sessionTotalCount":168,"areaId":1401250998,"cinemaId":381993227,"cinemaName":"保利国际影城(杭州西湖文化广场店)","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":45.9,"cinemaPriceString":"45.9","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市西湖区西湖文化广场8号(C区)","tags":[{"name":"IMAX","field":"imax","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"商场","field":"shopping","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}],"sessionTotalCount":167,"areaId":1401250998,"cinemaId":180598527,"cinemaName":"浙江新远国际影城(西湖文化广场店)","cinemaDistance":0.0,"hasImx":true,"order":0},{"cinemaPrice":23.0,"cinemaPriceString":"23","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州市江干区艮山西路102号杭州创意设计中心A幢1188号","tags":[],"sessionTotalCount":166,"areaId":1401250898,"cinemaId":381218527,"cinemaName":"德信影城杭州创意中心店","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":30.0,"cinemaPriceString":"30","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"杭州下沙4号大街物美超市旁新美商城4楼","tags":[{"name":"杜比全景声","field":"dolby","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"巨幕","field":"jumu","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}],"sessionTotalCount":165,"areaId":1401250898,"cinemaId":380958227,"cinemaName":"杭州歌纳影院","cinemaDistance":0.0,"hasImx":false,"order":0},{"cinemaPrice":38.9,"cinemaPriceString":"38.9","seatStatus":0,"cinemaDistanceString":"","movieId":0,"isStored":false,"cinemaAddress":"拱墅区金华路80号运河上街4楼(商场闭店后,从东区负一楼入口客梯直达)","tags":[],"sessionTotalCount":163,"areaId":1401251898,"cinemaId":380988227,"cinemaName":"德信影城杭州运河上街店","cinemaDistance":0.0,"hasImx":false,"order":0}]
/// </summary>
[JsonProperty("cinemas")]
public List<IqiyiH5Cinema> Cinemas { get; set; }
/// <summary>
/// Examples: [{"name":"全部品牌"},{"name":"中影","count":13},{"name":"万达","count":7},{"name":"横店","count":7},{"name":"上影","count":6},{"name":"大地","count":5},{"name":"保利","count":4},{"name":"金逸","count":3},{"name":"百老汇","count":3},{"name":"博纳","count":3},{"name":"星美","count":2},{"name":"CGV","count":2},{"name":"卢米埃","count":2},{"name":"UME","count":2},{"name":"太平洋","count":2},{"name":"橙天嘉禾","count":1},{"name":"幸福蓝海","count":1},{"name":"奥斯卡","count":1},{"name":"华夏","count":1}]
/// </summary>
[JsonProperty("brands")]
public List<Brand> Brands { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("hasDistrict")]
public bool HasDistrict { get; set; }
/// <summary>
/// Examples: []
/// </summary>
[JsonProperty("resources")]
public List<object> Resources { get; set; }
/// <summary>
/// Examples: {"pinyin":"hangzhou","initial":"H","name":"杭州","cityId":1400251193,"isHotCity":true}
/// </summary>
[JsonProperty("currentCity")]
public CurrentCity CurrentCity { get; set; }
/// <summary>
/// Examples: [{"name":"全城","id":0},{"name":"江干区","count":35,"id":1401250898},{"name":"余杭区","count":33,"id":1401251198},{"name":"西湖区","count":28,"id":1401251098},{"name":"萧山区","count":21,"id":1401250698},{"name":"滨江区","count":15,"id":1401251298},{"name":"下城区","count":14,"id":1401250998},{"name":"富阳区","count":13,"id":1401251498},{"name":"临安区","count":9,"id":1510663098},{"name":"桐庐县","count":7,"id":1401250798},{"name":"拱墅区","count":7,"id":1401251898},{"name":"上城区","count":7,"id":1401251598},{"name":"建德市","count":5,"id":1401251798},{"name":"淳安县","count":3,"id":1401251698}]
/// </summary>
[JsonProperty("areas")]
public List<CinemaArea> Areas { get; set; }
/// <summary>
/// Examples: [{"field":0,"name":"全部特色"},{"name":"双机3D","field":"double3d","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"4K","field":"k4","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"杜比全景声","field":"dolby","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"4D","field":"d4","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"IMAX","field":"imax","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"巨幕","field":"jumu","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"可停车","field":"park","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"wifi","field":"wifi","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"},{"name":"休息区","field":"rest_area","type":"common","wireframe":"#EF7D52","background":"#FFFFFF","colorFont":"#EF7D52"}]
/// </summary>
[JsonProperty("tags")]
public List<CinemaTag> Tags { get; set; }
}
public class CinemaArea
{
/// <summary>
/// Examples: "全城", "江干区", "余杭区", "西湖区", "萧山区"
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// <summary>
/// Examples: 0, 1401250898, 1401251198, 1401251098, 1401250698
/// </summary>
[JsonProperty("id")]
public string Id { get; set; }
/// <summary>
/// Examples: 35, 33, 28, 21, 15
/// </summary>
[JsonProperty("count")]
public string Count { get; set; }
}
public class CurrentCity
{
/// <summary>
/// Examples: "hangzhou"
/// </summary>
[JsonProperty("pinyin")]
public string Pinyin { get; set; }
/// <summary>
/// Examples: "H"
/// </summary>
[JsonProperty("initial")]
public string Initial { get; set; }
/// <summary>
/// Examples: "杭州"
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// <summary>
/// Examples: 1400251193
/// </summary>
[JsonProperty("cityId")]
public string CityId { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("isHotCity")]
public bool IsHotCity { get; set; }
}
public class Brand
{
/// <summary>
/// Examples: "全部品牌", "中影", "万达", "横店", "上影"
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// <summary>
/// Examples: 13, 7, 6, 5, 4
/// </summary>
[JsonProperty("count")]
public string Count { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Model.Cinema;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Response
{
public class IqiyiCitiesResponse
{
/// <summary>
/// Examples: {"pinyin":"shanghai","initial":"S","name":"上海","cityId":1400254893,"isHotCity":true}
/// </summary>
[JsonProperty("defaultCity")]
public IqiyiH5City DefaultCity { get; set; }
/// <summary>
/// Examples: [{"pinyin":"beijing","initial":"B","name":"北京","cityId":1400249193,"isHotCity":true},{"pinyin":"chongqing","initial":"C","name":"重庆","cityId":1400249593,"isHotCity":true},{"pinyin":"shanghai","initial":"S","name":"上海","cityId":1400254893,"isHotCity":true},{"pinyin":"guangzhou","initial":"G","name":"广州","cityId":1400250993,"isHotCity":true},{"pinyin":"shenzhen","initial":"S","name":"深圳","cityId":1400254993,"isHotCity":true},{"pinyin":"nanjing","initial":"N","name":"南京","cityId":1400253693,"isHotCity":true},{"pinyin":"hangzhou","initial":"H","name":"杭州","cityId":1400251193,"isHotCity":true},{"pinyin":"chengdu","initial":"C","name":"成都","cityId":1400249693,"isHotCity":true}]
/// </summary>
[JsonProperty("hotCities")]
public List<IqiyiH5City> HotCities { get; set; }
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("cities")]
public List<City> Cities { get; set; }
/// <summary>
/// Examples: {"pinyin":"shanghai","initial":"S","name":"上海","cityId":1400254893,"isHotCity":true}
/// </summary>
[JsonProperty("currentCity")]
public IqiyiH5City CurrentCity { get; set; }
}
public class City
{
/// <summary>
/// Examples: [{"pinyin":"akesu","initial":"A","name":"阿克苏","cityId":1401542293,"isHotCity":false},{"pinyin":"anshan","initial":"A","name":"鞍山","cityId":1401269893,"isHotCity":false},{"pinyin":"alashan","initial":"A","name":"阿盟,阿拉善","cityId":1401292393,"isHotCity":false},{"pinyin":"anqing","initial":"A","name":"安庆","cityId":1401280593,"isHotCity":false},{"pinyin":"anshun","initial":"A","name":"安顺","cityId":1401273993,"isHotCity":false},{"pinyin":"ankang","initial":"A","name":"安康","cityId":1401275593,"isHotCity":false},{"pinyin":"anyang","initial":"A","name":"安阳","cityId":1401264193,"isHotCity":false},{"pinyin":"aba","initial":"A","name":"阿坝","cityId":1401271193,"isHotCity":false}], [{"pinyin":"beijing","initial":"B","name":"北京","cityId":1400249193,"isHotCity":true},{"pinyin":"baiyin","initial":"B","name":"白银","cityId":1401280793,"isHotCity":false},{"pinyin":"binzhou","initial":"B","name":"滨州","cityId":1401271693,"isHotCity":false},{"pinyin":"baicheng","initial":"B","name":"白城","cityId":1401280893,"isHotCity":false},{"pinyin":"baishan","initial":"B","name":"白山","cityId":1400249293,"isHotCity":false},{"pinyin":"bayinguoleng","initial":"B","name":"巴音郭楞","cityId":1401292493,"isHotCity":false},{"pinyin":"baise","initial":"B","name":"百色","cityId":1401275493,"isHotCity":false},{"pinyin":"beihai","initial":"B","name":"北海","cityId":1401274593,"isHotCity":false},{"pinyin":"benxi","initial":"B","name":"本溪","cityId":1401281393,"isHotCity":false},{"pinyin":"bayannaoer","initial":"B","name":"巴彦淖尔","cityId":1401281193,"isHotCity":false},{"pinyin":"baotou","initial":"B","name":"包头","cityId":1400249493,"isHotCity":false},{"pinyin":"bengbu","initial":"B","name":"蚌埠","cityId":1400249393,"isHotCity":false},{"pinyin":"bozhou","initial":"B","name":"亳州","cityId":1401265893,"isHotCity":false},{"pinyin":"bijie","initial":"B","name":"毕节","cityId":1401273293,"isHotCity":false},{"pinyin":"baoding","initial":"B","name":"保定","cityId":1401268393,"isHotCity":false},{"pinyin":"baoji","initial":"B","name":"宝鸡","cityId":1401268893,"isHotCity":false},{"pinyin":"baoshan","initial":"B","name":"保山","cityId":1401268693,"isHotCity":false},{"pinyin":"bazhong","initial":"B","name":"巴中","cityId":1401281493,"isHotCity":false}], [{"pinyin":"chongqing","initial":"C","name":"重庆","cityId":1400249593,"isHotCity":true},{"pinyin":"chaozhou","initial":"C","name":"潮州","cityId":1401260793,"isHotCity":false},{"pinyin":"changchun","initial":"C","name":"长春","cityId":1400249893,"isHotCity":false},{"pinyin":"changzhi","initial":"C","name":"长治","cityId":1401282193,"isHotCity":false},{"pinyin":"changji","initial":"C","name":"昌吉","cityId":1401292793,"isHotCity":false},{"pinyin":"chongzuo","initial":"C","name":"崇左","cityId":1401281793,"isHotCity":false},{"pinyin":"changzhou","initial":"C","name":"常州","cityId":1400249793,"isHotCity":false},{"pinyin":"chengmai","initial":"C","name":"澄迈","cityId":1401420593,"isHotCity":false},{"pinyin":"chifeng","initial":"C","name":"赤峰","cityId":1401264393,"isHotCity":false},{"pinyin":"chuzhou","initial":"C","name":"滁州","cityId":1401263393,"isHotCity":false},{"pinyin":"chizhou","initial":"C","name":"池州","cityId":1401275793,"isHotCity":false},{"pinyin":"cangzhou","initial":"C","name":"沧州","cityId":1401262393,"isHotCity":false},{"pinyin":"chengde","initial":"C","name":"承德","cityId":1401279393,"isHotCity":false},{"pinyin":"changsha","initial":"C","name":"长沙","cityId":1400249993,"isHotCity":false},{"pinyin":"changde","initial":"C","name":"常德","cityId":1401281893,"isHotCity":false},{"pinyin":"chenzhou","initial":"C","name":"郴州","cityId":1401263893,"isHotCity":false},{"pinyin":"chuxiong","initial":"C","name":"楚雄","cityId":1401270293,"isHotCity":false},{"pinyin":"chengdu","initial":"C","name":"成都","cityId":1400249693,"isHotCity":true}], [{"pinyin":"daxinganling","initial":"D","name":"大兴安岭","cityId":1401540693,"isHotCity":false},{"pinyin":"daqing","initial":"D","name":"大庆","cityId":1400250293,"isHotCity":false},{"pinyin":"dingxi","initial":"D","name":"定西","cityId":1401282693,"isHotCity":false},{"pinyin":"dongguan","initial":"D","name":"东莞","cityId":1400250493,"isHotCity":false},{"pinyin":"dongying","initial":"D","name":"东营","cityId":1400250593,"isHotCity":false},{"pinyin":"dezhou","initial":"D","name":"德州","cityId":1401266393,"isHotCity":false},{"pinyin":"datong","initial":"D","name":"大同","cityId":1400250393,"isHotCity":false},{"pinyin":"dalian","initial":"D","name":"大连","cityId":1400250193,"isHotCity":false},{"pinyin":"dandong","initial":"D","name":"丹东","cityId":1401265793,"isHotCity":false},{"pinyin":"danzhou","initial":"D","name":"儋州","cityId":1401270693,"isHotCity":false},{"pinyin":"dongfang","initial":"D","name":"东方","cityId":1401295893,"isHotCity":false},{"pinyin":"dingan","initial":"D","name":"定安","cityId":1401376393,"isHotCity":false},{"pinyin":"dali","initial":"D","name":"大理","cityId":1400250093,"isHotCity":false},{"pinyin":"diqing","initial":"D","name":"迪庆","cityId":1401293093,"isHotCity":false},{"pinyin":"dehong","initial":"D","name":"德宏","cityId":1401293193,"isHotCity":false},{"pinyin":"deyang","initial":"D","name":"德阳","cityId":1401266493,"isHotCity":false},{"pinyin":"dazhou","initial":"D","name":"达州","cityId":1401262993,"isHotCity":false}], [{"pinyin":"ezhou","initial":"E","name":"鄂州","cityId":1401282793,"isHotCity":false},{"pinyin":"enshi","initial":"E","name":"恩施","cityId":1401291093,"isHotCity":false},{"pinyin":"eerduosi","initial":"E","name":"鄂尔多斯","cityId":1401264593,"isHotCity":false}]
/// </summary>
[JsonProperty("value")]
public IList<IqiyiH5City> Value { get; set; }
/// <summary>
/// Examples: "A", "B", "C", "D", "E"
/// </summary>
[JsonProperty("key")]
public string Key { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Model.Cinema;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Response.Cinema
{
public class IqiyiH5MovieSessionResponse
{
/// <summary>
/// Examples: "1727288599", "1630137199", "1715841299", "1749166799", "1682608899"
/// </summary>
[JsonProperty("movieId")]
public string MovieId { get; set; }
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("sessions")]
public List<Session> Sessions { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Model.Cinema;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Response.Cinema
{
public class IqiyiH5MoviesResponse
{
[JsonProperty("cinemaInfo")]
public CinemaInfo CinemaInfo { get; set; }
}
public class CinemaInfo
{
/// <summary>
/// Examples: 120.337071870656
/// </summary>
[JsonProperty("gaodeLng")]
public double GaodeLng { get; set; }
/// <summary>
/// Examples: "下沙文渊路499号四季广场5幢2层"
/// </summary>
[JsonProperty("address")]
public string Address { get; set; }
/// <summary>
/// Examples: 1745301399
/// </summary>
[JsonProperty("selectedMovieId")]
public int SelectedMovieId { get; set; }
/// <summary>
/// Examples: 30.320651651037
/// </summary>
[JsonProperty("gaodeLat")]
public double GaodeLat { get; set; }
/// <summary>
/// Examples: "0571-86939088"
/// </summary>
[JsonProperty("cinemaPhone")]
public string CinemaPhone { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isStored")]
public bool IsStored { get; set; }
/// <summary>
/// Examples: []
/// </summary>
[JsonProperty("tags")]
public IList<object> Tags { get; set; }
/// <summary>
/// Examples: "开场前15分钟不可购票"
/// </summary>
[JsonProperty("noticeTip")]
public string NoticeTip { get; set; }
/// <summary>
/// Examples: 30.326777985079
/// </summary>
[JsonProperty("baiduLat")]
public double BaiduLat { get; set; }
/// <summary>
/// Examples
/// </summary>
[JsonProperty("movies")]
public List<IqiyiH5Movie> Movies { get; set; }
/// <summary>
/// Examples: "https://map.baidu.com/mobile/webapp/place/marker/qt=inf&vt=map&act=read_share/point=13396725.336667840000,3523850.839685033000&title=四季国际影城&content=下沙文渊路499号四季广场5幢2层"
/// </summary>
[JsonProperty("locationUrl")]
public string LocationUrl { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isHasImx")]
public bool IsHasImx { get; set; }
/// <summary>
/// Examples: 381779027
/// </summary>
[JsonProperty("cinemaId")]
public string CinemaId { get; set; }
/// <summary>
/// Examples: "四季国际影城"
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// <summary>
/// Examples: 120.34352183608
/// </summary>
[JsonProperty("baiduLng")]
public double BaiduLng { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("notice")]
public string Notice { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Response.Cinema
{
public class QianZhuCinemaData
{
/// <summary>
/// Examples: 1
/// </summary>
[JsonProperty("id")]
public int Id { get; set; }
/// <summary>
/// Examples: "2021-03-31 13:46:49"
/// </summary>
[JsonProperty("createTime")]
public string CreateTime { get; set; }
/// <summary>
/// Examples: "2021-03-31 14:23:43"
/// </summary>
[JsonProperty("updateTime")]
public string UpdateTime { get; set; }
/// <summary>
/// Examples: "星际汇影城(武林广场轻奢店)"
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
/// <summary>
/// Examples: "杭州市下城区武林广场29号杭州剧院(必胜客旁电梯上3楼)"
/// </summary>
[JsonProperty("address")]
public string Address { get; set; }
/// <summary>
/// Examples: "1400251193"
/// </summary>
[JsonProperty("iqiyiCityId")]
public string IqiyiCityId { get; set; }
/// <summary>
/// Examples: "杭州"
/// </summary>
[JsonProperty("iqiyiCityName")]
public string IqiyiCityName { get; set; }
/// <summary>
/// Examples: "381848027"
/// </summary>
[JsonProperty("iqiyiCinemaId")]
public string IqiyiCinemaId { get; set; }
/// <summary>
/// Examples: "1401250998"
/// </summary>
[JsonProperty("iqiyiAreaId")]
public string IqiyiAreaId { get; set; }
/// <summary>
/// Examples: "string"
/// </summary>
[JsonProperty("lon")]
public string Lon { get; set; }
/// <summary>
/// Examples: "string"
/// </summary>
[JsonProperty("lat")]
public string Lat { get; set; }
/// <summary>
/// Examples: 25048
/// </summary>
[JsonProperty("cinemaId")]
public string CinemaId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CinemaWin.Iqiyi.Model.Cinema;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Response.Cinema
{
public class IqiyiH5SeatMapResponse
{
/// <summary>
/// Examples: "20210305"
/// </summary>
[JsonProperty("date")]
public string Date { get; set; }
/// <summary>
/// Examples: {}
/// </summary>
[JsonProperty("priceChangeInfo")]
public PriceChangeInfo PriceChangeInfo { get; set; }
/// <summary>
/// Examples: 5
/// </summary>
[JsonProperty("maxSelectNum")]
public int MaxSelectNum { get; set; }
/// <summary>
/// Examples: "https://pic2.iqiyipic.com/lequ/20210128/7399364f52004fa4a430593d8d94aec5.png"
/// </summary>
[JsonProperty("soldIcon")]
public string SoldIcon { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("isToday")]
public bool IsToday { get; set; }
/// <summary>
/// Examples: "1号激光厅"
/// </summary>
[JsonProperty("hall")]
public string Hall { get; set; }
/// <summary>
/// Examples: 1745301399
/// </summary>
[JsonProperty("movieId")]
public int MovieId { get; set; }
/// <summary>
/// Examples: ["2D"]
/// </summary>
[JsonProperty("type")]
public List<string> Type { get; set; }
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("seats")]
public Dictionary<int , List<IqiyiH5Seat>> Seats { get; set; }
/// <summary>
/// Examples: {"0":4400,"1":4400,"2":4400}
/// </summary>
[JsonProperty("areaPrice")]
public Dictionary<string, string> AreaPrice { get; set; }
/// <summary>
/// Examples: [{"areaPrice":"¥44","hasDiscount":false,"aid":"0"},{"areaPrice":"¥44","hasDiscount":false,"aid":"1"},{"areaPrice":"¥44","hasDiscount":false,"aid":"2"}]
///// </summary>
[JsonProperty("areaDiscountDisplay")]
public List<AreaDiscountDisplay> AreaDiscountDisplay { get; set; }
/// <summary>
/// Examples: "https://pic1.iqiyipic.com/lequ/20210128/bf80ce30aec3493db570e6f7f7a65780.png"
/// </summary>
[JsonProperty("selectedIcon")]
public string SelectedIcon { get; set; }
/// <summary>
/// Examples: {}
/// </summary>
[JsonProperty("areaPriceChangeInfo")]
public AreaPriceChangeInfo AreaPriceChangeInfo { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("hasUnableSeat")]
public bool HasUnableSeat { get; set; }
/// <summary>
/// Examples: 380949427
/// </summary>
[JsonProperty("cinemaId")]
public string CinemaId { get; set; }
/// <summary>
/// Examples: 4400
/// </summary>
[JsonProperty("price")]
public string Price { get; set; }
/// <summary>
/// Examples: "大地影院(杭州萧山宝龙店)"
/// </summary>
[JsonProperty("cinemaName")]
public string CinemaName { get; set; }
/// <summary>
/// Examples: "汉语"
/// </summary>
[JsonProperty("lan")]
public string Lan { get; set; }
/// <summary>
/// Examples: "2D"
/// </summary>
[JsonProperty("sessionType")]
public string SessionType { get; set; }
/// <summary>
/// Examples: "今天10:30"
/// </summary>
[JsonProperty("playTime")]
public string PlayTime { get; set; }
/// <summary>
/// Examples: "你选的是今天03-05的场次,请仔细核对哦"
/// </summary>
[JsonProperty("playTimeNotice")]
public string PlayTimeNotice { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("disabled")]
public bool Disabled { get; set; }
/// <summary>
/// Examples: "你好,李焕英"
/// </summary>
[JsonProperty("movieName")]
public string MovieName { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("thirdUpdateTime")]
public string ThirdUpdateTime { get; set; }
/// <summary>
/// Examples: 8
/// </summary>
[JsonProperty("rowSize")]
public int RowSize { get; set; }
/// <summary>
/// Examples: "已超过特价限购数量\n超出部分恢复成原价"
/// </summary>
[JsonProperty("overSubmitTips")]
public string OverSubmitTips { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isPriceChange")]
public bool IsPriceChange { get; set; }
/// <summary>
/// Examples: "1"
/// </summary>
[JsonProperty("supportArea")]
public string SupportArea { get; set; }
/// <summary>
/// Examples: {"0":"FF2092","1":"08BF8B","2":"FFD527"}
/// </summary>
[JsonProperty("areaColor")]
public Dictionary<string, string> AreaColor { get; set; }
/// <summary>
/// Examples: "12:38"
/// </summary>
[JsonProperty("playEndTime")]
public string PlayEndTime { get; set; }
/// <summary>
/// Examples: "dadiv3"
/// </summary>
[JsonProperty("thirdFrom")]
public string ThirdFrom { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("thirdCinemaId")]
public string ThirdCinemaId { get; set; }
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("sessionCards")]
public SessionCards SessionCards { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("hasLoveSeat")]
public bool HasLoveSeat { get; set; }
/// <summary>
/// Examples: 730756462
/// </summary>
[JsonProperty("sessionId")]
public int SessionId { get; set; }
/// <summary>
/// Examples: ["1","2","3","4","5","6","7","8"]
/// </summary>
[JsonProperty("rows")]
public List<string> Rows { get; set; }
/// <summary>
/// Examples: 20
/// </summary>
[JsonProperty("colSize")]
public int ColSize { get; set; }
/// <summary>
/// Examples: "730756462"
/// </summary>
[JsonProperty("partnerSessionId")]
public string PartnerSessionId { get; set; }
/// <summary>
/// Examples: "0000000000000001"
/// </summary>
[JsonProperty("partnerHallId")]
public string PartnerHallId { get; set; }
/// <summary>
/// Examples: "03-05"
/// </summary>
[JsonProperty("playDate")]
public string PlayDate { get; set; }
/// <summary>
/// Examples: "您的特价资格已用完\n请按原价44元/张购买"
/// </summary>
[JsonProperty("overBuyTips")]
public string OverBuyTips { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("realNameType")]
public int RealNameType { get; set; }
/// <summary>
/// Examples: 8
/// </summary>
[JsonProperty("partnerId")]
public string PartnerId { get; set; }
/// <summary>
/// Examples: ["观影需全程佩戴口罩,电影放映期间影厅内禁止饮食,感谢配合!"]
/// </summary>
[JsonProperty("cinemaNotice")]
public List<string> CinemaNotice { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("status")]
public int Status { get; set; }
/// <summary>
/// Examples: "9733"
/// </summary>
[JsonProperty("partnerCinemaId")]
public string PartnerCinemaId { get; set; }
}
public class SessionCards
{
/// <summary>
/// Examples: [{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"10:30","sessionId":730756462,"partnerId":8,"endTime":"12:38","type":"汉语2D","partnerSessionId":"730756462","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"11:55","sessionId":731312405,"partnerId":8,"endTime":"14:03","type":"汉语2D","partnerSessionId":"731312405","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"12:55","sessionId":730756468,"partnerId":8,"endTime":"15:03","type":"汉语2D","partnerSessionId":"730756468","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"14:20","sessionId":731312410,"partnerId":8,"endTime":"16:28","type":"汉语2D","partnerSessionId":"731312410","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"15:20","sessionId":730756474,"partnerId":8,"endTime":"17:28","type":"汉语2D","partnerSessionId":"730756474","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"15:45","sessionId":731312412,"partnerId":8,"endTime":"17:53","type":"汉语2D","partnerSessionId":"731312412","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"16:45","sessionId":730756476,"partnerId":8,"endTime":"18:53","type":"汉语2D","partnerSessionId":"730756476","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"17:45","sessionId":730756480,"partnerId":8,"endTime":"19:53","type":"汉语2D","partnerSessionId":"730756480","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"18:20","sessionId":731312417,"partnerId":8,"endTime":"20:28","type":"汉语2D","partnerSessionId":"731312417","isVip":false,"partnerCinemaId":"9733","realPrice":44.0},{"priceString":"49","price":49.0,"thirdFrom":"dadiv3","startTime":"19:10","sessionId":730756481,"partnerId":8,"endTime":"21:18","type":"汉语2D","partnerSessionId":"730756481","isVip":false,"partnerCinemaId":"9733","realPrice":49.0},{"priceString":"49","price":49.0,"thirdFrom":"dadiv3","startTime":"20:10","sessionId":730756486,"partnerId":8,"endTime":"22:18","type":"汉语2D","partnerSessionId":"730756486","isVip":false,"partnerCinemaId":"9733","realPrice":49.0},{"priceString":"49","price":49.0,"thirdFrom":"dadiv3","startTime":"20:50","sessionId":731312420,"partnerId":8,"endTime":"22:58","type":"汉语2D","partnerSessionId":"731312420","isVip":false,"partnerCinemaId":"9733","realPrice":49.0},{"priceString":"44","price":44.0,"thirdFrom":"dadiv3","startTime":"21:35","sessionId":730756487,"partnerId":8,"endTime":"23:43","type":"汉语2D","partnerSessionId":"730756487","isVip":false,"partnerCinemaId":"9733","realPrice":44.0}]
/// </summary>
[JsonProperty("cardList")]
public List<CardList> CardList { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("sessionCardType")]
public bool SessionCardType { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("cardString")]
public string CardString { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("hasMore")]
public bool HasMore { get; set; }
}
public class AreaDiscountDisplay
{
/// <summary>
/// Examples: "¥44"
/// </summary>
[JsonProperty("areaPrice")]
public string AreaPrice { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("hasDiscount")]
public bool HasDiscount { get; set; }
/// <summary>
/// Examples: "0", "1", "2"
/// </summary>
[JsonProperty("aid")]
public string Aid { get; set; }
}
public class CardList
{
/// <summary>
/// Examples: "44", "49"
/// </summary>
[JsonProperty("priceString")]
public string PriceString { get; set; }
/// <summary>
/// Examples: 44.0, 49.0
/// </summary>
[JsonProperty("price")]
public double Price { get; set; }
/// <summary>
/// Examples: "dadiv3"
/// </summary>
[JsonProperty("thirdFrom")]
public string ThirdFrom { get; set; }
/// <summary>
/// Examples: "10:30", "11:55", "12:55", "14:20", "15:20"
/// </summary>
[JsonProperty("startTime")]
public string StartTime { get; set; }
/// <summary>
/// Examples: 730756462, 731312405, 730756468, 731312410, 730756474
/// </summary>
[JsonProperty("sessionId")]
public int SessionId { get; set; }
/// <summary>
/// Examples: 8
/// </summary>
[JsonProperty("partnerId")]
public string PartnerId { get; set; }
/// <summary>
/// Examples: "12:38", "14:03", "15:03", "16:28", "17:28"
/// </summary>
[JsonProperty("endTime")]
public string EndTime { get; set; }
/// <summary>
/// Examples: "汉语2D"
/// </summary>
[JsonProperty("type")]
public string Type { get; set; }
/// <summary>
/// Examples: "730756462", "731312405", "730756468", "731312410", "730756474"
/// </summary>
[JsonProperty("partnerSessionId")]
public string PartnerSessionId { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("isVip")]
public bool IsVip { get; set; }
/// <summary>
/// Examples: "9733"
/// </summary>
[JsonProperty("partnerCinemaId")]
public string PartnerCinemaId { get; set; }
/// <summary>
/// Examples: 44.0, 49.0
/// </summary>
[JsonProperty("realPrice")]
public double RealPrice { get; set; }
}
public class AreaPriceChangeInfo
{
}
public class PriceChangeInfo
{
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Model;
using Newtonsoft.Json;
namespace iqiyiWin.Response.Film
{
public class MovieInfoResponse
{
/// <summary>
/// Examples: "A00000"
/// </summary>
[JsonProperty("code")]
public string Code { get; set; }
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("data")]
public Data Data { get; set; }
/// <summary>
/// Examples: "20210701170145"
/// </summary>
[JsonProperty("timestamp")]
public string Timestamp { get; set; }
}
public class Data
{
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("upcomingSessions")]
public UpcomingSessions UpcomingSessions { get; set; }
}
public class UpcomingSessions
{
/// <summary>
/// Examples:
/// </summary>
[JsonProperty("movieClips")]
public List<IqiyiFilm> MovieClips { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Response
{
public class IqiyiH5BaseResponse<T>
{
/// <summary>
/// Examples: "A00000"
/// </summary>
[JsonProperty("code")]
public string Code { get; set; }
/// <summary>
/// Examples: "A00000"
/// </summary>
[JsonProperty("data")]
public T Data { get; set; }
/// <summary>
/// Examples: "20210701170145"
/// </summary>
[JsonProperty("timestamp")]
public string Timestamp { get; set; }
[JsonProperty("msg")]
public string Msg { get; set; }
public Boolean Success { get { return Code == "A00000"; } }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace CinemaWin.Iqiyi.Response.Order
{
public class IqiyiH5CreateOrderResponse
{
/// <summary>
/// Examples: 12345678
/// </summary>
[JsonProperty("orderId")]
public string OrderId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iqiyiWin.Model;
using Newtonsoft.Json;
namespace iqiyiWin.Response.Task.TaskList
{
public class GetTaskListResponse
{
/// <summary>
/// Examples: {"totalRewardName":"观影豆","taskCompleteReward":50,"headImg":"https://www.iqiyipic.com/common/fix/headicons/male-130.png","nickName":"hopjdwrxy36540","totalReward":500,"isLogin":true,"forNow":"2.00","completeRaskNumber":5,"task":[{"rewardName":"观影豆","receive":false,"ladingPage":"qyticket://movieticketroot","rewardCount":25,"taskName":"首次标记\"想看\"电影","remark":"在电影列表中挑选自己想看的电影,在影片介绍页点击\"想看\"","complete":false},{"recordId":30803720,"rewardName":"观影豆","receive":false,"ladingPage":"qyticket://movieticketroot","rewardCount":25,"taskName":"首次体验在线选座","remark":"在电影列表中挑选想看的电影,体验在线选择座位并确认","complete":true},{"recordId":31926773,"rewardName":"观影豆","receive":false,"ladingPage":"https://app.iqiyi.com/ext/common/qipiao/libao_goumai/app.html?channel=piaoapp_flrw","rewardCount":200,"taskName":"首次购买超值礼包","remark":"","complete":true},{"rewardName":"观影豆","receive":false,"ladingPage":"qyticket://movieticketroot","rewardCount":200,"taskName":"首次购买电影票","remark":"1.完成首次购买电影票,在所购买场次观影日期结束后记做任务完成;\r\n2.每位用户仅限赠送1次。同一爱奇艺账号、手机号、设备、支付账号均视为同一用户。","complete":false},{"rewardName":"观影豆","receive":false,"ladingPage":"","rewardCount":50,"taskName":"完成全部新手任务","remark":"","complete":false}],"currentCount":200.0,"taskCompleteRewardName":"观影豆","taskNumber":5,"cash":"5.00"}
/// </summary>
[JsonProperty("data")]
public Data Data { get; set; }
/// <summary>
/// Examples: "20210701155026"
/// </summary>
[JsonProperty("timestamp")]
public string Timestamp { get; set; }
/// <summary>
/// Examples: "A00000"
/// </summary>
[JsonProperty("code")]
public string Code { get; set; }
/// <summary>
/// Examples: "dedabc54-d4b5-41ae-adb6-bab0c0d991dc"
/// </summary>
[JsonProperty("requestId")]
public string RequestId { get; set; }
/// <summary>
/// Examples: ""
/// </summary>
[JsonProperty("msg")]
public string Msg { get; set; }
/// <summary>
/// Examples: false
/// </summary>
[JsonProperty("hasNext")]
public bool HasNext { get; set; }
}
public class Data
{
/// <summary>
/// Examples: "观影豆"
/// </summary>
[JsonProperty("totalRewardName")]
public string TotalRewardName { get; set; }
/// <summary>
/// Examples: 50
/// </summary>
[JsonProperty("taskCompleteReward")]
public int TaskCompleteReward { get; set; }
/// <summary>
/// Examples: "https://www.iqiyipic.com/common/fix/headicons/male-130.png"
/// </summary>
[JsonProperty("headImg")]
public string HeadImg { get; set; }
/// <summary>
/// Examples: "hopjdwrxy36540"
/// </summary>
[JsonProperty("nickName")]
public string NickName { get; set; }
/// <summary>
/// Examples: 500
/// </summary>
[JsonProperty("totalReward")]
public int TotalReward { get; set; }
/// <summary>
/// Examples: true
/// </summary>
[JsonProperty("isLogin")]
public bool IsLogin { get; set; }
/// <summary>
/// Examples: "2.00"
/// </summary>
[JsonProperty("forNow")]
public string ForNow { get; set; }
/// <summary>
/// Examples: 5
/// </summary>
[JsonProperty("completeRaskNumber")]
public int CompleteRaskNumber { get; set; }
/// <summary>
/// Examples: [{"rewardName":"观影豆","receive":false,"ladingPage":"qyticket://movieticketroot","rewardCount":25,"taskName":"首次标记\"想看\"电影","remark":"在电影列表中挑选自己想看的电影,在影片介绍页点击\"想看\"","complete":false},{"recordId":30803720,"rewardName":"观影豆","receive":false,"ladingPage":"qyticket://movieticketroot","rewardCount":25,"taskName":"首次体验在线选座","remark":"在电影列表中挑选想看的电影,体验在线选择座位并确认","complete":true},{"recordId":31926773,"rewardName":"观影豆","receive":false,"ladingPage":"https://app.iqiyi.com/ext/common/qipiao/libao_goumai/app.html?channel=piaoapp_flrw","rewardCount":200,"taskName":"首次购买超值礼包","remark":"","complete":true},{"rewardName":"观影豆","receive":false,"ladingPage":"qyticket://movieticketroot","rewardCount":200,"taskName":"首次购买电影票","remark":"1.完成首次购买电影票,在所购买场次观影日期结束后记做任务完成;\r\n2.每位用户仅限赠送1次。同一爱奇艺账号、手机号、设备、支付账号均视为同一用户。","complete":false},{"rewardName":"观影豆","receive":false,"ladingPage":"","rewardCount":50,"taskName":"完成全部新手任务","remark":"","complete":false}]
/// </summary>
[JsonProperty("task")]
public List<IqiyiTask> Task { get; set; }
/// <summary>
/// Examples: 200.0
/// </summary>
[JsonProperty("currentCount")]
public double CurrentCount { get; set; }
/// <summary>
/// Examples: "观影豆"
/// </summary>
[JsonProperty("taskCompleteRewardName")]
public string TaskCompleteRewardName { get; set; }
/// <summary>
/// Examples: 5
/// </summary>
[JsonProperty("taskNumber")]
public int TaskNumber { get; set; }
/// <summary>
/// Examples: "5.00"
/// </summary>
[JsonProperty("cash")]
public string Cash { get; set; }
}
}
......@@ -250,7 +250,7 @@ namespace iqiyiWin.Response.User.CouponList
/// Examples: "3天到期"
/// </summary>
[JsonProperty("expiredTimeRemind")]
public string ExpiredTimeRemind { get; set; }
public string ExpiredTimeRemind { get; set; } = "-1";
/// <summary>
/// Examples: "https://app.iqiyi.com/ext/common/qipiao/libao_goumai/app.html?channel=piaoh5_lbkq"
......
......@@ -336,7 +336,52 @@ namespace iqiyiWin.Util
}
}
public static string DoPost(CookieContainer cookieContainer, string referer, string url, string data, IDictionary<string, string> headers = null, int timeout = 10000)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Referer = referer;
request.Method = "POST";
request.ContentType = JsonUtils.IsJsonData(data) ? "application/json" : "application/x-www-form-urlencoded";
request.CookieContainer = cookieContainer;
if (headers != null)
{
foreach (var header in headers)
{
if (header.Key.Equals("User-Agent"))
{
request.UserAgent = header.Value;
continue;
}
request.Headers.Add(header.Key, header.Value);
}
}
if (!string.IsNullOrEmpty(data))
{
Stream requestStream = request.GetRequestStream();
byte[] bytes = Encoding.UTF8.GetBytes(data);
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
}
Stream responseStream = null;
StreamReader streamReader = null;
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
responseStream = response.GetResponseStream();
streamReader = new StreamReader(responseStream, Encoding.UTF8);
string result = streamReader.ReadToEnd();
return result;
}
finally
{
streamReader?.Close();
responseStream?.Close();
}
}
}
}
......@@ -16,10 +16,14 @@ namespace iqiyiWin.Util
foreach (KeyValuePair<string, string> item in data)
{
encryptionBeforeText += item.Key + item.Value;
if (item.Key != "sig" && item.Value != "")
{
encryptionBeforeText += item.Key + item.Value.ToString();
}
}
if(data["appid"] == "10012")
if(data.ContainsKey("appid") && data["appid"] == "10012")
{
appsecret = "e72c3bf9";
}
......
......@@ -22,5 +22,6 @@ namespace iqiyiWin.Util
return (data.StartsWith("[") && data.EndsWith("]"))
|| (data.StartsWith("{") && data.EndsWith("}"));
}
}
}
......@@ -51,7 +51,10 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Api\Cinema.cs" />
<Compile Include="Api\City4Film.cs" />
<Compile Include="Api\Domain.cs" />
<Compile Include="Api\FilmTask.cs" />
<Compile Include="Api\IqiyiH5OrderApi.cs" />
<Compile Include="Api\User.cs" />
<Compile Include="App.cs" />
<Compile Include="Constant\ApiConstant.cs" />
......@@ -60,9 +63,23 @@
<Compile Include="Enums\AppEnvironmentEnum.cs" />
<Compile Include="Enums\TaskEnums.cs" />
<Compile Include="Extension\EnumExtension.cs" />
<Compile Include="FormWebBrower.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FormWebBrower.Designer.cs">
<DependentUpon>FormWebBrower.cs</DependentUpon>
</Compile>
<Compile Include="Model\IqiyiCinema.cs" />
<Compile Include="Model\IqiyiCity.cs" />
<Compile Include="Model\IqiyiFilm.cs" />
<Compile Include="Model\IqiyiH5Cinema.cs" />
<Compile Include="Model\IqiyiH5City.cs" />
<Compile Include="Model\IqiyiH5CreateOrder.cs" />
<Compile Include="Model\IqiyiH5Movie.cs" />
<Compile Include="Model\IqiyiH5Seat.cs" />
<Compile Include="Model\IqiyiH5Session.cs" />
<Compile Include="Model\IqiyiH5TaskResult.cs" />
<Compile Include="Model\IqiyiLockDraw.cs" />
<Compile Include="Model\IqiyiTask.cs" />
<Compile Include="Model\QianZhuSaveIqiyiCinema.cs" />
<Compile Include="Qianzhu\Api\QianzhuIqiyiCinema.cs" />
<Compile Include="Qianzhu\Api\QianzhuUserApi.cs" />
......@@ -74,8 +91,30 @@
<Compile Include="Qianzhu\Response\QianzhuBaseResponse.cs" />
<Compile Include="Qianzhu\Response\User\QianzhuGetUserResponse.cs" />
<Compile Include="Qianzhu\Response\User\QianzhuUserLoginResponse.cs" />
<Compile Include="Request\Cinema\IqiyiH5GetCinemaListRequest.cs" />
<Compile Include="Request\Cinema\IqiyiH5GetCinemaRequest.cs" />
<Compile Include="Request\Cinema\IqiyiH5GetMovieListRequest.cs" />
<Compile Include="Request\Cinema\IqiyiH5GetSeatMapRequest.cs" />
<Compile Include="Request\Cinema\IqiyiH5GetSessionRequest.cs" />
<Compile Include="Request\FilmTask\GetTaskListRequest.cs" />
<Compile Include="Request\IqiyiH5BaseRequest.cs" />
<Compile Include="Request\IqiyiH5BaseRequest2.cs" />
<Compile Include="Request\Order\IqiyiH5CreateOrderRequest.cs" />
<Compile Include="Request\User\IqiyiH5ReceiveWaitLookRequest.cs" />
<Compile Include="Request\User\IqiyiH5UserBaseRequest.cs" />
<Compile Include="Request\User\WantLookMoiveRequest.cs" />
<Compile Include="Response\Cinema\CinemaItem\CinemaResponse.cs" />
<Compile Include="Response\Cinema\Citites\CityListResponse.cs" />
<Compile Include="Response\Cinema\IqiyiH5CinemasResponse.cs" />
<Compile Include="Response\Cinema\IqiyiH5CitiesResponse.cs" />
<Compile Include="Response\Cinema\IqiyiH5MovieSessionResponse.cs" />
<Compile Include="Response\Cinema\IqiyiH5MoviesResponse.cs" />
<Compile Include="Response\Cinema\IqiyiH5QianZhuCinemaResponse.cs" />
<Compile Include="Response\Cinema\IqiyiH5SeatMapResponse.cs" />
<Compile Include="Response\Film\MovieInfoResponse.cs" />
<Compile Include="Response\IqiyiH5BaseResponse.cs" />
<Compile Include="Response\Order\IqiyiH5CreateOrderResponse.cs" />
<Compile Include="Response\Task\TaskList\GetTaskListResponse.cs" />
<Compile Include="Response\User\LockDraw\LockDrawResponse.cs" />
<Compile Include="SetLuckDraw.cs">
<SubType>Form</SubType>
......@@ -111,6 +150,9 @@
<Compile Include="Util\Sha1.cs" />
<Compile Include="Util\UILogUtils.cs" />
<Compile Include="Util\UrlUtils.cs" />
<EmbeddedResource Include="FormWebBrower.resx">
<DependentUpon>FormWebBrower.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Main.resx">
<DependentUpon>Main.cs</DependentUpon>
</EmbeddedResource>
......@@ -149,5 +191,6 @@
<Name>DingDingSdk</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment