mirror of
https://git.oceanpay.cc/danial/kami_itunes_june.git
synced 2025-12-18 22:31:24 +00:00
738 lines
27 KiB
C#
738 lines
27 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Drawing;
|
||
using System.Linq;
|
||
using System.Net;
|
||
using System.Threading.Tasks;
|
||
using System.Windows.Forms;
|
||
using AppleBatch_June.Model;
|
||
using AppleBatch_June.Utils;
|
||
using DotNet.Utilities;
|
||
|
||
namespace AppleBatch_June
|
||
{
|
||
public class FormCancelSubscriptions : BaseForm
|
||
{
|
||
private IContainer components;
|
||
|
||
private CheckBox ckCancelSubscriptionVpn;
|
||
|
||
private Label labRemovePayDianShu;
|
||
|
||
private Label label31;
|
||
|
||
private GroupBox groupBox5;
|
||
|
||
private Button btnStopRemovePay;
|
||
|
||
private Button btnRemovePayLog;
|
||
|
||
private Button btnStartRemovePay;
|
||
|
||
private TextBox textBox1;
|
||
|
||
private Label label6;
|
||
|
||
private GroupBox groupBox4;
|
||
|
||
private RichTextBox txtAppleId;
|
||
|
||
private TextBox txtSubscribeFilter;
|
||
|
||
private Label label1;
|
||
|
||
private Label label2;
|
||
|
||
private TextBox textBox3;
|
||
|
||
private TabControl tabControl1;
|
||
|
||
private TabPage tabPage1;
|
||
|
||
private RichTextBox txtLog;
|
||
|
||
private TabPage tabPage2;
|
||
|
||
private ListView lvLogList;
|
||
|
||
private ColumnHeader columnHeader5;
|
||
|
||
private ColumnHeader columnHeader1;
|
||
|
||
private ColumnHeader columnHeader2;
|
||
|
||
private ColumnHeader columnHeader3;
|
||
|
||
private ColumnHeader columnHeader4;
|
||
|
||
private Label label5;
|
||
|
||
private Button btnExportLogList;
|
||
|
||
private Button btnEmptyLogList;
|
||
|
||
private CheckBox ckSubscribeOnlyQuery;
|
||
|
||
public FormCancelSubscriptions()
|
||
: base("取消订阅", null)
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
|
||
private void FormCancelSubscriptions_Load(object sender, EventArgs e)
|
||
{
|
||
labRemovePayDianShu.Text = AppSysConfig.getTypeById(24).consNum.ToString();
|
||
ckCancelSubscriptionVpn.Checked = ((ConfigUtlis.getConfigValue("ckCancelSubscriptionVpn") == "True") ? true : false);
|
||
ckSubscribeOnlyQuery.Checked = ((ConfigUtlis.getConfigValue("ckSubscribeOnlyQuery") == "True") ? true : false);
|
||
txtSubscribeFilter.Enabled = !ckSubscribeOnlyQuery.Checked;
|
||
txtSubscribeFilter.Text = ConfigUtlis.getConfigValue("txtSubscribeFilter");
|
||
InitLv(lvLogList);
|
||
BindMenuPaste(txtAppleId);
|
||
}
|
||
|
||
public override void insertLog(string logText)
|
||
{
|
||
if (!base.IsHandleCreated || base.IsDisposed)
|
||
{
|
||
return;
|
||
}
|
||
try
|
||
{
|
||
BeginInvoke((Action)delegate
|
||
{
|
||
txtLog.Text = txtLog.Text.Insert(0, DateTime.Now.ToString("HH:mm:ss") + " " + logText + "\n");
|
||
});
|
||
}
|
||
catch (Exception)
|
||
{
|
||
}
|
||
}
|
||
|
||
private void btnStartRemovePay_Click(object sender, EventArgs e)
|
||
{
|
||
List<AppleAcount> list = AppleUtlis.accountInput(txtAppleId.Text.Trim());
|
||
if (list.Count == 0)
|
||
{
|
||
MessageBox.Show("请按正确格式输入ID");
|
||
return;
|
||
}
|
||
string subscribeFilter = txtSubscribeFilter.Text.Trim();
|
||
ConfigUtlis.saveConfigKey("ckCancelSubscriptionVpn", ckCancelSubscriptionVpn.Checked.ToString());
|
||
ConfigUtlis.saveConfigKey("txtSubscribeFilter", txtSubscribeFilter.Text);
|
||
ConfigUtlis.saveConfigKey("ckSubscribeOnlyQuery", ckSubscribeOnlyQuery.Checked.ToString());
|
||
int id = 24;
|
||
int count = list.Count;
|
||
if (AppSysConfig.integral < count * AppSysConfig.getTypeById(24).consNum)
|
||
{
|
||
MessageBox.Show("账号点数不足 , 执行账号数量:" + count + " ,至少需要 " + count * AppSysConfig.getTypeById(id).consNum + " 点数。");
|
||
}
|
||
else if (!base.taskState.TaskIsRun)
|
||
{
|
||
btnStartRemovePay.Enabled = false;
|
||
startRemovePay(list, ckCancelSubscriptionVpn.Checked, ckSubscribeOnlyQuery.Checked, subscribeFilter);
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("请先点停止,或者等待任务执行完毕");
|
||
}
|
||
}
|
||
|
||
public async void startRemovePay(List<AppleAcount> appleIds, bool startVpn, bool subscribeOnlyQuery, string subscribeFilter)
|
||
{
|
||
ApiNetReq.startNowFun = 24;
|
||
insertLog("-------开始执行---------");
|
||
insertLog("Id 数量:" + appleIds.Count);
|
||
if (!string.IsNullOrEmpty(subscribeFilter) && !subscribeOnlyQuery)
|
||
{
|
||
insertLog("需要取消的订阅关键字: " + subscribeFilter);
|
||
}
|
||
int taskSize = Tools.getTaskSize(startVpn, appleIds.Count);
|
||
base.taskState.isRun = true;
|
||
base.taskState.TaskIsRun = true;
|
||
AppleExecuteTask.TaskRunAppleIdCount = 0L;
|
||
AppleExecuteTask.TaskRunModels.Clear();
|
||
Task[] array = new Task[taskSize];
|
||
for (int i = 0; i < taskSize; i++)
|
||
{
|
||
array[i] = Task.Run(delegate
|
||
{
|
||
string guid = Guid.NewGuid().ToString("n");
|
||
TaskRunModel taskRunModel = new TaskRunModel
|
||
{
|
||
guid = guid,
|
||
isRuning = false
|
||
};
|
||
AppleExecuteTask.TaskRunModels.Add(taskRunModel);
|
||
while (base.taskState.isRun)
|
||
{
|
||
try
|
||
{
|
||
AppleAcount item = null;
|
||
lock (appleIds)
|
||
{
|
||
item = appleIds.Where((AppleAcount c) => !c.isAct).FirstOrDefault();
|
||
if (item == null)
|
||
{
|
||
break;
|
||
}
|
||
item.isAct = true;
|
||
}
|
||
if (startRuning(taskRunModel, delegate(string appleid, DisplyType reustType, string dasReust2)
|
||
{
|
||
insertLog(dasReust2);
|
||
}, item.appleId))
|
||
{
|
||
string applePwd = item.applePwd;
|
||
ItunesUtlis utlis = new ItunesUtlis(base.taskState, item.appleId, delegate(string appleKey, DisplyType type, string reust)
|
||
{
|
||
insertLog(appleKey + "," + reust);
|
||
}, startVpn);
|
||
insertLog("正在登录" + item.appleId + ",密码:" + item.applePwd);
|
||
string msg = "";
|
||
AppleItunesLogin itunesLogin = getItunesLogin(startVpn, item, 24, utlis, ref msg, 1);
|
||
if (msg.Contains("需要提供 Apple ID 验证码才能登录"))
|
||
{
|
||
insertLog("登录失败:" + msg);
|
||
object obj = Invoke((Func<string>)delegate
|
||
{
|
||
VerificationCodeFrom verificationCodeFrom = new VerificationCodeFrom();
|
||
verificationCodeFrom.AppleId = "Apple账号:" + item.appleId;
|
||
verificationCodeFrom.ShowDialog();
|
||
return verificationCodeFrom.reustCode;
|
||
});
|
||
if (obj.ToString().Length == 6)
|
||
{
|
||
insertLog("正在使用验证码登录");
|
||
item.applePwd += obj.ToString();
|
||
itunesLogin = getItunesLogin(startVpn, item, 24, utlis, ref msg);
|
||
}
|
||
}
|
||
if (itunesLogin != null)
|
||
{
|
||
insertLog("登录成功,国家:" + itunesLogin.Area);
|
||
string reustMsg = "";
|
||
string subscriptionsAll = "";
|
||
if (!base.taskState.isRun)
|
||
{
|
||
break;
|
||
}
|
||
if (CancelSubscription(startVpn, itunesLogin, utlis, item, subscribeFilter, subscribeOnlyQuery, ref subscriptionsAll, ref reustMsg))
|
||
{
|
||
if (!reustMsg.Contains("没有需要取消的订阅项目"))
|
||
{
|
||
APIUtlis.ApiApplyAct(24, "取消订阅");
|
||
}
|
||
if (base.IsHandleCreated)
|
||
{
|
||
BeginInvoke((Action)delegate
|
||
{
|
||
string[] array2 = txtAppleId.Text.Split('\n');
|
||
foreach (string text in array2)
|
||
{
|
||
if (text.StartsWith(item.appleId))
|
||
{
|
||
txtAppleId.Text = txtAppleId.Text.Replace(text, "");
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
iniserTodb(item.appleId, applePwd, subscriptionsAll, reustMsg);
|
||
}
|
||
else
|
||
{
|
||
insertLog(item.appleId + ",ID登录失败:" + msg);
|
||
}
|
||
goto IL_0384;
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
APIUtlis.ApiSeriveError(ex);
|
||
insertLog("请求失败:" + ex.Message);
|
||
goto IL_0384;
|
||
}
|
||
continue;
|
||
IL_0384:
|
||
endRuning(taskRunModel);
|
||
}
|
||
});
|
||
}
|
||
await Task.WhenAll(array);
|
||
AppleExecuteTask.TaskRunModels.Clear();
|
||
base.taskState.isRun = false;
|
||
base.taskState.TaskIsRun = false;
|
||
btnStartRemovePay.Enabled = true;
|
||
insertLog("-------处理结束---------");
|
||
}
|
||
|
||
private void iniserTodb(string appleId, string applePwd, string subscriptionsAll, string reustMsg)
|
||
{
|
||
Dictionary<string, string> dictionary = new Dictionary<string, string>();
|
||
dictionary.Add("type", "cancelSubscription");
|
||
dictionary.Add("addTime", Tools.GenerateTimeStamp().ToString());
|
||
dictionary.Add("value1", appleId);
|
||
dictionary.Add("value2", applePwd);
|
||
dictionary.Add("value3", subscriptionsAll);
|
||
dictionary.Add("value4", reustMsg);
|
||
SqliteHelper.ExecuteInsert("itunes_db", dictionary);
|
||
lock (lvLogList)
|
||
{
|
||
BeginInvoke((Action)delegate
|
||
{
|
||
ListViewItem value = new ListViewItem((lvLogList.Items.Count + 1).ToString())
|
||
{
|
||
SubItems = { appleId, applePwd, subscriptionsAll, reustMsg }
|
||
};
|
||
lvLogList.Items.Add(value);
|
||
});
|
||
}
|
||
}
|
||
|
||
public bool CancelSubscription(bool startVpn, AppleItunesLogin itunesLogin, ItunesUtlis utlis, AppleAcount acount, string subscribeFilter, bool subscribeOnlyQuery, ref string subscriptionsAll, ref string reustMsg, bool isRetry = false)
|
||
{
|
||
bool result = false;
|
||
if (itunesLogin != null)
|
||
{
|
||
insertLog(itunesLogin.account + ",正在查询订阅..");
|
||
Dictionary<string, string> dictionary = new Dictionary<string, string>();
|
||
dictionary.Add("X-Apple-Store-Front", itunesLogin.software);
|
||
string url = "https://p" + itunesLogin.ServerId + "-buy.itunes.apple.com/commerce/account/subscriptions?prevpage=accountsettings&version=2.0";
|
||
HttpResult jsonItunesWebContext = utlis.getJsonItunesWebContext(url, "https://finance-app.itunes.apple.com/", itunesLogin, dictionary, addToken: true);
|
||
if (jsonItunesWebContext.StatusCode == HttpStatusCode.OK)
|
||
{
|
||
SubscriptionModel subscriptionModel = Tools.Todejosn<SubscriptionModel>(jsonItunesWebContext.Html);
|
||
if (subscriptionModel.status == 0)
|
||
{
|
||
string text = "";
|
||
int num = 0;
|
||
int num2 = 0;
|
||
SubscriptionModel.Subscription[] array = subscriptionModel?.subscriptions;
|
||
foreach (SubscriptionModel.Subscription subscription in array)
|
||
{
|
||
string text2 = "";
|
||
if (subscription.latestPlan != null && subscription.latestPlan.paidPrice != null)
|
||
{
|
||
text2 = subscription.latestPlan.paidPrice;
|
||
}
|
||
DateTime timeByJsTimeStamp = Tools.GetTimeByJsTimeStamp(subscription.expirationTimestamp);
|
||
text = text + subscription.publicationName + " (" + text2 + ") [" + timeByJsTimeStamp.ToString("yyyy-MM-dd HH:mm");
|
||
if (subscription.isAutoRenewEnabled)
|
||
{
|
||
text += " 续订";
|
||
num++;
|
||
}
|
||
else
|
||
{
|
||
text += " 到期";
|
||
}
|
||
text += "] ,";
|
||
}
|
||
text = "可取消数量:" + num + "," + text;
|
||
insertLog(string.Concat(str2: subscriptionsAll = text.TrimEnd(','), str0: itunesLogin.account, str1: ","));
|
||
string[] array2 = subscribeFilter.Split('-');
|
||
int num3 = 0;
|
||
if (!subscribeOnlyQuery)
|
||
{
|
||
array = subscriptionModel?.subscriptions;
|
||
foreach (SubscriptionModel.Subscription subscription2 in array)
|
||
{
|
||
if (!base.taskState.isRun)
|
||
{
|
||
break;
|
||
}
|
||
if (!subscription2.isAutoRenewEnabled)
|
||
{
|
||
continue;
|
||
}
|
||
bool flag = false;
|
||
if (!string.IsNullOrEmpty(subscribeFilter))
|
||
{
|
||
string[] array3 = array2;
|
||
foreach (string value in array3)
|
||
{
|
||
if (subscription2.publicationName.Contains(value))
|
||
{
|
||
flag = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
flag = true;
|
||
}
|
||
if (flag)
|
||
{
|
||
insertLog(itunesLogin.account + ",正在取消 " + subscription2.publicationName);
|
||
string text3 = utlis.CancelSubscription(subscription2.subscriptionId, itunesLogin);
|
||
if (text3 == "0000")
|
||
{
|
||
num2++;
|
||
insertLog(itunesLogin.account + "," + subscription2.publicationName + ",订阅取消成功");
|
||
reustMsg = reustMsg + "【" + subscription2.publicationName + ",订阅取消成功】";
|
||
continue;
|
||
}
|
||
insertLog(itunesLogin.account + "," + subscription2.publicationName + ",订阅取消失败:" + text3);
|
||
reustMsg = reustMsg + "【" + subscription2.publicationName + ",订阅取消失败:" + text3 + "】";
|
||
}
|
||
else
|
||
{
|
||
num3++;
|
||
}
|
||
}
|
||
if (num2 > 0)
|
||
{
|
||
reustMsg = "成功取消数量:" + num2 + "," + reustMsg;
|
||
}
|
||
if (num == 0)
|
||
{
|
||
insertLog(itunesLogin.account + ",没有需要取消的订阅项目");
|
||
reustMsg = "没有需要取消的订阅项目";
|
||
result = true;
|
||
}
|
||
else if (num3 != num)
|
||
{
|
||
result = ((num2 == num || num == num2 + num3) ? true : false);
|
||
}
|
||
else
|
||
{
|
||
insertLog(itunesLogin.account + ",没有符合关键字【" + subscribeFilter + "】的订阅项目");
|
||
reustMsg = "没有符合关键字【" + subscribeFilter + "】的订阅项目";
|
||
result = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
reustMsg = "只查询";
|
||
result = true;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (!isRetry)
|
||
{
|
||
string msg = "";
|
||
iTunesAccountLoginCache.removeReddemUserInfo(itunesLogin.account, itunesLogin.StdndbyKeyGuid);
|
||
itunesLogin = getItunesLogin(startVpn, acount, 24, utlis, ref msg);
|
||
if (itunesLogin != null)
|
||
{
|
||
return CancelSubscription(startVpn, itunesLogin, utlis, acount, subscribeFilter, subscribeOnlyQuery, ref subscriptionsAll, ref reustMsg, isRetry: true);
|
||
}
|
||
insertLog(itunesLogin.account + ",登录失败:" + msg);
|
||
}
|
||
insertLog(itunesLogin.account + ",订阅查询失败....(" + (int)jsonItunesWebContext.StatusCode + ")");
|
||
reustMsg = "订阅查询失败";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
insertLog(itunesLogin.account + ",订阅查询失败....(" + (int)jsonItunesWebContext.StatusCode + ")");
|
||
reustMsg = "订阅查询失败";
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
private void btnStopRemovePay_Click(object sender, EventArgs e)
|
||
{
|
||
base.taskState.Stop();
|
||
insertLog("正在请求停止,请稍后");
|
||
}
|
||
|
||
private void btnRemovePayLog_Click(object sender, EventArgs e)
|
||
{
|
||
FromDBDataQuery fromDBDataQuery = new FromDBDataQuery();
|
||
fromDBDataQuery.sqlTitle = new Dictionary<string, string>
|
||
{
|
||
{ "value1", "账号|200" },
|
||
{ "value2", "密码|100" },
|
||
{ "value3", "订阅信息|250" },
|
||
{ "value4", "信息|250" }
|
||
};
|
||
fromDBDataQuery.type = "cancelSubscription";
|
||
fromDBDataQuery.typeName = "Apple取消订阅";
|
||
fromDBDataQuery.Show();
|
||
}
|
||
|
||
private void btnEmptyLogList_Click(object sender, EventArgs e)
|
||
{
|
||
if (MessageBox.Show("确认清空列表数据吗", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
|
||
{
|
||
lvLogList.Items.Clear();
|
||
}
|
||
}
|
||
|
||
private void btnExportLogList_Click(object sender, EventArgs e)
|
||
{
|
||
ExperList(lvLogList);
|
||
}
|
||
|
||
private void ckSubscribeOnlyQuery_CheckedChanged(object sender, EventArgs e)
|
||
{
|
||
txtSubscribeFilter.Enabled = !ckSubscribeOnlyQuery.Checked;
|
||
}
|
||
|
||
protected override void Dispose(bool disposing)
|
||
{
|
||
if (disposing && components != null)
|
||
{
|
||
components.Dispose();
|
||
}
|
||
base.Dispose(disposing);
|
||
}
|
||
|
||
private void InitializeComponent()
|
||
{
|
||
this.ckCancelSubscriptionVpn = new System.Windows.Forms.CheckBox();
|
||
this.labRemovePayDianShu = new System.Windows.Forms.Label();
|
||
this.label31 = new System.Windows.Forms.Label();
|
||
this.groupBox5 = new System.Windows.Forms.GroupBox();
|
||
this.btnStopRemovePay = new System.Windows.Forms.Button();
|
||
this.btnRemovePayLog = new System.Windows.Forms.Button();
|
||
this.btnStartRemovePay = new System.Windows.Forms.Button();
|
||
this.label5 = new System.Windows.Forms.Label();
|
||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||
this.label6 = new System.Windows.Forms.Label();
|
||
this.groupBox4 = new System.Windows.Forms.GroupBox();
|
||
this.txtAppleId = new System.Windows.Forms.RichTextBox();
|
||
this.txtSubscribeFilter = new System.Windows.Forms.TextBox();
|
||
this.label1 = new System.Windows.Forms.Label();
|
||
this.label2 = new System.Windows.Forms.Label();
|
||
this.textBox3 = new System.Windows.Forms.TextBox();
|
||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||
this.lvLogList = new System.Windows.Forms.ListView();
|
||
this.columnHeader5 = new System.Windows.Forms.ColumnHeader();
|
||
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
|
||
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
|
||
this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
|
||
this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
|
||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||
this.txtLog = new System.Windows.Forms.RichTextBox();
|
||
this.btnExportLogList = new System.Windows.Forms.Button();
|
||
this.btnEmptyLogList = new System.Windows.Forms.Button();
|
||
this.ckSubscribeOnlyQuery = new System.Windows.Forms.CheckBox();
|
||
this.groupBox5.SuspendLayout();
|
||
this.groupBox4.SuspendLayout();
|
||
this.tabControl1.SuspendLayout();
|
||
this.tabPage2.SuspendLayout();
|
||
this.tabPage1.SuspendLayout();
|
||
base.SuspendLayout();
|
||
this.ckCancelSubscriptionVpn.AutoSize = true;
|
||
this.ckCancelSubscriptionVpn.ForeColor = System.Drawing.Color.Red;
|
||
this.ckCancelSubscriptionVpn.Location = new System.Drawing.Point(469, 273);
|
||
this.ckCancelSubscriptionVpn.Name = "ckCancelSubscriptionVpn";
|
||
this.ckCancelSubscriptionVpn.Size = new System.Drawing.Size(108, 16);
|
||
this.ckCancelSubscriptionVpn.TabIndex = 34;
|
||
this.ckCancelSubscriptionVpn.Text = "使用随机IP代理";
|
||
this.ckCancelSubscriptionVpn.UseVisualStyleBackColor = true;
|
||
this.labRemovePayDianShu.AutoSize = true;
|
||
this.labRemovePayDianShu.Font = new System.Drawing.Font("微软雅黑", 10.5f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134);
|
||
this.labRemovePayDianShu.ForeColor = System.Drawing.Color.Crimson;
|
||
this.labRemovePayDianShu.Location = new System.Drawing.Point(669, 271);
|
||
this.labRemovePayDianShu.Name = "labRemovePayDianShu";
|
||
this.labRemovePayDianShu.Size = new System.Drawing.Size(18, 19);
|
||
this.labRemovePayDianShu.TabIndex = 32;
|
||
this.labRemovePayDianShu.Text = "0";
|
||
this.label31.AutoSize = true;
|
||
this.label31.Location = new System.Drawing.Point(598, 276);
|
||
this.label31.Name = "label31";
|
||
this.label31.Size = new System.Drawing.Size(65, 12);
|
||
this.label31.TabIndex = 31;
|
||
this.label31.Text = "消耗点数:";
|
||
this.groupBox5.Controls.Add(this.btnStopRemovePay);
|
||
this.groupBox5.Controls.Add(this.btnRemovePayLog);
|
||
this.groupBox5.Controls.Add(this.btnStartRemovePay);
|
||
this.groupBox5.Controls.Add(this.label5);
|
||
this.groupBox5.Location = new System.Drawing.Point(591, 29);
|
||
this.groupBox5.Name = "groupBox5";
|
||
this.groupBox5.Size = new System.Drawing.Size(200, 208);
|
||
this.groupBox5.TabIndex = 29;
|
||
this.groupBox5.TabStop = false;
|
||
this.groupBox5.Text = "操作";
|
||
this.btnStopRemovePay.Location = new System.Drawing.Point(33, 98);
|
||
this.btnStopRemovePay.Name = "btnStopRemovePay";
|
||
this.btnStopRemovePay.Size = new System.Drawing.Size(130, 24);
|
||
this.btnStopRemovePay.TabIndex = 8;
|
||
this.btnStopRemovePay.Text = "停止执行";
|
||
this.btnStopRemovePay.UseVisualStyleBackColor = true;
|
||
this.btnStopRemovePay.Click += new System.EventHandler(btnStopRemovePay_Click);
|
||
this.btnRemovePayLog.Location = new System.Drawing.Point(33, 140);
|
||
this.btnRemovePayLog.Name = "btnRemovePayLog";
|
||
this.btnRemovePayLog.Size = new System.Drawing.Size(130, 23);
|
||
this.btnRemovePayLog.TabIndex = 7;
|
||
this.btnRemovePayLog.Text = "移除记录";
|
||
this.btnRemovePayLog.UseVisualStyleBackColor = true;
|
||
this.btnRemovePayLog.Click += new System.EventHandler(btnRemovePayLog_Click);
|
||
this.btnStartRemovePay.Location = new System.Drawing.Point(33, 35);
|
||
this.btnStartRemovePay.Name = "btnStartRemovePay";
|
||
this.btnStartRemovePay.Size = new System.Drawing.Size(130, 46);
|
||
this.btnStartRemovePay.TabIndex = 6;
|
||
this.btnStartRemovePay.Text = "开始执行";
|
||
this.btnStartRemovePay.UseVisualStyleBackColor = true;
|
||
this.btnStartRemovePay.Click += new System.EventHandler(btnStartRemovePay_Click);
|
||
this.label5.AutoSize = true;
|
||
this.label5.ForeColor = System.Drawing.Color.Crimson;
|
||
this.label5.Location = new System.Drawing.Point(26, 182);
|
||
this.label5.Name = "label5";
|
||
this.label5.Size = new System.Drawing.Size(161, 12);
|
||
this.label5.TabIndex = 33;
|
||
this.label5.Text = "订阅全部取消成功才扣除点数";
|
||
this.textBox1.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||
this.textBox1.Location = new System.Drawing.Point(106, 12);
|
||
this.textBox1.Name = "textBox1";
|
||
this.textBox1.ReadOnly = true;
|
||
this.textBox1.Size = new System.Drawing.Size(332, 21);
|
||
this.textBox1.TabIndex = 28;
|
||
this.textBox1.Text = "xxx@xx.com----密码";
|
||
this.label6.AutoSize = true;
|
||
this.label6.Location = new System.Drawing.Point(23, 15);
|
||
this.label6.Name = "label6";
|
||
this.label6.Size = new System.Drawing.Size(89, 12);
|
||
this.label6.TabIndex = 27;
|
||
this.label6.Text = "输入的ID格式:";
|
||
this.groupBox4.Controls.Add(this.txtAppleId);
|
||
this.groupBox4.Location = new System.Drawing.Point(22, 38);
|
||
this.groupBox4.Name = "groupBox4";
|
||
this.groupBox4.Size = new System.Drawing.Size(548, 202);
|
||
this.groupBox4.TabIndex = 26;
|
||
this.groupBox4.TabStop = false;
|
||
this.groupBox4.Text = "输入AppleID 多个ID请换行";
|
||
this.txtAppleId.Dock = System.Windows.Forms.DockStyle.Fill;
|
||
this.txtAppleId.Location = new System.Drawing.Point(3, 17);
|
||
this.txtAppleId.Name = "txtAppleId";
|
||
this.txtAppleId.Size = new System.Drawing.Size(542, 182);
|
||
this.txtAppleId.TabIndex = 0;
|
||
this.txtAppleId.Text = "";
|
||
this.txtSubscribeFilter.Location = new System.Drawing.Point(48, 270);
|
||
this.txtSubscribeFilter.Name = "txtSubscribeFilter";
|
||
this.txtSubscribeFilter.Size = new System.Drawing.Size(278, 21);
|
||
this.txtSubscribeFilter.TabIndex = 35;
|
||
this.label1.AutoSize = true;
|
||
this.label1.Location = new System.Drawing.Point(19, 249);
|
||
this.label1.Name = "label1";
|
||
this.label1.Size = new System.Drawing.Size(503, 12);
|
||
this.label1.TabIndex = 36;
|
||
this.label1.Text = "下方可输入需要取消的订阅名称关键字,留空则全部取消,取消多个订阅可用 - 分割,例如:";
|
||
this.label2.AutoSize = true;
|
||
this.label2.Location = new System.Drawing.Point(16, 274);
|
||
this.label2.Name = "label2";
|
||
this.label2.Size = new System.Drawing.Size(29, 12);
|
||
this.label2.TabIndex = 37;
|
||
this.label2.Text = "筛选";
|
||
this.textBox3.Location = new System.Drawing.Point(529, 245);
|
||
this.textBox3.Name = "textBox3";
|
||
this.textBox3.ReadOnly = true;
|
||
this.textBox3.Size = new System.Drawing.Size(134, 21);
|
||
this.textBox3.TabIndex = 38;
|
||
this.textBox3.Text = "QQ音乐-爱奇艺";
|
||
this.tabControl1.Controls.Add(this.tabPage1);
|
||
this.tabControl1.Controls.Add(this.tabPage2);
|
||
this.tabControl1.Location = new System.Drawing.Point(18, 297);
|
||
this.tabControl1.Name = "tabControl1";
|
||
this.tabControl1.SelectedIndex = 0;
|
||
this.tabControl1.Size = new System.Drawing.Size(861, 337);
|
||
this.tabControl1.TabIndex = 39;
|
||
this.tabPage2.Controls.Add(this.lvLogList);
|
||
this.tabPage2.Location = new System.Drawing.Point(4, 22);
|
||
this.tabPage2.Name = "tabPage2";
|
||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||
this.tabPage2.Size = new System.Drawing.Size(853, 311);
|
||
this.tabPage2.TabIndex = 1;
|
||
this.tabPage2.Text = "取消订阅结果";
|
||
this.tabPage2.UseVisualStyleBackColor = true;
|
||
this.lvLogList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[5] { this.columnHeader5, this.columnHeader1, this.columnHeader2, this.columnHeader3, this.columnHeader4 });
|
||
this.lvLogList.Dock = System.Windows.Forms.DockStyle.Fill;
|
||
this.lvLogList.FullRowSelect = true;
|
||
this.lvLogList.HideSelection = false;
|
||
this.lvLogList.Location = new System.Drawing.Point(3, 3);
|
||
this.lvLogList.Name = "lvLogList";
|
||
this.lvLogList.Size = new System.Drawing.Size(847, 305);
|
||
this.lvLogList.TabIndex = 1;
|
||
this.lvLogList.UseCompatibleStateImageBehavior = false;
|
||
this.lvLogList.View = System.Windows.Forms.View.Details;
|
||
this.columnHeader5.Text = "序号";
|
||
this.columnHeader1.Text = "账号";
|
||
this.columnHeader1.Width = 150;
|
||
this.columnHeader2.Text = "密码";
|
||
this.columnHeader2.Width = 100;
|
||
this.columnHeader3.Text = "订阅信息";
|
||
this.columnHeader3.Width = 150;
|
||
this.columnHeader4.Text = "取消结果";
|
||
this.columnHeader4.Width = 300;
|
||
this.tabPage1.Controls.Add(this.txtLog);
|
||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||
this.tabPage1.Name = "tabPage1";
|
||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||
this.tabPage1.Size = new System.Drawing.Size(853, 311);
|
||
this.tabPage1.TabIndex = 0;
|
||
this.tabPage1.Text = "日志";
|
||
this.tabPage1.UseVisualStyleBackColor = true;
|
||
this.txtLog.Dock = System.Windows.Forms.DockStyle.Fill;
|
||
this.txtLog.ForeColor = System.Drawing.Color.LightSeaGreen;
|
||
this.txtLog.Location = new System.Drawing.Point(3, 3);
|
||
this.txtLog.Name = "txtLog";
|
||
this.txtLog.ReadOnly = true;
|
||
this.txtLog.Size = new System.Drawing.Size(847, 305);
|
||
this.txtLog.TabIndex = 0;
|
||
this.txtLog.Text = "";
|
||
this.btnExportLogList.Location = new System.Drawing.Point(802, 272);
|
||
this.btnExportLogList.Name = "btnExportLogList";
|
||
this.btnExportLogList.Size = new System.Drawing.Size(75, 23);
|
||
this.btnExportLogList.TabIndex = 41;
|
||
this.btnExportLogList.Text = "导出";
|
||
this.btnExportLogList.UseVisualStyleBackColor = true;
|
||
this.btnExportLogList.Click += new System.EventHandler(btnExportLogList_Click);
|
||
this.btnEmptyLogList.Location = new System.Drawing.Point(716, 272);
|
||
this.btnEmptyLogList.Name = "btnEmptyLogList";
|
||
this.btnEmptyLogList.Size = new System.Drawing.Size(75, 23);
|
||
this.btnEmptyLogList.TabIndex = 40;
|
||
this.btnEmptyLogList.Text = "清空列表";
|
||
this.btnEmptyLogList.UseVisualStyleBackColor = true;
|
||
this.btnEmptyLogList.Click += new System.EventHandler(btnEmptyLogList_Click);
|
||
this.ckSubscribeOnlyQuery.AutoSize = true;
|
||
this.ckSubscribeOnlyQuery.Location = new System.Drawing.Point(343, 273);
|
||
this.ckSubscribeOnlyQuery.Name = "ckSubscribeOnlyQuery";
|
||
this.ckSubscribeOnlyQuery.Size = new System.Drawing.Size(96, 16);
|
||
this.ckSubscribeOnlyQuery.TabIndex = 42;
|
||
this.ckSubscribeOnlyQuery.Text = "只查询不取消";
|
||
this.ckSubscribeOnlyQuery.UseVisualStyleBackColor = true;
|
||
this.ckSubscribeOnlyQuery.CheckedChanged += new System.EventHandler(ckSubscribeOnlyQuery_CheckedChanged);
|
||
base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f);
|
||
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||
base.ClientSize = new System.Drawing.Size(891, 633);
|
||
base.Controls.Add(this.ckSubscribeOnlyQuery);
|
||
base.Controls.Add(this.btnExportLogList);
|
||
base.Controls.Add(this.btnEmptyLogList);
|
||
base.Controls.Add(this.tabControl1);
|
||
base.Controls.Add(this.textBox3);
|
||
base.Controls.Add(this.label2);
|
||
base.Controls.Add(this.label1);
|
||
base.Controls.Add(this.txtSubscribeFilter);
|
||
base.Controls.Add(this.ckCancelSubscriptionVpn);
|
||
base.Controls.Add(this.labRemovePayDianShu);
|
||
base.Controls.Add(this.label31);
|
||
base.Controls.Add(this.groupBox5);
|
||
base.Controls.Add(this.textBox1);
|
||
base.Controls.Add(this.label6);
|
||
base.Controls.Add(this.groupBox4);
|
||
base.MaximizeBox = false;
|
||
base.Name = "FormCancelSubscriptions";
|
||
base.ShowIcon = false;
|
||
base.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||
this.Text = "查询或取消订阅";
|
||
base.Load += new System.EventHandler(FormCancelSubscriptions_Load);
|
||
this.groupBox5.ResumeLayout(false);
|
||
this.groupBox5.PerformLayout();
|
||
this.groupBox4.ResumeLayout(false);
|
||
this.tabControl1.ResumeLayout(false);
|
||
this.tabPage2.ResumeLayout(false);
|
||
this.tabPage1.ResumeLayout(false);
|
||
base.ResumeLayout(false);
|
||
base.PerformLayout();
|
||
}
|
||
}
|
||
}
|