1微店接口签名网站 2微店店铺管理和上货移植 40%

This commit is contained in:
wule_5900x committed 2026-04-12 23:42:44 +08:00
1 parent cafdbbd95d
commit 6c4f16b897
51 files changed
+6640 -2080

No files matched your search

+1 -6
View File
@@ -165,12 +165,6 @@
<Compile Include="FileBase.cs" />
<Compile Include="GetHtml.cs" />
<Compile Include="GetProxyHtml.cs" />
<Compile Include="HelperXiaoNaimao\DebugHelper.cs" />
<Compile Include="HelperXiaoNaimao\FileHelper.cs" />
<Compile Include="HelperXiaoNaimao\HtmlHelper.cs" />
<Compile Include="HelperXiaoNaimao\HttpHelper.cs" />
<Compile Include="HelperXiaoNaimao\LogHelper.cs" />
<Compile Include="HelperXiaoNaimao\NaiBaGlobalConfig.cs" />
<Compile Include="Helper\CommonSimRequest.cs" />
<Compile Include="Helper\DataOpenSSL.cs" />
<Compile Include="Helper\FissionDataBaseConfig.cs" />
@@ -207,6 +201,7 @@
<Compile Include="Model\Param\ToolsManage\ProductMappingExportInfo.cs" />
<Compile Include="Model\Param\ToolsManage\ProductMappingImportParam.cs" />
<Compile Include="Model\Param\VDianManage\VDianParam.cs" />
<Compile Include="Model\Param\VDianManage\VDianUploadSettingParam.cs" />
<Compile Include="Model\Param\WXParam\WXCateAuthParam.cs" />
<Compile Include="Model\Param\WXParam\WXCoupon.cs" />
<Compile Include="Model\Result\1688\_1688ClientProductInfo.cs" />
+5 -1
View File
@@ -27,7 +27,7 @@ namespace AllBase
/// <summary>
/// 版本ID
/// </summary>
public static int VersionCount = 976;
public static int VersionCount = 979;
//public static int VersionCount = 613;
/// <summary>
@@ -49,6 +49,10 @@ namespace AllBase
public static bool GroupMarket = false;
public static bool IsLoginSuccess = false;
/// <summary>
/// 微店Api地址
/// </summary>
public static string VDianApi = "https://api.vdian.com/";
/// <summary>
/// IP地址和名称
/// </summary>
public static string IPAddress = "";
+35 -3
View File
@@ -4,9 +4,11 @@ using AllBase.Model.Param.ShopManage;
using AllBase.Model.Param.TemuProductManage;
using AllBase.Model.Result;
using AllBase.Model.Result.WXResult;
using LittleCow.Model.Param.WeiDianManage;
using NaiBa.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -19,11 +21,10 @@ namespace AllBase.Helper
/// 店铺列表
/// </summary>
public static ConcurrentList<ShopLoginInfo> ShopLoginList { get; set; } = new ConcurrentList<ShopLoginInfo>();
public static ConcurrentList<BuyerLoginInfo> BuyerLoginList { get; set; } = new ConcurrentList<BuyerLoginInfo>();
/// <summary>
/// 微店店铺列表
/// 拼多多买手列表
/// </summary>
public static ConcurrentList<ShopLoginInfo> WeiDianShopLoginList { get; set; } = new ConcurrentList<ShopLoginInfo>();
public static ConcurrentList<BuyerLoginInfo> BuyerLoginList { get; set; } = new ConcurrentList<BuyerLoginInfo>();
public static ConcurrentList<WXShopTokenInfo> WxTokenList { get; set; } = new ConcurrentList<WXShopTokenInfo>();
public static ConcurrentList<WxCatInfo> WxCatList { get; set; } = new ConcurrentList<WxCatInfo>();
@@ -42,5 +43,36 @@ namespace AllBase.Helper
//public static string UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36";
public static string UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36";
/// <summary>
/// 微店店铺列表
/// </summary>
public static ConcurrentList<VDianShopLoginInfo> VDianShopLoginList { get; set; } = new ConcurrentList<VDianShopLoginInfo>();
/// <summary>
/// 微店上货参数
/// </summary>
public static WeiDianSettingParam WeiDianUploadParam { get; set; }
}
public enum ShopPlatform
{
[Description("淘宝")]
TaoBao = 1,
[Description("拼多多")]
PinDuoDuo = 2,
[Description("爆单王")]
BaoDanWang = 3,
[Description("苏宁")]
SuNing = 4,
[Description("微店")]
WeiDian = 5,
[Description("阿里巴巴")]
Alibaba = 6,
}
}
-21
View File
@@ -1,21 +0,0 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Helper
{
public class DebugHelper
{
public static void WriteLine(string message, bool all = false)
{
Debug.WriteLine(message);
if (all)
{
Console.WriteLine(message);
}
}
}
}
-283
View File
@@ -1,283 +0,0 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Helper
{
public class FileHelper
{
/// <summary>
/// 删除文件夹及子文件内文件
/// </summary>
/// <param name="path"></param>
public static void DeleteFolder(string path)
{
try
{
if (Directory.Exists(path)) //如果存在这个文件夹删除之
{
foreach (string d in Directory.GetFileSystemEntries(path))
{
if (File.Exists(d))
File.Delete(d); //直接删除其中的文件
else
DeleteFolder(d); //递归删除子文件夹
}
Directory.Delete(path, true); //删除已空文件夹
}
}
catch (Exception ex)
{
LogHelper.WriteWithTime(ex);
}
}
public static void DeleteFile(string filePath)
{
try
{
if (File.Exists(filePath))
{
File.Delete(filePath);
}
}
catch (Exception ex)
{
LogHelper.WriteWithTime(ex);
}
}
public static void CopyFolder(string sourceFolder, string destFolder)
{
CreateDirectory(destFolder);
string[] files = Directory.GetFiles(sourceFolder);
foreach (string file in files)
{
string name = Path.GetFileName(file);
string dest = Path.Combine(destFolder, name);
File.Copy(file, dest);
}
string[] folders = Directory.GetDirectories(sourceFolder);
foreach (string folder in folders)
{
string name = Path.GetFileName(folder);
string dest = Path.Combine(destFolder, name);
CopyFolder(folder, dest);
}
}
public static void MoveFolder(string sourceFolder, string destFolder)
{
CreateDirectory(destFolder);
string[] files = Directory.GetFiles(sourceFolder);
foreach (string file in files)
{
string name = Path.GetFileName(file);
string dest = Path.Combine(destFolder, name);
if (File.Exists(dest))
{
File.Delete(dest);
}
File.Move(file, dest);
}
string[] folders = Directory.GetDirectories(sourceFolder);
foreach (string folder in folders)
{
string name = Path.GetFileName(folder);
string dest = Path.Combine(destFolder, name);
if (File.Exists(dest))
{
File.Delete(dest);
}
MoveFolder(folder, dest);
}
}
public static string Execute(string command, int seconds)
{
string output = string.Empty; //输出字符串
if (command != null && !command.Equals(string.Empty))
{
Process process = new Process();//创建进程对象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//设定需要执行的命令
startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出
startInfo.UseShellExecute = false;//不使用系统外壳程序启动
startInfo.RedirectStandardInput = false;//不重定向输入
startInfo.RedirectStandardOutput = true; //重定向输出
startInfo.CreateNoWindow = true;//不创建窗口
process.StartInfo = startInfo;
try
{
if (process.Start())//开始进程
{
if (seconds == 0)
{
process.WaitForExit();//这里无限等待进程结束
}
else
{
process.WaitForExit(seconds); //等待进程结束,等待时间为指定的毫秒
}
output = process.StandardOutput.ReadToEnd();//读取进程的输出
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);//捕获异常,输出异常信息
}
finally
{
if (process != null)
{
process.Close();
}
}
}
return output;
}
public static void CreateDirectory(string dir)
{
if (Path.HasExtension(dir))
{
dir = Path.GetDirectoryName(dir);
}
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
}
public static string ReadAllText(string filePath, Encoding encoding = null)
{
if (encoding == null)
{
return File.ReadAllText(filePath, Encoding.UTF8);
}
else
{
return File.ReadAllText(filePath, encoding);
}
}
public static void WriteAllText(string filePathOrName, string content, Encoding encoding = null)
{
string path = Path.Combine(GetApplicationDir(), filePathOrName);
CreateDirectory(path);
if (encoding == null)
{
File.WriteAllText(path, content, Encoding.UTF8);
}
else
{
File.WriteAllText(path, content, encoding);
}
}
public static void AppendAllText(string filePathOrName, string content, Encoding encoding = null)
{
string path = Path.Combine(GetApplicationDir(), filePathOrName);
CreateDirectory(path);
List<string> contentList = new List<string> { content };
if (encoding == null)
{
File.AppendAllLines(path, contentList, Encoding.UTF8);
}
else
{
File.AppendAllLines(path, contentList, encoding);
}
}
#region 获取软件所在目录
public static string GetApplicationDir()
{
return AppDomain.CurrentDomain.BaseDirectory;
}
#endregion
public static string GetParentDir(string dir)
{
dir = dir.Trim(Path.DirectorySeparatorChar);
int last = dir.LastIndexOf(Path.DirectorySeparatorChar);
if (last > 0)
{
return dir.Substring(0, last);
}
return dir;
}
public static string GetResourceFileContent(Assembly assembly, string resourceName)
{
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
return result;
}
}
}
public static Stream GetResourceFileStream(Assembly assembly, string resourceName)
{
// 调用之后要释放 stream
Stream stream = assembly.GetManifestResourceStream(assembly.GetCustomAttribute<AssemblyTitleAttribute>().Title + "." + resourceName);
return stream;
}
public static void SaveStream(Stream stream, string destPath)
{
CreateDirectory(destPath);
using (var fileStream = new FileStream(destPath, FileMode.Create, FileAccess.Write))
{
stream.CopyTo(fileStream);
}
}
public static long GetDirectorySize(string folderPath)
{
DirectoryInfo di = new DirectoryInfo(folderPath);
if (!di.Exists)
{
return 0;
}
return di.EnumerateFiles("*", SearchOption.AllDirectories).Sum(fi => fi.Length);
}
public static void OpenUrl(string url)
{
try
{
Process.Start(url);
}
catch (Exception ex)
{
LogHelper.WriteWithTime(ex);
}
}
public static void OpenDirectory(string dir)
{
Process.Start("explorer.exe", dir);
}
public static string GetFileName(string dir)
{
string fileName = Path.GetFileName(dir);
int questionMark = fileName.IndexOf("?");
if (questionMark > 0)
{
fileName = fileName.Substring(0, questionMark);
}
return fileName;
}
}
}
-214
View File
@@ -1,214 +0,0 @@
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace AllBase.Helper
{
public class HtmlHelper
{
public static string HtmlEncode(string html)
{
if (string.IsNullOrEmpty(html))
{
return string.Empty;
}
else
{
return HttpUtility.HtmlEncode(html);
}
}
public static string HtmlDecode(string url)
{
if (string.IsNullOrEmpty(url))
{
return string.Empty;
}
else
{
return HttpUtility.HtmlDecode(url);
}
}
/// <summary>
/// Unicode解码
/// </summary>
/// <param name="html"></param>
/// <returns></returns>
public static string UnicodeDecode(string html)
{
html = WebUtility.HtmlDecode(html);
Regex reUnicode = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
return reUnicode.Replace(html, m =>
{
short c;
if (short.TryParse(m.Groups[1].Value, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out c))
{
return "" + (char)c;
}
return m.Value;
});
}
#region Resove
public static string Resove(string html, string prefix, string subfix)
{
int inl = html.IndexOf(prefix);
if (inl == -1)
{
prefix = prefix.Replace("\"", "'");
subfix = subfix.Replace("\"", "'");
inl = html.IndexOf(prefix);
}
if (inl == -1)
{
return null;
}
inl += prefix.Length;
if (!string.IsNullOrEmpty(subfix))
{
int inl2 = html.IndexOf(subfix, inl);
if (inl2 == -1)
{
return null;
}
string result = html.Substring(inl, inl2 - inl);
return result;
}
else
{
string result = html.Substring(inl);
return result;
}
}
#endregion
#region ResoveReverse
public static string ResoveReverse(string html, string subfix, string prefix)
{
int inl = html.IndexOf(subfix);
if (inl == -1)
{
return null;
}
string subString = html.Substring(0, inl);
int inl2 = subString.LastIndexOf(prefix);
if (inl2 == -1)
{
return null;
}
string s = subString.Substring(inl2 + prefix.Length, subString.Length - inl2 - prefix.Length);
return s;
}
#endregion
#region ResoveList
public static List<string> ResoveList(string html, string prefix, string subfix)
{
List<string> list = new List<string>();
int index = 0;
do
{
index = html.IndexOf(prefix, index);
if (index == -1)
{
break;
}
index += prefix.Length;
int indexEnd = html.IndexOf(subfix, index);
if (indexEnd > 0)
{
string content = html.Substring(index, indexEnd - index);
list.Add(content);
}
index = indexEnd;
}
while (index > -1);
return list;
}
#endregion
#region ResoveListByAT
public static List<string> ResoveListByAT(string html)
{
List<string> list = new List<string>();
int index = html.IndexOf('@');
while (index > 0)
{
int indexx = html.LastIndexOf("'", index); //向前一个单引号
int indexy = html.IndexOf("'", index + 1); //向后一个单引号
string s78 = html.Substring(indexx, indexy - indexx);
s78 = s78.Replace("'", "");
list.Add(s78);
index = html.IndexOf('@', indexy);
}
return list;
}
#endregion
/// <summary>
/// 清除HTML代码
/// </summary>
/// <param name="html"></param>
public static string ClearHtml(string html)
{
html = html.ParseToString();
html = Regex.Replace(html, @"(<head[\w\W]*?</head>|<script[\w\W]*?</script>|<style[\w\W]*?</style>|<!--[\w\W]*?-->)", string.Empty);
html = Regex.Replace(html, @"(<span[\w\W]*?</span>)", string.Empty);
html = Regex.Replace(html, "(<[^>]*?>)", string.Empty);
return html;
}
public static string GetHtmlText(string html)
{
html = html.ParseToString();
html = Regex.Replace(html, "<.*?>", string.Empty);
return html;
}
/// <summary>
/// 清除HTML代码A标签
/// </summary>
/// <param name="html"></param>
/// <returns></returns>
public static string ClearHtmlA(string html)
{
html = html.ParseToString();
html = Regex.Replace(html, "(</?a[^>]*>)", "", RegexOptions.IgnoreCase);
return html.Trim();
}
public static string AddEscapeCharacter(string html)
{
html = html.ParseToString();
html = html.Replace("\"", "\\\"");
html = html.Replace("'", "\\'");
return html;
}
public static string TrimBOM(string html)
{
html = html.Trim(new char[] { '\uFEFF' });
return html;
}
public static string TrimJsonp(string json)
{
int start = json.IndexOf("{");
int end = json.LastIndexOf("}");
if (start > 0 && end > 0)
{
return json.Substring(start, end - start + 1);
}
return json;
}
}
}
File diff suppressed because it is too large. Load diff
-145
View File
@@ -1,145 +0,0 @@
using AllBase.Extension;
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Helper
{
public class LogHelper
{
private static object lockHelper = new object();
#region 写文本日志
/// <summary>
/// 写日志 异步
/// 默认路径:根目录/Log/yyyy-MM/
/// 默认文件:yyyy-MM-dd.log
/// </summary>
/// <param name="logContent">日志内容 自动附加时间</param>
public static void Write(string logContent)
{
string logPath = DateTime.Now.ToString("yyyy-MM");
Write(logPath, logContent);
}
public static void WriteWithTime(string logContent)
{
string logPath = DateTime.Now.ToString("yyyy-MM");
logContent = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + Environment.NewLine + logContent;
Write(logPath, logContent);
}
#endregion
#region 写异常日志
/// <summary>
/// 写异常日志
/// </summary>
/// <param name="ex"></param>
public static void Write(Exception ex)
{
string logContent = string.Empty;
string logPath = DateTime.Now.ToString("yyyy-MM");
logContent += GetExceptionMessage(ex);
Write(logPath, logContent);
}
public static void WriteWithTime(Exception ex, string messageExtend = "")
{
string logContent = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + Environment.NewLine;
string logPath = DateTime.Now.ToString("yyyy-MM");
logContent += GetExceptionMessage(ex, messageExtend);
Write(logPath, logContent);
}
private static string GetExceptionMessage(Exception ex, string messageExtend = "")
{
string message = string.Empty;
if (ex != null)
{
message += ex.Message;
message += Environment.NewLine;
if (!string.IsNullOrEmpty(messageExtend))
{
message += messageExtend;
message += Environment.NewLine;
}
Exception originalException = ex.GetOriginalException();
if (originalException != null)
{
if (originalException.Message != ex.Message)
{
message += originalException.Message;
message += Environment.NewLine;
}
}
message += ex.StackTrace;
message += Environment.NewLine;
}
return message;
}
#endregion
#region 写日志到指定路径
/// <summary>
/// 写日志 异步
/// 默认文件:yyyy-MM-dd.log
/// </summary>
/// <param name="logPath">日志目录[默认程序根目录\Log\下添加,故使用相对路径,如:营销任务]</param>
/// <param name="logContent">日志内容 自动附加时间</param>
public static void Write(string logPath, string logContent)
{
string logFileName = DateTime.Now.ToString("yyyy-MM-dd") + ".log";
Write(logPath, logFileName, logContent);
}
/// <summary>
/// 写日志 异步
/// </summary>
/// <param name="logPath">日志目录</param>
/// <param name="logFileName">日志文件名</param>
/// <param name="logContent">日志内容 自动附加时间</param>
public static void Write(string logPath, string logFileName, string logContent)
{
if (string.IsNullOrWhiteSpace(logContent))
{
return;
}
if (string.IsNullOrWhiteSpace(logPath))
{
logPath = Path.Combine(FileHelper.GetApplicationDir(), NaiBaGlobalConfig.Log, DateTime.Now.ToString("yyyy-MM"));
}
else
{
logPath = Path.Combine(FileHelper.GetApplicationDir(), NaiBaGlobalConfig.Log, logPath.Trim('\\'));
}
if (string.IsNullOrWhiteSpace(logFileName))
{
logFileName = DateTime.Now.ToString("yyyy-MM-dd") + ".log";
}
if (!Directory.Exists(logPath))
{
Directory.CreateDirectory(logPath);
}
string fileName = Path.Combine(logPath, logFileName);
Action taskAction = () =>
{
lock (lockHelper)
{
using (StreamWriter sw = File.AppendText(fileName))
{
sw.WriteLine(logContent + Environment.NewLine);
sw.Flush();
sw.Close();
}
}
};
Task task = new Task(taskAction);
task.Start();
}
#endregion
}
}
@@ -1,89 +0,0 @@
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Helper
{
public class NaiBaGlobalConfig
{
public static bool IsDevelopment { get; set; } // 判断是否是开发环境
public static bool IsNewFeature { get; set; }
public static bool IsNotNeedLogin = false;
public static DateTime DefaultDateTime = "2000-01-01 00:00:00".ParseToDateTime();
public static string Proxy = "127.0.0.1:8888"; // 请求Fiddler代理,仅做开发测试使用
public static string VersionUrl = "https://update.qixiaoke.com/updatex/kingdragorse.php";
public static string UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36";
public static List<string> NoProxyDomainList = new List<string>(); // 不走系统代理的域名
public static string ResourcesFileRelativeDir = @"Resources\file\";
public static string ResourcesFileAbsolutePath = Path.Combine(FileHelper.GetApplicationDir(), ResourcesFileRelativeDir);
public const string Data = "data"; // data 文件目录
public const string Config = "config"; // config 文件目录
public const string Image = "image"; // image 文件目录
public const string Log = "log";
public const string Cache = "cache"; // cache 文件目录
public const int MillisecondsClose = 3000; // 默认3秒钟自动关闭信息弹出框
public const string DefaultDateFormat = "yyyy-MM-dd";
public const string DefaultTimeFormat = "HH:mm:ss";
public const string DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
public const string NoYearDateTimeFormat = "MM-dd HH:mm:ss";
public const string HtmlBR = "<br>";
public const string ConfirmDeleteText = "确认删除[{0}]条数据吗?";
public const string ConfirmClearText = "确认清空吗?";
public const string NoSelectDataText = "您还未选择任何数据";
public const string NoDataText = "没有需要处理的数据";
public const string ProcessingText = "正在{0}...";
public const string ChinaCountryCode = "cn";
public const char NumberSignSplitChar = '#';
public const char SplitChar = '♯';
public const char Tab = '\t';
public static List<string> UserAgentList { get; set; } // https://developers.whatismybrowser.com/useragents/explore/software_name/chrome/ $(".useragent").each(function(){console.log($(this).text()+'\r\n')});
#region 全局委托
public static Func<string, string> EvaluateScript; // 执行 JavaScript
#endregion
#region 开发代理
public static IWebProxy GetDevelopProxy(string url = "")
{
// 请求Fiddler代理,仅做开发测试使用
if (IsDevelopment && !string.IsNullOrEmpty(Proxy) && Process.GetProcessesByName("FF").Length > 0)
{
var proxyArr = Proxy.Split(':');
return new WebProxy(proxyArr[0], proxyArr[1].ParseToInt());
}
else
{
if (!string.IsNullOrEmpty(url))
{
string host = new Uri(url).Host;
if (NoProxyDomainList.Contains(host))
{
return null;
}
}
return WebRequest.DefaultWebProxy;
}
}
#endregion
#region 计算软件版本
public static string GetVersionString(int major, int minor)
{
string versionNo = major + "." + minor.ToString().PadLeft(2, '0');
return versionNo;
}
#endregion
}
}
@@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LittleCow.Model.Param.WeiDianManage
{
public class WeiDianSettingParam
{
/// <summary>
/// 微店上货加价比例
/// </summary>
public string AddPercent { get; set; }
/// <summary>
/// 微店上货额外加价
/// </summary>
public string AddPrice { get; set; }
/// <summary>
/// 是否设置推广金
/// </summary>
public bool IsSetCps { get; set; }
/// <summary>
/// 推广金比例
/// </summary>
public string CpsPercent { get; set; }
/// <summary>
/// 线程数量
/// </summary>
public string ThreadCount { get; set; }
/// <summary>
/// 全店推广金基础比例
/// </summary>
public string ShopCpsCount { get; set; }
/// <summary>
/// 商品上下架等操作的搜索关键字
/// </summary>
public string ProductKeywords { get; set; }
/// <summary>
/// 最近几天的不清理
/// </summary>
public string NotClearDays { get; set; }
/// <summary>
/// 不清理下架有销量商品
/// </summary>
public bool IsNotClearHasSales { get; set; }
/// <summary>
/// 操作的商品数量
/// </summary>
public string ProductCount { get; set; }
}
}
@@ -8,6 +8,8 @@ namespace AllBase.Model.Result
{
public class VDianShopLoginInfo
{
public string user_name { get; set; }
public string ShopName { get; set; }
public string ShopId { get; set; }
public string Cookies { get; set; }
@@ -450,7 +450,7 @@ namespace KJD_Web.BLL.BXX
var wx_cat_3 = RegexUtils.GetStringQuery(ref inputData, "wx_cat_3")?.Replace("'", "\\'");
var wx_cat_leaf = RegexUtils.GetStringQuery(ref inputData, "wx_cat_leaf")?.Replace("'", "\\'");
var search_ext_code = RegexUtils.GetStringQuery(ref inputData, "search_ext_code")?.Replace("'", "\\'");
var search_prod_name = RegexUtils.GetStringQuery(ref inputData, "search_prod_name")?.Replace("'", "\\'");
var search_prod_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "search_prod_name")?.Replace("'", "\\'"));
var search_group = RegexUtils.GetStringQuery(ref inputData, "search_group")?.Replace("'", "\\'");
var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes")?.Replace("'", "\\'");
var search_db_ids = RegexUtils.GetStringQuery(ref inputData, "search_db_ids")?.Replace("'", "\\'");
@@ -480,6 +480,8 @@ namespace KJD_Web.BLL.BXX
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
List<MySqlParameter> paramLst = new List<MySqlParameter>();
string sql = "select count(*) from bxx.product p FORCE INDEX (f_wx_safe_status) where p.is_del=0";
string where = "";
@@ -526,11 +528,17 @@ namespace KJD_Web.BLL.BXX
where += " and p.ext_code like '%" + search_ext_code + "%'";
if (!string.IsNullOrWhiteSpace(search_prod_name))
{
var searchProdNameWords = search_prod_name.Split(new string[] { ",", ",", ";", ";", " ", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries);
var searchProdNameWords = search_prod_name.Split(new string[] { ",", ",", ";", ";", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries);
var multi_search_prod_name = "";
var index = 0;
foreach (var word in searchProdNameWords)
{
multi_search_prod_name += " or p.product_name like '%" + word + "%'";
index++;
string parameName = "@prodNameWords" + index;
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = parameName, Value = word/*.Replace("&", "&").Replace("'", "\\'")*/, });
//multi_search_prod_name += " or p.product_name like '%" + parameName + "%'";
multi_search_prod_name += " or p.product_name like CONCAT('%'," + parameName + ",'%')";
}
where += " and (" + multi_search_prod_name.Substring(4) + ")";
}
@@ -601,7 +609,7 @@ namespace KJD_Web.BLL.BXX
if (isDetail)
count = 1;
else
count = mySql.ExecuteRowCount(sql);
count = mySql.ExecuteRowCount(sql, paramLst.ToArray());
DataTable dt;
if (count == 0)
@@ -645,7 +653,7 @@ namespace KJD_Web.BLL.BXX
else
sql += " order by p.id desc";
sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size;
dt = mySql.ExecuteDataTable(sql);
dt = mySql.ExecuteDataTable(sql, paramLst.ToArray());
}
mySql.Close();
+25
View File
@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32802.440
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignWeb", "SignWeb\SignWeb.csproj", "{1D6B6CD6-55AB-4986-9460-CFEF89627BBE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1D6B6CD6-55AB-4986-9460-CFEF89627BBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D6B6CD6-55AB-4986-9460-CFEF89627BBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D6B6CD6-55AB-4986-9460-CFEF89627BBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D6B6CD6-55AB-4986-9460-CFEF89627BBE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3BD7C166-ED87-432C-867E-04E8D6BAB679}
EndGlobalSection
EndGlobal
+17
View File
@@ -0,0 +1,17 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="692130.aspx.cs" Inherits="SignWeb._692130" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
World
</div>
</form>
</body>
</html>
+17
View File
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace SignWeb
{
public partial class _692130 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
+26
View File
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace SignWeb
{
public partial class _692130
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
+1
View File
@@ -0,0 +1 @@
<%@ Application Codebehind="Global.asax.cs" Inherits="SignWeb.Global" Language="C#" %>
+16
View File
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
namespace SignWeb
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
}
}
}
@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过下列特性集
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("SignWeb")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SignWeb")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
// 对 COM 组件不可见。如果需要
// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
[assembly: Guid("1d6b6cd6-55ab-4986-9460-cfef89627bbe")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订版本
//
// 可以指定所有值,也可以使用“修订号”和“内部版本号”的默认值,
// 方法是按如下所示使用 "*":
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DeleteExistingFiles>False</DeleteExistingFiles>
<ExcludeApp_Data>False</ExcludeApp_Data>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>bin\app.publish\</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
</PropertyGroup>
</Project>
@@ -0,0 +1,180 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PublishTargetUrl>D:\Work&amp;Projects\TEMU跨境达后台管理\KJD Cef138\SignWeb\SignWeb\bin\app.publish\</_PublishTargetUrl>
<History>True|2026-04-12T04:02:18.4413094Z;True|2026-04-12T11:44:24.2206861+08:00;</History>
</PropertyGroup>
<ItemGroup>
<File Include="692130.aspx">
<publishTime>04/12/2026 12:02:06</publishTime>
</File>
<File Include="bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll">
<publishTime>09/05/2018 16:10:50</publishTime>
</File>
<File Include="bin/roslyn/csc.exe">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/csc.exe.config">
<publishTime>08/08/2018 12:18:12</publishTime>
</File>
<File Include="bin/roslyn/csc.rsp">
<publishTime>08/08/2018 12:09:42</publishTime>
</File>
<File Include="bin/roslyn/csi.exe">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/csi.exe.config">
<publishTime>08/08/2018 12:18:34</publishTime>
</File>
<File Include="bin/roslyn/csi.rsp">
<publishTime>08/08/2018 12:09:56</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CSharp.Core.targets">
<publishTime>08/08/2018 12:09:42</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll">
<publishTime>12/05/2017 09:36:44</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll">
<publishTime>12/05/2017 09:36:44</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.Managed.Core.targets">
<publishTime>08/08/2018 12:09:42</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.VisualBasic.Core.targets">
<publishTime>08/08/2018 12:09:42</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.Win32.Primitives.dll">
<publishTime>11/05/2016 18:55:32</publishTime>
</File>
<File Include="bin/roslyn/System.AppContext.dll">
<publishTime>11/05/2016 18:55:34</publishTime>
</File>
<File Include="bin/roslyn/System.Collections.Immutable.dll">
<publishTime>05/16/2018 03:29:34</publishTime>
</File>
<File Include="bin/roslyn/System.Console.dll">
<publishTime>11/05/2016 18:55:48</publishTime>
</File>
<File Include="bin/roslyn/System.Diagnostics.DiagnosticSource.dll">
<publishTime>11/05/2016 18:55:52</publishTime>
</File>
<File Include="bin/roslyn/System.Diagnostics.FileVersionInfo.dll">
<publishTime>11/05/2016 18:55:56</publishTime>
</File>
<File Include="bin/roslyn/System.Diagnostics.StackTrace.dll">
<publishTime>11/05/2016 18:55:52</publishTime>
</File>
<File Include="bin/roslyn/System.Globalization.Calendars.dll">
<publishTime>11/05/2016 18:56:02</publishTime>
</File>
<File Include="bin/roslyn/System.IO.Compression.dll">
<publishTime>11/05/2016 18:56:08</publishTime>
</File>
<File Include="bin/roslyn/System.IO.Compression.ZipFile.dll">
<publishTime>11/05/2016 18:56:04</publishTime>
</File>
<File Include="bin/roslyn/System.IO.FileSystem.dll">
<publishTime>11/05/2016 18:56:08</publishTime>
</File>
<File Include="bin/roslyn/System.IO.FileSystem.Primitives.dll">
<publishTime>11/05/2016 18:56:08</publishTime>
</File>
<File Include="bin/roslyn/System.Net.Http.dll">
<publishTime>11/05/2016 18:56:30</publishTime>
</File>
<File Include="bin/roslyn/System.Net.Sockets.dll">
<publishTime>11/05/2016 18:56:34</publishTime>
</File>
<File Include="bin/roslyn/System.Reflection.Metadata.dll">
<publishTime>05/16/2018 03:29:44</publishTime>
</File>
<File Include="bin/roslyn/System.Runtime.InteropServices.RuntimeInformation.dll">
<publishTime>11/05/2016 18:57:00</publishTime>
</File>
<File Include="bin/roslyn/System.Security.Cryptography.Algorithms.dll">
<publishTime>11/05/2016 18:57:14</publishTime>
</File>
<File Include="bin/roslyn/System.Security.Cryptography.Encoding.dll">
<publishTime>11/05/2016 18:57:08</publishTime>
</File>
<File Include="bin/roslyn/System.Security.Cryptography.Primitives.dll">
<publishTime>11/05/2016 18:57:18</publishTime>
</File>
<File Include="bin/roslyn/System.Security.Cryptography.X509Certificates.dll">
<publishTime>11/05/2016 18:57:18</publishTime>
</File>
<File Include="bin/roslyn/System.Text.Encoding.CodePages.dll">
<publishTime>11/05/2016 18:57:20</publishTime>
</File>
<File Include="bin/roslyn/System.Threading.Tasks.Extensions.dll">
<publishTime>11/05/2016 18:57:24</publishTime>
</File>
<File Include="bin/roslyn/System.ValueTuple.dll">
<publishTime>11/05/2016 18:57:30</publishTime>
</File>
<File Include="bin/roslyn/System.Xml.ReaderWriter.dll">
<publishTime>11/05/2016 18:57:36</publishTime>
</File>
<File Include="bin/roslyn/System.Xml.XmlDocument.dll">
<publishTime>11/05/2016 18:57:34</publishTime>
</File>
<File Include="bin/roslyn/System.Xml.XPath.dll">
<publishTime>11/05/2016 18:57:40</publishTime>
</File>
<File Include="bin/roslyn/System.Xml.XPath.XDocument.dll">
<publishTime>11/05/2016 18:57:34</publishTime>
</File>
<File Include="bin/roslyn/vbc.exe">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/vbc.exe.config">
<publishTime>08/08/2018 12:18:18</publishTime>
</File>
<File Include="bin/roslyn/vbc.rsp">
<publishTime>08/08/2018 12:09:46</publishTime>
</File>
<File Include="bin/roslyn/VBCSCompiler.exe">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/VBCSCompiler.exe.config">
<publishTime>08/08/2018 12:18:16</publishTime>
</File>
<File Include="bin/SignWeb.dll">
<publishTime>04/12/2026 12:02:18</publishTime>
</File>
<File Include="bin/SignWeb.pdb">
<publishTime>04/12/2026 12:02:18</publishTime>
</File>
<File Include="Global.asax">
<publishTime>04/12/2026 11:40:36</publishTime>
</File>
<File Include="VDianAuth.aspx">
<publishTime>04/12/2026 11:41:37</publishTime>
</File>
<File Include="Web.config">
<publishTime>04/12/2026 11:44:23</publishTime>
</File>
</ItemGroup>
</Project>
+146
View File
@@ -0,0 +1,146 @@
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{1D6B6CD6-55AB-4986-9460-CFEF89627BBE}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SignWeb</RootNamespace>
<AssemblyName>SignWeb</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort>44369</IISExpressSSLPort>
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Content Include="692130.aspx" />
<Content Include="Global.asax" />
<Content Include="VDianAuth.aspx" />
<Content Include="Web.config" />
</ItemGroup>
<ItemGroup>
<Compile Include="692130.aspx.cs">
<DependentUpon>692130.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="692130.aspx.designer.cs">
<DependentUpon>692130.aspx</DependentUpon>
</Compile>
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="VDianAuth.aspx.cs">
<DependentUpon>VDianAuth.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="VDianAuth.aspx.designer.cs">
<DependentUpon>VDianAuth.aspx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
<Folder Include="Models\" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>51805</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>https://localhost:44369/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort>44369</IISExpressSSLPort>
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<NameOfLastUsedPublishProfile>D:\Work&amp;Projects\TEMU跨境达后台管理\KJD Cef138\SignWeb\SignWeb\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<StartPageUrl>
</StartPageUrl>
<StartAction>CurrentPage</StartAction>
<AspNetDebugging>True</AspNetDebugging>
<SilverlightDebugging>False</SilverlightDebugging>
<NativeDebugging>False</NativeDebugging>
<SQLDebugging>False</SQLDebugging>
<ExternalProgram>
</ExternalProgram>
<StartExternalURL>
</StartExternalURL>
<StartCmdLineArguments>
</StartCmdLineArguments>
<StartWorkingDirectory>
</StartWorkingDirectory>
<EnableENC>True</EnableENC>
<AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>
+17
View File
@@ -0,0 +1,17 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="VDianAuth.aspx.cs" Inherits="SignWeb.VDianAuth" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
Hello
</div>
</form>
</body>
</html>
+17
View File
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace SignWeb
{
public partial class VDianAuth : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
+26
View File
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace SignWeb
{
public partial class VDianAuth
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
+31
View File
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 有关使用 web.config 转换的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
在下例中,“SetAttributes”转换将更改
“connectionString”的值,以仅在“Match”定位器
找到值为“MyDB”的特性“name”时使用“ReleaseSQLServer”。
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<!--
在下例中,“Replace”转换将替换
web.config 文件的整个 <customErrors> 节。
请注意,由于
在 <system.web> 节点下仅有一个 customErrors 节,因此不需要使用“xdt:Locator”特性。
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 有关使用 web.config 转换的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
在下例中,“SetAttributes”转换将更改
“connectionString”的值,以仅在“Match”定位器
找到值为“MyDB”的特性“name”时使用“ReleaseSQLServer”。
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
在下例中,“Replace”转换将替换
web.config 文件的整个 <customErrors> 节。
请注意,由于
在 <system.web> 节点下仅有一个 customErrors 节,因此不需要使用“xdt:Locator”特性。
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>
+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.6.2" />
<httpRuntime targetFramework="4.6.2" />
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>
</configuration>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net462" />
</packages>
+434
View File
@@ -0,0 +1,434 @@
using AllBase;
using AllBase.Model.Param.VDianManage;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace TemuKJD.BLL.VDian
{
public class WeiDianProductBLL
{
public static int upLoadThreadCount = 0;
/// <summary>
/// 上传产品后设置产品佣金
/// </summary>
/// <param name="prodIds"></param>
/// <param name="vDianShop"></param>
/// <param name="commissionRate">佣金比例</param>
/// <returns></returns>
public string UpdateCommission(string prodIds, VDianShopLoginInfo vDianShop, string commissionRate = "5")
{
//{"itemIds":"3318304304","isDownPrice":false,"isUpPrice":false,"priceUpLimit":200,"commissionRate":"{\"L1\":\"5\",\"L2\":\"5\",\"L3\":\"5\",\"L4\":\"5\",\"L5\":\"5\"}","specifyRetailSellerIds":"","specifyCommissionRate":"5"}
VDianParam.VDianCommission comm = new VDianParam.VDianCommission()
{
itemIds = prodIds,
isDownPrice = false,
isUpPrice = false,
priceUpLimit = 200,
commissionRate = new VDianParam.VDianCommissionRate() { L1 = commissionRate, L2 = commissionRate, L3 = commissionRate, L4 = commissionRate, L5 = commissionRate },
specifyRetailSellerIds = "",
specifyCommissionRate = commissionRate,
};
return Request_weidian_Commission(vDianShop, HttpUtility.UrlEncode(JsonHelper.SerializeObject(comm), Encoding.UTF8));
}
public string UpdateCps(string prodIds, VDianShopLoginInfo vDianShop, string commissionRate = "5")
{
var idArr = prodIds.Split(',');
var rate = (commissionRate.ParseToDecimal() / 100).ToString();
string url = "https://thor.weidian.com/cpnserver/cps.operateConfig/1.0?param=";
var dataStr = "{\"item\":{\"cpsItemConfigReqList\":[";
foreach (string id in idArr)
{
dataStr += "{\"itemId\":\"" + id + "\",\"itemRatioStr\":" + rate + "},";
}
dataStr = dataStr.TrimEnd(',');
dataStr += "]}}";
return Request_weidian_cps(vDianShop, url, HttpUtility.UrlEncode(dataStr, Encoding.UTF8));
}
/// <summary>
/// 设置店铺分成推广全店佣金比例
/// </summary>
/// <param name="vDianShop"></param>
/// <param name="commissionRate"></param>
/// <returns></returns>
public string UpdateShopCps(VDianShopLoginInfo vDianShop, string commissionRate = "5")
{
//{"shop":{"pushMode":0,"cpsRatioStr":0.11},"item":{"pushMode":0,"cpsItemConfigReqList":[]}}
var rate = (commissionRate.ParseToDecimal() / 100).ToString();
string url = "https://thor.weidian.com/cpnserver/cps.operateConfig/1.0?param=";
var dataStr = "{\"shop\":{\"pushMode\":0,\"cpsRatioStr\":" + rate + "},\"item\":{\"pushMode\":0,\"cpsItemConfigReqList\":[]}}";
return Request_weidian_cps(vDianShop, url, HttpUtility.UrlEncode(dataStr, Encoding.UTF8));
}
/// <summary>
/// 查询店铺分成推广全店佣金比例
/// </summary>
/// <param name="vDianShop"></param>
/// <returns></returns>
public string GetShopCps(VDianShopLoginInfo vDianShop)
{
string url = "https://thor.weidian.com/cpnserver/cps.queryItemConfig/1.0?param=";
var dataStr = "{\"needQueryRange\":\"true\",\"pageIndex\":1,\"pageSize\":1}";
return Request_weidian_cps(vDianShop, url, HttpUtility.UrlEncode(dataStr, Encoding.UTF8));
}
/// <summary>
/// 查询分成推广首推商品列表
/// </summary>
/// <param name="vDianShop"></param>
/// <param name="page"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public string GetShopCpsProduct(VDianShopLoginInfo vDianShop, int page = 1, int pageSize = 10)
{
string url = "https://thor.weidian.com/cpnserver/cps.queryItemConfig/1.0?param=";
var dataStr = "{\"needQueryRange\":\"true\",\"pageIndex\":" + page + ",\"pageSize\":" + pageSize + "}";
return Request_weidian_cps(vDianShop, url, HttpUtility.UrlEncode(dataStr, Encoding.UTF8));
}
public string GetShopProductIds(VDianShopLoginInfo vDianShop, int page = 1, int pageSize = 40, bool? isOnSale = true, DateTime? timeEnd = null)
{
// 获取商品列表优先使用开箱小店接口
var vDianApiToken = GetVDianApiTokenCanUse(vDianShop);
if (vDianApiToken == null)
vDianApiToken = vDianShop.LstWdApiToken[0];
if (vDianApiToken == null)
{
return "error,商品获取频次超过上限";
}
if (isOnSale == true)
{
var result = GetVDianProductListOnSale(vDianApiToken.ApiAccessToken, page, pageSize, timeEnd);
return result;
}
else if (isOnSale == false)
{
var result = GetVDianProductListOffSale(vDianApiToken.ApiAccessToken, page, pageSize, timeEnd);
return result;
}
else
{
var result = GetVDianProductListAll(vDianApiToken.ApiAccessToken, page, pageSize, timeEnd);
return result;
}
}
/// <summary>
/// 网页模拟接口调用设置佣金
/// </summary>
/// <param name="vDianShop"></param>
/// <param name="data"></param>
/// <returns></returns>
private string Request_weidian_Commission(VDianShopLoginInfo vDianShop, string data)
{
HttpWebResponse response = null;
string responseText = "";
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://thor.weidian.com/fenxiao/supplyItem.updateItemSetting/1.0?wdtoken="
+ vDianShop.Wdtoken + "&_=" + BaseClass.DateTimeToTimestampSeconds(DateTime.Now));
request.KeepAlive = true;
request.Accept = "application/json, */*";
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36";
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.Headers.Add("Origin", @"https://d.weidian.com");
request.Headers.Add("Sec-Fetch-Site", @"same-site");
request.Headers.Add("Sec-Fetch-Mode", @"cors");
request.Referer = "https://d.weidian.com/weidian-pc/pc-vue-item/index.html?spider_token=76b8";
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
request.Headers.Set(HttpRequestHeader.Cookie, vDianShop.Cookies);
request.Method = "POST";
request.ServicePoint.Expect100Continue = false;
string body = @"param=" + data;
byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body);
request.ContentLength = postBytes.Length;
Stream stream = request.GetRequestStream();
stream.Write(postBytes, 0, postBytes.Length);
stream.Close();
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response;
else responseText = "error," + e.Message;
}
catch (Exception ex)
{
responseText = "error," + ex.Message;
}
if (response != null)
{
if (string.IsNullOrEmpty(responseText))
responseText = GetHtml.ReadResponse(response);
response.Close();
}
Thread.Sleep(25 + Randomx.GetId(50));
return responseText;
}
/// <summary>
/// 全民推广设置
/// </summary>
/// <param name="vDianShop"></param>
/// <param name="data"></param>
/// <returns></returns>
private string Request_weidian_cps(VDianShopLoginInfo vDianShop, string url, string data)
{
HttpWebResponse response = null;
string responseText = "";
try
{
//https://thor.weidian.com/cpnserver/cps.operateConfig/1.0?param={"item":{"cpsItemConfigReqList":[{"itemId":"3242678219","itemRatioStr":0.22}]}}
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + data);
request.KeepAlive = true;
request.Headers.Set(HttpRequestHeader.Pragma, "no-cache");
request.Headers.Set(HttpRequestHeader.CacheControl, "no-cache");
request.Accept = "application/json, text/plain, */*";
request.Headers.Add("Origin", @"https://weidian.com");
request.UserAgent = "Mozilla/5.0 (Linux; Android 9; COR-AL00 Build/HUAWEICOR-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 WDAPP(WD/9.0.80) appid/com.koudai.weishop KDJSBridge2/1.1.0 platform/android apiv/9083 NetType/WIFI";
request.Referer = "https://weidian.com/new-cps/";
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7");
request.Headers.Set(HttpRequestHeader.Cookie, vDianShop.Cookies);
request.Headers.Add("X-Requested-With", @"com.koudai.weishop");
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response;
else responseText = "error," + e.Message;
}
catch (Exception ex)
{
responseText = "error," + ex.Message;
}
if (response != null)
{
if (string.IsNullOrEmpty(responseText))
responseText = GetHtml.ReadResponse(response);
response.Close();
}
Thread.Sleep(25 + Randomx.GetId(50));
return responseText;
}
/// <summary>
/// 微店读取店铺所有上架商品
/// </summary>
/// <param name="accessToken"></param>
/// <param name="pageNumber"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public static string GetVDianProductListOnSale(string accessToken, int pageNumber = 1, int pageSize = 40, DateTime? timeEnd = null)
{
return GetVDianProductList(accessToken, pageNumber, pageSize, 1, timeEnd);
}
/// <summary>
/// 微店读取店铺所有下架商品
/// </summary>
/// <param name="accessToken"></param>
/// <param name="pageNumber"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public static string GetVDianProductListOffSale(string accessToken, int pageNumber = 1, int pageSize = 40, DateTime? timeEnd = null)
{
return GetVDianProductList(accessToken, pageNumber, pageSize, 2, timeEnd);
}
/// <summary>
/// 读取所有上架和下架商品
/// </summary>
/// <param name="accessToken"></param>
/// <param name="pageNumber"></param>
/// <param name="pageSize"></param>
/// <param name="timeEnd"></param>
/// <returns></returns>
public static string GetVDianProductListAll(string accessToken, int pageNumber = 1, int pageSize = 40, DateTime? timeEnd = null)
{
return GetVDianProductList(accessToken, pageNumber, pageSize, 4, timeEnd);
}
/// <summary>
/// 读取微店所有商品
/// </summary>
/// <param name="accessToken"></param>
/// <param name="pageNumber"></param>
/// <param name="pageSize"></param>
/// <param name="status">1表示上架,2表示下架,4表示上架和下架一起</param>
/// <returns></returns>
public static string GetVDianProductList(string accessToken, int pageNumber = 1, int pageSize = 40, int status = 1, DateTime? timeEnd = null)
{
if (timeEnd == null)
timeEnd = DateTime.Now;
string url = BaseClass.VDianApi + "api?";
string data = "param=" + GetHtml.UrlEncodeUtf8("{\"page_size\":\"" + pageSize + "\",\"status\":" + status + ",\"orderby\":\"1\",\"page_num\":\"" + pageNumber
+ "\",\"update_start\":\"2000-1-1 00:00:00\",\"update_end\":\"" + timeEnd.Value.ToString("yyyy-MM-dd HH:mm:ss") + "\"}");
string _public = "&public=" + GetHtml.UrlEncodeUtf8("{\"method\":\"vdian.item.list.get\",\"access_token\":\"" + accessToken
+ "\",\"version\":\"1.1\",\"format\":\"json\"}");
var result = Request_api_vdian_com(url, data + _public, true);
return result;
}
/// <summary>
/// 商品上下架
/// </summary>
/// <param name="itemId"></param>
/// <param name="accessToken"></param>
/// <param name="opt">1表示商品上架,2表示商品下架</param>
/// <returns></returns>
public static string VDianOnSale(string itemId, VDianShopLoginInfo vDianShop, int opt = 1)
{
// 获取商品列表优先使用开箱小店接口
var vDianApiToken = GetVDianApiTokenCanUse(vDianShop);
if (vDianApiToken == null)
vDianApiToken = vDianShop.LstWdApiToken[0];
if (vDianApiToken == null)
{
return "error,商品获取频次超过上限";
}
string url = BaseClass.VDianApi + "api?";
string data = "param=" + GetHtml.UrlEncodeUtf8("{\"itemid\":\"" + itemId + "\",\"opt\":\"" + opt + "\"}");
string _public = "&public=" + GetHtml.UrlEncodeUtf8("{\"method\":\"weidian.item.onSale\",\"access_token\":\"" + vDianApiToken.ApiAccessToken
+ "\",\"version\":\"1.0\",\"format\":\"json\"}");
var result = Request_api_vdian_com(url, data + _public, true);
return result;
}
public static string VDianProductDel(string itemId, VDianShopLoginInfo vDianShop)
{
// 获取商品列表优先使用开箱小店接口
var vDianApiToken = GetVDianApiTokenCanUse(vDianShop);
if (vDianApiToken == null)
vDianApiToken = vDianShop.LstWdApiToken[0];
if (vDianApiToken == null)
{
return "error,商品获取频次超过上限";
}
string url = BaseClass.VDianApi + "api?";
string data = "param=" + GetHtml.UrlEncodeUtf8("{\"itemid\":\"" + itemId + "\"}");
string _public = "&public=" + GetHtml.UrlEncodeUtf8("{\"method\":\"vdian.item.delete\",\"access_token\":\"" + vDianApiToken.ApiAccessToken
+ "\",\"version\":\"1.0\",\"format\":\"json\"}");
var result = Request_api_vdian_com(url, data + _public, true);
return result;
}
public static string VDianProductDel(List<string> itemIds, VDianShopLoginInfo vDianShop)
{
// 获取商品列表优先使用开箱小店接口
var vDianApiToken = GetVDianApiTokenCanUse(vDianShop);
if (vDianApiToken == null)
{
return "error,商品获取频次超过上限";
}
string itemIdStr = "";
foreach (var item in itemIds)
{
itemIdStr += item + ",";
}
string url = BaseClass.VDianApi + "api?";
string data = "param=" + GetHtml.UrlEncodeUtf8("{\"itemids\":\"" + itemIdStr.TrimEnd(',') + "\"}");
string _public = "&public=" + GetHtml.UrlEncodeUtf8("{\"method\":\"vdian.item.batchDelete\",\"access_token\":\"" + vDianApiToken.ApiAccessToken
+ "\",\"version\":\"1.0\",\"format\":\"json\"}");
var result = Request_api_vdian_com(url, data + _public, true);
return result;
}
/// <summary>
/// 获取可用的微店ApiToken
/// </summary>
/// <param name="vDianShop"></param>
/// <returns></returns>
public static VDianApiToken GetVDianApiTokenCanUse(VDianShopLoginInfo vDianShop)
{
// 获取商品列表优先使用开箱小店接口
var vDianApiToken = vDianShop.LstWdApiToken.FirstOrDefault(t => t.AppKey.AppKey == "691402" && t.AppKey.Status == "ok");
if (vDianApiToken == null)
vDianApiToken = vDianShop.LstWdApiToken.FirstOrDefault(t => t.AppKey.Status == "ok");
return vDianApiToken;
}
/// <summary>
/// 调用微店Api
/// </summary>
/// <param name="response"></param>
/// <returns></returns>
public static string Request_api_vdian_com(string url, string bodyData, bool isPost = true)
{
while (upLoadThreadCount >= 3)
Thread.Sleep(Randomx.GetId(100));
upLoadThreadCount++;
HttpWebResponse response = null;
var responseText = "";
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
if (isPost)
request.Method = "POST";
else
request.Method = "GET";
request.ServicePoint.Expect100Continue = false;
byte[] postBytes = Encoding.UTF8.GetBytes(bodyData);
request.ContentLength = postBytes.Length;
Stream stream = request.GetRequestStream();
stream.Write(postBytes, 0, postBytes.Length);
stream.Close();
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response;
else responseText = "error," + e.Message;
}
catch (Exception ex)
{
responseText = "error," + ex.Message;
}
if (response != null)
{
if (string.IsNullOrEmpty(responseText))
responseText = GetHtml.ReadResponse(response);
response.Close();
}
Thread.Sleep(50 + Randomx.GetId(100));
upLoadThreadCount--;
return responseText;
}
}
}
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace TemuKJD.BLL.VDian
{
public class MappingVDianApiBLL
public class VDianUpProdMappingApiBLL
{
public static string GetFormattedImgFileName(string oldName)
{
@@ -18,7 +18,7 @@ using System.Threading.Tasks;
namespace TemuKJD.BLL.VDian
{
public class MappingVDianBLL
public class VDianUpProdMappingBLL
{
string vDCookie = "";
string vDToken = "";
@@ -38,7 +38,7 @@ namespace TemuKJD.BLL.VDian
/// </summary>
decimal reduceRate = 0.96M;
public MappingVDianBLL()
public VDianUpProdMappingBLL()
{
spider_token = BaseClass.GetMd5(DateTime.Now.ToString()).Substring(0, 4).ToLower();
}
@@ -533,7 +533,7 @@ namespace TemuKJD.BLL.VDian
break;
var imgStr = imgBaseStr;
imgStr = MappingVDianApiBLL.GetFormattedImgFileName(imgStr);
imgStr = VDianUpProdMappingApiBLL.GetFormattedImgFileName(imgStr);
if (string.IsNullOrEmpty(imgStr))
continue;
var imgMod = Math.Abs(BaseClass.GetLong(imgStr));
@@ -557,7 +557,7 @@ namespace TemuKJD.BLL.VDian
if (string.IsNullOrEmpty(imgBaseStr))
continue;
var imgStr = imgBaseStr;
imgStr = MappingVDianApiBLL.GetFormattedImgFileName(imgStr);
imgStr = VDianUpProdMappingApiBLL.GetFormattedImgFileName(imgStr);
if (string.IsNullOrEmpty(imgStr))
continue;
+30 -2
View File
@@ -129,8 +129,9 @@
<Compile Include="BLL\PDDProdFormConverter.cs" />
<Compile Include="BLL\ProductSelectBLL.cs" />
<Compile Include="BLL\Tools\DownloadBLL.cs" />
<Compile Include="BLL\VDian\MappingVDianApiBLL.cs" />
<Compile Include="BLL\VDian\MappingVDianBLL.cs" />
<Compile Include="BLL\VDian\VDianUpProdMappingApiBLL.cs" />
<Compile Include="BLL\VDian\VDianUpProdMappingBLL.cs" />
<Compile Include="BLL\VDian\VDianProductBLL.cs" />
<Compile Include="BLL\WxApiBLL.cs" />
<Compile Include="BLL\YkdHttpResponseBLL.cs" />
<Compile Include="BLL\WXHttpResponseBLL.cs" />
@@ -218,6 +219,24 @@
<Compile Include="ToolForms\GetAddressForm.Designer.cs">
<DependentUpon>GetAddressForm.cs</DependentUpon>
</Compile>
<Compile Include="VDianForms\VDianShopLoginForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="VDianForms\VDianShopLoginForm.Designer.cs">
<DependentUpon>VDianShopLoginForm.cs</DependentUpon>
</Compile>
<Compile Include="VDianForms\VDianShopListForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="VDianForms\VDianShopListForm.designer.cs">
<DependentUpon>VDianShopListForm.cs</DependentUpon>
</Compile>
<Compile Include="VDianForms\VDianUploadProductForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="VDianForms\VDianUploadProductForm.designer.cs">
<DependentUpon>VDianUploadProductForm.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\AdminForms\WXAdminAddressSyncForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -1215,6 +1234,15 @@
<EmbeddedResource Include="UserComponent\DataGridViewEx.resx">
<DependentUpon>DataGridViewEx.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="VDianForms\VDianShopLoginForm.resx">
<DependentUpon>VDianShopLoginForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="VDianForms\VDianShopListForm.resx">
<DependentUpon>VDianShopListForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="VDianForms\VDianUploadProductForm.resx">
<DependentUpon>VDianUploadProductForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\AdminForms\WXAdminAddressSyncForm.resx">
<DependentUpon>WXAdminAddressSyncForm.cs</DependentUpon>
</EmbeddedResource>
+9 -5
View File
@@ -40,7 +40,8 @@
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("库存上传");
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("商品核价");
System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("随机厂商商品");
System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("微店管理");
System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
@@ -52,7 +53,8 @@
treeNode9,
treeNode10,
treeNode11,
treeNode12});
treeNode12,
treeNode13});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
@@ -167,10 +169,12 @@
treeNode11.Text = "商品核价";
treeNode12.Name = "随机厂商商品";
treeNode12.Text = "随机厂商商品";
treeNode13.Name = "超级权限管理";
treeNode13.Text = "超级权限管理";
treeNode13.Name = "微店管理";
treeNode13.Text = "微店管理";
treeNode14.Name = "超级权限管理";
treeNode14.Text = "超级权限管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode13});
treeNode14});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 446);
this.tv.TabIndex = 1;
@@ -1,4 +1,5 @@
using AllBase;
using KJD.VDianForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -27,6 +28,7 @@ namespace TemuKJD.PDDForms.AdminForms
public Lazy<PDDGetChanceProdByImgForm> getChanceProdByImgForm = new Lazy<PDDGetChanceProdByImgForm>();
public Lazy<GetJuShuitanProdForm> getJuShuitanProdForm = new Lazy<GetJuShuitanProdForm>();
public Lazy<RandomComProductForm> randomComProductForm = new Lazy<RandomComProductForm>();
public Lazy<VDianUploadProductForm> vDianUploadProductForm = new Lazy<VDianUploadProductForm>();
//public Lazy<DbPriceMarkUpForm> dbPriceMarkUpForm = new Lazy<DbPriceMarkUpForm>();
//public Lazy<DbProductSelectListManageForm> dbProductSelectListManageForm = new Lazy<DbProductSelectListManageForm>();
//public Lazy<ProductThirdSelectListManageForm> productThirdSelectListManageForm = new Lazy<ProductThirdSelectListManageForm>();
@@ -106,6 +108,9 @@ namespace TemuKJD.PDDForms.AdminForms
case "随机厂商商品":
SetForm(randomComProductForm.Value);
break;
case "微店管理":
SetForm(vDianUploadProductForm.Value);
break;
//case "选品加价管理":
// SetForm(dbPriceMarkUpForm.Value);
// break;
@@ -327,7 +327,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
"&search_notes=" + txtNotes.Text.Trim() +
"&search_ext_code=" + txtExtCode.Text.Trim() +
"&search_group=" + cmbGroupFilter.Text.Trim() +
"&search_prod_name=" + txtProdName.Text.Trim() +
"&search_prod_name=" + GetHtml.UrlEncodeUtf8(txtProdName.Text.Trim()) +
"&wx_safe_status=" + cmbWxSafe.Text.Trim().Replace("安全+未校验", "安全商品,未校验") +
"&special_prod_type=" + cmbSpProdType.Text.Trim();
@@ -38,6 +38,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
this.pbShopLoading = new System.Windows.Forms.PictureBox();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.panel2 = new System.Windows.Forms.Panel();
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.btnSelectNotGetDetail = new DevComponents.DotNetBar.PanelEx();
this.cmbFilterType = new System.Windows.Forms.ComboBox();
@@ -77,9 +82,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.chkOverride = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.label6 = new System.Windows.Forms.Label();
this.txtMinPrice = new System.Windows.Forms.TextBox();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
this.pbShopLoading = new System.Windows.Forms.PictureBox();
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -90,27 +92,24 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn();
this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.panel2 = new System.Windows.Forms.Panel();
this.dgvChanceProduct = new TemuKJD.UserComponent.DataGridViewEx();
this.chk = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colChanceId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colImg = new System.Windows.Forms.DataGridViewImageColumn();
this.colDel = new System.Windows.Forms.DataGridViewLinkColumn();
this.colGoodsName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colHotValue = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCate = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colDel = new System.Windows.Forms.DataGridViewLinkColumn();
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.chk = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.ucGroupBoxEx1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
@@ -120,8 +119,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.splitContainer3.Panel2.SuspendLayout();
this.splitContainer3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
this.ucGroupBoxEx1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvChanceProduct)).BeginInit();
this.SuspendLayout();
//
@@ -145,6 +145,82 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.splitContainer1.SplitterDistance = 140;
this.splitContainer1.TabIndex = 4;
//
// splitContainer2
//
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.splitContainer3);
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.chk);
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
this.splitContainer2.Size = new System.Drawing.Size(1424, 491);
this.splitContainer2.SplitterDistance = 462;
this.splitContainer2.TabIndex = 0;
//
// splitContainer3
//
this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer3.Location = new System.Drawing.Point(4, 0);
this.splitContainer3.Name = "splitContainer3";
//
// splitContainer3.Panel1
//
this.splitContainer3.Panel1.Controls.Add(this.pbShopLoading);
this.splitContainer3.Panel1.Controls.Add(this.dgvShop);
//
// splitContainer3.Panel2
//
this.splitContainer3.Panel2.Controls.Add(this.pbLoading);
this.splitContainer3.Panel2.Controls.Add(this.panel2);
this.splitContainer3.Panel2.Controls.Add(this.dgvChanceProduct);
this.splitContainer3.Size = new System.Drawing.Size(1416, 462);
this.splitContainer3.SplitterDistance = 290;
this.splitContainer3.TabIndex = 9;
//
// pbShopLoading
//
this.pbShopLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbShopLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbShopLoading.Location = new System.Drawing.Point(120, 206);
this.pbShopLoading.Name = "pbShopLoading";
this.pbShopLoading.Size = new System.Drawing.Size(50, 50);
this.pbShopLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbShopLoading.TabIndex = 8;
this.pbShopLoading.TabStop = false;
//
// pbLoading
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(536, 206);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbLoading.TabIndex = 7;
this.pbLoading.TabStop = false;
this.pbLoading.Visible = false;
//
// panel2
//
this.panel2.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.panel2.Location = new System.Drawing.Point(409, 355);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(690, 87);
this.panel2.TabIndex = 8;
//
// ucGroupBoxEx1
//
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -728,60 +804,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.txtMinPrice.TabIndex = 842;
this.txtMinPrice.Text = "10";
//
// splitContainer2
//
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.splitContainer3);
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.chk);
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
this.splitContainer2.Size = new System.Drawing.Size(1424, 491);
this.splitContainer2.SplitterDistance = 462;
this.splitContainer2.TabIndex = 0;
//
// splitContainer3
//
this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer3.Location = new System.Drawing.Point(4, 0);
this.splitContainer3.Name = "splitContainer3";
//
// splitContainer3.Panel1
//
this.splitContainer3.Panel1.Controls.Add(this.pbShopLoading);
this.splitContainer3.Panel1.Controls.Add(this.dgvShop);
//
// splitContainer3.Panel2
//
this.splitContainer3.Panel2.Controls.Add(this.pbLoading);
this.splitContainer3.Panel2.Controls.Add(this.panel2);
this.splitContainer3.Panel2.Controls.Add(this.dgvChanceProduct);
this.splitContainer3.Size = new System.Drawing.Size(1416, 462);
this.splitContainer3.SplitterDistance = 290;
this.splitContainer3.TabIndex = 9;
//
// pbShopLoading
//
this.pbShopLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbShopLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbShopLoading.Location = new System.Drawing.Point(120, 206);
this.pbShopLoading.Name = "pbShopLoading";
this.pbShopLoading.Size = new System.Drawing.Size(50, 50);
this.pbShopLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbShopLoading.TabIndex = 8;
this.pbShopLoading.TabStop = false;
//
// dgvShop
//
this.dgvShop.AllowUserToAddRows = false;
@@ -893,28 +915,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.colMessage.Name = "colMessage";
this.colMessage.ReadOnly = true;
//
// pbLoading
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(536, 206);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbLoading.TabIndex = 7;
this.pbLoading.TabStop = false;
this.pbLoading.Visible = false;
//
// panel2
//
this.panel2.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.panel2.Location = new System.Drawing.Point(409, 355);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(690, 87);
this.panel2.TabIndex = 8;
//
// dgvChanceProduct
//
this.dgvChanceProduct.AllowUserToAddRows = false;
@@ -939,11 +939,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.colChanceId,
this.colImgUrl,
this.colImg,
this.colDel,
this.colGoodsName,
this.colHotValue,
this.colCate,
this.colPrice,
this.colDel,
this.colMsg});
this.dgvChanceProduct.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvChanceProduct.Location = new System.Drawing.Point(0, 0);
@@ -955,87 +955,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.dgvChanceProduct.TabIndex = 6;
this.dgvChanceProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvChanceProduct_CellContentClick);
//
// colCheck
//
this.colCheck.FillWeight = 26F;
this.colCheck.HeaderText = "选";
this.colCheck.Name = "colCheck";
this.colCheck.ReadOnly = true;
this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// colChanceId
//
this.colChanceId.FillWeight = 50F;
this.colChanceId.HeaderText = "机会Id";
this.colChanceId.Name = "colChanceId";
this.colChanceId.ReadOnly = true;
//
// colImgUrl
//
this.colImgUrl.FillWeight = 300F;
this.colImgUrl.HeaderText = "图片路径";
this.colImgUrl.Name = "colImgUrl";
this.colImgUrl.ReadOnly = true;
this.colImgUrl.Visible = false;
//
// colImg
//
this.colImg.FillWeight = 40F;
this.colImg.HeaderText = "图片";
this.colImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
this.colImg.Name = "colImg";
this.colImg.ReadOnly = true;
this.colImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// colGoodsName
//
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colGoodsName.DefaultCellStyle = dataGridViewCellStyle5;
this.colGoodsName.FillWeight = 120F;
this.colGoodsName.HeaderText = "商品名称";
this.colGoodsName.Name = "colGoodsName";
this.colGoodsName.ReadOnly = true;
//
// colHotValue
//
this.colHotValue.FillWeight = 60F;
this.colHotValue.HeaderText = "热度";
this.colHotValue.Name = "colHotValue";
this.colHotValue.ReadOnly = true;
//
// colCate
//
this.colCate.HeaderText = "类目";
this.colCate.Name = "colCate";
this.colCate.ReadOnly = true;
//
// colPrice
//
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colPrice.DefaultCellStyle = dataGridViewCellStyle6;
this.colPrice.FillWeight = 70F;
this.colPrice.HeaderText = "价格";
this.colPrice.Name = "colPrice";
this.colPrice.ReadOnly = true;
//
// colDel
//
this.colDel.FillWeight = 35F;
this.colDel.HeaderText = "删除";
this.colDel.Name = "colDel";
this.colDel.ReadOnly = true;
//
// colMsg
//
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colMsg.DefaultCellStyle = dataGridViewCellStyle7;
this.colMsg.FillWeight = 200F;
this.colMsg.HeaderText = "操作结果";
this.colMsg.Name = "colMsg";
this.colMsg.ReadOnly = true;
//
// chk
//
this.chk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -1076,6 +995,87 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.ucSplitPage1.TotalPage = 1;
this.ucSplitPage1.PageChange += new System.Action<object>(this.ucSplitPage1_PageChange);
//
// colCheck
//
this.colCheck.FillWeight = 26F;
this.colCheck.HeaderText = "选";
this.colCheck.Name = "colCheck";
this.colCheck.ReadOnly = true;
this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// colChanceId
//
this.colChanceId.FillWeight = 50F;
this.colChanceId.HeaderText = "机会Id";
this.colChanceId.Name = "colChanceId";
this.colChanceId.ReadOnly = true;
//
// colImgUrl
//
this.colImgUrl.FillWeight = 300F;
this.colImgUrl.HeaderText = "图片路径";
this.colImgUrl.Name = "colImgUrl";
this.colImgUrl.ReadOnly = true;
this.colImgUrl.Visible = false;
//
// colImg
//
this.colImg.FillWeight = 40F;
this.colImg.HeaderText = "图片";
this.colImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
this.colImg.Name = "colImg";
this.colImg.ReadOnly = true;
this.colImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// colDel
//
this.colDel.FillWeight = 35F;
this.colDel.HeaderText = "删除";
this.colDel.Name = "colDel";
this.colDel.ReadOnly = true;
//
// colGoodsName
//
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colGoodsName.DefaultCellStyle = dataGridViewCellStyle5;
this.colGoodsName.FillWeight = 120F;
this.colGoodsName.HeaderText = "商品名称";
this.colGoodsName.Name = "colGoodsName";
this.colGoodsName.ReadOnly = true;
//
// colHotValue
//
this.colHotValue.FillWeight = 60F;
this.colHotValue.HeaderText = "热度";
this.colHotValue.Name = "colHotValue";
this.colHotValue.ReadOnly = true;
//
// colCate
//
this.colCate.HeaderText = "类目";
this.colCate.Name = "colCate";
this.colCate.ReadOnly = true;
//
// colPrice
//
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colPrice.DefaultCellStyle = dataGridViewCellStyle6;
this.colPrice.FillWeight = 70F;
this.colPrice.HeaderText = "价格";
this.colPrice.Name = "colPrice";
this.colPrice.ReadOnly = true;
//
// colMsg
//
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colMsg.DefaultCellStyle = dataGridViewCellStyle7;
this.colMsg.FillWeight = 200F;
this.colMsg.HeaderText = "操作结果";
this.colMsg.Name = "colMsg";
this.colMsg.ReadOnly = true;
//
// PDDGetChanceProdForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -1091,8 +1091,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ucGroupBoxEx1.ResumeLayout(false);
this.ucGroupBoxEx1.PerformLayout();
this.splitContainer2.Panel1.ResumeLayout(false);
this.splitContainer2.Panel2.ResumeLayout(false);
this.splitContainer2.Panel2.PerformLayout();
@@ -1103,8 +1101,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit();
this.splitContainer3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
this.ucGroupBoxEx1.ResumeLayout(false);
this.ucGroupBoxEx1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvChanceProduct)).EndInit();
this.ResumeLayout(false);
@@ -1146,16 +1146,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
private DevComponents.DotNetBar.PanelEx btnStop;
private DevComponents.DotNetBar.PanelEx btnSelectSuccess;
private DevComponents.DotNetBar.PanelEx btnStopStop;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn colChanceId;
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
private System.Windows.Forms.DataGridViewImageColumn colImg;
private System.Windows.Forms.DataGridViewTextBoxColumn colGoodsName;
private System.Windows.Forms.DataGridViewTextBoxColumn colHotValue;
private System.Windows.Forms.DataGridViewTextBoxColumn colCate;
private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
private System.Windows.Forms.DataGridViewLinkColumn colDel;
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox txtMinPrice;
@@ -1181,5 +1171,15 @@ namespace TemuKJD.PDDForms.ProductSelectForms
private System.Windows.Forms.TextBox txtFilter;
private System.Windows.Forms.ComboBox cmbFilterType;
private DevComponents.DotNetBar.PanelEx btnSelectNotGetDetail;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn colChanceId;
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
private System.Windows.Forms.DataGridViewImageColumn colImg;
private System.Windows.Forms.DataGridViewLinkColumn colDel;
private System.Windows.Forms.DataGridViewTextBoxColumn colGoodsName;
private System.Windows.Forms.DataGridViewTextBoxColumn colHotValue;
private System.Windows.Forms.DataGridViewTextBoxColumn colCate;
private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
}
}
@@ -87,11 +87,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
chanceProductResult.chance_id,
chanceProductResult.pic_url.Replace("https://", "http://"),
DataGridViewExtension.defaultBitmap,
"删除",
chanceProductResult.keywords,
chanceProductResult.hot_index,
chanceProductResult.cat_id_3.ParseToLong() == 0 ? new long?() : chanceProductResult.cat_id_3.ParseToLong(),
"采集详情后显示",
"删除",
chanceProductResult.getProductMsg
);
dgvChanceProduct.Rows[rowId].Height = 60;
@@ -507,11 +507,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
chanceProductResult.chance_id,
chanceProductResult.pic_url.Replace("https://", "http://"),
DataGridViewExtension.defaultBitmap,
"删除",
chanceProductResult.keywords,
chanceProductResult.hot_index,
chanceProductResult.cat_id_3.ParseToLong() == 0 ? new long?() : chanceProductResult.cat_id_3.ParseToLong(),
"预估:" + chanceProductResult.refer_price / 100.0 + " 采集详情后显示实际值",
"删除"
"预估:" + chanceProductResult.refer_price / 100.0 + " 采集详情后显示实际值"
);
dgvChanceProduct.Rows[rowId].Height = 60;
}));
@@ -153,6 +153,9 @@
<metadata name="colImg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colGoodsName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -165,9 +168,6 @@
<metadata name="colPrice.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMsg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
+900
View File
@@ -0,0 +1,900 @@

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using NaiBa.Util.Extension;
using Work;
using AllBase;
using AllBase.Helper;
using TemuKJD.BaseForms;
using TemuKJD.Extension;
using AllBase.Model.Result;
using TemuKJD.BLL.VDian;
using TemuKJD;
namespace KJD.VDianForms
{
public partial class VDianShopListForm : BaseGeneralForm
{
private bool isLoading = false;
public static VDianShopListForm Instance;
public VDianShopListForm()
{
InitializeComponent();
Instance = this;
}
public void HideBorder()
{
this.panel6.BorderStyle = BorderStyle.None;
}
private void ProductMappingVDianListFrom_Load(object sender, EventArgs e)
{
this.TitleText = this.Text;
this.dgvVDianShop.AddSelectorColumn("colSelect");
this.VisibleChanged += ProductMappingVDianListFrom_VisibleChanged;
}
private void ProductMappingVDianListFrom_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible == true)
RefreshDataGridView();
}
private void ProductMappingVDianLoginForm_SaveComplete(object obj)
{
VDianShopLoginInfo vDianShopLoginInfo = obj as VDianShopLoginInfo;
if (vDianShopLoginInfo == null)
return;
var vDianShop = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == vDianShopLoginInfo.ShopId);
if (vDianShop != null)
{
vDianShop.ShopName = vDianShopLoginInfo.ShopName;
vDianShop.Wdtoken = vDianShopLoginInfo.Wdtoken;
vDianShop.Cookies = vDianShopLoginInfo.Cookies;
vDianShop.ApiAuth = vDianShopLoginInfo.ApiAuth;
// 保存到服务器
SaveVDianToServer(vDianShop);
}
else
{
GlobalConfig.VDianShopLoginList.Add(vDianShopLoginInfo);
// 保存到服务器
SaveVDianToServer(vDianShopLoginInfo);
}
CheckShopLogin(new string[] { vDianShopLoginInfo.ShopId });
if (vDianShopLoginInfo.LoginStatus == 1)
{
// cookie保存到服务端
var url = BaseClass.BuildObjString("api/weidian&act=add_weidian_login_cookie").Replace("littlecow/api/weidian", "api/weidian");
var data = UserLogin.GetSignaturex() +
"&shop_id=" + vDianShopLoginInfo.ShopId +
"&shop_name=" + vDianShopLoginInfo.ShopName +
"&cookie=" + GetHtml.UrlEncodeUtf8(vDianShopLoginInfo.Cookies.Replace(" ", ""));
var html = GetHtml.PostUtf8(url, data);
// 测试获取cookie
//url = BaseClass.BuildObjString("api/weidian&act=get_weidian_login_cookie").Replace("littlecow/api/weidian", "api/weidian");
//data = UserLogin.GetSignaturex() + "&cid=6";
//html = GetHtml.PostUtf8(url, data);
}
}
/// <summary>
/// 读取服务端的微店
/// </summary>
public static List<VDianShopLoginInfo> GetServerVDian()
{
// 读取已有店铺
List<VDianShopLoginInfo> list = new List<VDianShopLoginInfo>();
string url = BaseClass.BuildObjString("shop&act=auto_login_shop_v1");
string data = UserLogin.GetSignaturex();
data += "&siteid=5";
string html = GetHtml.PostUtf8(url, data);
if (html == "Ok" || string.IsNullOrEmpty(html))
{
return list;
}
var m = BaseRegex.GetMatchRegex(ref html, "<shop([^>]+?)>");
for (int i = 0; m != null && i < m.Count; i++)
{
string shopStr = m[i].Groups[0].Value;
VDianShopLoginInfo vsp = new VDianShopLoginInfo();
vsp.ShopId = BaseRegex.GetStringJson(ref shopStr, "id");
if (vsp.ShopId == null)
continue;
vsp.Phone = BaseRegex.GetStringJson(ref shopStr, "user_name");
vsp.ShopName = BaseRegex.GetStringJson(ref shopStr, "name");
vsp.Password = BaseRegex.GetStringJson(ref shopStr, "password");
if (!string.IsNullOrEmpty(vsp.Password))
vsp.Password = DataOpenSSL.DecryptString(vsp.Password);
vsp.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id");
if (list.Any(l => l.Phone == vsp.Phone))
continue;
list.Add(vsp);
}
return list;
}
/// <summary>
/// 新增微店店铺列表
/// </summary>
/// <param name="vDianList"></param>
/// <param name="isUpdateContainsShop">是否更新服务端已存在的店铺</param>
public void SaveVDianToServer(List<VDianShopLoginInfo> vDianList, bool isUpdateContainsShop = false)
{
var shops = vDianList;
if (!isUpdateContainsShop)
{
/// <summary>
/// 读取店铺列表
/// </summary>
/// <returns></returns>
List<VDianShopLoginInfo> list = new List<VDianShopLoginInfo>();
string url = BaseClass.BuildObjString("shop&act=auto_login_shop_v1");
string data = UserLogin.GetSignaturex();
data += "&siteid=5";
string html = GetHtml.PostUtf8(url, data);
if (!string.IsNullOrEmpty(html))
{
var m = BaseRegex.GetMatchRegex(ref html, "<shop([^>]+?)>");
for (int i = 0; m != null && i < m.Count; i++)
{
string shopStr = m[i].Groups[0].Value;
VDianShopLoginInfo vsp = new VDianShopLoginInfo();
vsp.ShopId = BaseRegex.GetStringJson(ref shopStr, "id");
if (vsp.ShopId == null)
continue;
vsp.Phone = BaseRegex.GetStringJson(ref shopStr, "user_name");
vsp.ShopName = BaseRegex.GetStringJson(ref shopStr, "name");
vsp.Password = BaseRegex.GetStringJson(ref shopStr, "password");
if (!string.IsNullOrEmpty(vsp.Password))
vsp.Password = DataOpenSSL.DecryptString(vsp.Password);
vsp.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id");
if (list.Any(l => l.Phone == vsp.Phone))
continue;
list.Add(vsp);
}
}
// 写入服务端没有的店铺
shops = GlobalConfig.VDianShopLoginList.Where(s => !list.Any(l => l.ShopId == s.ShopId)).ToList();
}
for (int i = 0; i < shops.Count; i++)
{
var vShop = shops[i];
SaveVDianToServer(vShop);
}
}
/// <summary>
/// 将微店保存到服务器,如果已存在店铺,将会被覆盖
/// </summary>
public void SaveVDianToServer(VDianShopLoginInfo vShop)
{
string sShopPhone = vShop.Phone;
string sPassword = vShop.Password;
string sShopName = vShop.ShopName;
string sShopId = vShop.ShopId;
//string sGroup = "";
//var x = "123 +/";
//var r = GetHtml.UrlEncodeUtf8(DataOpenSSL.EncryptString(x));
//var rr = DataOpenSSL.DecryptString(GetHtml.UrlDecode(r));
var url = BaseClass.BuildObjString("shop&act=add_shop_vd_v1");
var data = UserLogin.GetSignaturex() + "&user_name=" + sShopPhone
+ "&password=" + GetHtml.UrlEncodeUtf8(DataOpenSSL.EncryptString(sPassword)) + "&name=" + sShopName
+ "&shop_id=" + sShopId //+ "&cat_name=" + sGroup
+ "&service=&buyer=&login_user=&upload_user="
+ "&collect_user=" + BaseClass.NickName + "&sub_account_name=&sub_account_password=";
data += "&site_id=5"; // 5为微店
var html = GetHtml.PostUtf8(url, data);
if (!string.IsNullOrEmpty(html) && html.Equals("Full Shop Count"))
{
BaseMsgForm.ShowInfo("当前版本支持的最大店铺数已满,请升级版本或另外购买一个账户");
}
if (string.IsNullOrEmpty(html))
{
Thread.Sleep(1000);
html = GetHtml.PostUtf8(url, data);
}
}
/// <summary>
/// 删除服务端的微店店铺
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public string DelServerVDianShop(string name)
{
string url = BaseClass.BuildObjString("shop&act=delete");
string data = UserLogin.GetSignaturex() + "&name=" + name;
data += "&site_id=5";
string html = GetHtml.PostUtf8(url, data);
return html;
}
private void dgvVDianShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string headerText = dgvVDianShop.Columns[e.ColumnIndex].HeaderText;
string shopId = dgvVDianShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
string shopName = dgvVDianShop.Rows[e.RowIndex].Cells["colShopName"].Value.ParseToString();
switch (headerText)
{
case "检测":
CheckShopLogin(new string[] { shopId });
break;
case "删除":
if (BaseMsgForm.ShowConfirm("确定删除店铺吗?").DialogResult == DialogResult.Cancel)
return;
DeleteVDianShop(e.RowIndex);
DelServerVDianShop(shopName);
//StartUp.SaveVDianShopLogin();
break;
case "编辑":
//var shopInfo = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == shopId);
//ProductMappingVDianEditForm editForm = new ProductMappingVDianEditForm(shopInfo);
//editForm.SaveComplete += EditForm_SaveComplete;
//editForm.ShowDialog();
break;
case "重登":
//ProductMappingVDianLoginForm.IsRun = true;
//var vDian = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == shopId);
//var phone = "";
//var password = "";
//if (vDian != null)
//{
// phone = vDian.Phone;
// password = vDian.Password;
//}
//ProductMappingVDianLoginForm productMappingVDianLoginForm = new ProductMappingVDianLoginForm(phone, password);
//productMappingVDianLoginForm.SaveComplete += ProductMappingVDianLoginForm_SaveComplete;
//productMappingVDianLoginForm.ShowDialog();
//ProductMappingVDianLoginForm.IsRun = false;
break;
case "上货认证":
//ProductMappingVDianLoginForm.IsRun = true;
//var vDian1 = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == shopId);
//if (vDian1 != null)
//{
// if (vDian1.UpGoodAuth == "去认证")
// {
// ProductMappingVDianLoginForm productMappingVDianLoginForm1 = new ProductMappingVDianLoginForm(vDian1, "upAuth");
// productMappingVDianLoginForm1.SaveComplete += ProductMappingVDianLoginForm_SaveComplete;
// productMappingVDianLoginForm1.ShowDialog();
// }
// else
// {
// ProductMappingVDianLoginForm productMappingVDianLoginForm1 = new ProductMappingVDianLoginForm(vDian1, "mainAuth");
// productMappingVDianLoginForm1.SaveComplete += ProductMappingVDianLoginForm_SaveComplete;
// productMappingVDianLoginForm1.ShowDialog();
// }
//}
//ProductMappingVDianLoginForm.IsRun = false;
break;
case "接口授权":
//ProductMappingVDianLoginForm.IsRun = true;
//var vDian2 = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == shopId);
//ApiAuth(vDian2);
//ProductMappingVDianLoginForm.IsRun = false;
break;
case "接口模式2":
//var vDian3 = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == shopId);
//if (vDian3 != null)
//{
// ProductMappingVDianLoginForm productMappingVDianLoginForm3 = new ProductMappingVDianLoginForm(vDian3, "api2Auth");
// productMappingVDianLoginForm3.SaveComplete += ProductMappingVDianLoginForm_SaveComplete;
// productMappingVDianLoginForm3.ShowDialog();
//}
break;
default:
dgvVDianShop.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvVDianShop.Rows[e.RowIndex].Cells["colSelect"].Value;
break;
}
}
private void EditForm_SaveComplete(object obj)
{
VDianShopLoginInfo vDianShopLoginInfo = obj as VDianShopLoginInfo;
if (vDianShopLoginInfo == null)
return;
//StartUp.SaveVDianShopLogin();
SaveVDianToServer(vDianShopLoginInfo);
DataGridViewRow dgvr = dgvVDianShop.Rows.Cast<DataGridViewRow>().Where(p =>
p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == vDianShopLoginInfo.ShopId).FirstOrDefault();
if (dgvr != null)
UpdateDataGridViewRowToken(dgvr, vDianShopLoginInfo);
}
private void dgvVDianShop_UserDeletedRow(object sender, DataGridViewRowEventArgs e)
{
}
/// <summary>
/// 检测店铺登录授权等情况
/// </summary>
/// <param name="shopIds"></param>
/// <param name="isStart"></param>
public void CheckShopLogin(string[] shopIds, bool isStart = false)
{
if (!isStart)
{
this.statusBar.lblTaskStatus.Text = "正在检测...";
this.statusBar.pgbTaskProgress.Value = 0;
this.statusBar.pgbTaskProgress.Maximum = shopIds.Length;
this.statusBar.pgbTaskProgress.Text = "0" + "/" + shopIds.Length;
}
Task.Run(() =>
{
for (int i = 0; i < shopIds.Length; i++)
{
var vDian = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == shopIds[i]);
if (vDian != null)
{
// 获取登录状态
// string url = "https://d.weidian.com/weidian-pc/pc-vue-index/index.html"; // 微店商家后台
var result = new VDianUpProdMappingBLL().request_vdian_sell_com(vDian.Wdtoken, vDian.Cookies);
Thread.Sleep(200);
if (result.Contains("LOGIN ERROR"))
{
vDian.LoginStatus = 2;
}
else if (result.Contains("\"message\":\"OK\""))
{
vDian.LoginStatus = 1;
}
// 获取店铺token列表
vDian.ApiAuth = "未授权";
#region 检测微店授权1
//int authCount = 0;
//foreach (var vDianAppKey in ProductMappingVDianLoginForm.lstVDianAppKey)
//{
// VDianApiToken vDianApiToken = new VDianApiToken() { AppKey = vDianAppKey, ApiAuth = "未授权", ApiAccessToken = "" };
// string data = UserLogin.GetSignaturex() + "&act=get_token_list&shop_id=" + vDian.ShopId + "&appkey=" + vDianApiToken.AppKey.AppKey;
// string sVDianTokenApiUrl = ProductMappingVDianLoginForm.VDianUrl + "?" + BaseClass.ObjUrl + "weidian_token&appkey=" + vDianAppKey?.AppKey;
// var res = GetHtml.PostUtf8(sVDianTokenApiUrl, data);
// if (res.Contains(","))
// {
// var arr = res.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
// if (arr.Length > 0)
// {
// var arr1 = arr[0].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
// if (arr1.Length == 2 && !string.IsNullOrEmpty(arr1[1]))
// {
// vDianApiToken.ApiAccessToken = arr1[1];
// bool outDay = false;
// var tokenExists = vDian.LstWdApiToken.FirstOrDefault(t => t.AppKey?.AppKey == vDianApiToken.AppKey?.AppKey);
// if (tokenExists != null && tokenExists.LastRefreshDate != DateTime.Now.ToString("yyyyMMdd"))
// {
// outDay = true;
// }
// var apiJson = "";
// if (!outDay)
// {
// apiJson = request_vdian_api_auth(vDianApiToken.ApiAccessToken);
// if (apiJson.Contains("\"status_code\":0"))
// {
// vDianApiToken.ApiAuth = "已授权";
// authCount++;
// }
// // 频次超过上限
// else if (apiJson.Contains("上限"))
// vDian.ApiAuth = "接口上限";
// else if (string.IsNullOrEmpty(apiJson))
// vDianApiToken.ApiAuth = "获取失败";
// }
// if (outDay || apiJson.Contains("无效或已过期") && apiJson.Contains("access_token:")) // 有效期只有1天,所以即使已授权也直接刷新
// {
// sVDianTokenApiUrl = ProductMappingVDianLoginForm.VDianUrl + "?" + BaseClass.ObjUrl + "weidian_token";
// data = UserLogin.GetSignaturex() + "&act=reflesh_token&shop_id=" + vDian.ShopId + "&appkey=" + vDianApiToken.AppKey.AppKey;
// var refreshResult = GetHtml.PostUtf8(sVDianTokenApiUrl, data);
// if (refreshResult.StartsWith("ok,") && refreshResult.Length > 3)
// {
// vDianApiToken.ApiAccessToken = refreshResult.Substring(3);
// vDianApiToken.ApiAuth = "已授权";
// authCount++;
// }
// else if (refreshResult.StartsWith("ok,"))
// vDianApiToken.ApiAuth = "已过期";
// else
// vDianApiToken.ApiAuth = "获取失败";
// if (tokenExists != null)
// {
// tokenExists.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
// }
// }
// }
// }
// }
// var vDianTokenExists = vDian.LstWdApiToken.FirstOrDefault(t => t.AppKey?.AppKey == vDianApiToken.AppKey?.AppKey);
// if (vDianTokenExists != null)
// {
// vDianTokenExists.ApiAccessToken = vDianApiToken.ApiAccessToken;
// vDianTokenExists.ApiAuth = vDianApiToken.ApiAuth;
// }
// else
// vDian.LstWdApiToken.Add(vDianApiToken);
//}
//vDian.ApiAuth = authCount < 2 ? "未授权" : "已授权";
#endregion
vDian.Api2Auth = "未授权";
#region 验证授权2
//if (!string.IsNullOrEmpty(vDian.WdApi2Token))
//{
// var api2Json = request_vdian_api_auth(vDian.WdApi2Token);
// if (api2Json.Contains("\"status_code\":0"))
// vDian.Api2Auth = "已授权";
// else if (api2Json.Contains("无效或已过期") && api2Json.Contains("access_token:"))
// {
// var refreshResult = MappingVDianThirdApiBLL.RefreshVDianAccessToken(vDian.WdApi2RefreshToken);
// if (refreshResult.Contains("\"status_code\":0"))
// {
// vDian.WdApi2Token = BaseRegex.GetMatchRegexString(refreshResult, "\"access_token\":\"([\\s\\S]*?)\"");
// vDian.WdApi2RefreshToken = BaseRegex.GetMatchRegexString(refreshResult, "\"refresh_token\":\"([\\s\\S]*?)\"");
// vDian.Api2Auth = "已授权";
// }
// else
// vDian.Api2Auth = "已过期";
// }
// // 频次超过上限
// else if (api2Json.Contains("上限"))
// vDian.Api2Auth = "接口上限";
// else
// vDian.Api2Auth = "获取失败";
//}
//// 是否通过上货认证
//var authResult = request_vdian_upgood_auth_com(vDian.Cookies);
//vDian.UpGoodAuth = "去认证";
//vDian.MainAuth = "未认证";
//if (authResult.ToLower().Replace("\"", "").Contains("status:unauth") || authResult.Contains("信息不存在"))
// vDian.UpGoodAuth = "去认证";
//else if (authResult.Contains("LOGIN ERROR"))
// vDian.UpGoodAuth = "请先登录";
//else if (authResult.ToLower().Replace("\"", "").Contains("成功"))
//{
// // 企业认证信息: {"status":{"code":0,"message":"成功","description":"成功"},"result":{"basicAuthModel":{"authTime":1596704856000,"certNo":"**************4311","certType":"BL","payTypes":["WD"],"updateTime":1596704856000,"userId":"1504742654","userName":"厦门*****有限公司","userType":"COMPANY","verifyTypes":["BL","LEGAL"]},"licenseAuthModel":{"beginTime":1596643200000,"businessAddress":"厦门市思明区东坪山路93号101单元","businessArea":"福建省-厦门市-思明区","certNo":"**************4311","certStatus":"USABLE","companyName":"厦门*****有限公司","createTime":1596704856000,"endTime":2214489600000,"licenseImg":"https://private.weidian.com/audit1504742654-776e00000173c2aee4650a217216_4032_3024.jpg","licenseType":1,"updateTime":1596704856000}}}
// if (authResult.Contains("\"CERT\"") == false && authResult.Contains("\"LEGAL\"") == false)
// vDian.UpGoodAuth = "需主体认证";
// else
// {
// vDian.UpGoodAuth = "认证成功";
// vDian.MainAuth = "认证成功";
// }
//}
//else
// vDian.UpGoodAuth = "获取失败";
#endregion
// 每天第一次打开验证的话要验证一个保存一次,防止没验证完关闭了再打开浪费接口资源。
if (!isStart)
AddDataGridViewRow(vDian);
}
if (this.Created && !isStart)
{
if (i % 5 == 0 || i == shopIds.Length - 1)
{
this.Invoke(new Action(() =>
{
this.statusBar.lblTaskStatus.Text = "正在检测...";
this.statusBar.pgbTaskProgress.Value = (i + 1);
this.statusBar.pgbTaskProgress.Text = (i + 1) + "/" + shopIds.Length;
}));
}
}
//if (isStart)
// StartUp.SaveVDianShopLogin();
}
if (this.Created && !isStart)
{
this.Invoke(new Action(() =>
{
//this.btnCheck.Text = "检测选中";
this.statusBar.lblTaskStatus.Text = "检测完毕";
}));
}
//if (!isStart)
// StartUp.SaveVDianShopLogin();
});
}
private void AddDataGridViewRow(VDianShopLoginInfo param, bool isRefresh = false)
{
if (!this.Created)
return;
this.Invoke(new Action(() =>
{
DataGridViewRow dgvr = dgvVDianShop.Rows.Cast<DataGridViewRow>().Where(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == param.ShopId).FirstOrDefault();
if (dgvr != null)
{
UpdateDataGridViewRowToken(dgvr, param);
if (!isRefresh)
{
// help to scroll to checked
dgvVDianShop.CurrentCell = dgvr.Cells[2];
}
}
else
{
int rowIndex = this.dgvVDianShop.Rows.Add(param.ShopId,
false,
param.ShopName,
param.Phone,
param.Cookies,
param.LoginStatus == 1 ? "正常" : "未登录",
"检测",
"重登",
param.UpGoodAuth,
param.ApiAuth,
param.Api2Auth,
"编辑",
"删除");
if (!isRefresh)
{
// help to scroll to latest checked
dgvVDianShop.CurrentCell = this.dgvVDianShop.Rows[rowIndex].Cells[2];
}
}
}));
}
private void UpdateDataGridViewRowToken(DataGridViewRow dgvr, VDianShopLoginInfo param)
{
if (dgvr == null || param == null)
return;
dgvr.Cells["colLoginStatus"].Value = (param.LoginStatus == 1 ? "正常" : "未登录");
dgvr.Cells["colCookie"].Value = param.Cookies;
dgvr.Cells["colUpGoodAuth"].Value = param.UpGoodAuth;
dgvr.Cells["colApiAuth"].Value = param.ApiAuth;
dgvr.Cells["colApi2Auth"].Value = param.Api2Auth;
dgvr.Cells["colPhone"].Value = param.Phone;
}
private void RefreshDataGridView()
{
if (isLoading)
{
//BaseMsgForm.ShowError("当前正在加载,请稍等");
return;
}
this.statusBar.pgbTaskProgress.Maximum = GlobalConfig.VDianShopLoginList.Count;
this.dgvVDianShop.Rows.Clear();
Task.Run(() =>
{
isLoading = true;
for (int i = 0; i < GlobalConfig.VDianShopLoginList.Count; i++)
{
if (i % 5 == 0 || i == GlobalConfig.VDianShopLoginList.Count - 1)
{
if (this.Created)
{
this.Invoke(new Action(() =>
{
this.statusBar.lblTaskStatus.Text = "正在加载...";
this.statusBar.pgbTaskProgress.Value = (i + 1);
this.statusBar.pgbTaskProgress.Text = (i + 1) + "/" + GlobalConfig.VDianShopLoginList.Count;
}));
}
}
AddDataGridViewRow(GlobalConfig.VDianShopLoginList[i], true);
}
if (this.Created)
{
this.Invoke(new Action(() =>
{
this.statusBar.lblTaskStatus.Text = "加载完毕";
}));
}
isLoading = false;
});
}
private void DeleteVDianShop(int rowIndex)
{
string shopId = this.dgvVDianShop.Rows[rowIndex].Cells["colShopId"].Value.ParseToString();
dgvVDianShop.Rows.RemoveAt(rowIndex);
GlobalConfig.VDianShopLoginList.RemoveAll(v => v.ShopId == shopId);
}
private void btnCheck_Click(object sender, EventArgs e)
{
if (this.btnCheck.Text == "检测选中")
{
List<string> shopIdList = GetCheckedTokenList();
if (!shopIdList.Any())
{
BaseMsgForm.ShowError("请选择需要检测的店铺");
return;
}
CheckShopLogin(shopIdList.ToArray());
}
}
private List<string> GetCheckedTokenList()
{
List<string> shopIdList = new List<string>();
for (int i = 0; i < dgvVDianShop.Rows.Count; i++)
{
if (dgvVDianShop.Rows[i].Cells["colSelect"].Value.ParseToBool())
{
string shopId = dgvVDianShop.Rows[i].Cells["colShopId"].Value.ParseToString();
shopIdList.Add(shopId);
}
}
return shopIdList;
}
// 批量导入店铺
private void btnImport_Click(object sender, EventArgs e)
{
// ProductMappingVDianLoginForm.IsRun = true;
ImportShop();
}
void ImportShop()
{
BaseMsgForm.ShowInfo("微店店铺导入格式:店铺手机号-----店铺密码\r\n多个店铺请每个店铺新起一行。");
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "文本文件(*.txt)|*.txt";
openFileDialog.RestoreDirectory = true;
openFileDialog.FilterIndex = 1;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
using (StreamReader sr = new StreamReader(openFileDialog.FileName, System.Text.Encoding.Default))
{
string fileName = openFileDialog.FileName;
string importStr = sr.ReadToEnd().Trim();
var strArr = importStr.Replace("\r", "").Split('\n');
for (int i = 0; i < strArr.Length; i++)
{
//if (ProductMappingVDianLoginForm.IsRun == false)
// break;
//try
//{
// // 通用格式
// if (strArr[i].Contains("-----"))
// {
// var productArr = strArr[i].Split(new string[] { "-----" }, StringSplitOptions.RemoveEmptyEntries);
// if (productArr.Length >= 2)
// {
// var phone = productArr[0];
// var password = productArr[1];
// ProductMappingVDianLoginForm productMappingVDianLoginForm = new ProductMappingVDianLoginForm(phone, password);
// productMappingVDianLoginForm.SaveComplete += ProductMappingVDianLoginForm_SaveComplete;
// productMappingVDianLoginForm.ShowDialog();
// }
// }
//}
//catch (Exception ex)
//{
//}
}
}
this.btnImport.Enabled = true;
}
}
/// <summary>
/// 读取微店上货认证信息
/// </summary>
/// <param name="response"></param>
/// <returns></returns>
private string request_vdian_upgood_auth_com(string wdCookie)
{
var spider_token = BaseClass.GetMd5(DateTime.Now.ToString()).Substring(0, 4).ToLower();
//https://thor.weidian.com/authentication/realname.getUserAuthInfoWithScopes/1.0?param=%7B%22scopes%22:%22BASIC,LICENSE%22%7D&wdtoken=3a5523f7
string referer = "https://weidian.com/pay/member/credential-status.html?essentials=twoParam&redirect=https://d.weidian.com/weidian-pc/pc-vue-item/?spider_token=" + spider_token;
string url = "https://thor.weidian.com/authentication/realname.queryAuthStatus/1.0?v=1.0&timestamp=" + BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
url = "https://thor.weidian.com/authentication/realname.getUserAuthInfoWithScopes/1.0?param=%7B%22scopes%22:%22BASIC,LICENSE%22%7D";
return request_vdian(url, referer, wdCookie);
}
/// <summary>
/// 微店主题认证
/// </summary>
/// <param name="wdCookie"></param>
/// <returns></returns>
private string request_vdian_main_auth_com(string wdCookie)
{
string referer = "https://h5.weidian.com/m/shop-certify/status.html";
string url = "https://h5.weidian.com/m/shop-certify/status.html";
return request_vdian(url, referer, wdCookie);
}
public static List<string> CheckTokenStrList = new List<string>()
{
BaseClass.VDianApi + "api?param={{}}&public={{\"method\":\"vdian.order.expresslist\",\"access_token\":\"{0}\",\"version\":\"1.0\"}}" ,
BaseClass.VDianApi + "api?param={{}}&public={{\"method\":\"vdian.sku.attrs.get\",\"access_token\":\"{0}\",\"version\":\"1.0\",\"format\":\"json\"}}" ,
BaseClass.VDianApi + "api?param={{\"pageNum\":0,\"pageSize\":10}}&public={{\"method\":\"vdian.supplies.list\",\"format\":\"json\",\"access_token\":\"{0}\",\"version\":\"1.0\"}}",
BaseClass.VDianApi + "api?param={{}}&public={{\"method\":\"dinggou.get.versions\",\"access_token\":\"{0}\",\"version\":\"1.0\",\"format\":\"json\"}}",
BaseClass.VDianApi + "api?param={{}}&public={{\"method\":\"get.user.dinggou.info\",\"access_token\":\"{0}\",\"version\":\"1.0\",\"format\":\"json\"}}",
};
/// <summary>
/// 验证token
/// </summary>
/// <param name="access_token"></param>
/// <returns></returns>
private string request_vdian_api_auth(string access_token)
{
string baseUrl = CheckTokenStrList[Randomx.GetId(CheckTokenStrList.Count)];
string url = string.Format(baseUrl, access_token);
//url = string.Format(CheckTokenStrList[0], access_token);
var result = request_vdian(url, "https://api.vdian.com/api", "");
while (result.Contains("上限") && CheckTokenStrList.Count > 0)
{
Thread.Sleep(Randomx.GetId(300, 500));
CheckTokenStrList.Remove(baseUrl);
baseUrl = CheckTokenStrList[Randomx.GetId(CheckTokenStrList.Count)];
url = string.Format(baseUrl, access_token);
result = request_vdian(url, "https://api.vdian.com/api", "");
}
return result;
}
private string request_vdian(string url, string referer, string cookies)
{
HttpWebResponse response = null;
string responseText = "";
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.KeepAlive = true;
request.Accept = "*/*";
request.Headers.Add("Origin", @"https://weidian.com");
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36";
request.ContentType = "application/x-www-form-urlencoded";
request.Referer = referer;
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response;
responseText = "error: " + e.Message;
}
catch (Exception ex)
{
if (response != null) response.Close();
responseText = "error: " + ex.Message;
}
if (response != null)
{
if (string.IsNullOrEmpty(responseText))
responseText = GetHtml.ReadResponse(response);
response.Close();
}
Thread.Sleep(500);
return responseText;
}
private void buttonX1_Click(object sender, EventArgs e)
{
GetHtml.OpenUrl("https://d.weidian.com/weidian-pc/pc-vue-item/");
}
private void btnLoginSelect_Click(object sender, EventArgs e)
{
//ProductMappingVDianLoginForm.IsRun = true;
if (this.btnLoginSelect.Text == "登录选中")
{
List<string> shopIdList = GetCheckedTokenList();
if (!shopIdList.Any())
{
BaseMsgForm.ShowError("请选择需要登录的店铺");
return;
}
foreach (var shopId in shopIdList)
{
//if (ProductMappingVDianLoginForm.IsRun == false)
// break;
var vDian = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == shopId);
if (vDian != null && !string.IsNullOrEmpty(vDian.Phone)/* && !string.IsNullOrEmpty(vDian.Password)*/)
{
//ProductMappingVDianLoginForm productMappingVDianLoginForm = new ProductMappingVDianLoginForm(vDian.Phone, vDian.Password);
//productMappingVDianLoginForm.SaveComplete += ProductMappingVDianLoginForm_SaveComplete;
//productMappingVDianLoginForm.ShowDialog();
}
}
}
}
private void btnAuthSelect_Click(object sender, EventArgs e)
{
//ProductMappingVDianLoginForm.IsRun = true;
//if (this.btnAuthSelect.Text == "授权选中")
//{
// List<string> shopIdList = GetCheckedTokenList();
// if (!shopIdList.Any())
// {
// BaseMsgForm.ShowError("请选择需要授权的店铺");
// return;
// }
// foreach (var shopId in shopIdList)
// {
// if (ProductMappingVDianLoginForm.IsRun == false)
// break;
// var vDian = GlobalConfig.VDianShopLoginList.FirstOrDefault(v => v.ShopId == shopId);
// ApiAuth(vDian);
// }
//}
}
private void ApiAuth(VDianShopLoginInfo vDian)
{
//if (vDian != null)
//{
// if (ProductMappingVDianLoginForm.lstVDianAppKey.Count > 0)
// {
// foreach (var appKey in ProductMappingVDianLoginForm.lstVDianAppKey)
// {
// if (ProductMappingVDianLoginForm.IsRun == false)
// break;
// ProductMappingVDianLoginForm productMappingVDianLoginForm2 = new ProductMappingVDianLoginForm(vDian, "apiAuth", appKey);
// if (ProductMappingVDianLoginForm.lstVDianAppKey.LastOrDefault() == appKey)
// productMappingVDianLoginForm2.SaveComplete += ProductMappingVDianLoginForm_SaveComplete;
// productMappingVDianLoginForm2.ShowDialog();
// }
// }
// else
// {
// if (ProductMappingVDianLoginForm.IsRun == false)
// return;
// ProductMappingVDianLoginForm productMappingVDianLoginForm2 = new ProductMappingVDianLoginForm(vDian, "apiAuth");
// productMappingVDianLoginForm2.SaveComplete += ProductMappingVDianLoginForm_SaveComplete;
// productMappingVDianLoginForm2.ShowDialog();
// }
//}
}
}
}
+492
View File
@@ -0,0 +1,492 @@
namespace KJD.VDianForms
{
partial class VDianShopListForm
{
/// <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()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(VDianShopListForm));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.panel5 = new System.Windows.Forms.Panel();
this.btnAuthSelect = new DevComponents.DotNetBar.ButtonX();
this.btnLoginSelect = new DevComponents.DotNetBar.ButtonX();
this.btnCheck = new DevComponents.DotNetBar.ButtonX();
this.panel4 = new System.Windows.Forms.Panel();
this.labelX1 = new DevComponents.DotNetBar.LabelX();
this.btnImport = new DevComponents.DotNetBar.ButtonX();
this.buttonX1 = new DevComponents.DotNetBar.ButtonX();
this.panel2 = new System.Windows.Forms.Panel();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.dgvVDianShop = new TemuKJD.UserComponent.DataGridViewXEx();
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colPhone = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCookie = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colLoginStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colShopOperate = new System.Windows.Forms.DataGridViewLinkColumn();
this.colRelogin = new System.Windows.Forms.DataGridViewLinkColumn();
this.colUpGoodAuth = new System.Windows.Forms.DataGridViewLinkColumn();
this.colApiAuth = new System.Windows.Forms.DataGridViewLinkColumn();
this.colApi2Auth = new System.Windows.Forms.DataGridViewLinkColumn();
this.ColEdit = new System.Windows.Forms.DataGridViewLinkColumn();
this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn();
this.panel3 = new System.Windows.Forms.Panel();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panel6 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
this.panel5.SuspendLayout();
this.panel4.SuspendLayout();
this.panel2.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvVDianShop)).BeginInit();
this.panel3.SuspendLayout();
this.panel6.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.White;
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel2);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panel2);
this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4);
this.splitContainer1.Size = new System.Drawing.Size(858, 499);
this.splitContainer1.SplitterWidth = 2;
this.splitContainer1.TabIndex = 32;
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.ColumnCount = 2;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel2.Controls.Add(this.panel5, 1, 0);
this.tableLayoutPanel2.Controls.Add(this.panel4, 0, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(858, 50);
this.tableLayoutPanel2.TabIndex = 37;
//
// panel5
//
this.panel5.Controls.Add(this.btnAuthSelect);
this.panel5.Controls.Add(this.btnLoginSelect);
this.panel5.Controls.Add(this.btnCheck);
this.panel5.Location = new System.Drawing.Point(626, 3);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(229, 44);
this.panel5.TabIndex = 1;
//
// btnAuthSelect
//
this.btnAuthSelect.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnAuthSelect.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnAuthSelect.Location = new System.Drawing.Point(151, 12);
this.btnAuthSelect.Name = "btnAuthSelect";
this.btnAuthSelect.Size = new System.Drawing.Size(66, 23);
this.btnAuthSelect.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnAuthSelect.TabIndex = 38;
this.btnAuthSelect.Text = "授权选中";
this.btnAuthSelect.Click += new System.EventHandler(this.btnAuthSelect_Click);
//
// btnLoginSelect
//
this.btnLoginSelect.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnLoginSelect.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnLoginSelect.Location = new System.Drawing.Point(79, 12);
this.btnLoginSelect.Name = "btnLoginSelect";
this.btnLoginSelect.Size = new System.Drawing.Size(66, 23);
this.btnLoginSelect.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnLoginSelect.TabIndex = 37;
this.btnLoginSelect.Text = "登录选中";
this.btnLoginSelect.Click += new System.EventHandler(this.btnLoginSelect_Click);
//
// btnCheck
//
this.btnCheck.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnCheck.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnCheck.Location = new System.Drawing.Point(7, 12);
this.btnCheck.Name = "btnCheck";
this.btnCheck.Size = new System.Drawing.Size(66, 23);
this.btnCheck.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnCheck.TabIndex = 33;
this.btnCheck.Text = "检测选中";
this.btnCheck.Click += new System.EventHandler(this.btnCheck_Click);
//
// panel4
//
this.panel4.Controls.Add(this.labelX1);
this.panel4.Controls.Add(this.btnImport);
this.panel4.Controls.Add(this.buttonX1);
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel4.Location = new System.Drawing.Point(3, 3);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(617, 44);
this.panel4.TabIndex = 0;
//
// labelX1
//
//
//
//
this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX1.ForeColor = System.Drawing.Color.Blue;
this.labelX1.Location = new System.Drawing.Point(155, 13);
this.labelX1.Name = "labelX1";
this.labelX1.Size = new System.Drawing.Size(476, 23);
this.labelX1.TabIndex = 36;
this.labelX1.Text = "应微店主体认证要求,请点击上货认证下链接尽快完成主体认证,以免影响数据转换。";
this.labelX1.Visible = false;
//
// btnImport
//
this.btnImport.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnImport.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnImport.Location = new System.Drawing.Point(6, 12);
this.btnImport.Name = "btnImport";
this.btnImport.Size = new System.Drawing.Size(66, 23);
this.btnImport.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnImport.TabIndex = 34;
this.btnImport.Text = "店铺导入";
this.btnImport.Click += new System.EventHandler(this.btnImport_Click);
//
// buttonX1
//
this.buttonX1.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.buttonX1.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.buttonX1.Location = new System.Drawing.Point(80, 12);
this.buttonX1.Name = "buttonX1";
this.buttonX1.Size = new System.Drawing.Size(66, 23);
this.buttonX1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.buttonX1.TabIndex = 35;
this.buttonX1.Text = "打开地址";
this.buttonX1.Click += new System.EventHandler(this.buttonX1_Click);
//
// panel2
//
this.panel2.Controls.Add(this.tableLayoutPanel1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Padding = new System.Windows.Forms.Padding(8, 0, 8, 8);
this.panel2.Size = new System.Drawing.Size(858, 447);
this.panel2.TabIndex = 0;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.dgvVDianShop, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.panel3, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(8, 0);
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(842, 439);
this.tableLayoutPanel1.TabIndex = 28;
//
// dgvVDianShop
//
this.dgvVDianShop.AllowUserToAddRows = false;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.dgvVDianShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.dgvVDianShop.BackgroundColor = System.Drawing.Color.White;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvVDianShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dgvVDianShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvVDianShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colShopId,
this.colSelect,
this.colShopName,
this.colPhone,
this.colCookie,
this.colLoginStatus,
this.colShopOperate,
this.colRelogin,
this.colUpGoodAuth,
this.colApiAuth,
this.colApi2Auth,
this.ColEdit,
this.colDelete});
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvVDianShop.DefaultCellStyle = dataGridViewCellStyle3;
this.dgvVDianShop.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvVDianShop.EnableHeadersVisualStyles = false;
this.dgvVDianShop.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
this.dgvVDianShop.Location = new System.Drawing.Point(0, 0);
this.dgvVDianShop.Margin = new System.Windows.Forms.Padding(0);
this.dgvVDianShop.Name = "dgvVDianShop";
this.dgvVDianShop.ReadOnly = true;
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvVDianShop.RowHeadersDefaultCellStyle = dataGridViewCellStyle4;
this.dgvVDianShop.RowTemplate.Height = 23;
this.dgvVDianShop.Size = new System.Drawing.Size(842, 399);
this.dgvVDianShop.TabIndex = 26;
this.dgvVDianShop.UseCustomBackgroundColor = true;
this.dgvVDianShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvVDianShop_CellContentClick);
this.dgvVDianShop.UserDeletedRow += new System.Windows.Forms.DataGridViewRowEventHandler(this.dgvVDianShop_UserDeletedRow);
//
// colShopId
//
this.colShopId.HeaderText = "店铺Id";
this.colShopId.Name = "colShopId";
this.colShopId.ReadOnly = true;
this.colShopId.Visible = false;
//
// colSelect
//
this.colSelect.HeaderText = "选";
this.colSelect.Name = "colSelect";
this.colSelect.ReadOnly = true;
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colSelect.Width = 30;
//
// colShopName
//
this.colShopName.HeaderText = "店铺名称";
this.colShopName.Name = "colShopName";
this.colShopName.ReadOnly = true;
this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colShopName.Width = 145;
//
// colPhone
//
this.colPhone.HeaderText = "手机";
this.colPhone.Name = "colPhone";
this.colPhone.ReadOnly = true;
this.colPhone.Width = 95;
//
// colCookie
//
this.colCookie.HeaderText = "店铺Cookie";
this.colCookie.Name = "colCookie";
this.colCookie.ReadOnly = true;
this.colCookie.Visible = false;
//
// colLoginStatus
//
this.colLoginStatus.HeaderText = "登录状态";
this.colLoginStatus.Name = "colLoginStatus";
this.colLoginStatus.ReadOnly = true;
this.colLoginStatus.Width = 75;
//
// colShopOperate
//
this.colShopOperate.HeaderText = "检测";
this.colShopOperate.Name = "colShopOperate";
this.colShopOperate.ReadOnly = true;
this.colShopOperate.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colShopOperate.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colShopOperate.Width = 55;
//
// colRelogin
//
this.colRelogin.HeaderText = "重登";
this.colRelogin.Name = "colRelogin";
this.colRelogin.ReadOnly = true;
this.colRelogin.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colRelogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colRelogin.Width = 55;
//
// colUpGoodAuth
//
this.colUpGoodAuth.HeaderText = "上货认证";
this.colUpGoodAuth.Name = "colUpGoodAuth";
this.colUpGoodAuth.ReadOnly = true;
this.colUpGoodAuth.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colUpGoodAuth.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// colApiAuth
//
this.colApiAuth.HeaderText = "接口授权";
this.colApiAuth.Name = "colApiAuth";
this.colApiAuth.ReadOnly = true;
this.colApiAuth.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colApiAuth.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colApiAuth.Width = 75;
//
// colApi2Auth
//
this.colApi2Auth.FillWeight = 90F;
this.colApi2Auth.HeaderText = "接口模式2";
this.colApi2Auth.Name = "colApi2Auth";
this.colApi2Auth.ReadOnly = true;
this.colApi2Auth.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colApi2Auth.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colApi2Auth.Visible = false;
this.colApi2Auth.Width = 75;
//
// ColEdit
//
this.ColEdit.HeaderText = "编辑";
this.ColEdit.Name = "ColEdit";
this.ColEdit.ReadOnly = true;
this.ColEdit.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.ColEdit.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.ColEdit.Width = 55;
//
// colDelete
//
this.colDelete.HeaderText = "删除";
this.colDelete.Name = "colDelete";
this.colDelete.ReadOnly = true;
this.colDelete.Width = 55;
//
// panel3
//
this.panel3.Controls.Add(this.statusBar);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 399);
this.panel3.Margin = new System.Windows.Forms.Padding(0);
this.panel3.Name = "panel3";
this.panel3.Padding = new System.Windows.Forms.Padding(0, 8, 0, 0);
this.panel3.Size = new System.Drawing.Size(842, 40);
this.panel3.TabIndex = 27;
//
// statusBar
//
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.statusBar.Location = new System.Drawing.Point(0, 8);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(842, 32);
this.statusBar.TabIndex = 27;
//
// panel6
//
this.panel6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel6.Controls.Add(this.splitContainer1);
this.panel6.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel6.Location = new System.Drawing.Point(1, 33);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(860, 501);
this.panel6.TabIndex = 33;
//
// VDianShopListForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(862, 535);
this.Controls.Add(this.panel6);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "VDianShopListForm";
this.Text = "微店列表";
this.TitleText = "微店列表";
this.Load += new System.EventHandler(this.ProductMappingVDianListFrom_Load);
this.Controls.SetChildIndex(this.panel6, 0);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.tableLayoutPanel2.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvVDianShop)).EndInit();
this.panel3.ResumeLayout(false);
this.panel6.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.Panel panel2;
private TemuKJD.UserComponent.DataGridViewXEx dgvVDianShop;
private TemuKJD.UserControls.StatusBarUserControl statusBar;
private DevComponents.DotNetBar.ButtonX btnCheck;
private DevComponents.DotNetBar.ButtonX btnImport;
private DevComponents.DotNetBar.ButtonX buttonX1;
private DevComponents.DotNetBar.LabelX labelX1;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopName;
private System.Windows.Forms.DataGridViewTextBoxColumn colPhone;
private System.Windows.Forms.DataGridViewTextBoxColumn colCookie;
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginStatus;
private System.Windows.Forms.DataGridViewLinkColumn colShopOperate;
private System.Windows.Forms.DataGridViewLinkColumn colRelogin;
private System.Windows.Forms.DataGridViewLinkColumn colUpGoodAuth;
private System.Windows.Forms.DataGridViewLinkColumn colApiAuth;
private System.Windows.Forms.DataGridViewLinkColumn colApi2Auth;
private System.Windows.Forms.DataGridViewLinkColumn ColEdit;
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Panel panel6;
private DevComponents.DotNetBar.ButtonX btnLoginSelect;
private DevComponents.DotNetBar.ButtonX btnAuthSelect;
}
}
+334
View File
@@ -0,0 +1,334 @@
<?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="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPhone.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCookie.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colLoginStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopOperate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colRelogin.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colUpGoodAuth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colApiAuth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colApi2Auth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColEdit.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDelete.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAQcgAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ
AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA
OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT
AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj///////
///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP//
//////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4
mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ
mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ
mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ
mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ
mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ
mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY
//+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ
mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf
//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/
//uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv///
//+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP//
if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ
mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz
MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///
iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4
kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP//
/////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ
mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ
mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ
mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ
mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ
//85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ
mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ
mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ
mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT
mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj///////
///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn///
//////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ
mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ
mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ
mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ
mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj///////////
///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY//////
////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP
//////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4
/4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ
mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ
mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7
mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4
eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb////
///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ
mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj/////
/4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/
///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ
mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ
mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ
mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ
mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA
AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA
AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA
AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w
AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA
Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA
AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA
AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA
AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA
AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA
AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA
AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA
AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD/////
wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w==
</value>
</data>
</root>
+305
View File
@@ -0,0 +1,305 @@
namespace TemuKJD.VDianForms
{
partial class VDianShopLoginForm
{
/// <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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(VDianShopLoginForm));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.panel2 = new System.Windows.Forms.Panel();
this.txtUserName = new System.Windows.Forms.TextBox();
this.btnLoginAgain = new TemuKJD.UserControls.ButtonEx();
this.chkCloseAfterLogin = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.label2 = new System.Windows.Forms.Label();
this.btnReload = new TemuKJD.UserControls.ButtonEx();
this.label1 = new System.Windows.Forms.Label();
this.btnStop = new TemuKJD.UserControls.ButtonEx();
this.btnCopyPassword = new TemuKJD.UserControls.ButtonEx();
this.txtPassWord = new System.Windows.Forms.TextBox();
this.btnCopyUserName = new TemuKJD.UserControls.ButtonEx();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.txtAddress = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.BackColor = System.Drawing.Color.White;
this.splitContainer1.Panel2.Controls.Add(this.panel2);
this.splitContainer1.Panel2.Paint += new System.Windows.Forms.PaintEventHandler(this.splitContainer1_Panel2_Paint);
this.splitContainer1.Size = new System.Drawing.Size(1022, 704);
this.splitContainer1.SplitterDistance = 547;
this.splitContainer1.SplitterWidth = 3;
this.splitContainer1.TabIndex = 4;
//
// panel2
//
this.panel2.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.panel2.Controls.Add(this.txtUserName);
this.panel2.Controls.Add(this.btnLoginAgain);
this.panel2.Controls.Add(this.chkCloseAfterLogin);
this.panel2.Controls.Add(this.label2);
this.panel2.Controls.Add(this.btnReload);
this.panel2.Controls.Add(this.label1);
this.panel2.Controls.Add(this.btnStop);
this.panel2.Controls.Add(this.btnCopyPassword);
this.panel2.Controls.Add(this.txtPassWord);
this.panel2.Controls.Add(this.btnCopyUserName);
this.panel2.Location = new System.Drawing.Point(22, 20);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(968, 121);
this.panel2.TabIndex = 463;
this.panel2.Visible = false;
//
// txtUserName
//
this.txtUserName.Location = new System.Drawing.Point(117, 37);
this.txtUserName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.txtUserName.Name = "txtUserName";
this.txtUserName.ReadOnly = true;
this.txtUserName.Size = new System.Drawing.Size(135, 23);
this.txtUserName.TabIndex = 373;
//
// btnLoginAgain
//
this.btnLoginAgain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnLoginAgain.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnLoginAgain.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLoginAgain.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnLoginAgain.ForeColor = System.Drawing.Color.White;
this.btnLoginAgain.Location = new System.Drawing.Point(639, 65);
this.btnLoginAgain.Margin = new System.Windows.Forms.Padding(2);
this.btnLoginAgain.Name = "btnLoginAgain";
this.btnLoginAgain.Size = new System.Drawing.Size(91, 25);
this.btnLoginAgain.TabIndex = 462;
this.btnLoginAgain.Text = "重新登录";
this.btnLoginAgain.UseVisualStyleBackColor = false;
this.btnLoginAgain.Click += new System.EventHandler(this.btnLoginAgain_Click);
//
// chkCloseAfterLogin
//
//
//
//
this.chkCloseAfterLogin.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.chkCloseAfterLogin.Checked = true;
this.chkCloseAfterLogin.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkCloseAfterLogin.CheckValue = "Y";
this.chkCloseAfterLogin.Location = new System.Drawing.Point(790, 40);
this.chkCloseAfterLogin.Name = "chkCloseAfterLogin";
this.chkCloseAfterLogin.Size = new System.Drawing.Size(135, 23);
this.chkCloseAfterLogin.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.chkCloseAfterLogin.TabIndex = 8;
this.chkCloseAfterLogin.Text = "登录成功后关闭窗口";
//
// label2
//
this.label2.Location = new System.Drawing.Point(73, 67);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(44, 17);
this.label2.TabIndex = 378;
this.label2.Text = "密码";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// btnReload
//
this.btnReload.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnReload.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnReload.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnReload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnReload.ForeColor = System.Drawing.Color.White;
this.btnReload.Location = new System.Drawing.Point(733, 65);
this.btnReload.Margin = new System.Windows.Forms.Padding(2);
this.btnReload.Name = "btnReload";
this.btnReload.Size = new System.Drawing.Size(91, 25);
this.btnReload.TabIndex = 371;
this.btnReload.Text = "重新加载";
this.btnReload.UseVisualStyleBackColor = false;
this.btnReload.Click += new System.EventHandler(this.btnReload_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(73, 40);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(44, 17);
this.label1.TabIndex = 377;
this.label1.Text = "用户名";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// btnStop
//
this.btnStop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnStop.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnStop.ForeColor = System.Drawing.Color.White;
this.btnStop.Location = new System.Drawing.Point(826, 65);
this.btnStop.Margin = new System.Windows.Forms.Padding(2);
this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(91, 25);
this.btnStop.TabIndex = 372;
this.btnStop.Text = "停止操作";
this.btnStop.UseVisualStyleBackColor = false;
this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
//
// btnCopyPassword
//
this.btnCopyPassword.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCopyPassword.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCopyPassword.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnCopyPassword.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCopyPassword.ForeColor = System.Drawing.Color.White;
this.btnCopyPassword.Location = new System.Drawing.Point(255, 63);
this.btnCopyPassword.Margin = new System.Windows.Forms.Padding(2);
this.btnCopyPassword.Name = "btnCopyPassword";
this.btnCopyPassword.Size = new System.Drawing.Size(57, 25);
this.btnCopyPassword.TabIndex = 376;
this.btnCopyPassword.Text = "复制";
this.btnCopyPassword.UseVisualStyleBackColor = false;
this.btnCopyPassword.Click += new System.EventHandler(this.btnCopyPassword_Click);
//
// txtPassWord
//
this.txtPassWord.Location = new System.Drawing.Point(117, 64);
this.txtPassWord.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.txtPassWord.Name = "txtPassWord";
this.txtPassWord.PasswordChar = '●';
this.txtPassWord.ReadOnly = true;
this.txtPassWord.Size = new System.Drawing.Size(135, 23);
this.txtPassWord.TabIndex = 374;
//
// btnCopyUserName
//
this.btnCopyUserName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCopyUserName.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCopyUserName.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnCopyUserName.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCopyUserName.ForeColor = System.Drawing.Color.White;
this.btnCopyUserName.Location = new System.Drawing.Point(255, 36);
this.btnCopyUserName.Margin = new System.Windows.Forms.Padding(2);
this.btnCopyUserName.Name = "btnCopyUserName";
this.btnCopyUserName.Size = new System.Drawing.Size(57, 25);
this.btnCopyUserName.TabIndex = 375;
this.btnCopyUserName.Text = "复制";
this.btnCopyUserName.UseVisualStyleBackColor = false;
this.btnCopyUserName.Click += new System.EventHandler(this.btnCopyUserName_Click);
//
// splitContainer2
//
this.splitContainer2.BackColor = System.Drawing.Color.White;
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer2.Location = new System.Drawing.Point(1, 33);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.txtAddress);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.splitContainer1);
this.splitContainer2.Size = new System.Drawing.Size(1022, 734);
this.splitContainer2.SplitterDistance = 26;
this.splitContainer2.TabIndex = 5;
//
// txtAddress
//
this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtAddress.Location = new System.Drawing.Point(3, 3);
this.txtAddress.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.txtAddress.Name = "txtAddress";
this.txtAddress.Size = new System.Drawing.Size(1016, 23);
this.txtAddress.TabIndex = 7;
this.txtAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtAddress_KeyDown);
//
// VDianShopLoginForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1024, 768);
this.Controls.Add(this.splitContainer2);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "VDianShopLoginForm";
this.ShowMaximizeBox = true;
this.Text = "店铺登录";
this.TitleText = "店铺登录";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ShopLoginForm_FormClosed);
this.Load += new System.EventHandler(this.ShopLoginForm_Load);
this.Controls.SetChildIndex(this.splitContainer2, 0);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.splitContainer2.Panel1.ResumeLayout(false);
this.splitContainer2.Panel1.PerformLayout();
this.splitContainer2.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private UserControls.ButtonEx btnStop;
private UserControls.ButtonEx btnReload;
private System.Windows.Forms.SplitContainer splitContainer2;
private System.Windows.Forms.TextBox txtAddress;
private UserControls.ButtonEx btnLoginAgain;
public DevComponents.DotNetBar.Controls.CheckBoxX chkCloseAfterLogin;
public System.Windows.Forms.TextBox txtPassWord;
public System.Windows.Forms.TextBox txtUserName;
public System.Windows.Forms.Label label2;
public UserControls.ButtonEx btnCopyPassword;
public UserControls.ButtonEx btnCopyUserName;
private System.Windows.Forms.Panel panel2;
public System.Windows.Forms.Label label1;
}
}
+576
View File
@@ -0,0 +1,576 @@
using AllBase;
using AllBase.Helper;
using AllBase.Model.Result;
using CefSharp;
using CefSharp.WinForms;
//using TemuKJD.DashBoardForms;
using TemuKJD.Helper;
using TemuKJD.BaseForms;
using Microsoft.Win32;
using NaiBa.CefHelper;
using NaiBa.CefHelper.Handler;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
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.Web.Hosting;
using System.Windows.Forms;
using Work;
using Work.BLL.Tools;
using TemuKJD.BLL;
using AllBase.Model.Result.PDDResult;
using AllBase.Model.Param.PDDProdParam;
using TemuKJD.PDDForms.ShopForms;
namespace TemuKJD.VDianForms
{
public partial class VDianShopLoginForm : BaseGeneralForm
{
public static VDianShopLoginForm PddMobileLoginInstance { get; set; } = null;
public int CloseAfterSecond { get; set; }
public EnumOpenType openType = EnumOpenType.manage;
public string InitUrl = "";
private string shopCookieHead = "yangkeduo.com";
private string shopLoginUrl = "https://mobile.yangkeduo.com/login.html?from=https%3A%2F%2Fmobile.yangkeduo.com%2Fpersonal.html";
private string shopMainUrl = "https://mobile.yangkeduo.com/index.html";
public ChromiumWebBrowser cefWebBrowser = null;
private VDianShopLoginInfo vDian = null;
private List<ShopCompany> lstShopCompany = new List<ShopCompany>();
private string currentUrl = "";
public VDianShopLoginForm(VDianShopLoginInfo vDianInfo)
{
PddMobileLoginInstance = this;
InitializeComponent();
this.vDian = vDianInfo;
this.txtUserName.Text = vDianInfo?.ShopName;
this.txtPassWord.Text = ""; //DataOpenSSL.DecryptString(buyerInfo.Password);
}
private void ShopLoginForm_Load(object sender, EventArgs e)
{
this.splitContainer1.SplitterDistance = this.splitContainer1.Height - 80;
if (openType == EnumOpenType.login)
{
//this.label3.Visible = true;
//this.panel3.Visible = true;
}
if (CloseAfterSecond > 0)
{
Task.Run(() =>
{
Thread.Sleep(1000 * CloseAfterSecond);
if (this.Created)
{
Invoke(new Action(() => { this.Close(); }));
}
});
}
AutoLogin();
CheckAndSaveShop(); //判断登录是否成功,成功则保存店铺信息和店铺cookie
//ClosePopWindow(); //自动关闭弹窗
}
/// <summary>
/// 判断登录,保存店铺
/// </summary>
private void CheckAndSaveShop()
{
}
/// <summary>
/// 自动关闭弹窗
/// </summary>
private void ClosePopWindow()
{
// 关闭弹窗
Task.Run(() =>
{
var sleepTime = 2500;
int i = 0;
while (true && i++ < 50)
{
try
{
Thread.Sleep(sleepTime);
var jsStr1 = "function ClosePopWindow(txt) {\r\n" +
" var result = 'no_pop'\r\n" +
" var item = document.getElementsByClassName(txt);\r\n" +
" for(i = 0; i < item.length; i++) {\r\n" +
" item[i].click();\r\n" +
" result = 'success'\r\n" +
" }\r\n" +
" return result;\r\n" +
"}\r\n" +
"ClosePopWindow('anticon-close-circle');\r\n" +
"ClosePopWindow('ant-modal-close-x');\r\n";
var jsStr2 = "function clickPopWindow(txt) {\r\n"
+ "var child = document.body.firstElementChild;\r\n"
+ "var element1 = null;\r\n"
+ " while (child) {\r\n"
+ " if (child.innerHTML.indexOf(txt) >= 0) {\r\n"
+ " element1 = child;\r\n"
+ " if (child.firstElementChild) {\r\n"
+ " child = child.firstElementChild; continue;\r\n"
+ " } else break;\r\n"
+ " }\r\n"
+ " child = child.nextElementSibling;\r\n"
+ " }\r\n"
+ " if (element1) {\r\n"
+ " element1.click(); return 'success';\r\n"
+ " } else return 'no_pop';\r\n"
+ "}\r\n"
+ "clickPopWindow('我知道了');\r\n"
+ "clickPopWindow('知道了');\r\n";
if (cefWebBrowser != null && cefWebBrowser.IsBrowserInitialized)
{
var t1 = cefWebBrowser.GetMainFrame().EvaluateScriptAsync(jsStr1);
t1.Wait();
var t2 = cefWebBrowser.GetMainFrame().EvaluateScriptAsync(jsStr2);
t2.Wait();
if (t1.Result?.Result?.ToString() == "success" || t2.Result?.Result?.ToString() == "success")
sleepTime = Randomx.GetId(550, 650);
else
sleepTime = Randomx.GetId(1500, 2000);
}
}
catch (Exception ex) { }
}
});
}
/// <summary>
/// 自动登录店铺后台
/// </summary>
private void AutoLogin()
{
if (openType != EnumOpenType.login && vDian == null)
return;
if (cefWebBrowser == null)
{
//cefWebBrowser = CEFBrowser.CreateChromiumWebBrowser("about:blank", false);
if (!string.IsNullOrEmpty(InitUrl))
cefWebBrowser = CEFBrowser.CreateChromiumWebBrowser(InitUrl, false);
else
cefWebBrowser = CEFBrowser.CreateChromiumWebBrowser(shopMainUrl, false);
CustomResourceRequestHandlerLocal resourceRequestHandler = new CustomResourceRequestHandlerLocal();
resourceRequestHandler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete;
resourceRequestHandler.BeforeResourceLoadEvent += RequestHandler_BeforeResourceLoad;
cefWebBrowser.RequestHandler = new CustomRequestHandler(resourceRequestHandler);
var lifeSapnHandler = new LifeSpanHandlerLocal(PopWindowType.SelfWindow);
cefWebBrowser.LifeSpanHandler = lifeSapnHandler;
cefWebBrowser.KeyboardHandler = new KeyboardHandler();
cefWebBrowser.FrameLoadEnd += CefWebBrowser_FrameLoadEnd;
cefWebBrowser.AddressChanged += CefWebBrowser_AddressChanged;
cefWebBrowser.LoadError += CefWebBrowser_LoadError;
cefWebBrowser.Dock = DockStyle.Fill;
//js绑定C#对象
//PDDShopBrowserObject shopObj = new PDDShopBrowserObject();
//shopObj.OnInfoReceived += ShopObj_OnInfoReceived;
//CefSharpSettings.WcfEnabled = true;
//cefWebBrowser.JavascriptObjectRepository.Register(
// name: "shopObj",
// objectToBind: shopObj,
// isAsync: false,
// options: new BindingOptions { Binder = BindingOptions.DefaultBinder.Binder /*CamelCaseJavascriptNames = false*/ /*cef79*/ }
//);
//if (buyer.cookie == null)
// buyer.cookie = "";
List<Cookie> cookieLst = new List<Cookie>();
try
{
if (vDian != null)
{
cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(vDian?.Cookies);
if (cookieLst == null)
cookieLst = new List<Cookie>();
}
}
catch
{
}
Task.Run(() =>
{
Invoke(new Action(() =>
{
splitContainer1.Panel1.Controls.Add(cefWebBrowser);
//cefWebBrowser.Load(shopMainUrl);
}));
// cef138必须init后方可设置或删除cookie
while (!cefWebBrowser.IsBrowserInitialized || !cefWebBrowser.GetBrowser().MainFrame.IsValid)
Thread.Sleep(20);
CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null));
//if (cookieLst.Any(c => c.Value.StartsWith("windows_1")))
// cefWebBrowser.ExecuteScriptAsync("navigator.__defineGetter__('userAgent', function() { return 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.5.40.8 Safari/537.36 PddWorkbench-Online PddBrowser pdd_windows_version/3.0.3.12'; });");
//cef 138 如果没有设置RequestContext 可能为空,直接getCookieManager
//if (this.openType != EnumOpenType.login)
{
var t = CEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), cefWebBrowser.GetCookieManager(null));
foreach (var cook in cookieLst)
{
//var t = CEFBrowser.SetCookieAsync(cook.Domain.Trim('.'), cook.Name + "=" + cook.Value + ";", cefWebBrowser.GetCookieManager(null));
//t.Wait(5000);
//if (cook.Name == "PDDAccessToken")
//{
// var jsStr = "var date = new Date();" +
// "date.setTime(date.getTime() + (465 * 24 * 60 * 60 * 1000)); " +
// "document.cookie='PDDAccessToken=" + cook.Value + ";domain=mobile.yangkeduo.com; expires=' + date.toUTCString()";
// jsStr = "document.cookie='PDDAccessToken=" + cook.Value + ";domain=mobile.yangkeduo.com;'";
// cefWebBrowser.GetMainFrame().EvaluateScriptAsync(jsStr);
// //cook.Expires = DateTime.Now.AddDays(465);
// //cefWebBrowser.GetCookieManager(null).SetCookie("https://" + cook.Domain.Trim('.'), cook);
//}
////else
//// cefWebBrowser.GetCookieManager(null).SetCookie("https://" + cook.Domain, cook);
}
}
//根据登录的具体店铺设置local storage
if (!string.IsNullOrEmpty(vDian?.ShopId))
{
//var storageJsCode = "window.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');\r\n";
//storageJsCode += "window.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');\r\n";
//while (!cefWebBrowser.IsBrowserInitialized || !cefWebBrowser.GetBrowser().MainFrame.IsValid)
// Thread.Sleep(20);
//cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode);
}
if (!string.IsNullOrEmpty(InitUrl))
cefWebBrowser.Load(InitUrl);
else
cefWebBrowser.Load(shopMainUrl);
//不是登录的话就此返回
if (openType != EnumOpenType.login)
{
Invoke(new Action(() =>
{
chkCloseAfterLogin.Visible = false;
btnLoginAgain.Visible = false;
}));
return;
}
for (int i = 0; i < 50; i++)
{
if (cefWebBrowser.IsLoading)
Thread.Sleep(100);
}
Thread.Sleep(Randomx.GetId(1500,2000));
if (!this.Created)
return;
while (!cefWebBrowser.Address.StartsWith(shopLoginUrl))
{
Thread.Sleep(1000);
if (!this.Created)
return;
}
//CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null));
//InputUserNameAndPassword(cefWebBrowser, shop.LoginName, DataOpenSSL.DecryptString(shop.Password));
});
}
}
private void ShopObj_OnInfoReceived(string information)
{
//BaseMsgForm.ShowInfo(information);
if (!string.IsNullOrEmpty(information))
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("alert('" + information + "');");
}
private void CefWebBrowser_LoadError(object sender, CefSharp.LoadErrorEventArgs e)
{
}
private void CefWebBrowser_AddressChanged(object sender, CefSharp.AddressChangedEventArgs e)
{
if (this.Created && !this.Disposing && !this.IsDisposed)
{
Invoke(new Action(() =>
{
currentUrl = e.Address;
txtAddress.Text = e.Address;
}));
}
}
private void CefWebBrowser_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e)
{
//js绑定C#对象 html页面内声明绑定的C#对象
StringBuilder sb = new StringBuilder();
sb.Append("(function(){");
sb.Append("CefSharp.BindObjectAsync('shopObj');");
sb.Append("})();");
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString());
}
//public Func<object, string, string, request, bool> BeforeResourceLoadEvent; // sender, requestUrl, postData, request, true(表示取消执行)
private bool RequestHandler_BeforeResourceLoad(object sender, string url, string postData, IRequest request)
{
return false;
}
public PDDProductUploadParam prodParam = null;
static int GetAntiContentsTimes = 40;
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
{
//if (url.Contains("https://mobile.yangkeduo.com/personal.html?refer_page_name=login") && openType == EnumOpenType.login)
if (url.Contains("https://mobile.yangkeduo.com/index.html") && openType == EnumOpenType.login)
{
Task.Run(() => { cefWebBrowser.Load("https://mobile.yangkeduo.com/personal.html"); });
}
if (url.Contains("https://mobile.yangkeduo.com/personal.html"))
{
if (openType == EnumOpenType.login)
{
Task.Run(() =>
{
var data = responseData;
if (data.Contains("\"success\":true") || data.Contains("nickname"))
{
var uid = BaseRegex.GetStringJson(ref data, "uid");
var nickname = BaseRegex.GetStringJson(ref data, "nickname");
var mobile = BaseRegex.GetStringJson(ref data, "mobile");
var username = nickname;
if (!string.IsNullOrEmpty(nickname) && !string.IsNullOrEmpty(uid))
{
Thread.Sleep(2000);
List<Cookie> cookieList = CEFBrowser.GetCookieList(shopCookieHead, cefWebBrowser.GetCookieManager(null));
var buyerUrl = BaseClass.BuildPDDObjString("shop/add_vdian");
if (this.vDian == null || this.vDian.ShopId != uid)
this.vDian = GlobalConfig.VDianShopLoginList.FirstOrDefault(b => b.ShopId == uid);
if (this.vDian != null)
{
this.vDian.ShopName = username;
this.vDian.Phone = mobile;
this.vDian.Cookies = JsonHelper.SerializeObject(cookieList);
buyerUrl = BaseClass.BuildPDDObjString("shop/mdy_vdian");
}
var buyerData = UserLogin.GetSignaturex()
+ "&buyer_id=" + uid
+ "&buyer_name=" + username
+ "&buyer_nick=" + nickname;
var result = GetHtml.PostUtf8(buyerUrl, buyerData);
if (string.IsNullOrEmpty(result) || !result.Contains("\"code\":200"))
result = GetHtml.PostUtf8(buyerUrl, buyerData);
buyerUrl = BaseClass.BuildPDDObjString("shop/mdy_vdian_cookie");
buyerData = UserLogin.GetSignaturex()
+ "&buyer_id=" + uid
+ "&status=" + "在线"
+ "&cookie=" + GetHtml.UrlEncodeUtf8(JsonHelper.SerializeObject(cookieList));
result = GetHtml.PostUtf8(buyerUrl, buyerData);
if (string.IsNullOrEmpty(result) || !result.Contains("\"code\":200"))
result = GetHtml.PostUtf8(buyerUrl, buyerData);
Invoke(new Action(() =>
{
try
{
if (chkCloseAfterLogin.Checked)
this.Close();
}
catch (Exception ex)
{ }
}));
}
}
});
}
}
}
// 鼠标左键按下,移动,移动...左键抬起。
public static void CefMouseDragDou(ChromiumWebBrowser webBrowser, int x1, int y1, int x2, int y2)
{
Thread.Sleep(100);
var host = webBrowser.GetBrowser().GetHost();
var rx = -6 + Randomx.GetId(13);
x2 = x2 + rx;
// 随机按下点的位置(正负6像素),提高仿真性
int x = x1 + rx;
int y = y1 - 6 + Randomx.GetId(13);
// 按下鼠标左键
host.SendMouseClickEvent(x, y, MouseButtonType.Left, false, 1, CefEventFlags.None);
Thread.Sleep(100 + Randomx.GetId(300));
// 滑动光标
int times = -20;
while (x < x2 + 4 - Randomx.GetId(9))
{
times++;
x += (15 + Randomx.GetId(15)) / 8;
if (times % 5 == 0)
y = y - 1 + Randomx.GetId(3);
Thread.Sleep(6 + Math.Abs(times) / 5 + Randomx.GetId(16));
host.SendMouseMoveEvent((int)x, (int)y, false, CefEventFlags.LeftMouseButton);
}
if (x < x2 - 1)
while (x < x2)
{
times++;
x += (8 + Randomx.GetId(8)) / 8;
if (times % 5 == 0)
y = y - 1 + Randomx.GetId(3);
Thread.Sleep(6 + Math.Abs(times) / 5 + Randomx.GetId(16));
host.SendMouseMoveEvent((int)x, (int)y, false, CefEventFlags.LeftMouseButton);
}
else if (x > x2 + 1)
while (x > x2)
{
times++;
x -= (8 + Randomx.GetId(8)) / 8;
if (times % 5 == 0)
y = y - 1 + Randomx.GetId(3);
Thread.Sleep(6 + Math.Abs(times) / 5 + Randomx.GetId(16));
host.SendMouseMoveEvent((int)x, (int)y, false, CefEventFlags.LeftMouseButton);
}
// 如果最后位置偏差较多,再做一次调整
x = x2 - 1 + Randomx.GetId(3);
x = x2;
Thread.Sleep(18 + Math.Abs(times) / 5 + Randomx.GetId(16));
Thread.Sleep(18 + Math.Abs(times) / 5 + Randomx.GetId(16));
host.SendMouseMoveEvent((int)x, (int)y, false, CefEventFlags.LeftMouseButton);
// 抬起鼠标左键
Thread.Sleep(300 + Randomx.GetId(500));
host.SendMouseClickEvent(x, y, MouseButtonType.Left, true, 1, CefEventFlags.None);
host.SendMouseClickEvent(x, y, MouseButtonType.Left, true, 1, CefEventFlags.None);
}
private void btnStop_Click(object sender, EventArgs e)
{
}
private void btnCopyUserName_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtUserName.Text))
Clipboard.SetDataObject(txtUserName.Text);
}
private void btnCopyPassword_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtPassWord.Text))
Clipboard.SetDataObject(txtPassWord.Text);
}
private void btnReload_Click(object sender, EventArgs e)
{
if (cefWebBrowser != null)
{
if (txtAddress.Text != "about:blank")
cefWebBrowser.Load(txtAddress.Text);
else
cefWebBrowser.Load(shopMainUrl);
}
}
private void ShopLoginForm_FormClosed(object sender, FormClosedEventArgs e)
{
//OnSaveComplete(shop);
Task.Run(() => {
Thread.Sleep(500);
if (!this.Disposing && !this.IsDisposed)
{
//MainForm.instance.Invoke(new Action(() => { this.Dispose(); }));
}
});
}
private void txtAddress_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (cefWebBrowser != null)
{
cefWebBrowser.Load(txtAddress.Text);
}
}
}
string sInputValueChange { get; set; } = @"
let usernameId = document.getElementById('usernameId');
usernameId.value = '1';
var event = document.createEvent('HTMLEvents');
event.initEvent('input', true, true);
event.eventType = 'message';
usernameId.dispatchEvent(event);
";
string sInputValueChange2 { get; set; } = @"
function changeReactInputValue(inputDom,newText){
let lastValue = inputDom.value;
inputDom.value = newText;
let event = new Event('input', { bubbles: true });
event.simulated = true;
let tracker = inputDom._valueTracker;
if (tracker) {
tracker.setValue(lastValue);
}
inputDom.dispatchEvent(event);
}
";
string sGetElementWithText { get; set; } = @"
function getElementWithText(sText)
{
var elem=null;
const elements = document.querySelectorAll('*'); // 选择所有元素
elements.forEach(element => {
if (element.textContent.includes(sText)) {
// 对每个匹配的元素执行操作
//console.log(element);
elem=element;
}
});
return elem;
};
";
private void btnLoginAgain_Click(object sender, EventArgs e)
{
if (this.currentUrl != shopLoginUrl)
this.cefWebBrowser.Load(shopLoginUrl);
}
private void splitContainer1_Panel2_Paint(object sender, PaintEventArgs e)
{
}
}
}
+298
View File
@@ -0,0 +1,298 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM
zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM
zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA
AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA
AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM
zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM
zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM
zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP////////////////////////////////////////
//iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI////////////////////////////////////
////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4////////////////////////////////
//////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj///////////////////////////
/////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP//////////////////////
///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4//////////////////
/////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj/////////////
///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI////////
/////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj///
//////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM
eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM
zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM
zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM
zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM
zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4
fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI
j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4
iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI//////////
////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj///
//////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI
iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4//
/4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP////////////
///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/
///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H
fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP//////
///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/
////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM
zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM
zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM
zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM
zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP////////
+MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj///
//////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM
eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I
j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI//////////////////////
/////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP//////////////////
/////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I//////////////
///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP////////
/////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj///////////////
//////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI//////////
//////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM
zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM
zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM
zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM
zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I////////////////////////////////////////////
//h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij/////////////////////////////////////
//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4
////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP//////////////////////
////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////////////
///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////
//////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////
//////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////
///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////
////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI
j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj///////
+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI//
//////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI
iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj/////
/4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM
j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM
zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI////
//jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI
iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI
iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH
j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM
zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM
zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM
zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM
zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM
zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI////
///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI
iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4
iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP//
/////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM
zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM
zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4
fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP////////////////
////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH////////////
//////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP//////
//////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/
////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM
zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM
zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM
zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM
zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8
zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj///////////////
///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj/////////
////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj///
/////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM
x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM
zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM
zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM
zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8
zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP////////
//iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP//
//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM
zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM
zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA
AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA
AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
+AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
</value>
</data>
</root>
File diff suppressed because it is too large. Load diff
+929
View File
@@ -0,0 +1,929 @@
using TemuKJD.UserControls;
namespace KJD.VDianForms
{
partial class VDianUploadProductForm
{
/// <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()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.lblPriceRatio = new DevComponents.DotNetBar.LabelX();
this.lblPriceRatioUnit = new DevComponents.DotNetBar.LabelX();
this.txtPriceRatio = new DevComponents.DotNetBar.Controls.TextBoxX();
this.lblPriceBaseUnit = new DevComponents.DotNetBar.LabelX();
this.txtPriceBase = new DevComponents.DotNetBar.Controls.TextBoxX();
this.lblPriceBase = new DevComponents.DotNetBar.LabelX();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.btnClear2 = new DevComponents.DotNetBar.ButtonX();
this.btnStop = new DevComponents.DotNetBar.ButtonX();
this.labelX3 = new DevComponents.DotNetBar.LabelX();
this.cmbThreadCount = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.comboItem6 = new DevComponents.Editors.ComboItem();
this.comboItem7 = new DevComponents.Editors.ComboItem();
this.comboItem8 = new DevComponents.Editors.ComboItem();
this.comboItem9 = new DevComponents.Editors.ComboItem();
this.comboItem10 = new DevComponents.Editors.ComboItem();
this.btnClear = new DevComponents.DotNetBar.ButtonX();
this.lblQueueCount = new DevComponents.DotNetBar.LabelX();
this.labelX2 = new DevComponents.DotNetBar.LabelX();
this.btnUpload = new DevComponents.DotNetBar.ButtonX();
this.btnImport = new DevComponents.DotNetBar.ButtonX();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.btnManageVDian = new DevComponents.DotNetBar.ButtonX();
this.btnGetProductCount = new DevComponents.DotNetBar.ButtonX();
this.btnRefreshShop = new DevComponents.DotNetBar.ButtonX();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.labelX5 = new DevComponents.DotNetBar.LabelX();
this.txtCPSRate = new DevComponents.DotNetBar.Controls.TextBoxX();
this.labelX1 = new DevComponents.DotNetBar.LabelX();
this.labelX6 = new DevComponents.DotNetBar.LabelX();
this.chkCPS = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.statusBarUpload = new TemuKJD.UserControls.StatusBarUserControl();
this.dgvProduct = new TemuKJD.UserComponent.DataGridViewXEx();
this.colUploadShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colProductPlatform = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colProductId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colProductName = new System.Windows.Forms.DataGridViewLinkColumn();
this.colProductPrice = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colProductSaleCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colWeiDianProductId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colWeiDianProductName = new System.Windows.Forms.DataGridViewLinkColumn();
this.colUploadStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCPSResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colUploadShop = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colUploadOperate = new System.Windows.Forms.DataGridViewLinkColumn();
this.dgvShop = new TemuKJD.UserComponent.DataGridViewXEx();
this.colId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colShopName = new System.Windows.Forms.DataGridViewLinkColumn();
this.colProductCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colIsAuthorize = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colIsUpload = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.btnShowCef = new DevComponents.DotNetBar.ButtonX();
this.labelX4 = new DevComponents.DotNetBar.LabelX();
this.txtPrefix = new DevComponents.DotNetBar.Controls.TextBoxX();
this.panel1 = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.groupBox3.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvProduct)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
this.groupBox5.SuspendLayout();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// groupBox3
//
this.groupBox3.Controls.Add(this.lblPriceRatio);
this.groupBox3.Controls.Add(this.lblPriceRatioUnit);
this.groupBox3.Controls.Add(this.txtPriceRatio);
this.groupBox3.Controls.Add(this.lblPriceBaseUnit);
this.groupBox3.Controls.Add(this.txtPriceBase);
this.groupBox3.Controls.Add(this.lblPriceBase);
this.groupBox3.Location = new System.Drawing.Point(135, 3);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(131, 155);
this.groupBox3.TabIndex = 103;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "商品加价设置";
//
// lblPriceRatio
//
//
//
//
this.lblPriceRatio.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblPriceRatio.Location = new System.Drawing.Point(6, 38);
this.lblPriceRatio.Name = "lblPriceRatio";
this.lblPriceRatio.Size = new System.Drawing.Size(58, 23);
this.lblPriceRatio.TabIndex = 15;
this.lblPriceRatio.Text = "加价比例";
//
// lblPriceRatioUnit
//
//
//
//
this.lblPriceRatioUnit.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblPriceRatioUnit.Location = new System.Drawing.Point(105, 37);
this.lblPriceRatioUnit.Name = "lblPriceRatioUnit";
this.lblPriceRatioUnit.Size = new System.Drawing.Size(22, 23);
this.lblPriceRatioUnit.TabIndex = 16;
this.lblPriceRatioUnit.Text = "%";
//
// txtPriceRatio
//
//
//
//
this.txtPriceRatio.Border.Class = "TextBoxBorder";
this.txtPriceRatio.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.txtPriceRatio.DisabledBackColor = System.Drawing.Color.White;
this.txtPriceRatio.Location = new System.Drawing.Point(65, 37);
this.txtPriceRatio.Name = "txtPriceRatio";
this.txtPriceRatio.PreventEnterBeep = true;
this.txtPriceRatio.Size = new System.Drawing.Size(39, 23);
this.txtPriceRatio.TabIndex = 17;
this.txtPriceRatio.Text = "30";
//
// lblPriceBaseUnit
//
//
//
//
this.lblPriceBaseUnit.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblPriceBaseUnit.Location = new System.Drawing.Point(105, 74);
this.lblPriceBaseUnit.Name = "lblPriceBaseUnit";
this.lblPriceBaseUnit.Size = new System.Drawing.Size(20, 23);
this.lblPriceBaseUnit.TabIndex = 19;
this.lblPriceBaseUnit.Text = "元";
//
// txtPriceBase
//
//
//
//
this.txtPriceBase.Border.Class = "TextBoxBorder";
this.txtPriceBase.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.txtPriceBase.DisabledBackColor = System.Drawing.Color.White;
this.txtPriceBase.Location = new System.Drawing.Point(65, 74);
this.txtPriceBase.Name = "txtPriceBase";
this.txtPriceBase.PreventEnterBeep = true;
this.txtPriceBase.Size = new System.Drawing.Size(39, 23);
this.txtPriceBase.TabIndex = 20;
this.txtPriceBase.Text = "10";
//
// lblPriceBase
//
//
//
//
this.lblPriceBase.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblPriceBase.Location = new System.Drawing.Point(6, 74);
this.lblPriceBase.Name = "lblPriceBase";
this.lblPriceBase.Size = new System.Drawing.Size(56, 23);
this.lblPriceBase.TabIndex = 21;
this.lblPriceBase.Text = "基础加价";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.btnClear2);
this.groupBox1.Controls.Add(this.btnStop);
this.groupBox1.Controls.Add(this.labelX3);
this.groupBox1.Controls.Add(this.cmbThreadCount);
this.groupBox1.Controls.Add(this.btnClear);
this.groupBox1.Controls.Add(this.lblQueueCount);
this.groupBox1.Controls.Add(this.labelX2);
this.groupBox1.Controls.Add(this.btnUpload);
this.groupBox1.Controls.Add(this.btnImport);
this.groupBox1.ForeColor = System.Drawing.SystemColors.ControlText;
this.groupBox1.Location = new System.Drawing.Point(676, 3);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(297, 155);
this.groupBox1.TabIndex = 100;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "操作";
//
// btnClear2
//
this.btnClear2.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnClear2.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnClear2.Location = new System.Drawing.Point(199, 111);
this.btnClear2.Name = "btnClear2";
this.btnClear2.Size = new System.Drawing.Size(75, 23);
this.btnClear2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClear2.TabIndex = 92;
this.btnClear2.Text = "清空已上货";
this.btnClear2.Click += new System.EventHandler(this.btnClearUpload_Click);
//
// btnStop
//
this.btnStop.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnStop.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnStop.Location = new System.Drawing.Point(17, 111);
this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(75, 23);
this.btnStop.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnStop.TabIndex = 91;
this.btnStop.Text = "中断上货";
this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
//
// labelX3
//
//
//
//
this.labelX3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX3.Location = new System.Drawing.Point(108, 37);
this.labelX3.Name = "labelX3";
this.labelX3.Size = new System.Drawing.Size(68, 23);
this.labelX3.TabIndex = 90;
this.labelX3.Text = "上传线程:";
//
// cmbThreadCount
//
this.cmbThreadCount.DisplayMember = "Text";
this.cmbThreadCount.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.cmbThreadCount.FormattingEnabled = true;
this.cmbThreadCount.ItemHeight = 18;
this.cmbThreadCount.Items.AddRange(new object[] {
this.comboItem6,
this.comboItem7,
this.comboItem8,
this.comboItem9,
this.comboItem10});
this.cmbThreadCount.Location = new System.Drawing.Point(178, 36);
this.cmbThreadCount.Name = "cmbThreadCount";
this.cmbThreadCount.Size = new System.Drawing.Size(47, 24);
this.cmbThreadCount.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.cmbThreadCount.TabIndex = 89;
this.cmbThreadCount.Text = "0";
this.cmbThreadCount.SelectedIndexChanged += new System.EventHandler(this.cmbThreadCount_SelectedIndexChanged);
//
// comboItem6
//
this.comboItem6.Text = "1";
//
// comboItem7
//
this.comboItem7.Text = "2";
//
// comboItem8
//
this.comboItem8.Text = "3";
//
// comboItem9
//
this.comboItem9.Text = "4";
//
// comboItem10
//
this.comboItem10.Text = "5";
//
// btnClear
//
this.btnClear.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnClear.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnClear.Location = new System.Drawing.Point(108, 111);
this.btnClear.Name = "btnClear";
this.btnClear.Size = new System.Drawing.Size(75, 23);
this.btnClear.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClear.TabIndex = 85;
this.btnClear.Text = "清空队列";
this.btnClear.Click += new System.EventHandler(this.BtnClear_Click);
//
// lblQueueCount
//
//
//
//
this.lblQueueCount.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblQueueCount.FontBold = true;
this.lblQueueCount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.lblQueueCount.Location = new System.Drawing.Point(172, 74);
this.lblQueueCount.Name = "lblQueueCount";
this.lblQueueCount.Size = new System.Drawing.Size(68, 23);
this.lblQueueCount.TabIndex = 84;
this.lblQueueCount.Text = "0 个";
//
// labelX2
//
//
//
//
this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX2.Location = new System.Drawing.Point(108, 74);
this.labelX2.Name = "labelX2";
this.labelX2.Size = new System.Drawing.Size(67, 23);
this.labelX2.TabIndex = 83;
this.labelX2.Text = "上传队列:";
//
// btnUpload
//
this.btnUpload.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnUpload.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnUpload.Location = new System.Drawing.Point(17, 74);
this.btnUpload.Name = "btnUpload";
this.btnUpload.Size = new System.Drawing.Size(75, 23);
this.btnUpload.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnUpload.TabIndex = 2;
this.btnUpload.Text = "开始上货";
this.btnUpload.Click += new System.EventHandler(this.BtnUpload_Click);
//
// btnImport
//
this.btnImport.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnImport.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnImport.Location = new System.Drawing.Point(17, 37);
this.btnImport.Name = "btnImport";
this.btnImport.Size = new System.Drawing.Size(75, 23);
this.btnImport.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnImport.TabIndex = 1;
this.btnImport.Text = "导入数据";
this.btnImport.Click += new System.EventHandler(this.BtnImport_Click);
//
// groupBox2
//
this.groupBox2.Controls.Add(this.btnManageVDian);
this.groupBox2.Controls.Add(this.btnGetProductCount);
this.groupBox2.Controls.Add(this.btnRefreshShop);
this.groupBox2.ForeColor = System.Drawing.SystemColors.ControlText;
this.groupBox2.Location = new System.Drawing.Point(2, 3);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(127, 155);
this.groupBox2.TabIndex = 106;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "店铺刷新";
//
// btnManageVDian
//
this.btnManageVDian.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnManageVDian.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnManageVDian.FocusCuesEnabled = false;
this.btnManageVDian.Location = new System.Drawing.Point(17, 111);
this.btnManageVDian.Name = "btnManageVDian";
this.btnManageVDian.Size = new System.Drawing.Size(91, 23);
this.btnManageVDian.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnManageVDian.TabIndex = 87;
this.btnManageVDian.Text = "管理微店";
this.btnManageVDian.Click += new System.EventHandler(this.btnManageVDian_Click);
//
// btnGetProductCount
//
this.btnGetProductCount.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnGetProductCount.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnGetProductCount.Location = new System.Drawing.Point(17, 60);
this.btnGetProductCount.Name = "btnGetProductCount";
this.btnGetProductCount.Size = new System.Drawing.Size(91, 23);
this.btnGetProductCount.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnGetProductCount.TabIndex = 86;
this.btnGetProductCount.Text = "获取商品数量";
this.btnGetProductCount.Click += new System.EventHandler(this.btnGetProductCount_Click);
//
// btnRefreshShop
//
this.btnRefreshShop.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnRefreshShop.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnRefreshShop.Location = new System.Drawing.Point(17, 26);
this.btnRefreshShop.Name = "btnRefreshShop";
this.btnRefreshShop.Size = new System.Drawing.Size(91, 23);
this.btnRefreshShop.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnRefreshShop.TabIndex = 85;
this.btnRefreshShop.Text = "刷新店铺状态";
this.btnRefreshShop.Click += new System.EventHandler(this.BtnRefreshShop_Click);
//
// groupBox4
//
this.groupBox4.Controls.Add(this.labelX5);
this.groupBox4.Controls.Add(this.txtCPSRate);
this.groupBox4.Controls.Add(this.labelX1);
this.groupBox4.Controls.Add(this.labelX6);
this.groupBox4.Controls.Add(this.chkCPS);
this.groupBox4.Location = new System.Drawing.Point(272, 3);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(142, 155);
this.groupBox4.TabIndex = 107;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "分成推广金设置";
//
// labelX5
//
//
//
//
this.labelX5.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX5.Location = new System.Drawing.Point(111, 61);
this.labelX5.Name = "labelX5";
this.labelX5.Size = new System.Drawing.Size(20, 23);
this.labelX5.TabIndex = 19;
this.labelX5.Text = "%";
//
// txtCPSRate
//
//
//
//
this.txtCPSRate.Border.Class = "TextBoxBorder";
this.txtCPSRate.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.txtCPSRate.DisabledBackColor = System.Drawing.Color.White;
this.txtCPSRate.Location = new System.Drawing.Point(79, 61);
this.txtCPSRate.Name = "txtCPSRate";
this.txtCPSRate.PreventEnterBeep = true;
this.txtCPSRate.Size = new System.Drawing.Size(30, 23);
this.txtCPSRate.TabIndex = 20;
this.txtCPSRate.Text = "10";
//
// labelX1
//
//
//
//
this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX1.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.labelX1.Location = new System.Drawing.Point(11, 87);
this.labelX1.Name = "labelX1";
this.labelX1.Size = new System.Drawing.Size(120, 47);
this.labelX1.TabIndex = 23;
this.labelX1.Text = "开通分成推广金,请\r\n先去分成推广模块。";
//
// labelX6
//
//
//
//
this.labelX6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX6.Location = new System.Drawing.Point(10, 61);
this.labelX6.Name = "labelX6";
this.labelX6.Size = new System.Drawing.Size(71, 23);
this.labelX6.TabIndex = 21;
this.labelX6.Text = "推广金比例";
//
// chkCPS
//
//
//
//
this.chkCPS.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.chkCPS.Location = new System.Drawing.Point(10, 37);
this.chkCPS.Name = "chkCPS";
this.chkCPS.Size = new System.Drawing.Size(121, 23);
this.chkCPS.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.chkCPS.TabIndex = 22;
this.chkCPS.Text = "上货后设置推广金";
//
// statusBarUpload
//
this.statusBarUpload.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.statusBarUpload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.statusBarUpload.Location = new System.Drawing.Point(2, 676);
this.statusBarUpload.Margin = new System.Windows.Forms.Padding(0);
this.statusBarUpload.Name = "statusBarUpload";
this.statusBarUpload.Size = new System.Drawing.Size(1038, 30);
this.statusBarUpload.TabIndex = 105;
//
// dgvProduct
//
this.dgvProduct.AllowUserToAddRows = false;
dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.dgvProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
this.dgvProduct.BackgroundColor = System.Drawing.Color.White;
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
this.dgvProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colUploadShopId,
this.colProductPlatform,
this.colProductId,
this.colProductName,
this.colProductPrice,
this.colProductSaleCount,
this.colWeiDianProductId,
this.colWeiDianProductName,
this.colUploadStatus,
this.colCPSResult,
this.colUploadShop,
this.colUploadOperate});
dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvProduct.DefaultCellStyle = dataGridViewCellStyle11;
this.dgvProduct.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvProduct.EnableHeadersVisualStyles = false;
this.dgvProduct.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
this.dgvProduct.Location = new System.Drawing.Point(0, 0);
this.dgvProduct.Name = "dgvProduct";
this.dgvProduct.ReadOnly = true;
dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvProduct.RowHeadersDefaultCellStyle = dataGridViewCellStyle12;
this.dgvProduct.RowTemplate.Height = 23;
this.dgvProduct.Size = new System.Drawing.Size(651, 511);
this.dgvProduct.TabIndex = 102;
this.dgvProduct.UseCustomBackgroundColor = true;
this.dgvProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvProduct_CellContentClick);
//
// colUploadShopId
//
this.colUploadShopId.HeaderText = "上传店铺Id";
this.colUploadShopId.Name = "colUploadShopId";
this.colUploadShopId.ReadOnly = true;
this.colUploadShopId.Visible = false;
//
// colProductPlatform
//
this.colProductPlatform.HeaderText = "商品平台类型";
this.colProductPlatform.Name = "colProductPlatform";
this.colProductPlatform.ReadOnly = true;
this.colProductPlatform.Visible = false;
//
// colProductId
//
this.colProductId.HeaderText = "上家Id";
this.colProductId.Name = "colProductId";
this.colProductId.ReadOnly = true;
//
// colProductName
//
this.colProductName.HeaderText = "上家标题";
this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true;
this.colProductName.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colProductName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colProductName.Width = 200;
//
// colProductPrice
//
this.colProductPrice.HeaderText = "价格";
this.colProductPrice.Name = "colProductPrice";
this.colProductPrice.ReadOnly = true;
this.colProductPrice.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// colProductSaleCount
//
this.colProductSaleCount.HeaderText = "销量";
this.colProductSaleCount.Name = "colProductSaleCount";
this.colProductSaleCount.ReadOnly = true;
//
// colWeiDianProductId
//
this.colWeiDianProductId.HeaderText = "微店Id";
this.colWeiDianProductId.Name = "colWeiDianProductId";
this.colWeiDianProductId.ReadOnly = true;
//
// colWeiDianProductName
//
this.colWeiDianProductName.HeaderText = "微店标题";
this.colWeiDianProductName.Name = "colWeiDianProductName";
this.colWeiDianProductName.ReadOnly = true;
this.colWeiDianProductName.Width = 200;
//
// colUploadStatus
//
this.colUploadStatus.HeaderText = "状态";
this.colUploadStatus.Name = "colUploadStatus";
this.colUploadStatus.ReadOnly = true;
this.colUploadStatus.Width = 150;
//
// colCPSResult
//
this.colCPSResult.HeaderText = "推广金设置";
this.colCPSResult.Name = "colCPSResult";
this.colCPSResult.ReadOnly = true;
this.colCPSResult.Width = 150;
//
// colUploadShop
//
this.colUploadShop.HeaderText = "上传店铺";
this.colUploadShop.Name = "colUploadShop";
this.colUploadShop.ReadOnly = true;
//
// colUploadOperate
//
this.colUploadOperate.HeaderText = "操作";
this.colUploadOperate.Name = "colUploadOperate";
this.colUploadOperate.ReadOnly = true;
this.colUploadOperate.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colUploadOperate.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// dgvShop
//
this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false;
dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle13;
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle14.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle14.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle14.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle14.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle14.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle14;
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colId,
this.colShopId,
this.colShopName,
this.colProductCount,
this.colIsAuthorize,
this.colIsUpload,
this.colStatus});
dataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle15.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle15.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle15.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle15.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle15.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvShop.DefaultCellStyle = dataGridViewCellStyle15;
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvShop.EnableHeadersVisualStyles = false;
this.dgvShop.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
this.dgvShop.Location = new System.Drawing.Point(0, 0);
this.dgvShop.Name = "dgvShop";
this.dgvShop.ReadOnly = true;
dataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle16.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle16.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle16.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle16.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle16.SelectionForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvShop.RowHeadersDefaultCellStyle = dataGridViewCellStyle16;
this.dgvShop.RowTemplate.Height = 23;
this.dgvShop.Size = new System.Drawing.Size(381, 511);
this.dgvShop.TabIndex = 101;
this.dgvShop.UseCustomBackgroundColor = true;
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvShop_CellContentClick);
//
// colId
//
this.colId.HeaderText = "Id";
this.colId.Name = "colId";
this.colId.ReadOnly = true;
this.colId.Visible = false;
//
// colShopId
//
this.colShopId.HeaderText = "店铺Id";
this.colShopId.Name = "colShopId";
this.colShopId.ReadOnly = true;
this.colShopId.Visible = false;
//
// colShopName
//
this.colShopName.HeaderText = "店铺名称";
this.colShopName.Name = "colShopName";
this.colShopName.ReadOnly = true;
this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colShopName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colShopName.Width = 120;
//
// colProductCount
//
this.colProductCount.HeaderText = "商品数量";
this.colProductCount.Name = "colProductCount";
this.colProductCount.ReadOnly = true;
this.colProductCount.Width = 80;
//
// colIsAuthorize
//
this.colIsAuthorize.HeaderText = "接口";
this.colIsAuthorize.Name = "colIsAuthorize";
this.colIsAuthorize.ReadOnly = true;
this.colIsAuthorize.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.colIsAuthorize.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colIsAuthorize.Width = 50;
//
// colIsUpload
//
this.colIsUpload.HeaderText = "上货";
this.colIsUpload.Name = "colIsUpload";
this.colIsUpload.ReadOnly = true;
this.colIsUpload.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.colIsUpload.Width = 50;
//
// colStatus
//
this.colStatus.HeaderText = "状态";
this.colStatus.Name = "colStatus";
this.colStatus.ReadOnly = true;
this.colStatus.Width = 150;
//
// groupBox5
//
this.groupBox5.Controls.Add(this.btnShowCef);
this.groupBox5.Controls.Add(this.labelX4);
this.groupBox5.Controls.Add(this.txtPrefix);
this.groupBox5.Location = new System.Drawing.Point(420, 3);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(250, 155);
this.groupBox5.TabIndex = 108;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "其他设置";
//
// btnShowCef
//
this.btnShowCef.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnShowCef.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnShowCef.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnShowCef.FocusCuesEnabled = false;
this.btnShowCef.Location = new System.Drawing.Point(163, 111);
this.btnShowCef.Name = "btnShowCef";
this.btnShowCef.Size = new System.Drawing.Size(66, 23);
this.btnShowCef.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnShowCef.TabIndex = 33;
this.btnShowCef.Text = "显示网页";
this.btnShowCef.Visible = false;
this.btnShowCef.Click += new System.EventHandler(this.btnShowCef_Click);
//
// labelX4
//
//
//
//
this.labelX4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX4.Location = new System.Drawing.Point(15, 38);
this.labelX4.Name = "labelX4";
this.labelX4.Size = new System.Drawing.Size(58, 23);
this.labelX4.TabIndex = 15;
this.labelX4.Text = "标题前缀";
this.labelX4.Click += new System.EventHandler(this.labelX4_Click);
//
// txtPrefix
//
//
//
//
this.txtPrefix.Border.Class = "TextBoxBorder";
this.txtPrefix.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.txtPrefix.DisabledBackColor = System.Drawing.Color.White;
this.txtPrefix.Location = new System.Drawing.Point(79, 39);
this.txtPrefix.Name = "txtPrefix";
this.txtPrefix.PreventEnterBeep = true;
this.txtPrefix.Size = new System.Drawing.Size(150, 23);
this.txtPrefix.TabIndex = 20;
//
// panel1
//
this.panel1.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.panel1.Controls.Add(this.splitContainer1);
this.panel1.Location = new System.Drawing.Point(2, 162);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1036, 511);
this.panel1.TabIndex = 109;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.dgvShop);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.dgvProduct);
this.splitContainer1.Size = new System.Drawing.Size(1036, 511);
this.splitContainer1.SplitterDistance = 381;
this.splitContainer1.TabIndex = 0;
//
// VDianUploadProductForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1042, 708);
this.Controls.Add(this.panel1);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.statusBarUpload);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ForeColor = System.Drawing.SystemColors.ControlText;
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "VDianUploadProductForm";
this.Text = "UploadProductForm";
this.Load += new System.EventHandler(this.UploadProductForm_Load);
this.groupBox3.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox4.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvProduct)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
this.groupBox5.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private StatusBarUserControl statusBarUpload;
private System.Windows.Forms.GroupBox groupBox3;
private DevComponents.DotNetBar.LabelX lblPriceRatio;
private DevComponents.DotNetBar.LabelX lblPriceRatioUnit;
private DevComponents.DotNetBar.Controls.TextBoxX txtPriceRatio;
private DevComponents.DotNetBar.LabelX lblPriceBaseUnit;
private DevComponents.DotNetBar.Controls.TextBoxX txtPriceBase;
private DevComponents.DotNetBar.LabelX lblPriceBase;
private TemuKJD.UserComponent.DataGridViewXEx dgvShop;
private System.Windows.Forms.GroupBox groupBox1;
private DevComponents.DotNetBar.LabelX labelX3;
private DevComponents.DotNetBar.Controls.ComboBoxEx cmbThreadCount;
private DevComponents.Editors.ComboItem comboItem6;
private DevComponents.Editors.ComboItem comboItem7;
private DevComponents.Editors.ComboItem comboItem8;
private DevComponents.Editors.ComboItem comboItem9;
private DevComponents.Editors.ComboItem comboItem10;
private DevComponents.DotNetBar.ButtonX btnClear;
private DevComponents.DotNetBar.LabelX lblQueueCount;
private DevComponents.DotNetBar.LabelX labelX2;
private DevComponents.DotNetBar.ButtonX btnUpload;
private DevComponents.DotNetBar.ButtonX btnImport;
private System.Windows.Forms.GroupBox groupBox2;
private DevComponents.DotNetBar.ButtonX btnRefreshShop;
private DevComponents.DotNetBar.ButtonX btnStop;
private DevComponents.DotNetBar.ButtonX btnClear2;
private System.Windows.Forms.GroupBox groupBox4;
private DevComponents.DotNetBar.Controls.CheckBoxX chkCPS;
private DevComponents.DotNetBar.ButtonX btnGetProductCount;
private DevComponents.DotNetBar.LabelX labelX6;
private DevComponents.DotNetBar.LabelX labelX5;
private DevComponents.DotNetBar.Controls.TextBoxX txtCPSRate;
private DevComponents.DotNetBar.LabelX labelX1;
private TemuKJD.UserComponent.DataGridViewXEx dgvProduct;
private System.Windows.Forms.DataGridViewTextBoxColumn colUploadShopId;
private System.Windows.Forms.DataGridViewTextBoxColumn colProductPlatform;
private System.Windows.Forms.DataGridViewTextBoxColumn colProductId;
private System.Windows.Forms.DataGridViewLinkColumn colProductName;
private System.Windows.Forms.DataGridViewTextBoxColumn colProductPrice;
private System.Windows.Forms.DataGridViewTextBoxColumn colProductSaleCount;
private System.Windows.Forms.DataGridViewTextBoxColumn colWeiDianProductId;
private System.Windows.Forms.DataGridViewLinkColumn colWeiDianProductName;
private System.Windows.Forms.DataGridViewTextBoxColumn colUploadStatus;
private System.Windows.Forms.DataGridViewTextBoxColumn colCPSResult;
private System.Windows.Forms.DataGridViewTextBoxColumn colUploadShop;
private System.Windows.Forms.DataGridViewLinkColumn colUploadOperate;
private System.Windows.Forms.DataGridViewTextBoxColumn colId;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
private System.Windows.Forms.DataGridViewLinkColumn colShopName;
private System.Windows.Forms.DataGridViewTextBoxColumn colProductCount;
private System.Windows.Forms.DataGridViewCheckBoxColumn colIsAuthorize;
private System.Windows.Forms.DataGridViewCheckBoxColumn colIsUpload;
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
private System.Windows.Forms.GroupBox groupBox5;
private DevComponents.DotNetBar.LabelX labelX4;
private DevComponents.DotNetBar.Controls.TextBoxX txtPrefix;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.SplitContainer splitContainer1;
private DevComponents.DotNetBar.ButtonX btnShowCef;
private DevComponents.DotNetBar.ButtonX btnManageVDian;
}
}
@@ -0,0 +1,177 @@
<?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="colUploadShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colProductPlatform.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colProductId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colProductName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colProductPrice.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colProductSaleCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colWeiDianProductId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colWeiDianProductName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colUploadStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCPSResult.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colUploadShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colUploadOperate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colProductCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colIsAuthorize.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colIsUpload.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
@@ -3441,7 +3441,7 @@ namespace TemuKJD.WXForms.ProductForms
// 库存
skuParam.productSkuInfo.stockInfo = new stockInfoParam() { stockNum = defaultAddPriceRule.StockNum };
// 厂商直采上家库存为0则按0上架
if (dbProd.product_get_type_text == "厂商直采" && skuInfo.quantity.ParseToInt() == 0)
if (dbProd.product_get_type_text == "厂商直采" && skuInfo.quantity.IsNullOrZero())
skuParam.productSkuInfo.stockInfo.stockNum = 0;
skuParam.productSkuInfo.saleParam = new List<saleParamParam>();
foreach (var specInfo in skuInfo.spec)
@@ -3478,7 +3478,8 @@ namespace TemuKJD.WXForms.ProductForms
}
skuParam.productSkuInfo.skuDeliverInfo = new skuDeliverInfoParam();
skuParam.productSkuInfo.stockDiff = new stockDiffParam() { diffType = 1, num = defaultAddPriceRule.StockNum };
if (skuInfo.quantity.ParseToInt() == 0)
// 厂商直采上家库存为0则按0上架
if (dbProd.product_get_type_text == "厂商直采" && skuInfo.quantity.IsNullOrZero())
skuParam.productSkuInfo.stockDiff.num = 0;
skuParam.status = 5;
}
+4 -2
View File
@@ -411,11 +411,13 @@ namespace Work.CollectClass
redirectUrl = AllBase.BaseRegex.GetStringJson(ref skuInfoCBC, "redirectUrl");
if (string.IsNullOrEmpty(redirectUrl) && html.Contains("提交错误"))
{
LogHelper.WriteWithTime(" 代理ip:" + listIp[IpListCount] + "请求失败" + html);
//LogHelper.WriteWithTime(" 代理ip:" + listIp[IpListCount] + "请求失败" + html);
System.Windows.Forms.MessageBox.Show(" 代理ip:" + listIp[IpListCount] + "请求失败" + html);
}
else
{
LogHelper.WriteWithTime(" 代理ip:" + listIp[IpListCount] + "redirectUrl参数:" + redirectUrl);
//LogHelper.WriteWithTime(" 代理ip:" + listIp[IpListCount] + "redirectUrl参数:" + redirectUrl);
System.Windows.Forms.MessageBox.Show(" 代理ip:" + listIp[IpListCount] + "redirectUrl参数:" + redirectUrl);
}
}
}