Browse Source

增加京东搜图

master
feng 4 years ago
parent
commit
b83eaef92e
  1. 4
      客户端/齐越慧眼/齐越慧眼/ApiHelper.cs
  2. 53
      客户端/齐越慧眼/齐越慧眼/Helpers/JdApiHelper.cs
  3. 5
      客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs
  4. 2
      客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
  5. 3
      客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml.cs
  6. 6
      客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml.cs
  7. 16
      客户端/齐越慧眼/齐越慧眼/UserControls/SomeBrowerControl.xaml.cs
  8. 17
      客户端/齐越慧眼/齐越慧眼/script/account.js
  9. 27
      客户端/齐越慧眼/齐越慧眼/script/app.js
  10. 17
      客户端/齐越慧眼/齐越慧眼/script/package.json
  11. 2810
      客户端/齐越慧眼/齐越慧眼/script/yarn.lock
  12. 1057
      客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/items/Index.vue
  13. 1
      客户端/齐越慧眼/齐越慧眼/vuepage/dist/css/app.a281d79c.css
  14. 2
      客户端/齐越慧眼/齐越慧眼/vuepage/dist/index.html
  15. 2
      客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js
  16. 2
      客户端/齐越慧眼/齐越慧眼/vuepage/dist/js/app.js.map
  17. 4
      客户端/齐越慧眼/齐越慧眼/齐越慧眼.csproj

4
客户端/齐越慧眼/齐越慧眼/ApiHelper.cs

@ -21,8 +21,8 @@ namespace 齐越慧眼
public static string JwtToken {
get
{
return "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDA1MTUxNjE5NTk0NTg4MTYwIiwidGVhbUlkIjoiMTQzOTg5OTEyMzk1NTI3MzcyOCIsImV4cCI6MTY3MDQ3MDkyNX0.iUkxjlPOsuLSuoUG9-O7VIkI33fDlu9AmPdqJBTBa-w";
if (string.IsNullOrEmpty(jwtToken))
//return "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDM5OTA3NDY1MDMzNDIwODAwIiwidGVhbUlkIjoiMTQzNjI4ODUwMDIzNTI0MzUyMCIsImV4cCI6MTY3MDY2ODk3OX0.EXnvVkAAUkDndalUo_SalFKOBsbzpx_c-L_ddCwa7RY";
if (string.IsNullOrEmpty(jwtToken))
{
jwtToken = GetMemoryToken().Replace("\r\n","");

53
客户端/齐越慧眼/齐越慧眼/Helpers/JdApiHelper.cs

@ -19,30 +19,35 @@ namespace 齐越慧眼.Helpers
using (System.Net.WebClient webClient = new System.Net.WebClient())
{
webClient.Headers.Add("cookie", "__jdv=76161171|direct|-|none|-|1638869805933; __jdu=16388698059328286849; areaId=19; ipLoc-djd=19-1666-0-0; PCSYCityID=CN_440000_440600_0; _pst=16927647-35691944; unick=%E7%BC%BA%E9%98%B3%E5%85%89%E7%9A%84%E5%90%8A%E5%85%B0; pin=16927647-35691944; _tp=XgOfMtPFh92ZbKpmUXyiKkww9vdhsCgPikOUZsSQog8%3D; shshshfpa=6791a0cf-5a8f-7694-426b-368379ec439f-1638869824; shshshfpb=jb35ePu5DchO3Y4rjX%20xERA%3D%3D; qrsc=3; shshshfp=1f964b3df427da1779b7c5745b5cbddb; thor=015C6984E52D7AA6F54B79351F45CECCAA86F5B71F7807178D7E5044B5B8C528095D1EC065B7BB3B3478716F0193B94DCA09CD8C24E4EF5B8FEF4E26CA166E59681381AF92538D12DD17E89019060216036A0F30231A3CA47AD2B56A508B462F2651A1976D997C9A16073A0DA758F3DDF61B41359BED5A7FC84C16677B4FE6CA75A472DB8A772628BDBCB39A9B39ADA97072F2268D249D74E955B0F17A413D89; pinId=xpLDZpChZphYLUlvWdbaKvwZj9lbjz-c; __jda=76161171.16388698059328286849.1638869806.1638869806.1638879362.2; __jdb=76161171.4.16388698059328286849|2.1638879362; __jdc=76161171; shshshsID=d20602783dcaaffcb5355ea48291319c_2_1638879385194; 3AB9D23F7A4B3C9B=RMPGIHATPH4SBVV7LECL6XAHEWL242U2UZT6MW2CFKUCKQVVMS7HKIU7GT2O63I5A3SUEKPWBSHOLYCUQ3N7HMKZ5E");
webClient.Headers.Add("origin", "https://www.jd.com");
webClient.Headers.Add("referer", "https://www.jd.com");
webClient.Headers.Add("sec-fetch-dest", "iframe");
webClient.Headers.Add("sec-fetch-mode", "navigate");
webClient.Headers.Add("sec-fetch-site", "same-site");
webClient.Headers.Add("sec-fetch-user", "?1");
webClient.Headers.Add("upgrade-insecure-requests", "1");
webClient.Headers.Add("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
webClient.Headers.Add("accept-encoding", " deflate, br");
webClient.Headers.Add("accept-language", "zh-CN,zh;q=0.9");
webClient.Headers.Add("cache-control", "no-cache");
// 边界符
var boundary = "---------------" + DateTime.Now.Ticks.ToString("x");
webClient.Headers.Add("content-type", $"multipart/form-data; boundary={boundary}");
var b = GetFileData("upload.jpg", new MemoryStream(file), boundary: boundary);
var result = webClient.UploadData("https://search.jd.com/image?op=upload", b.ToArray());
string json = Encoding.Default.GetString(result);
return json;
try
{
webClient.Headers.Add("cookie", cookie);
webClient.Headers.Add("origin", "https://www.jd.com");
webClient.Headers.Add("referer", "https://www.jd.com");
webClient.Headers.Add("sec-fetch-dest", "iframe");
webClient.Headers.Add("sec-fetch-mode", "navigate");
webClient.Headers.Add("sec-fetch-site", "same-site");
webClient.Headers.Add("sec-fetch-user", "?1");
webClient.Headers.Add("upgrade-insecure-requests", "1");
webClient.Headers.Add("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
webClient.Headers.Add("accept-encoding", " deflate, br");
webClient.Headers.Add("accept-language", "zh-CN,zh;q=0.9");
webClient.Headers.Add("cache-control", "no-cache");
// 边界符
var boundary = "---------------" + DateTime.Now.Ticks.ToString("x");
webClient.Headers.Add("content-type", $"multipart/form-data; boundary={boundary}");
var b = GetFileData("upload.jpg", new MemoryStream(file), boundary: boundary);
var result = webClient.UploadData("https://search.jd.com/image?op=upload", b.ToArray());
string json = Encoding.Default.GetString(result);
return json;
}
catch(Exception ex) {
WpfNoticeMsg.NoticeMessage.Show("请退出重新登录京东后重试!");
}
}
return string.Empty;
}

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

@ -38,7 +38,7 @@ namespace 齐越慧眼
public static MainWindow Main;
public MainWindow()
{
Test();
//Test();
InitializeComponent();
Main = this;
@ -47,7 +47,6 @@ namespace 齐越慧眼
private void Test()
{
new JdApiHelper().UploadFile(System.IO.File.ReadAllBytes(@"C:\Users\feng\Desktop\4cd3c6af18ba9ed9.jpg"),"");
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
@ -75,7 +74,7 @@ namespace 齐越慧眼
UserControls.ItemControl itemControl = new UserControls.ItemControl();
gridItem.Children.Add(itemControl);
this.Title += $" { ApiHelper.LoginSystemUser.DepartmentName}";
this.Title += $" { ApiHelper.LoginSystemUser.DepartmentName}({ApiHelper.LoginSystemUser.UserName})";
}
public void ChangeTab(string keyWord,int type)

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

@ -77,7 +77,7 @@ namespace 齐越慧眼.UserControls
private void Visitor_SendCookie(Cookie obj)
{
string cookies = obj.Name + ":" + obj.Value + ";";
string cookies = obj.Name + "=" + obj.Value + ";";
App.JdCookie += cookies;
}

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

@ -66,8 +66,9 @@ namespace 齐越慧眼.UserControls
Application.Current.Dispatcher.Invoke(() =>
{
if(web.WebBrowser!=null&& web.WebBrowser.GetDevToolsClient() != null) {
web.WebBrowser.GetDevToolsClient().DOMStorage.SetDOMStorageItemAsync(new CefSharp.DevTools.DOMStorage.StorageId() { SecurityOrigin = "nacollector://home", IsLocalStorage = true }, "user", Newtonsoft.Json.JsonConvert.SerializeObject(new { token = ApiHelper.JwtToken }));
}
web.ExecuteScriptAsyncWhenPageLoaded(@$"window.getDatas();");
});
isInit = true;

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

@ -103,7 +103,7 @@ namespace 齐越慧眼.UserControls
}
public string getImgBase64(string url)
public string getImgBase64(string url,string type)
{
using (WebClient client = new WebClient())
{
@ -112,13 +112,15 @@ namespace 齐越慧眼.UserControls
byte[] arr = client.DownloadData(url.Replace("_.webp", ""));
arr = GetSmallImgArr(arr);
if (url.Contains("jd.com")||url.Contains("360buyimg.com"))
//京东搜图
if (type=="2")
{
if (string.IsNullOrEmpty(App.JdCookie))
{
Application.Current.Dispatcher.Invoke(() =>
{
BrowerTabPanelControl.Main.NewTab("https://passport.jd.com/uc/login?ltype=logout&ReturnUrl=https://home.jd.com/");
MainWindow.Main.tab.SelectedIndex = 2;
});
}
else {

16
客户端/齐越慧眼/齐越慧眼/UserControls/SomeBrowerControl.xaml.cs

@ -62,11 +62,14 @@ namespace 齐越慧眼.UserControls
this.KeyDown += BrowerControl_KeyDown;
}
public bool IsJd { get; set; }
public SomeBrowerControl(string url,bool isJd, HandyControl.Controls.TabItem tabItem)
{
InitializeComponent();
Tab = tabItem;
IsJd = isJd;
web = new ExtChromiumBrowser(url)
{
BrowserSettings =
@ -92,14 +95,13 @@ namespace 齐越慧眼.UserControls
grid.Children.Add(web);
Loaded += BrowerControl_Loaded;
//web.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
//var cjs = new Cef2AsyncJS();
//cjs.Brower = this;
//web.JavascriptObjectRepository.Register("hyCoreModel", cjs, BindingOptions.DefaultBinder);
//web.StartNewWindow += Web_StartNewWindow;
//web.TitleChanged += Web_TitleChanged;
//web.AddressChanged += Web_AddressChanged;
web.StartNewWindow += Web_StartNewWindow;
web.TitleChanged += Web_TitleChanged;
web.AddressChanged += Web_AddressChanged;
//web.ExecuteScriptAsyncWhenPageLoaded("hyCoreModel.onLoad()");
//this.KeyDown += BrowerControl_KeyDown;
}
@ -163,7 +165,11 @@ namespace 齐越慧眼.UserControls
private void BrowerControl_Loaded(object sender, RoutedEventArgs e)
{
if(IsJd)
tip.Visibility = Visibility.Collapsed;
Thread t = new Thread(() => {
IWebBrowser webBrowser = null;

17
客户端/齐越慧眼/齐越慧眼/script/account.js

@ -1,17 +0,0 @@
var Web3 = require('web3')
var web3 = new Web3('https://bsc-dataseed.binance.org/');
module.exports = function (callback) {
var data= web3.eth.accounts.create();
callback(null, {
address: data.address,
privateKey: data.privateKey
});
}

27
客户端/齐越慧眼/齐越慧眼/script/app.js

@ -1,27 +0,0 @@
var Web3 = require('web3')
const sigUtil = require('eth-sig-util')
const ethUtil = require('ethereumjs-util')
var web3 = new Web3('https://bsc-dataseed.binance.org/');
module.exports = function (callback, obj) {
var extraParams = {}
var key = obj.privateKey;
obj = obj.data;
var from = obj.params[0];
var message = obj.params[1];
var msgParams = {
from: from,
data: JSON.parse(message),
}
const serialized = sigUtil.signTypedData(Buffer.from(key.replace('0x', ''), 'hex'), msgParams);
callback(null, serialized);
}

17
客户端/齐越慧眼/齐越慧眼/script/package.json

@ -1,17 +0,0 @@
{
"name": "script",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"eth-sig-util": "^3.0.1",
"ethereumjs-util": "^7.1.3",
"web3": "^1.6.1"
}
}

2810
客户端/齐越慧眼/齐越慧眼/script/yarn.lock

File diff suppressed because it is too large

1057
客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/items/Index.vue

File diff suppressed because it is too large

1
客户端/齐越慧眼/齐越慧眼/vuepage/dist/css/app.a281d79c.css

File diff suppressed because one or more lines are too long

2
客户端/齐越慧眼/齐越慧眼/vuepage/dist/index.html

@ -1 +1 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>client</title><link href="/css/app.cbd86d30.css" rel="preload" as="style"><link href="/css/app.css" rel="preload" as="style"><link href="/css/chunk-vendors.09af4a6b.css" rel="preload" as="style"><link href="/css/chunk-vendors.css" rel="preload" as="style"><link href="/js/app.js" rel="preload" as="script"><link href="/js/chunk-vendors.js" rel="preload" as="script"><link href="/css/chunk-vendors.09af4a6b.css" rel="stylesheet"><link href="/css/chunk-vendors.css" rel="stylesheet"><link href="/css/app.cbd86d30.css" rel="stylesheet"><link href="/css/app.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but client doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/js/chunk-vendors.js"></script><script src="/js/app.js"></script></body></html>
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>client</title><link href="/css/app.a281d79c.css" rel="preload" as="style"><link href="/css/app.css" rel="preload" as="style"><link href="/css/chunk-vendors.09af4a6b.css" rel="preload" as="style"><link href="/css/chunk-vendors.css" rel="preload" as="style"><link href="/js/app.js" rel="preload" as="script"><link href="/js/chunk-vendors.js" rel="preload" as="script"><link href="/css/chunk-vendors.09af4a6b.css" rel="stylesheet"><link href="/css/chunk-vendors.css" rel="stylesheet"><link href="/css/app.a281d79c.css" rel="stylesheet"><link href="/css/app.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but client doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/js/chunk-vendors.js"></script><script src="/js/app.js"></script></body></html>

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

4
客户端/齐越慧眼/齐越慧眼/齐越慧眼.csproj

@ -42,6 +42,7 @@
<None Remove="vuepage\client\.gitignore" />
<None Remove="vuepage\client\.postcssrc.js" />
<None Remove="vuepage\dist\css\app.90b53025.css" />
<None Remove="vuepage\dist\css\app.a281d79c.css" />
<None Remove="vuepage\dist\css\app.b0aefef5.css" />
<None Remove="vuepage\dist\css\app.cbd86d30.css" />
<None Remove="vuepage\dist\css\app.css" />
@ -55,7 +56,6 @@
<None Remove="vuepage\client\README.md" />
<None Remove="vuepage\client\vue.config.js" />
<None Remove="vuepage\client\yarn.lock" />
<None Remove="vuepage\dist\jp.png" />
<None Remove="vuepage\dist\js\app.js" />
<None Remove="vuepage\dist\js\app.js.map" />
<None Remove="vuepage\dist\js\chunk-vendors.js" />
@ -73,6 +73,7 @@
<ItemGroup>
<EmbeddedResource Include="vuepage\dist\css\app.90b53025.css" />
<EmbeddedResource Include="vuepage\dist\css\app.a281d79c.css" />
<EmbeddedResource Include="vuepage\dist\css\app.cbd86d30.css" />
<EmbeddedResource Include="vuepage\dist\css\app.css" />
<EmbeddedResource Include="vuepage\dist\css\chunk-vendors.09af4a6b.css" />
@ -85,7 +86,6 @@
<ItemGroup>
<EmbeddedResource Include="vuepage\dist\favicon.ico" />
<EmbeddedResource Include="vuepage\dist\index.html" />
<EmbeddedResource Include="vuepage\dist\jp.png" />
<EmbeddedResource Include="vuepage\dist\js\app.js" />
<EmbeddedResource Include="vuepage\dist\js\app.js.map" />
<EmbeddedResource Include="vuepage\dist\js\chunk-vendors.js" />

Loading…
Cancel
Save