Browse Source

增加京东模板

master
С·æ 4 years ago
parent
commit
d2224ea8b6
  1. 9
      客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs
  2. 185
      客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
  3. 6
      客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml.cs
  4. 7
      客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/cats/Index.vue
  5. 2
      客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js
  6. 2
      客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js.map

9
客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs

@ -47,7 +47,14 @@ namespace 齐越慧眼
Application.Current.Dispatcher.Invoke(() => Application.Current.Dispatcher.Invoke(() =>
{ {
tab.SelectedIndex = 2; tab.SelectedIndex = 2;
brower.web.Load($"https://s.taobao.com/search?q={keyWord}&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index"); switch (type) {
case 0:
brower.web.Load($"https://s.taobao.com/search?q={keyWord}&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index");
break;
case 1:
brower.web.Load($"https://search.jd.com/Search?keyword={keyWord}&enc=utf-8");
break;
}
}); });
} }
} }

185
客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs

@ -40,7 +40,7 @@ namespace 齐越慧眼.UserControls
web.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true; web.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
web.JavascriptObjectRepository.Register("hyCoreModel", new CefAsyncJS(), BindingOptions.DefaultBinder); web.JavascriptObjectRepository.Register("hyCoreModel", new TaobaoCefAsyncJS(), BindingOptions.DefaultBinder);
Main = this; Main = this;
} }
@ -79,11 +79,10 @@ namespace 齐越慧眼.UserControls
{ {
lastUrl = e.Browser.MainFrame.Url; lastUrl = e.Browser.MainFrame.Url;
//开始单页查询 //开始单页查询
if (lastUrl.StartsWith("https://s.taobao.com/search")) if (lastUrl.StartsWith("https://s.taobao.com/search")|| lastUrl.StartsWith("https://search.jd.com/"))
{ {
StartPage(); StartPage();
} }
} }
} }
@ -111,8 +110,27 @@ namespace 齐越慧眼.UserControls
//判断是否加载完成 //判断是否加载完成
if (result.Success) if (result.Success)
{ {
AddOptionDiv(); AddCss();
CheckPageItem();
if (lastUrl.Contains("s.taobao.com"))
{
AddTaoBaoOptionDiv();
CheckTaoBaoPageItem();
}
if (lastUrl.Contains("search.jd.com"))
{
AddJDOptionDiv();
//CheckJDPageItem();
web.ShowDevTools();
}
//if (lastUrl.Contains("s.taobao.com"))
//{
// AddTaoBaoOptionDiv();
// CheckTaoBaoPageItem();
//}
lastUrl = string.Empty; lastUrl = string.Empty;
break; break;
} }
@ -123,18 +141,28 @@ namespace 齐越慧眼.UserControls
t.Start(); t.Start();
} }
/// <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>
/// 检测页面商品 /// 检测页面商品
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
private void CheckPageItem() 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;"); 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)); List<string> itemIds = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(Newtonsoft.Json.JsonConvert.SerializeObject(res.result));
var result= ApiHelper.GetLabelByItemIds(itemIds, Models.ItemPlatform.Taobao); var result = ApiHelper.GetLabelByItemIds(itemIds, Models.ItemPlatform.Taobao);
if (result.isOk) if (result.isOk)
{ {
@ -166,7 +194,7 @@ namespace 齐越慧眼.UserControls
} }
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")"); DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
} }
if (item.IsScreening) 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('.myitemState').addClass(""trueBg"")");
@ -183,48 +211,135 @@ namespace 齐越慧眼.UserControls
} }
/// <summary> /// <summary>
/// 添加jq操作类 /// 添加操作面板
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
private bool AddJquery() private bool AddTaoBaoOptionDiv()
{ {
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; ///添加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.setItemData({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 .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
#region 京东代码
/// <summary>
/// 检测页面商品
/// </summary>
/// <returns></returns>
private void CheckJDPageItem()
{
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.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"")");
}
else
{
//判断是否集团过滤
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.IsCompeting)
{
//<div style=""width:20%;height:20%"" class=""bgYellow"">竞</div>
if ((int)BrowerControl.Main.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"")");
}
}
}
}
/// <summary> /// <summary>
/// 添加操作面板 /// 添加操作面板
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
private bool AddOptionDiv() private bool AddJDOptionDiv()
{ {
///添加js事件 ///添加js事件
DoJavaScript(@" DoJavaScript(@"
window.optClick= function (ele,type){ window.optClick= function (ele,type){
var itemid= $(ele).parent().parent().find(""a"").attr(""data-nid""); var itemid= $(ele).parent().parent().parent().parent().attr(""data-sku"");
var infoDiv=$($(ele).parent().parent().parent().parent().find("".J_IconMoreNew"")); var price=$(ele).parent().parent().parent().parent().find("".p-price i"").text();
var price=infoDiv.find("".g_price"").text(); var sales=$(ele).parent().parent().parent().parent().find("".p-commit"").text();
var sales=infoDiv.find("".deal-cnt"").text(); var title=$(ele).parent().parent().parent().parent().find("".p-name a em"").text();
var title=infoDiv.find("".title"").text(); var img=$(ele).parent().parent().parent().parent().find("".p-img img"").attr(""src"");
var img=$(ele).parent().parent().find(""img"").attr(""src""); debugger;
hyCoreModel.setItemData({itemid:itemid,price:price,sales:sales,title:title,img:img,type:type}); hyCoreModel.setItemData({itemid:itemid,price:price,sales:sales,title:title,img:img,type:type});
}; };
"); ");
DoJavaScript(@"$('div#mainsrp-itemlist .items .item').find('.myitemState').remove();$('div#mainsrp-itemlist .items .item .pic').before('<div class=""myitemState""><div class=""stateGraydiv""></div></div><div class=""myopdiv""> return DoJavaScript(@"$('div#J_goodsList .gl-item').find('.myitemState').remove();
$('div#J_goodsList .gl-item .p-img a').before('
<div class=""bgYellow"" style=""display:flex"" onclick=""optClick(this,3)""></div> <div class=""myitemState"">
<div class=""bgZs"" style=""display:flex"" onclick=""optClick(this,2)""></div> <div class=""stateGraydiv""></div></div><div class=""myopdiv"">
<div class=""bgPig"" style=""display:flex"" onclick=""optClick(this,1)""></div> <div class=""bgYellow"" style=""display:flex"" onclick=""optClick(this,3)""></div>
<div class=""bgGreen"" style=""display:flex"" onclick=""optClick(this,0)""></div> <div class=""bgZs"" style=""display:flex"" onclick=""optClick(this,2)""></div>
<div class=""bgPig"" style=""display:flex"" onclick=""optClick(this,1)""></div>
</div>')"); <div class=""bgGreen"" style=""display:flex"" onclick=""optClick(this,0)""></div>
</div>
')").isOk;
}
#endregion
private bool AddCss()
{
///添加css ///添加css
return DoJavaScript(@"$('head').append('<style> return DoJavaScript(@"$('head').append('<style>
.myitemState .myitemState
@ -301,6 +416,16 @@ namespace 齐越慧眼.UserControls
display:none; display:none;
} }
.p-img:hover .myitemState
{
display:none;
}
.p-img:hover .myopdiv
{
display:unset;
z-index:9999;
}
.bgGreen .bgGreen
{ {
background: rgba(99, 161, 3, 0.8); background: rgba(99, 161, 3, 0.8);
@ -372,8 +497,6 @@ namespace 齐越慧眼.UserControls
</style>')".Replace("\n", "").Replace("\r\n", "")).isOk; </style>')".Replace("\n", "").Replace("\r\n", "")).isOk;
} }
/// <summary> /// <summary>
/// 执行js /// 执行js
/// </summary> /// </summary>
@ -396,7 +519,7 @@ namespace 齐越慧眼.UserControls
} }
} }
public class CefAsyncJS public class TaobaoCefAsyncJS
{ {
public string getTest() public string getTest()

6
客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml.cs

@ -54,15 +54,15 @@ namespace 齐越慧眼.UserControls
public class CatsAsyncJS public class CatsAsyncJS
{ {
public void openTabByKey(string keyWord,string id,int type) public void openTabByKey(string keyWord,string id,string type)
{ {
MainWindow.Main.LastKeyWord = id; MainWindow.Main.LastKeyWord = id;
MainWindow.Main.LastKeyPat = type; MainWindow.Main.LastKeyPat =int.Parse( type);
MainWindow.Main.IsUpdateKey = false; MainWindow.Main.IsUpdateKey = false;
// var result= ApiHelper.SetKeyOpenTime(id, (Models.ItemPlatform)type); // var result= ApiHelper.SetKeyOpenTime(id, (Models.ItemPlatform)type);
MainWindow.Main.ChangeTab(keyWord, type); MainWindow.Main.ChangeTab(keyWord, int.Parse(type));
} }
} }
} }

7
客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/cats/Index.vue

@ -104,9 +104,10 @@
}, },
methods: { methods: {
changeTab(e){ changeTab(e){
this.getDatas() this.currentTab=e
this.currentTab=e console.log(e)
}, this.getDatas()
},
openKey(obj,key,id) openKey(obj,key,id)
{ {
//obj.IsShowTBTime=false //obj.IsShowTBTime=false

2
客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js

File diff suppressed because one or more lines are too long

2
客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js.map

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save