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(() =>
{
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.Register("hyCoreModel", new CefAsyncJS(), BindingOptions.DefaultBinder);
web.JavascriptObjectRepository.Register("hyCoreModel", new TaobaoCefAsyncJS(), BindingOptions.DefaultBinder);
Main = this;
}
@ -79,11 +79,10 @@ namespace 齐越慧眼.UserControls
{
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();
}
}
}
@ -111,8 +110,27 @@ namespace 齐越慧眼.UserControls
//判断是否加载完成
if (result.Success)
{
AddOptionDiv();
CheckPageItem();
AddCss();
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;
break;
}
@ -123,18 +141,28 @@ namespace 齐越慧眼.UserControls
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>
/// <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;");
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)
{
@ -166,7 +194,7 @@ namespace 齐越慧眼.UserControls
}
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"")");
@ -183,48 +211,135 @@ namespace 齐越慧眼.UserControls
}
/// <summary>
/// 添加jq操作类
/// 添加操作面板
/// </summary>
/// <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>
/// <returns></returns>
private bool AddOptionDiv()
private bool AddJDOptionDiv()
{
///添加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"");
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"");
debugger;
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"">
<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>')");
return DoJavaScript(@"$('div#J_goodsList .gl-item').find('.myitemState').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
private bool AddCss()
{
///添加css
return DoJavaScript(@"$('head').append('<style>
.myitemState
@ -301,6 +416,16 @@ namespace 齐越慧眼.UserControls
display:none;
}
.p-img:hover .myitemState
{
display:none;
}
.p-img:hover .myopdiv
{
display:unset;
z-index:9999;
}
.bgGreen
{
background: rgba(99, 161, 3, 0.8);
@ -372,8 +497,6 @@ namespace 齐越慧眼.UserControls
</style>')".Replace("\n", "").Replace("\r\n", "")).isOk;
}
/// <summary>
/// 执行js
/// </summary>
@ -396,7 +519,7 @@ namespace 齐越慧眼.UserControls
}
}
public class CefAsyncJS
public class TaobaoCefAsyncJS
{
public string getTest()

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

@ -54,15 +54,15 @@ namespace 齐越慧眼.UserControls
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.LastKeyPat = type;
MainWindow.Main.LastKeyPat =int.Parse( type);
MainWindow.Main.IsUpdateKey = false;
// 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: {
changeTab(e){
this.getDatas()
this.currentTab=e
},
this.currentTab=e
console.log(e)
this.getDatas()
},
openKey(obj,key,id)
{
//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