Commit 35fce98e authored by wuliangshun's avatar wuliangshun

抽奖

parent 89710e80
......@@ -12,5 +12,9 @@ namespace iqiyiWin.Api
public static string REFERER_DOMAIN = "https://movie.iqiyi.com/";
public static string WWW_IQIYI = "https://www.iqiyi.com";
public static string PCELL_DOMAIN = "https://pcell.iqiyi.com/";
}
}
......@@ -7,6 +7,7 @@ using System.Threading.Tasks;
using iqiyiWin.Constant;
using iqiyiWin.Model;
using iqiyiWin.Response.User.CouponList;
using iqiyiWin.Response.User.LockDraw;
using iqiyiWin.Response.User.MovieBean;
using iqiyiWin.Util;
using Newtonsoft.Json;
......@@ -30,7 +31,7 @@ namespace iqiyiWin.Api
headers.Add("platform", IqiyiVersion.Platform);
headers.Add("appid", IqiyiVersion.Appid);
headers.Add("dvsrc", IqiyiVersion.Dvsrc);
headers.Add("dfp", IqiyiVersion.Dfp);
headers.Add("dfp", IqiyiVersion.Dfp());
headers.Add("ts", DateUtils.GetTimeStampOfMilliseconds().ToString());
var nonce = "";
......@@ -72,7 +73,12 @@ namespace iqiyiWin.Api
return "-1";
}
}
public static IList<Valid> GetCouponList(IqiyiAccount iqiyiAccount)
/// <summary>
/// 获取优惠券
/// </summary>
/// <param name="iqiyiAccount"></param>
/// <returns></returns>
public static List<Valid> GetCouponList(IqiyiAccount iqiyiAccount)
{
var headers = new SortedDictionary<string, string>();
......@@ -82,7 +88,7 @@ namespace iqiyiWin.Api
headers.Add("platform", IqiyiVersion.Platform);
headers.Add("appid", IqiyiVersion.Appid);
headers.Add("dvsrc", IqiyiVersion.Dvsrc);
headers.Add("dfp", IqiyiVersion.Dfp);
headers.Add("dfp", IqiyiVersion.Dfp());
headers.Add("ts", DateUtils.GetTimeStampOfMilliseconds().ToString());
var nonce = "";
......@@ -129,12 +135,21 @@ namespace iqiyiWin.Api
return new List<Valid>();
}
}
/// <summary>
/// 签到
/// </summary>
/// <param name="iqiyiAccount"></param>
/// <returns></returns>
public static Boolean UserDoSign(IqiyiAccount iqiyiAccount)
{
var headers = new SortedDictionary<string, string>();
headers.Add("deviceId", IqiyiVersion.Dfp);
headers.Add("dfp", IqiyiVersion.Dfp);
var dfp = IqiyiVersion.Dfp();
var nonceRandom = new Random();
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");
......@@ -143,7 +158,7 @@ namespace iqiyiWin.Api
headers.Add("src", "H5");
headers.Add("version", "1.0.0");
headers.Add("ck", iqiyiAccount.Cookie);
headers.Add("nonce", "0.6682964300917493");
headers.Add("nonce", $"0.{nonceRandom.Next(10000000, 99999999)}{nonceRandom.Next(10000000, 99999999)}");
headers.Add("bizType", "APP");
headers.Add("_t", DateUtils.GetTimeStampOfMilliseconds().ToString());
......@@ -164,5 +179,35 @@ namespace iqiyiWin.Api
return false;
}
}
/// <summary>
/// 抽奖
/// </summary>
/// <param name="iqiyiAccount"></param>
public static LockDrawResponse LockDarw(IqiyiAccount iqiyiAccount,string actCode)
{
var headers = new SortedDictionary<string, string>();
headers.Add("actCode", actCode);
headers.Add("P00001", iqiyiAccount.Cookie);
var queryText = UrlUtils.BuildQueryStringUrl(headers);
var responseStr = HttpUtils.DoGet(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;
//}
}
}
}
......@@ -24,5 +24,9 @@ namespace iqiyiWin.Constant
/// 用户签到
/// </summary>
public static string USER_SIGN_IN = "/app/v2/user/doSign";
/// <summary>
/// 抽奖
/// </summary>
public static string LOCK_DRAW = "/lotto/lottery";
}
}
......@@ -14,6 +14,19 @@ namespace iqiyiWin.Constant
public static string Platform = "iPhone";
public static string Appid = "10012";
public static string Dvsrc = "ios";
public static string Dfp = "a07ef14b414be543bdaae4b2d482d7e944eb08ba8b692e008e6371b3414b0cc57a";
public static string Dfp()
{
var resultText = "";
var random = new Random();
var randomText = "0123456789abcdef";
for( var i = 0; i < 66; i++)
{
resultText += randomText[random.Next(0, 16)];
}
return resultText;
}
}
}
......@@ -14,6 +14,8 @@ namespace iqiyiWin.Enums
[Description("查询观影豆")]
MovieBean = 1,
[Description("查询优惠券")]
Coupon = 2
Coupon = 2,
[Description("抽奖")]
LockDraw = 3
}
}
......@@ -32,6 +32,7 @@
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.dgv_user = new System.Windows.Forms.DataGridView();
this.No = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MobileNo = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Password = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Cookie = new System.Windows.Forms.DataGridViewTextBoxColumn();
......@@ -53,12 +54,17 @@
this.txtLog = new System.Windows.Forms.RichTextBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
this.cb_coupon = new System.Windows.Forms.CheckBox();
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.groupBox4 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.btn_start = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.btn_set_interval = new System.Windows.Forms.Button();
this.button3 = 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();
......@@ -72,9 +78,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.cb_signIn = new System.Windows.Forms.CheckBox();
this.cb_movieBean = new System.Windows.Forms.CheckBox();
this.cb_coupon = new System.Windows.Forms.CheckBox();
this.抽奖ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tableLayoutPanel1.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgv_user)).BeginInit();
......@@ -123,6 +127,7 @@
this.dgv_user.BackgroundColor = System.Drawing.SystemColors.Control;
this.dgv_user.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgv_user.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.No,
this.MobileNo,
this.Password,
this.Cookie,
......@@ -139,6 +144,15 @@
this.dgv_user.Size = new System.Drawing.Size(532, 194);
this.dgv_user.TabIndex = 0;
//
// No
//
this.No.DataPropertyName = "No";
this.No.HeaderText = "序号";
this.No.Name = "No";
this.No.ReadOnly = true;
this.No.ToolTipText = "序号";
this.No.Width = 54;
//
// MobileNo
//
this.MobileNo.DataPropertyName = "MobileNo";
......@@ -193,6 +207,7 @@
this.签到ToolStripMenuItem,
this.查询观影豆ToolStripMenuItem,
this.查询优惠券ToolStripMenuItem,
this.抽奖ToolStripMenuItem,
this.toolStripMenuItem2,
this.复制账号ToolStripMenuItem,
this.删除ToolStripMenuItem,
......@@ -201,7 +216,7 @@
this.导出账号ToolStripMenuItem,
this.清空账号ToolStripMenuItem});
this.cms_user.Name = "cms_user";
this.cms_user.Size = new System.Drawing.Size(187, 224);
this.cms_user.Size = new System.Drawing.Size(187, 268);
//
// 签到ToolStripMenuItem
//
......@@ -309,10 +324,12 @@
this.tableLayoutPanel3.Controls.Add(this.cb_coupon, 0, 2);
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.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel3.Location = new System.Drawing.Point(3, 17);
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.RowCount = 4;
this.tableLayoutPanel3.RowCount = 5;
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));
......@@ -320,6 +337,54 @@
this.tableLayoutPanel3.Size = new System.Drawing.Size(228, 194);
this.tableLayoutPanel3.TabIndex = 0;
//
// cb_coupon
//
this.cb_coupon.AutoSize = true;
this.cb_coupon.Dock = System.Windows.Forms.DockStyle.Fill;
this.cb_coupon.Location = new System.Drawing.Point(13, 67);
this.cb_coupon.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.cb_coupon.Name = "cb_coupon";
this.cb_coupon.Size = new System.Drawing.Size(212, 26);
this.cb_coupon.TabIndex = 6;
this.cb_coupon.Text = "查询观影券";
this.cb_coupon.UseVisualStyleBackColor = true;
//
// cb_movieBean
//
this.cb_movieBean.AutoSize = true;
this.cb_movieBean.Dock = System.Windows.Forms.DockStyle.Fill;
this.cb_movieBean.Location = new System.Drawing.Point(13, 35);
this.cb_movieBean.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.cb_movieBean.Name = "cb_movieBean";
this.cb_movieBean.Size = new System.Drawing.Size(212, 26);
this.cb_movieBean.TabIndex = 5;
this.cb_movieBean.Text = "查询观影豆";
this.cb_movieBean.UseVisualStyleBackColor = true;
//
// cb_signIn
//
this.cb_signIn.AutoSize = true;
this.cb_signIn.Dock = System.Windows.Forms.DockStyle.Fill;
this.cb_signIn.Location = new System.Drawing.Point(13, 3);
this.cb_signIn.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.cb_signIn.Name = "cb_signIn";
this.cb_signIn.Size = new System.Drawing.Size(212, 26);
this.cb_signIn.TabIndex = 3;
this.cb_signIn.Text = "签到";
this.cb_signIn.UseVisualStyleBackColor = true;
//
// cb_luckDraw
//
this.cb_luckDraw.AutoSize = true;
this.cb_luckDraw.Dock = System.Windows.Forms.DockStyle.Fill;
this.cb_luckDraw.Location = new System.Drawing.Point(13, 99);
this.cb_luckDraw.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.cb_luckDraw.Name = "cb_luckDraw";
this.cb_luckDraw.Size = new System.Drawing.Size(212, 26);
this.cb_luckDraw.TabIndex = 7;
this.cb_luckDraw.Text = "抽奖";
this.cb_luckDraw.UseVisualStyleBackColor = true;
//
// groupBox4
//
this.groupBox4.Controls.Add(this.tableLayoutPanel2);
......@@ -340,10 +405,12 @@
this.tableLayoutPanel2.Controls.Add(this.button1, 1, 0);
this.tableLayoutPanel2.Controls.Add(this.button2, 0, 1);
this.tableLayoutPanel2.Controls.Add(this.btn_set_interval, 1, 1);
this.tableLayoutPanel2.Controls.Add(this.button3, 0, 2);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 17);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 3;
this.tableLayoutPanel2.RowCount = 4;
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.Percent, 100F));
......@@ -394,6 +461,19 @@
this.btn_set_interval.UseVisualStyleBackColor = true;
this.btn_set_interval.Click += new System.EventHandler(this.Btn_set_interval_Click);
//
// button3
//
this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.button3.Location = new System.Drawing.Point(3, 83);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(108, 34);
this.button3.TabIndex = 4;
this.button3.Text = "设置抽奖Id";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.Button3_Click);
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
......@@ -489,41 +569,12 @@
this.tssl_wait_num.Size = new System.Drawing.Size(15, 17);
this.tssl_wait_num.Text = "0";
//
// cb_signIn
//
this.cb_signIn.AutoSize = true;
this.cb_signIn.Dock = System.Windows.Forms.DockStyle.Fill;
this.cb_signIn.Location = new System.Drawing.Point(13, 3);
this.cb_signIn.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.cb_signIn.Name = "cb_signIn";
this.cb_signIn.Size = new System.Drawing.Size(212, 26);
this.cb_signIn.TabIndex = 3;
this.cb_signIn.Text = "签到";
this.cb_signIn.UseVisualStyleBackColor = true;
//
// cb_movieBean
//
this.cb_movieBean.AutoSize = true;
this.cb_movieBean.Dock = System.Windows.Forms.DockStyle.Fill;
this.cb_movieBean.Location = new System.Drawing.Point(13, 35);
this.cb_movieBean.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.cb_movieBean.Name = "cb_movieBean";
this.cb_movieBean.Size = new System.Drawing.Size(212, 26);
this.cb_movieBean.TabIndex = 5;
this.cb_movieBean.Text = "查询观影豆";
this.cb_movieBean.UseVisualStyleBackColor = true;
//
// cb_coupon
// 抽奖ToolStripMenuItem
//
this.cb_coupon.AutoSize = true;
this.cb_coupon.Dock = System.Windows.Forms.DockStyle.Fill;
this.cb_coupon.Location = new System.Drawing.Point(13, 67);
this.cb_coupon.Margin = new System.Windows.Forms.Padding(13, 3, 3, 3);
this.cb_coupon.Name = "cb_coupon";
this.cb_coupon.Size = new System.Drawing.Size(212, 26);
this.cb_coupon.TabIndex = 6;
this.cb_coupon.Text = "查询观影券";
this.cb_coupon.UseVisualStyleBackColor = true;
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
//
......@@ -570,12 +621,6 @@
private System.Windows.Forms.ToolStripMenuItem 导出账号ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 导入账号ToolStripMenuItem;
private System.Windows.Forms.RichTextBox txtLog;
private System.Windows.Forms.DataGridViewTextBoxColumn MobileNo;
private System.Windows.Forms.DataGridViewTextBoxColumn Password;
private System.Windows.Forms.DataGridViewTextBoxColumn Cookie;
private System.Windows.Forms.DataGridViewTextBoxColumn SignStatusDesc;
private System.Windows.Forms.DataGridViewTextBoxColumn MovieBean;
private System.Windows.Forms.DataGridViewTextBoxColumn CouponNum;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
private System.Windows.Forms.ToolStripStatusLabel tssl_select_num;
......@@ -600,6 +645,16 @@
private System.Windows.Forms.CheckBox cb_coupon;
private System.Windows.Forms.CheckBox cb_movieBean;
private System.Windows.Forms.CheckBox cb_signIn;
private System.Windows.Forms.DataGridViewTextBoxColumn No;
private System.Windows.Forms.DataGridViewTextBoxColumn MobileNo;
private System.Windows.Forms.DataGridViewTextBoxColumn Password;
private System.Windows.Forms.DataGridViewTextBoxColumn Cookie;
private System.Windows.Forms.DataGridViewTextBoxColumn SignStatusDesc;
private System.Windows.Forms.DataGridViewTextBoxColumn MovieBean;
private System.Windows.Forms.DataGridViewTextBoxColumn CouponNum;
private System.Windows.Forms.CheckBox cb_luckDraw;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.ToolStripMenuItem 抽奖ToolStripMenuItem;
}
}
......@@ -76,6 +76,10 @@ namespace iqiyiWin
/// </summary>
public long EndTime = 0;
/// <summary>
/// 程序执行多久之后可以被重新启动
/// </summary>
public long TimeAbnormalInterval = 12 * 60 * 60 * 1000;
/// <summary>
/// 设置准时的定时任务
/// </summary>
private System.Windows.Forms.Timer TimerSetOnTime = new System.Windows.Forms.Timer();
......@@ -95,7 +99,10 @@ namespace iqiyiWin
/// 当前执行的任务下标
/// </summary>
public int TaskIndex = -1;
/// <summary>
/// 抽奖id
/// </summary>
public string ActCode = "";
public Main()
{
......@@ -185,6 +192,12 @@ namespace iqiyiWin
{
return;
}
int index = 1;
iqiyiAccounts.ForEach(x =>
{
x.No = index++;
});
IqiyiAccounts.AddRange(iqiyiAccounts);
RefreshIqiyiAccount();
}
......@@ -365,7 +378,11 @@ namespace iqiyiWin
{
try
{
if (IsLoading)
if (DateUtils.GetTimeStampOfMilliseconds() - StartTime > TimeAbnormalInterval)
{
IsLoading = false;
}
if (IsLoading )
{
return;
}
......@@ -402,7 +419,6 @@ namespace iqiyiWin
public void AccountSignIn(List<IqiyiAccount> iqiyiAccounts)
{
StartTime = DateUtils.GetTimeStampOfMilliseconds();
SelectNum = iqiyiAccounts.Count;
ImplementNum = 0;
SuccessNum = 0;
......@@ -465,14 +481,19 @@ namespace iqiyiWin
{
try
{
if (IsLoading)
if (dgv_user.SelectedRows == null || dgv_user.SelectedRows.Count <= 0)
{
UILogUtils.Error("请选择要查询的账号。");
return;
}
if (dgv_user.SelectedRows == null || dgv_user.SelectedRows.Count <= 0)
if (DateUtils.GetTimeStampOfMilliseconds() - StartTime > TimeAbnormalInterval)
{
IsLoading = false;
}
if (IsLoading)
{
UILogUtils.Error("请选择要查询的账号。");
return;
}
......@@ -561,18 +582,23 @@ namespace iqiyiWin
}
}
#endregion
#region 查询优惠券
private void 查询优惠券ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
if (IsLoading)
if (dgv_user.SelectedRows == null || dgv_user.SelectedRows.Count <= 0)
{
UILogUtils.Error("请选择要查询的账号。");
return;
}
if (dgv_user.SelectedRows == null || dgv_user.SelectedRows.Count <= 0)
if (DateUtils.GetTimeStampOfMilliseconds() - StartTime > TimeAbnormalInterval)
{
IsLoading = false;
}
if (IsLoading)
{
UILogUtils.Error("请选择要查询的账号。");
return;
}
......@@ -670,6 +696,119 @@ namespace iqiyiWin
}
}
#endregion
#region 抽奖
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.LockDraw
};
TaskIndex = 0;
lockDraw(iqiyiAccounts);
}
catch (Exception ex)
{
UILogUtils.Error(ex);
}
}
public void lockDraw(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";
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 = "";
var lockDraw = User.LockDarw(iqiyiAccount,ActCode);
string fileText = $"{iqiyiAccount.MobileNo}----{iqiyiAccount.Password}----{iqiyiAccount.Cookie}";
if (!lockDraw.Success)
{
Interlocked.Increment(ref ErrorNum);
Interlocked.Increment(ref ImplementNum);
Interlocked.Decrement(ref WaitNum);
var message = lockDraw.Msg;
fileText = $"{fileText}|{message}\n";
filePath = Path.Combine(fileDirectory, fileNamePrefixError);
}
else
{
Interlocked.Increment(ref SuccessNum);
Interlocked.Increment(ref ImplementNum);
Interlocked.Decrement(ref WaitNum);
var message = $"{lockDraw.Msg}";
if (lockDraw.Data != null && lockDraw.Data.GiftName != null)
{
message += "----" + lockDraw.Data.GiftName;
}
fileText = $"{fileText}|{message}\n";
filePath = Path.Combine(fileDirectory, fileNamePrefixSuccess);
}
setStatusStripNum();
FileUtils.AppendAllText(filePath, fileText, Encoding.UTF8);
}, cancellationToken);
}
}
#endregion
private void Btn_start_Click(object sender, EventArgs e)
{
if (dgv_user.Rows.Count == 0)
......@@ -678,6 +817,10 @@ namespace iqiyiWin
return;
}
if (DateUtils.GetTimeStampOfMilliseconds() - StartTime > TimeAbnormalInterval)
{
IsLoading = false;
}
if (IsLoading)
{
return;
......@@ -703,10 +846,14 @@ namespace iqiyiWin
TaskList.Add(TaskTypeEnum.Coupon);
taskNameList.Add($"{EnumExtension.GetDescription(TaskTypeEnum.Coupon)}");
}
if (cb_luckDraw.Checked)
{
TaskList.Add(TaskTypeEnum.LockDraw);
taskNameList.Add($"{EnumExtension.GetDescription(TaskTypeEnum.LockDraw)}");
}
if (TaskList.Count != 0)
{
UILogUtils.Info(TimerTiming.Enabled.ToString());
if (TimerTiming.Enabled)
{
SendDingdingMessagesAsync($"爱奇艺票务 即将开始执行{TaskList.Count}个任务 [{string.Join(" , ", taskNameList.ToArray())}]", "18057708086");
......@@ -717,6 +864,7 @@ namespace iqiyiWin
}
else
{
UILogUtils.Error("请先选择任务类型");
IsLoading = false;
}
}
......@@ -744,6 +892,14 @@ namespace iqiyiWin
case TaskTypeEnum.Coupon:
queryCouponNum(IqiyiAccounts);
break;
case TaskTypeEnum.LockDraw:
if (ActCode.Length == 0)
{
UILogUtils.Error($"请先添加抽奖Id");
return;
}
lockDraw(IqiyiAccounts);
break;
default:
UILogUtils.Error($"未知任务类型");
break;
......@@ -838,12 +994,27 @@ namespace iqiyiWin
}
IList list = (IList)dgv_user.DataSource;
foreach (DataGridViewRow row in dgv_user.SelectedRows)
var newList = new List<IqiyiAccount>();
for (int j = 0; j < list.Count; j++)
{
list.RemoveAt(row.Index);//移除
var item = list[j] as IqiyiAccount;
var isHas = false;
foreach (DataGridViewRow row in dgv_user.SelectedRows)
{
IqiyiAccount selectItem = row.DataBoundItem as IqiyiAccount;
if ( selectItem.MobileNo == item.MobileNo)
{
isHas = true;
}
}
if (!isHas)
{
newList.Add(item);
}
}
dgv_user.DataSource = null; //为空
dgv_user.DataSource = list; //显示数据
dgv_user.DataSource = newList; //显示数据
UILogUtils.Info("删除账号成功。");
}
......@@ -925,11 +1096,15 @@ namespace iqiyiWin
var currentTime = currentHour * 60 * 60 + currentMinute * 60 + currentSecond;
if(currentTime > intervalTime)
var timeDifference = 0;
if (currentTime > intervalTime)
{
intervalTime += 24 * 60 * 60 - currentTime;
timeDifference = 24 * 60 * 60 - (currentTime - intervalTime);
}
else
{
timeDifference = intervalTime - currentTime;
}
var timeDifference = intervalTime - currentTime;
var logText = $"任务将在{Convert.ToInt32(timeDifference / (60 * 60))}小时{Convert.ToInt32((timeDifference % (60 * 60)) / 60)}分钟{timeDifference % 60}秒钟后开始执行";
......@@ -949,12 +1124,15 @@ namespace iqiyiWin
}
public void setTiming()
{
TimerTiming.Stop();
TimerTiming.Dispose();
// TODO 缩短执行时间
TimerTiming.Interval = 1000 * 60 * 60 * 24;
// TimerTiming.Interval = 1000 * 10;
TimerTiming.Tick += new EventHandler((s, e) =>
{
UILogUtils.Info("开始执行定时任务");
Btn_start_Click(new object(), new EventArgs());
});
......@@ -963,9 +1141,18 @@ namespace iqiyiWin
Btn_start_Click(new object(), new EventArgs());
}
public void SetActCode(int type , string actCode)
{
if(type == 0)
{
ActCode = actCode;
UILogUtils.Info($"设置抽奖Id成功; [{ActCode}]");
}
}
private static void SendDingdingMessagesAsync(string message, string mobile)
{
UILogUtils.Info($"发送钉钉消息:{message}{mobile}");
UILogUtils.Info($"发送钉钉消息:[{message}] - [{mobile}]");
if (message != null)
{
message = "[千猪]" + message;
......@@ -977,5 +1164,12 @@ namespace iqiyiWin
DingDingClient.SendMessage(DingDingConstant.WEB_HOOK_URL, message, atMobiles);
});
}
private void Button3_Click(object sender, EventArgs e)
{
var setLuckDraw = new SetLuckDraw();
setLuckDraw.ShowDialog(this);
}
}
}
......@@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="No.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="MobileNo.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
......@@ -141,4 +144,7 @@
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>123, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>41</value>
</metadata>
</root>
\ No newline at end of file
......@@ -12,6 +12,10 @@ namespace iqiyiWin.Model
/// </summary>
public class IqiyiAccount
{
/// <summary>
/// 序号
/// </summary>
public int No { get; set; }
/// <summary>
/// 手机号
/// </summary>
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace iqiyiWin.Model
{
public class IqiyiLockDraw
{
/// <summary>
/// Examples: "6元代金券"
/// </summary>
[JsonProperty("giftName")]
public string GiftName { get; set; }
/// <summary>
/// Examples: "2021041817123370016830073"
/// </summary>
[JsonProperty("orderCode")]
public string OrderCode { get; set; }
/// <summary>
/// Examples: 17
/// </summary>
[JsonProperty("giftType")]
public string GiftType { get; set; }
/// <summary>
/// Examples: 13509
/// </summary>
[JsonProperty("giftId")]
public string GiftId { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("times")]
public string Times { get; set; }
/// <summary>
/// Examples: 4
/// </summary>
[JsonProperty("giftLevel")]
public string GiftLevel { get; set; }
/// <summary>
/// Examples: "G_a83e437fe3f0ccfb"
/// </summary>
[JsonProperty("giftCode")]
public string GiftCode { get; set; }
/// <summary>
/// Examples: null
/// </summary>
[JsonProperty("ticket")]
public string Ticket { get; set; }
/// <summary>
/// Examples: 1
/// </summary>
[JsonProperty("sendType")]
public string SendType { get; set; }
/// <summary>
/// Examples: 0
/// </summary>
[JsonProperty("fillPhone")]
public string FillPhone { get; set; }
}
}
......@@ -52,13 +52,13 @@ namespace iqiyiWin.Response.User.CouponList
/// Examples: [{"jumpType":"giftpackets","displaySubName":"","disCount":300.0,"availableTips":"有效期至 2021.04.24","jumpParam":"","tipTags":["限购超值礼包","不可叠加"],"displayName":"超值礼包抵扣券(新人专享)","isGiftPackage":false,"disCountStr":"3","withPriceChange":false,"showUse":true,"bossTicket":"221B-GZWW-ZBFN-U3R4-GRGJ","displaySubType":"限购超值礼包","couponType":1,"giftPackageH5Url":"https://app.iqiyi.com/ext/common/qipiao/libao_goumai/app.html?channel=piaoh5_lbkq","withPriceChangeTip":"不可叠加","desc":"仅限爱奇艺票务APP使用;\r\n仅限购买超值礼包产品抵扣使用。"}]
/// </summary>
[JsonProperty("valid")]
public IList<Valid> Valid { get; set; }
public List<Valid> Valid { get; set; }
/// <summary>
/// Examples: [{"reason":"已使用","displaySubName":"满50元可用","disCount":800.0,"availableTips":"有效期至 2021.03.01","tipTags":["限购电影票","满50元可用","不可叠加"],"displayName":"8元电影优惠券","isGiftPackage":false,"disCountStr":"8","withPriceChange":false,"showUse":false,"bossTicket":"4ZWH-NXVR-MBFS-T3X6-NG6U","displaySubType":"限购电影票","invalidReasonType":1,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"单笔订单满50元可用;\r\n不可与其他优惠同享。"},{"reason":"已过期","displaySubName":"满35元可用","disCount":200.0,"availableTips":"有效期至 2021.02.13","tipTags":["限购电影票","满35元可用","不可叠加"],"displayName":"签到奖品-电影票代金券","isGiftPackage":false,"disCountStr":"2","withPriceChange":false,"showUse":false,"bossTicket":"426A-Z7G8-CBFX-7K35-EYBK","displaySubType":"限购电影票","invalidReasonType":2,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"单笔订单满35元可用;\r\n不可与其他优惠同享。"},{"reason":"已过期","displaySubName":"满28元可用","disCount":500.0,"availableTips":"有效期至 2021.02.08","tipTags":["限购电影票","满28元可用","不可叠加"],"displayName":"电影票代金券(新人专享)","isGiftPackage":false,"disCountStr":"5","withPriceChange":false,"showUse":false,"bossTicket":"323R-CVE2-BBFN-U3R4-V38D","displaySubType":"限购电影票","invalidReasonType":2,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"仅限爱奇艺票务APP内使用;\r\n单笔订单满28元可用,可与改价优惠活动叠加使用,支持的影院以实际可用为准;"},{"reason":"已过期","displaySubName":"满35元可用","disCount":200.0,"availableTips":"有效期至 2021.02.07","tipTags":["限购电影票","满35元可用","不可叠加"],"displayName":"签到奖品-电影票代金券","isGiftPackage":false,"disCountStr":"2","withPriceChange":false,"showUse":false,"bossTicket":"226A-ZFE3-RBFT-LMB3-X71K","displaySubType":"限购电影票","invalidReasonType":2,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"单笔订单满35元可用;\r\n不可与其他优惠同享。"},{"reason":"已过期","displaySubName":"满35元可用","disCount":200.0,"availableTips":"有效期至 2021.02.03","tipTags":["限购电影票","满35元可用","不可叠加"],"displayName":"签到奖品-电影票代金券","isGiftPackage":false,"disCountStr":"2","withPriceChange":false,"showUse":false,"bossTicket":"426A-ZCS7-5BFQ-SYTL-RDFF","displaySubType":"限购电影票","invalidReasonType":2,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"单笔订单满35元可用;\r\n不可与其他优惠同享。"},{"reason":"已过期","displaySubName":"满35元可用","disCount":200.0,"availableTips":"有效期至 2021.02.02","tipTags":["限购电影票","满35元可用","不可叠加"],"displayName":"签到奖品-电影票代金券","isGiftPackage":false,"disCountStr":"2","withPriceChange":false,"showUse":false,"bossTicket":"426A-ZLYA-8BFQ-7VBF-S4FP","displaySubType":"限购电影票","invalidReasonType":2,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"单笔订单满35元可用;\r\n不可与其他优惠同享。"},{"reason":"已过期","displaySubName":"满35元可用","disCount":200.0,"availableTips":"有效期至 2021.02.01","tipTags":["限购电影票","满35元可用","不可叠加"],"displayName":"电影票代金券","isGiftPackage":false,"disCountStr":"2","withPriceChange":false,"showUse":false,"bossTicket":"323S-T4C9-8BFP-EQRI-XFAV","displaySubType":"限购电影票","invalidReasonType":2,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"单笔订单满35元可用;\r\n不可与其他优惠同享。"},{"reason":"已过期","displaySubName":"满35元可用","disCount":200.0,"availableTips":"有效期至 2021.01.31","tipTags":["限购电影票","满35元可用","不可叠加"],"displayName":"签到奖品-电影票代金券","isGiftPackage":false,"disCountStr":"2","withPriceChange":false,"showUse":false,"bossTicket":"226A-Z4WM-MBFP-41CA-DJY5","displaySubType":"限购电影票","invalidReasonType":2,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"单笔订单满35元可用;\r\n不可与其他优惠同享。"},{"reason":"已过期","displaySubName":"满35元可用","disCount":200.0,"availableTips":"有效期至 2021.01.31","tipTags":["限购电影票","满35元可用","不可叠加"],"displayName":"电影票代金券","isGiftPackage":false,"disCountStr":"2","withPriceChange":false,"showUse":false,"bossTicket":"523S-T4LK-8BFN-UAKP-TTDC","displaySubType":"限购电影票","invalidReasonType":2,"couponType":1,"withPriceChangeTip":"不可叠加","desc":"单笔订单满35元可用;\r\n不可与其他优惠同享。"}]
/// </summary>
[JsonProperty("invalid")]
public IList<Invalid> Invalid { get; set; }
public List<Invalid> Invalid { get; set; }
}
public class Invalid
{
......@@ -91,7 +91,7 @@ namespace iqiyiWin.Response.User.CouponList
/// Examples: ["限购电影票","满50元可用","不可叠加"], ["限购电影票","满35元可用","不可叠加"], ["限购电影票","满28元可用","不可叠加"], ["限购电影票","满35元可用","不可叠加"], ["限购电影票","满35元可用","不可叠加"]
/// </summary>
[JsonProperty("tipTags")]
public IList<string> TipTags { get; set; }
public List<string> TipTags { get; set; }
/// <summary>
/// Examples: "8元电影优惠券", "签到奖品-电影票代金券", "电影票代金券(新人专享)", "电影票代金券"
......
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.User.LockDraw
{
public class LockDrawResponse
{
public bool Success { get { return Code == "A00000" || Code == "Q00703" || Code == "Q00702"; } }
/// <summary>
/// Examples: "A00000"
/// </summary>
[JsonProperty("code")]
public string Code { get; set; }
/// <summary>
/// Examples: "成功"
/// </summary>
[JsonProperty("msg")]
public string Msg { get; set; }
/// <summary>
/// Examples: {"giftName":"6元代金券","orderCode":"2021041817123370016830073","giftType":17,"giftId":13509,"times":0,"giftLevel":4,"giftCode":"G_a83e437fe3f0ccfb","ticket":null,"sendType":1,"fillPhone":0}
/// </summary>
[JsonProperty("data")]
public IqiyiLockDraw Data { get; set; }
}
}
......@@ -31,8 +31,8 @@
this.tb_set_interval = new System.Windows.Forms.TextBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.label1 = new System.Windows.Forms.Label();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.btn_submit = new System.Windows.Forms.Button();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.btn_stop = new System.Windows.Forms.Button();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
......@@ -79,7 +79,7 @@
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(114, 26);
this.label1.TabIndex = 2;
this.label1.Text = "任务开始时间:";
this.label1.Text = "设置抽奖Id:";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// btn_submit
......@@ -89,7 +89,7 @@
this.btn_submit.Name = "btn_submit";
this.btn_submit.Size = new System.Drawing.Size(74, 20);
this.btn_submit.TabIndex = 3;
this.btn_submit.Text = "启动";
this.btn_submit.Text = "保存";
this.btn_submit.UseVisualStyleBackColor = true;
this.btn_submit.Click += new System.EventHandler(this.Button1_Click);
//
......@@ -110,7 +110,7 @@
this.ClientSize = new System.Drawing.Size(502, 70);
this.Controls.Add(this.tableLayoutPanel1);
this.Name = "SetInterval";
this.Text = "SetInterval";
this.Text = "设置抽奖Id";
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.ResumeLayout(false);
......
......@@ -17,7 +17,7 @@ namespace iqiyiWin
InitializeComponent();
init();
}
public void init()
private void init()
{
var intervalTime = Main._this.IntervalTime;
......@@ -27,7 +27,7 @@ namespace iqiyiWin
tb_set_interval.Text = $"{repairZero(hour)}:{repairZero(minute)}:{repairZero(second)}";
}
public string repairZero(int num)
private string repairZero(int num)
{
return num < 10 ? ("0" + num) : num.ToString();
}
......
namespace iqiyiWin
{
partial class SetLuckDraw
{
/// <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.label1 = new System.Windows.Forms.Label();
this.tb_set_lock_draw = new System.Windows.Forms.TextBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.btn_submit = new System.Windows.Forms.Button();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label1.Location = new System.Drawing.Point(3, 20);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(114, 26);
this.label1.TabIndex = 2;
this.label1.Text = "设置抽奖Id:";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// tb_set_lock_draw
//
this.tb_set_lock_draw.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tb_set_lock_draw.Location = new System.Drawing.Point(123, 23);
this.tb_set_lock_draw.MaxLength = 32;
this.tb_set_lock_draw.Name = "tb_set_lock_draw";
this.tb_set_lock_draw.Size = new System.Drawing.Size(151, 21);
this.tb_set_lock_draw.TabIndex = 1;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 4;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 40F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.tb_set_lock_draw, 1, 1);
this.tableLayoutPanel1.Controls.Add(this.btn_submit, 2, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 26F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(397, 70);
this.tableLayoutPanel1.TabIndex = 3;
//
// btn_submit
//
this.btn_submit.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_submit.Location = new System.Drawing.Point(280, 23);
this.btn_submit.Name = "btn_submit";
this.btn_submit.Size = new System.Drawing.Size(74, 20);
this.btn_submit.TabIndex = 3;
this.btn_submit.Text = "保存";
this.btn_submit.UseVisualStyleBackColor = true;
this.btn_submit.Click += new System.EventHandler(this.Btn_submit_Click);
//
// SetLuckDraw
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(397, 70);
this.Controls.Add(this.tableLayoutPanel1);
this.Name = "SetLuckDraw";
this.Text = "设置抽奖Id";
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tb_set_lock_draw;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Button btn_submit;
private System.ComponentModel.BackgroundWorker backgroundWorker1;
}
}
\ 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.Tasks;
using System.Windows.Forms;
namespace iqiyiWin
{
public partial class SetLuckDraw : Form
{
public SetLuckDraw()
{
InitializeComponent();
}
private void Btn_submit_Click(object sender, EventArgs e)
{
var actCode = tb_set_lock_draw.Text;
if (actCode.Length == 0)
{
MessageBox.Show($"请输入有效的抽奖id");
return;
}
Main._this.SetActCode(0, actCode);
this.Close();
}
}
}
<?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>
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
......@@ -57,6 +57,14 @@
<Compile Include="Constant\IqiyiVersion.cs" />
<Compile Include="Enums\TaskEnums.cs" />
<Compile Include="Extension\EnumExtension.cs" />
<Compile Include="Model\IqiyiLockDraw.cs" />
<Compile Include="Response\User\LockDraw\LockDrawResponse.cs" />
<Compile Include="SetLuckDraw.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetLuckDraw.Designer.cs">
<DependentUpon>SetLuckDraw.cs</DependentUpon>
</Compile>
<Compile Include="Main.cs">
<SubType>Form</SubType>
</Compile>
......@@ -100,6 +108,9 @@
<EmbeddedResource Include="SetInterval.resx">
<DependentUpon>SetInterval.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SetLuckDraw.resx">
<DependentUpon>SetLuckDraw.cs</DependentUpon>
</EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
......
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