京东慧眼
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1778 lines
68 KiB

using CefSharp;
using CefSharp.Wpf;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using .cefhelper;
using .Models;
namespace .UserControls
{
/// <summary>
/// BrowerControl.xaml 的交互逻辑
/// </summary>
public partial class BrowerControl : UserControl
{
public HandyControl.Controls.TabItem Tab { get; set; }
public ExtChromiumBrowser web;
/// <summary>
/// 是否登录京东
/// </summary>
public bool IsJustLoginJd { get; set; }
/// <summary>
/// 处理拼多多
/// </summary>
public bool IsPddPage { get; set; }
public BrowerControl(string url, HandyControl.Controls.TabItem tabItem)
{
InitializeComponent();
if (url.Contains("ltype=logout&ReturnUrl=https://home.jd.com"))
{
IsJustLoginJd = true;
}
if (url.Contains("yangkeduo.com"))
{
IsPddPage = true;
}
Tab = tabItem;
web = new ExtChromiumBrowser(url)
{
BrowserSettings =
{
DefaultEncoding = "UTF-8",
Plugins = CefState.Enabled,
//关于跨域限制
//WebSecurity = CefState.Disabled,
ApplicationCache = CefState.Enabled,
LocalStorage = CefState.Enabled,
},
//RequestHandler =new MyRequestHandler()
};
if (!IsJustLoginJd)
{
MyResourceRequestHandlerFactory myResourceRequestHandlerFactory = new MyResourceRequestHandlerFactory(this);
myResourceRequestHandlerFactory.Handlers.TryAdd("test", null);
web.ResourceRequestHandlerFactory = myResourceRequestHandlerFactory;
}
grid.Children.Add(web);
Loaded += BrowerControl_Loaded;
if (!IsJustLoginJd)
{
web.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
var cjs = new CefAsyncJS();
cjs.Brower = this;
web.JavascriptObjectRepository.Register("hyCoreModel", cjs, BindingOptions.DefaultBinder);
web.StartNewWindow += Web_StartNewWindow;
web.TitleChanged += Web_TitleChanged;
}
web.AddressChanged += Web_AddressChanged;
this.KeyUp += BrowerControl_KeyUp;
}
private void BrowerControl_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == System.Windows.Input.Key.F12)
{
web.ShowDevTools();
}
}
private void Visitor_SendCookie(Cookie obj)
{
string cookies = obj.Name + "=" + obj.Value + ";";
App.JdCookie += cookies;
}
private void Web_AddressChanged(object sender, DependencyPropertyChangedEventArgs e)
{
Application.Current.Dispatcher.Invoke(() =>
{
txtUrl.Text = e.NewValue.ToString();
});
if (IsJustLoginJd)
{
if (e.NewValue.ToString().StartsWith("https://home.jd.com"))
{
CookieVisitor visitor = new CookieVisitor();
visitor.SendCookie += Visitor_SendCookie;
ICookieManager cookieManager = web.GetCookieManager();
cookieManager.VisitAllCookies(visitor);
WpfNoticeMsg.NoticeMessage.Show("请稍后,正在登录中...");
Task.Factory.StartNew(() =>
{
while (IsJustLoginJd)
{
Thread.Sleep(5000);
using (HttpClient http = new HttpClient())
{
http.DefaultRequestHeaders.Add("Cookie", App.JdCookie);
var result = http.GetAsync("https://passport.jd.com/user/petName/getUserInfoForMiniJd.action?callback=jQuery3218901&_=0").Result;
if (result.IsSuccessStatusCode)
{
WpfNoticeMsg.NoticeMessage.Show("登录成功,请返回重试!");
break;
}
}
}
});
}
}
}
public void Exit()
{
web.Dispose();
}
private void Web_TitleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
Application.Current.Dispatcher.Invoke(() =>
{
Tab.Header = e.NewValue;
});
}
int nowPatlom = 0;
public void OnUrlEnd(string url)
{
if (url.Contains("s_new.php"))
{
Task.Factory.StartNew(() =>
{
nowPatlom = 1;
lastUrl = "search.jd.com";
DoWork();
});
}
if (url.Contains("/marketOfferResultViewService"))
{
Task.Factory.StartNew(() =>
{
var items= Get1688ShopIds();
while (items == Get1688ShopIds())
{
Thread.Sleep(100);
}
nowPatlom = 2;
lastUrl = "s.1688.com";
StartPage();
});
}
//if (url.Contains("mobile.yangkeduo.com/proxy/api/search"))
//{
// nowPatlom = 3;
// lastUrl = "mobile.yangkeduo.com";
// DoWork();
//}
}
private void Web_StartNewWindow(object sender, NewWindowEventArgs e)
{
// WpfNoticeMsg.NoticeMessage.Show(e.Url);
BrowerHelper.OpenUrl(e.Url);
//MainWindow.Main.brower.NewTab(e.Url);
//web.Load(e.Url);
}
private void BrowerControl_Loaded(object sender, RoutedEventArgs e)
{
Thread t = new Thread(() => {
IWebBrowser webBrowser = null;
Application.Current.Dispatcher.Invoke(() => {
webBrowser = web.WebBrowser;
});
while (webBrowser == null)
{
Thread.Sleep(100);
Application.Current.Dispatcher.Invoke(() => {
webBrowser = web.WebBrowser;
});
}
Application.Current.Dispatcher.Invoke(() => {
web.WebBrowser.LoadingStateChanged += WebBrowser_LoadingStateChanged;
});
});
t.Start();
}
private string lastUrl = string.Empty;
private void WebBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
{
if (lastUrl != e.Browser.MainFrame.Url)
{
lastUrl = e.Browser.MainFrame.Url;
//开始单页查询
if (lastUrl.StartsWith("https://s.taobao.com/search")|| lastUrl.StartsWith("https://search.jd.com/")||lastUrl.StartsWith("https://s.1688.com/selloffer/offer_search.htm")|| lastUrl.StartsWith("https://mobile.yangkeduo.com/search_result.html?search_key"))
{
if (lastUrl.StartsWith("https://s.taobao.com/search")) {
nowPatlom = 0;
}
if (lastUrl.StartsWith("https://search.jd.com/"))
{
nowPatlom =1;
}
if (lastUrl.StartsWith("https://s.1688.com/"))
{
nowPatlom = 2;
}
if (lastUrl.StartsWith("https://mobile.yangkeduo.com/search_result.html?search_key"))
{
nowPatlom = 3;
}
StartPage();
}
}
}
object doWorkObj = new object();
private void StartPage()
{
Thread t = new Thread(() =>
{
lock (doWorkObj)
{
if (string.IsNullOrEmpty(lastUrl))
return;
if (!lastUrl.Contains("jd.com"))
{
AddJquery();
}
// AddAjaxHook();
DoWork();
}
});
t.Start();
}
object lockWork = new object();
private void DoWork()
{
lock (lockWork)
{
while (true)
{
if (string.IsNullOrEmpty(lastUrl))
break;
Task<JavascriptResponse> task = null;
Application.Current.Dispatcher.Invoke(() =>
{
task = web.EvaluateScriptAsPromiseAsync("return $(document.body).html();");
});
var result = task.Result;
//判断是否加载完成
if (result.Success)
{
AddCss();
if (nowPatlom==0)
{
AddTaoBaoOptionDiv();
CheckTaoBaoPageItem();
}
if (nowPatlom == 1)
{
AddJDOptionDiv();
CheckJDPageItem();
}
if (nowPatlom == 2)
{
Add1688OptionDiv();
Check1688PageItem();
// web.ShowDevTools();
}
if (nowPatlom == 3)
{
ChangePddStyle();
AddPDDOptionDiv();
CheckPDDPageItem();
}
//lastUrl = string.Empty;
break;
}
Thread.Sleep(100);
}
}
}
/// <summary>
/// 添加jq操作类
/// </summary>
/// <returns></returns>
private bool AddJquery()
{
return DoJavaScript("var script=document.createElement('script'); script.type='text/javascript'; script.src='https://code.jquery.com/jquery-1.12.4.min.js'; document.getElementsByTagName('head')[0].appendChild(script); ").isOk;
}
#region 淘宝代码
/// <summary>
/// 检测页面商品
/// </summary>
/// <returns></returns>
private void CheckTaoBaoPageItem()
{
var res = DoJavaScript(@"var ids=[]; $('div#mainsrp-itemlist .items .item .J_ItemPicA').each(function(){ids.push($(this).attr(""data-nid""))});return ids;");
List<string> itemIds = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(Newtonsoft.Json.JsonConvert.SerializeObject(res.result));
var result = ApiHelper.GetLabelByItemIds(itemIds, Models.ItemPlatform.Taobao);
if (result.isOk)
{
foreach (var item in result.datas)
{
//不是自己团队只判断是否过滤
if (!item.IsMyTeam)
{
//判断是否集团过滤
if (item.HasFilter)
{
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.myitemState').prepend('<div class=""smallfalseBg""></div>')");
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
}
//选品团海选
if (item.IsAdded)
{
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.myitemState').prepend('<div class=""smallpopBg""></div>')");
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
}
continue;
}
//判断是否团队过滤
if (item.IsFilter)
{
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.myitemState').addClass(""falseBg"")");
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsCompeting)
{
if ((int)DoJavaScript(@$"return $($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateYellow').length").result <= 0)
{
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
}
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsScreening)
{
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.myitemState').addClass(""trueBg"")");
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsAdded)
{
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.myitemState').addClass(""popBg"")");
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
}
//smallpopBg
}
}
}
/// <summary>
/// 添加操作面板
/// </summary>
/// <returns></returns>
private bool AddTaoBaoOptionDiv()
{
///添加js事件
DoJavaScript(@"
window.optClick= function (ele,type){
var itemid= $(ele).parent().parent().find(""a"").attr(""data-nid"");
var infoDiv=$($(ele).parent().parent().parent().parent().find("".J_IconMoreNew""));
var price=infoDiv.find("".g_price"").text();
var sales=infoDiv.find("".deal-cnt"").text();
var title=infoDiv.find("".title"").text();
var img=$(ele).parent().parent().find(""img"").attr(""src"");
hyCoreModel.settaobaoItemData({itemid:itemid,price:price,sales:sales,title:title,img:img,type:type});
};
");
return DoJavaScript(@"$('div#mainsrp-itemlist .items .item').find('.myitemState').remove();$('div#mainsrp-itemlist .items .item').find('.myopdiv').remove();
$('div#mainsrp-itemlist .items .item .pic').before('
<div class=""myitemState"">
<div class=""stateGraydiv""></div></div><div class=""myopdiv"">
<div class=""bgYellow"" style=""display:flex"" onclick=""optClick(this,3)"">竞品</div>
<div class=""bgZs"" style=""display:flex"" onclick=""optClick(this,2)"">海选</div>
<div class=""bgPig"" style=""display:flex"" onclick=""optClick(this,1)"">淘汰</div>
<div class=""bgGreen"" style=""display:flex"" onclick=""optClick(this,0)"">同款</div>
</div>
')").isOk;
}
#endregion
/// <summary>
/// 添加ajax请求拦截
/// </summary>
/// <returns></returns>
private bool AddAjaxHook()
{
return DoJavaScript(@"$(document).ajaxSuccess(function( event, xhr, settings ) {hyCoreModel.onAjaxHook(settings.url);});").isOk;
}
//object_id@653756566953^
#region 京东代码
/// <summary>
/// 检测页面商品
/// </summary>
/// <returns></returns>
private void CheckJDPageItem()
{
var res = DoJavaScript(@"var ids=[]; $('div#J_goodsList li').each(function(){ids.push($(this).attr(""data-sku""))});return ids;");
List<string> itemIds = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(Newtonsoft.Json.JsonConvert.SerializeObject(res.result));
var result = ApiHelper.GetLabelByItemIds(itemIds, Models.ItemPlatform.Jd);
if (result.isOk)
{
foreach (var item in result.datas)
{
//不是自己团队只判断是否过滤
if (!item.IsMyTeam)
{
//判断是否集团过滤
if (item.HasFilter)
{
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.myitemState').prepend('<div class=""smallfalseBg""></div>')");
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
//选品团海选
if (item.IsAdded)
{
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.myitemState').prepend('<div class=""smallpopBg""></div>')");
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
continue;
}
//判断是否团队过滤
if (item.IsFilter)
{
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.myitemState').addClass(""falseBg"")");
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsCompeting)
{
//<div style=""width:20%;height:20%"" class=""bgYellow"">竞</div>
if ((int)DoJavaScript(@$"return $($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateYellow').length").result <= 0)
{
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
}
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsScreening)
{
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.myitemState').addClass(""trueBg"")");
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsAdded)
{
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.myitemState').addClass(""popBg"")");
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
}
}
}
/// <summary>
/// 添加操作面板
/// </summary>
/// <returns></returns>
private bool AddJDOptionDiv()
{
///添加js事件
DoJavaScript(@"
window.optClick= function (ele,type){
var itemid= $(ele).parent().parent().parent().parent().attr(""data-sku"");
var price=$(ele).parent().parent().parent().parent().find("".p-price i"").text();
var sales=$(ele).parent().parent().parent().parent().find("".p-commit"").text();
var title=$(ele).parent().parent().parent().parent().find("".p-name a em"").text();
var img=$(ele).parent().parent().parent().parent().find("".p-img img"").attr(""src"");
hyCoreModel.setjdItemData({itemid:itemid,price:price,sales:sales,title:title,img:img,type:type});
};
");
return DoJavaScript(@"$('div#J_goodsList .gl-item').find('.myitemState').remove();$('div#J_goodsList .gl-item').find('.myopdiv').remove();
$('div#J_goodsList .gl-item .p-img a').before('
<div class=""myitemState"">
<div class=""stateGraydiv""></div></div><div class=""myopdiv"">
<div class=""bgYellow"" style=""display:flex"" onclick=""optClick(this,3)"">竞品</div>
<div class=""bgZs"" style=""display:flex"" onclick=""optClick(this,2)"">海选</div>
<div class=""bgPig"" style=""display:flex"" onclick=""optClick(this,1)"">淘汰</div>
<div class=""bgGreen"" style=""display:flex"" onclick=""optClick(this,0)"">同款</div>
</div>
')").isOk;
}
#endregion
#region 阿里巴巴代码
private List<string> Get1688ShopIds()
{
var res = DoJavaScript(@"var ids=[]; $('ul#sm-offer-list div.normalcommon-offer-card').each(function(){ids.push($(this).attr(""data-aplus-report""))});return ids;");
List<string> reports = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(Newtonsoft.Json.JsonConvert.SerializeObject(res.result));
List<string> itemIds = new List<string>();
if (reports != null)
{
reports.ForEach(c =>
{
string objid = Regex.Match(c, "object_id\\@(.*?)\\^").Groups[1].Value;
itemIds.Add(objid);
});
}
return itemIds;
}
/// <summary>
/// 检测页面商品
/// </summary>
/// <returns></returns>
private void Check1688PageItem()
{
var res = DoJavaScript(@"var ids=[]; $('ul#sm-offer-list div.normalcommon-offer-card').each(function(){ids.push($(this).attr(""data-aplus-report""))});return ids;");
List<string> reports = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(Newtonsoft.Json.JsonConvert.SerializeObject(res.result));
List<string> itemIds = new List<string>();
List<string> shopIds = new List<string>();
if (reports != null)
{
reports.ForEach(c =>
{
string objid = Regex.Match(c, "object_id\\@(.*?)\\^").Groups[1].Value;
string shopId= Regex.Match(c, "object_member_id\\@(.*?)\\^").Groups[1].Value;
DoJavaScript(@$"$(""ul#sm-offer-list"").find('div[data-aplus-report=""{c}""]').attr(""data-sku"",""{objid}"")");
DoJavaScript(@$"$(""ul#sm-offer-list"").find('div[data-aplus-report=""{c}""]').attr(""data-shopId"",""{shopId}"")");
itemIds.Add(objid);
if(!shopIds.Contains(shopId))
shopIds.Add(shopId);
});
}
var result = ApiHelper.GetLabelByItemIds(itemIds, Models.ItemPlatform.ALBB);
if (result.isOk)
{
foreach (var item in result.datas)
{ //不是自己团队只判断是否过滤
if (!item.IsMyTeam)
{
//判断是否集团过滤
if (item.HasFilter)
{
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.myitemState').prepend('<div class=""smallfalseBg""></div>')");
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
//选品团海选
if (item.IsAdded)
{
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.myitemState').prepend('<div class=""smallpopBg""></div>')");
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
continue;
}
//判断是否团队过滤
if (item.IsFilter)
{
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.myitemState').addClass(""falseBg"")");
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
//if (item.IsCompeting)
//{
// if ((int)BrowerControl.Main.DoJavaScript(@$"return $($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateYellow').length").result <= 0)
// {
// DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">合</div>')");
// }
// DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
//}
if (item.IsScreening)
{
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.myitemState').addClass(""trueBg"")");
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsAdded)
{
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.myitemState').addClass(""popBg"")");
DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
}
}
var alResult = ApiHelper.GetAlbbLabelByShopIds(shopIds);
if (alResult.isOk)
{
alResult.datas.ForEach(item => {
DoJavaScript($@"$($('ul#sm-offer-list div[data-shopId=""{item.ShopId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">合</div>')");
DoJavaScript($@"$($('ul#sm-offer-list div[data-shopId=""{item.ShopId}""]')).find('.stateGraydiv').addClass(""divshow"")");
});
}
}
/// <summary>
/// 添加操作面板
/// </summary>
/// <returns></returns>
private bool Add1688OptionDiv()
{
//添加js事件
DoJavaScript(@"
window.getparent=function (ele)
{
var info=$(ele).parent();
if(!info){return ele;}
if(info.hasClass(""space-offer-card-box""))
{
return info;
}
return getparent(info);
};
");
DoJavaScript(@"
window.optClick= function (ele,type){
var e=window.event || arguments.callee.caller.arguments[0];
e.preventDefault();
e.stopPropagation();
var parentDiv=window.getparent(ele);
var infoDiv=$(parentDiv.find(""div:first"")[0]);
var itemid= infoDiv.attr(""data-sku"");
var price=infoDiv.find("".showPricec"").text();
var sales=infoDiv.find("".sale"").text();
var title=infoDiv.find("".mojar-element-title"").text();
var img=infoDiv.find(""div.img"").css(""background-image"");
var shopId=infoDiv.attr(""data-shopId"");
hyCoreModel.set1688ItemData({itemid:itemid,price:price,sales:sales,title:title,img:img,type:type,shopId:shopId});
};
");
return DoJavaScript(@"$('ul#sm-offer-list').find('.myitemState').remove();$('ul#sm-offer-list').find('.myopdiv').remove();
$('ul#sm-offer-list div.normalcommon-offer-card .img-container div.img').append('
<div class=""myitemState"">
<div class=""stateGraydiv""></div></div>
<div class=""myopdiv"">
<div class=""bgYellow"" style=""display:flex;"" onclick=""optClick(this,4)"">合作</div>
<div class=""bgZs"" style=""display:flex;"" onclick=""optClick(this,2)"" >海选</div>
<div class=""bgPig"" style=""display:flex;"" onclick=""optClick(this,1)"">淘汰</div>
<div class=""bgGreen"" style=""display:flex;"" onclick=""optClick(this,0)"">同款</div>
</div>
')").isOk;
}
#endregion
#region 拼多多代码
private bool ChangePddStyle()
{
return DoJavaScript(@"//整体
document.getElementById(""main"").children[0].children[1].style=""width:1380px;margin:0px auto;""
//浮动筛选框
document.querySelector(""#main > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div:nth-child(2)"").style.top=""55px""
//在app打开
if(document.getElementsByClassName(""pdd-go-to-app"")[0])
document.getElementsByClassName(""pdd-go-to-app"")[0].outerHTML=''
if(document.getElementsByClassName(""PTWSQMBM _1vDZKiQt"")[0])
//回顶部
document.getElementsByClassName(""PTWSQMBM _1vDZKiQt"")[0].outerHTML=''
//列表
for (var i = 0; i < document.getElementsByClassName(""_3glhOBhU"").length; i++) {
if (document.getElementsByClassName(""_3glhOBhU"")[i] != undefined) {
document.getElementsByClassName(""_3glhOBhU"")[i].style = ""width: 250px; margin-right: 0.03rem; margin-bottom: 0.03rem;float:left;"";
if (document.getElementsByClassName(""_3glhOBhU"")[i].children[0].children[0] != undefined) {
var maindiv = document.getElementsByClassName(""_3glhOBhU"")[i].children[0].children[0];
if(maindiv.outerHTML.indexOf(""<span>试试搜这些</span>"")>=0)
{
document.getElementsByClassName(""_3glhOBhU"")[i].style = ""display:none"";
continue;
}
maindiv.style = ""width:250px;height:350px"";
if(maindiv.children[0]==undefined)
{
document.getElementsByClassName(""_3glhOBhU"")[i].style = ""display:none"";
continue;
}
if (maindiv.children[0].children[0] != undefined) {
maindiv.children[0].children[0].style = ""width:250px;height:250px"";
maindiv.children[0].children[0].children[0].style = ""width:250px;height:250px"";
}
var itemInfoDiv = maindiv.children[1]
if (itemInfoDiv != undefined) {
itemInfoDiv.style = ""padding: 0px;""
//标题
if (itemInfoDiv.children[0] != undefined) {
itemInfoDiv.children[0].style = ""font-size: 10px; line-height: 15px;"";
var imgs = itemInfoDiv.children[0].getElementsByTagName(""img"");
if (imgs != undefined && imgs.length > 0) {
for (var imgi = 0; imgi < imgs.length; imgi++) {
imgs[imgi].style = ""height:10px;top:0.01rem""
}
}
var spans = itemInfoDiv.children[0].getElementsByTagName(""span"");
for (var spi = 0; spi < spans.length; spi++) {
spans[spi].style = ""display:none""
}
}
// 标签
if (itemInfoDiv.children[1] != undefined) {
itemInfoDiv.children[1].style = ""padding:0px;margin:0px;height:10px"";
var iconList = itemInfoDiv.children[1].children;
for (var si = 0; si < iconList.length; si++) {
var iconDiv = iconList[si]
for (var t = 0; t < iconDiv.children.length; t++) {
iconDiv.children[t].style.fontSize = ""10px"";
iconDiv.children[t].style.lineHeight = ""15px"";
iconDiv.children[t].style.marginRight = ""5px"";
iconDiv.children[t].style.marginBottom = ""5px"";
}
imgs = iconDiv.getElementsByTagName(""img"")
if (imgs != undefined && imgs.length > 0) {
for (var imgi = 0; imgi < imgs.length; imgi++) {
imgs[imgi].style = ""width:10px;height:10px;position:relative;top:1px;margin-right:5px""
}
}
}
}
//价格
if (itemInfoDiv.children[2] != undefined) {
itemInfoDiv.children[2].style = ""padding:0px;margin:0px;height:1px"";
var priceDiv = itemInfoDiv.children[2].children[0];
if (priceDiv.children[1] != undefined) {
// priceDiv.children[1].style = ""margin-left: 0.04rem; font-size: 0.13rem;""
// if (priceDiv.children[1].children[0] != undefined) {
// priceDiv.children[1].children[0].style = "" transform-origin: left bottom; transform: scale(1); overflow: hidden;""
// }
}
var spans = priceDiv.getElementsByTagName(""span"")
for (var spanI = 0; spanI < spans.length; spanI++) {
spans[spanI].style.transform = ""unset"";
spans[spanI].style.fontSize = ""10px"";
spans[spanI].style.lineHeight = ""15px"";
}
}
}
}
}
}
//修改头部
var headDiv=document.getElementsByClassName(""_1DncS32V"")[0];
var svgList= headDiv.getElementsByTagName(""svg"")
for(var i=0;i<svgList.length;i++)
{
svgList[i].style=""height:15px;width:15px;""
}
var headSearchDiv=headDiv.children[0].children[0]
var serachDivs= headSearchDiv.getElementsByTagName(""div"")
for(var i=0;i<serachDivs.length;i++)
{
serachDivs[i].style.fontSize=""10px""
}
var serachSpans= headSearchDiv.getElementsByTagName(""span"")
for(var i=0;i<serachSpans.length;i++)
{
serachSpans[i].style.fontSize=""10px""
serachSpans[i].style.padding=""0px""
}
var serachSpans= headSearchDiv.getElementsByTagName(""i"")
for(var i=0;i<serachSpans.length;i++)
{
serachSpans[i].style.fontSize=""10px""
serachSpans[i].style.height=""10px""
}
var filterDiv= document.getElementsByClassName(""_1xKtLcOh"")[0]
if(filterDiv)
{
filterDiv.style.padding=""0px""
}
var filterSpans= document.getElementsByClassName(""_38knpqtC"")[0].getElementsByTagName(""span"")
for(var i=0;i<filterSpans.length;i++)
{
if(filterSpans[i].getElementsByTagName(""span"").length>1)
{
filterSpans[i].style.height=""0px""
}
}
var filteris= document.querySelector(""#main > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div:nth-child(2)"").getElementsByTagName(""i"")
for(var i=0;i<filteris.length;i++)
{
filteris[i].style=""display:none""
}
", false).isOk;
}
private void CheckPDDPageItem()
{
var res = DoJavaScript(@"var ids=[]; $('div._3glhOBhU').each(function(){if($(this).attr(""has_get"")==undefined){ $(this).attr(""has_get"",true); ids.push($(this).attr(""item_id""))}});return ids;");
List<string> itemIds = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(Newtonsoft.Json.JsonConvert.SerializeObject(res.result));
var result = ApiHelper.GetLabelByItemIds(itemIds, Models.ItemPlatform.PDD);
if (result.isOk)
{
foreach (var item in result.datas)
{
//不是自己团队只判断是否过滤
if (!item.IsMyTeam)
{
//判断是否集团过滤
if (item.HasFilter)
{
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.myitemState').prepend('<div class=""smallfalseBg""></div>')");
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
continue;
}
//判断是否团队过滤
if (item.IsFilter)
{
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.myitemState').addClass(""falseBg"")");
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsCompeting)
{
//<div style=""width:20%;height:20%"" class=""bgYellow"">竞</div>
if ((int)DoJavaScript(@$"return $($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.stateYellow').length").result <= 0)
{
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
}
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsScreening)
{
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.myitemState').addClass(""trueBg"")");
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
if (item.IsAdded)
{
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.myitemState').addClass(""popBg"")");
DoJavaScript($@"$($('div._3glhOBhU[item_id=""{item.GoodsId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
}
}
}
/// <summary>
/// 添加操作面板
/// </summary>
/// <returns></returns>
private bool AddPDDOptionDiv()
{
///添加js事件
DoJavaScript(@"
window.optClick= function (obj,type){
window.event? window.event.cancelBubble = true : e.stopPropagation();
var ele =$(obj).parents(""._3glhOBhU"")[0];
var itemid= $(ele).attr(""item_id"");
var price=$(ele).attr(""item_price"");
var sales=$(ele).attr(""item_sales"");
var title=$(ele).attr(""item_title"");
var img=$(ele).attr(""item_img"");
hyCoreModel.setpddItemData({itemid:itemid,price:price,sales:sales,title:title,img:img,type:type});
};
");
return DoJavaScript(@"
$('div._3glhOBhU .rjNMXsUm .LOFjVUas img').each(function () {
var ele = $(this).parents(""._3glhOBhU"")[0];
if($(ele).find('.myitemState').length>0)
{
return;
}
var parentObj= ele[Object.keys(ele).find(key=>key.startsWith(""__reactInternalInstance$""))];
if(parentObj.pendingProps&&parentObj.pendingProps.children&&parentObj.pendingProps.children.props&&parentObj.pendingProps.children.props.goods)
{
var goodId=parentObj.pendingProps.children.props.goods.goodsID;
$(ele).attr('item_id',goodId);
$(ele).attr('item_price',parentObj.pendingProps.children.props.goods.priceInfo);
$(ele).attr('item_title',parentObj.pendingProps.children.props.goods.goodsName);
$(ele).attr('item_img',parentObj.pendingProps.children.props.goods.imgUrl);
$(ele).attr('item_sales',parentObj.pendingProps.children.props.goods.salesTip);
$(this).before('
<div class=""myitemState"" item_id=""'+goodId+'"">
<div class=""stateGraydiv""></div>
</div>
<div class=""myopdiv"" item_id=""'+goodId+'"">
<div class=""bgYellow"" style=""display:flex"" onclick=""optClick(this,3)"">竞品</div>
<div class=""bgZs"" style=""display:flex"" onclick=""optClick(this,2)"">海选</div>
<div class=""bgPig"" style=""display:flex"" onclick=""optClick(this,1)"">淘汰</div>
<div class=""bgGreen"" style=""display:flex"" onclick=""optClick(this,0)"">同款</div>
</div>
');
}
});").isOk;
}
#endregion
private bool AddCss()
{
///添加css
return DoJavaScript(@"$('head').append('<style>
.myitemState
{
width:100%;
height:100%;
position: absolute;
left: 0px;
top: 0px;
z-index: 9999;
}
.trueBg
{
background: url(""nacollector://home/img/true.png"") no-repeat;
background-size: 100% 100%;
}
.smallpopBg
{
width:78px;
height:78px;
bottom: 0px;
left: 10px;
top: unset;
background: url(""nacollector://home/img/pop.png"") no-repeat;
background-size: 100% 100%;
position: absolute;
}
.popBg
{
background: url(""nacollector://home/img/pop.png"") no-repeat;
background-size: 100% 100%;
}
.falseBg
{
background: url(""nacollector://home/img/close.png"") no-repeat;
background-size: 100% 100%;
}
.smallfalseBg
{
width:78px;
height:78px;
bottom: 0px;
left: 0px;
top: unset;
background: url(""nacollector://home/img/close.png"") no-repeat;
background-size: 100% 100%;
position: absolute;
}
.stateGraydiv
{
width:100%;
height:100%;
display:none;
background-color: rgba(85, 85, 85, 0.45);
}
.divshow
{
display:block;
}
.myopdiv
{
width:85%;
height:100%;
display:none;
position: absolute;
top: 0px;
right:0px;
}
.myopdiv div {
width: 23%;
height: 20%;
display: inline-block;
cursor: pointer;
}
.pic-box:hover .myopdiv
{
display:unset;
}
.pic-box:hover .myitemState
{
display:none;
}
.p-img:hover .myitemState
{
display:none;
}
.p-img:hover .myopdiv
{
display:unset;
z-index:9999;
}
.img-container:hover .myitemState
{
display:none;
}
.img-container:hover .myopdiv
{
display:unset;
z-index:9999;
}
.LOFjVUas:hover .myitemState
{
display:none;
}
.LOFjVUas:hover .myopdiv
{
display:unset;
z-index:9999;
}
.bgGreen
{
background: rgba(99, 161, 3, 0.8);
font-size:20px;
color:red;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
float: right;
font-family: ""global-iconfont"";
font-weight: 999;
margin-right:5px;
}
.bgPig
{
background: rgba(236, 128, 141, 0.8);
font-size:20px;
color:red;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
float: right;
font-family: ""global-iconfont"";
font-weight: 999;
margin-right:5px;
}
.bgZs
{
background: rgba(194, 128, 255, 0.8);
font-size:20px;
color:red;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
float: right;
font-family: ""global-iconfont"";
font-weight: 999;
margin-right:5px;
}
.bgYellow
{
background: rgba(245, 154, 35, 0.8);
font-size:20px;
color:red;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
float: right;
font-family: ""global-iconfont"";
font-weight: 999;
}
.stateYellow
{
background: rgba(245, 154, 35, 0.8);
font-size:20px;
color:red;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
float: right;
font-family: ""global-iconfont"";
font-weight: 999;
}
</style>')".Replace("\n", "").Replace("\r\n", "")).isOk;
}
/// <summary>
/// 执行js
/// </summary>
/// <param name="js"></param>
/// <returns></returns>
public (bool isOk, object result) DoJavaScript(string js,bool needReplaceLine=true)
{
if (needReplaceLine)
{
js = js.Replace("\n", "").Replace("\r\n", "").Replace(System.Environment.NewLine, "").Replace("\r", "");
}
Task<JavascriptResponse> task = null;
Application.Current.Dispatcher.Invoke(() =>
{
task = web.EvaluateScriptAsPromiseAsync(js);
});
var result = task.Result;
//判断是否加载完成
return (result.Success,result.Result);
}
private void txtUrl_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == System.Windows.Input.Key.Enter)
{
lastUrl = string.Empty;
web.Load(txtUrl.Text);
}
}
private void back_Click(object sender, RoutedEventArgs e)
{
lastUrl = string.Empty;
this.web.Back();
}
}
public class CefAsyncJS
{
public BrowerControl Brower { get; set; }
public void onAjaxHook(string url)
{
Brower.OnUrlEnd(url);
}
public bool settaobaoItemData(dynamic data)
{
if (!MainWindow.Main.IsUpdateKey)
{
MainWindow.Main.IsUpdateKey = true;
ApiHelper.SetKeyOpenTime(MainWindow.Main.LastKeyWord, Models.ItemPlatform.Taobao);
}
int type = data.type;
string price = data.price;
price = Regex.Match(price, @"([1-9]\d*\.?\d*)|(0\.\d*[1-9])").Groups[0].Value.Trim();
string sales = data.sales;
string title = data.title;
title = title.Trim();
string img = data.img;
string itemId = data.itemid;
if (img.Contains("jpg?"))
{
img = img.Split("jpg?")[0]+"jpg";
}
var result = ApiHelper.SetItemLabel(new Models.ItemLabelDto()
{
Img = img,
ItemId = itemId,
Platform = Models.ItemPlatform.Taobao,
Price = Convert.ToDecimal(price),
Sales = sales,
Status = (ItemLabelStatus)type,
Title = title,
CatId=MainWindow.Main.LastKeyWord
});
if (result.isOk)
{
//判断是否团队过滤
if (type == 1)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').removeClass(""falseBg"")");
}
else
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""falseBg"")");
}
}
if (type == 3)
{
if (result.isCanel)
{
Brower.DoJavaScript(@$"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').find('.stateYellow').remove()");
}
else
{
int row = (int)Brower.DoJavaScript(@$"return $($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').find('.stateYellow').length").result;
if (row < 1)
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
}
}
}
if (type == 0)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').removeClass(""trueBg"")");
}
else
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""trueBg"")");
}
}
if (type == 2)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').removeClass(""popBg"")");
}
else
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""popBg"")");
}
}
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.stateGraydiv').removeClass(""divshow"")");
}
else
{
Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
}
}
WpfNoticeMsg.NoticeMessage.Show(result.msg, "提示");
return result.isOk;
}
public bool setjdItemData(dynamic data)
{
if (!MainWindow.Main.IsUpdateKey)
{
MainWindow.Main.IsUpdateKey = true;
ApiHelper.SetKeyOpenTime(MainWindow.Main.LastKeyWord, Models.ItemPlatform.Jd);
}
int type = data.type;
string price = data.price;
price = Regex.Match(price, @"([1-9]\d*\.?\d*)|(0\.\d*[1-9])").Groups[0].Value.Trim();
string sales = data.sales;
sales = sales.Trim();
string title = data.title;
title = title.Trim();
string img = data.img;
string itemId = data.itemid;
string sku = string.Empty;
//如果是竞品,则需要输入自己的SKU
if (type == 3)
{
Application.Current.Dispatcher.Invoke(() =>
{
SkuWindow skuWindow = new SkuWindow();
if (skuWindow.ShowDialog() != true)
{
}
sku = skuWindow.Sku;
});
if (string.IsNullOrEmpty(sku))
return false;
}
var result = ApiHelper.SetItemLabel(new Models.ItemLabelDto()
{
Img = img,
ItemId = itemId,
Platform = Models.ItemPlatform.Jd,
Price = Convert.ToDecimal(price),
Sales = sales,
Status = (ItemLabelStatus)type,
Title = title,
CatId = MainWindow.Main.LastKeyWord,
Sku = sku
});
if (result.isOk)
{
//判断是否团队过滤
if (type == 1)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').removeClass(""falseBg"")");
}
else
{
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""falseBg"")");
}
}
if (type == 3)
{
if (result.isCanel) {
Brower.DoJavaScript(@$"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').find('.stateYellow').remove()");
}
else
{
int row = (int)Brower.DoJavaScript(@$"return $($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').find('.stateYellow').length").result;
if (row < 1)
{
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
}
}
}
if (type == 0)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').removeClass(""trueBg"")");
}
else
{
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""trueBg"")");
}
}
if (type == 2)
{
if (result.isCanel) {
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').removeClass(""popBg"")");
} else
{
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""popBg"")");
}
}
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.stateGraydiv').removeClass(""divshow"")");
}
else
{
Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
}
WpfNoticeMsg.NoticeMessage.Show(result.msg, "提示");
return result.isOk;
}
public bool set1688ItemData(dynamic data)
{
if (!MainWindow.Main.IsUpdateKey)
{
MainWindow.Main.IsUpdateKey = true;
ApiHelper.SetKeyOpenTime(MainWindow.Main.LastKeyWord, Models.ItemPlatform.ALBB);
}
int type = data.type;
string price = data.price;
price = Regex.Match(price, @"([1-9]\d*\.?\d*)|(0\.\d*[1-9])").Groups[0].Value.Trim();
string sales = data.sales;
sales = sales.Trim();
string title = data.title;
title = title.Trim();
string img = data.img;
string itemId = data.itemid;
string shopId = data.shopId;
img = Regex.Match(img, @"url\(""(.*?)""\)").Groups[1].Value;
if (!string.IsNullOrEmpty(img))
{
img = img.Split('?')[0];
}
if (type == 4)
{
var result = ApiHelper.SetAlbbCooperation(shopId);
if (result.isOk)
{
if (result.isCanel)
{
Brower.DoJavaScript(@$"$($('ul#sm-offer-list div[data-shopId=""{shopId}""]')).find('.myitemState').find('.stateYellow').remove()");
}
else
{
int row = (int)Brower.DoJavaScript(@$"return $($('ul#sm-offer-list div[data-shopId=""{shopId}""]')).find('.myitemState').find('.stateYellow').length").result;
if (row < 1)
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-shopId=""{shopId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">合</div>')");
}
}
}
WpfNoticeMsg.NoticeMessage.Show(result.msg, "提示");
return result.isOk;
}
else
{
var result = ApiHelper.SetItemLabel(new Models.ItemLabelDto()
{
Img = img,
ItemId = itemId,
Platform = Models.ItemPlatform.ALBB,
Price = Convert.ToDecimal(price),
Sales = sales,
Status = (ItemLabelStatus)type,
Title = title,
CatId = MainWindow.Main.LastKeyWord
});
if (result.isOk)
{
//判断是否团队过滤
if (type == 1)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').removeClass(""falseBg"")");
}
else
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""falseBg"")");
}
}
if (type == 0)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').removeClass(""trueBg"")");
}
else
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""trueBg"")");
}
}
if (type == 2)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').removeClass(""popBg"")");
}
else
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""popBg"")");
}
}
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.stateGraydiv').removeClass(""divshow"")");
} else
{
Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
}
WpfNoticeMsg.NoticeMessage.Show(result.msg, "提示");
return result.isOk;
}
}
public bool setpddItemData(dynamic data)
{
if (!MainWindow.Main.IsUpdateKey)
{
MainWindow.Main.IsUpdateKey = true;
ApiHelper.SetKeyOpenTime(MainWindow.Main.LastKeyWord, Models.ItemPlatform.PDD);
}
int type = data.type;
string price = data.price;
price = Regex.Match(price, @"([1-9]\d*\.?\d*)|(0\.\d*[1-9])").Groups[0].Value.Trim();
string sales = data.sales;
sales = sales.Trim();
string title = data.title;
title = title.Trim();
string img = data.img;
string itemId = data.itemid;
string sku = string.Empty;
//如果是竞品,则需要输入自己的SKU
if (type == 3)
{
Application.Current.Dispatcher.Invoke(() =>
{
SkuWindow skuWindow = new SkuWindow();
if (skuWindow.ShowDialog() != true)
{
}
sku = skuWindow.Sku;
});
if (string.IsNullOrEmpty(sku))
return false;
}
var result = ApiHelper.SetItemLabel(new Models.ItemLabelDto()
{
Img = img,
ItemId = itemId,
Platform = Models.ItemPlatform.PDD,
Price = Convert.ToDecimal(price),
Sales = sales,
Status = (ItemLabelStatus)type,
Title = title,
CatId = MainWindow.Main.LastKeyWord,
Sku = sku
});
if (result.isOk)
{
//判断是否团队过滤
if (type == 1)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').removeClass(""falseBg"")");
}
else
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').addClass(""falseBg"")");
}
}
if (type == 3)
{
if (result.isCanel)
{
Brower.DoJavaScript(@$"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').find('.stateYellow').remove()");
}
else
{
int row = (int)Brower.DoJavaScript(@$"return $($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').find('.stateYellow').length").result;
if (row < 1)
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
}
}
}
if (type == 0)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').removeClass(""trueBg"")");
}
else
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').addClass(""trueBg"")");
}
}
if (type == 2)
{
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').removeClass(""popBg"")");
}
else
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.myitemState').addClass(""popBg"")");
}
}
if (result.isCanel)
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.stateGraydiv').removeClass(""divshow"")");
}
else
{
Brower.DoJavaScript($@"$($('div._3glhOBhU[item_id=""{itemId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
}
WpfNoticeMsg.NoticeMessage.Show(result.msg, "提示");
return result.isOk;
}
}
}