Skip to content

Commit 72f556a

Browse files
committed
added support for JoyBuy
1 parent 8fa29cc commit 72f556a

5 files changed

Lines changed: 155 additions & 4 deletions

File tree

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Alfred search suggest workflow for various popular websites. Inspired by the off
1515
* [bilibili (哔哩哔哩)](#bilibili)
1616
* [Sina Weibo (新浪微博)](#sina-weibo)
1717
* [Taobao (淘宝)](#taobao)
18+
* [JoyBuy (京东)](#joybuy)
1819
* [Moegirlpedia (萌娘百科)](#moegirlpedia)
1920

2021
## Details
@@ -75,6 +76,12 @@ Support basic suggestions.
7576

7677
![taobao](https://github.com/AkikoZ/alfred-web-search-suggest/blob/master/screenshots/taobao.png)
7778

79+
### JoyBuy
80+
81+
Support basic suggestions.
82+
83+
![joybuy](https://github.com/AkikoZ/alfred-web-search-suggest/blob/master/screenshots/joybuy.png)
84+
7885
### Moegirlpedia
7986

8087
Support direct term suggestions and preview.
@@ -94,8 +101,9 @@ If you want an alternative to search exactly what you typed, you can add custom
94101
* Baidu: `https://www.baidu.com/s?wd={query}`
95102
* Zhihu: `https://www.zhihu.com/search?q={query}`
96103
* bilibili: `https://search.bilibili.com/all?keyword={query}`
97-
* Sina Weibo: `http://s.weibo.com/weibo/{query}`
104+
* Sina Weibo: `https://s.weibo.com/weibo/{query}`
98105
* Taobao: `https://s.taobao.com/search?q={query}`
106+
* JoyBuy: `https://search.jd.com/Search?enc=utf-8&keyword={query}`
99107
* Moegirlpedia: `https://zh.moegirl.org/?search={query}`
100108

101109
### Proxy Settings

screenshots/joybuy.png

199 KB
Loading
73.5 KB
Loading

src/info.plist

Lines changed: 118 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,19 @@
138138
<false/>
139139
</dict>
140140
</array>
141+
<key>B1C4E5F1-FE5D-4505-9AD6-3F12A4F4ACC8</key>
142+
<array>
143+
<dict>
144+
<key>destinationuid</key>
145+
<string>A76FF79E-3778-4855-93AA-20969F1A152A</string>
146+
<key>modifiers</key>
147+
<integer>0</integer>
148+
<key>modifiersubtext</key>
149+
<string></string>
150+
<key>vitoclose</key>
151+
<false/>
152+
</dict>
153+
</array>
141154
</dict>
142155
<key>createdby</key>
143156
<string>AkikoZ</string>
@@ -154,6 +167,8 @@
154167
<dict>
155168
<key>alfredfiltersresults</key>
156169
<false/>
170+
<key>alfredfiltersresultsmatchmode</key>
171+
<integer>0</integer>
157172
<key>argumenttrimmode</key>
158173
<integer>0</integer>
159174
<key>argumenttype</key>
@@ -240,6 +255,8 @@ require_once('google.php');</string>
240255
<dict>
241256
<key>alfredfiltersresults</key>
242257
<false/>
258+
<key>alfredfiltersresultsmatchmode</key>
259+
<integer>0</integer>
243260
<key>argumenttrimmode</key>
244261
<integer>0</integer>
245262
<key>argumenttype</key>
@@ -292,6 +309,8 @@ require_once('wikipedia.php');</string>
292309
<dict>
293310
<key>alfredfiltersresults</key>
294311
<false/>
312+
<key>alfredfiltersresultsmatchmode</key>
313+
<integer>0</integer>
295314
<key>argumenttrimmode</key>
296315
<integer>0</integer>
297316
<key>argumenttype</key>
@@ -378,6 +397,8 @@ require_once('wolframalpha.php');</string>
378397
<dict>
379398
<key>alfredfiltersresults</key>
380399
<false/>
400+
<key>alfredfiltersresultsmatchmode</key>
401+
<integer>0</integer>
381402
<key>argumenttrimmode</key>
382403
<integer>0</integer>
383404
<key>argumenttype</key>
@@ -430,6 +451,8 @@ require_once('pixiv.php');</string>
430451
<dict>
431452
<key>alfredfiltersresults</key>
432453
<false/>
454+
<key>alfredfiltersresultsmatchmode</key>
455+
<integer>0</integer>
433456
<key>argumenttrimmode</key>
434457
<integer>0</integer>
435458
<key>argumenttype</key>
@@ -515,6 +538,8 @@ require_once('baidu.php');</string>
515538
<dict>
516539
<key>alfredfiltersresults</key>
517540
<false/>
541+
<key>alfredfiltersresultsmatchmode</key>
542+
<integer>0</integer>
518543
<key>argumenttrimmode</key>
519544
<integer>0</integer>
520545
<key>argumenttype</key>
@@ -562,6 +587,8 @@ require_once('zhihu.php');</string>
562587
<dict>
563588
<key>alfredfiltersresults</key>
564589
<false/>
590+
<key>alfredfiltersresultsmatchmode</key>
591+
<integer>0</integer>
565592
<key>argumenttrimmode</key>
566593
<integer>0</integer>
567594
<key>argumenttype</key>
@@ -628,6 +655,8 @@ require_once('bilibili.php');</string>
628655
<dict>
629656
<key>alfredfiltersresults</key>
630657
<false/>
658+
<key>alfredfiltersresultsmatchmode</key>
659+
<integer>0</integer>
631660
<key>argumenttrimmode</key>
632661
<integer>0</integer>
633662
<key>argumenttype</key>
@@ -694,6 +723,8 @@ require_once('sinaweibo.php');</string>
694723
<dict>
695724
<key>alfredfiltersresults</key>
696725
<false/>
726+
<key>alfredfiltersresultsmatchmode</key>
727+
<integer>0</integer>
697728
<key>argumenttrimmode</key>
698729
<integer>0</integer>
699730
<key>argumenttype</key>
@@ -755,6 +786,74 @@ require_once('taobao.php');</string>
755786
<key>version</key>
756787
<integer>1</integer>
757788
</dict>
789+
<dict>
790+
<key>config</key>
791+
<dict>
792+
<key>browser</key>
793+
<string></string>
794+
<key>spaces</key>
795+
<string></string>
796+
<key>url</key>
797+
<string>https://search.jd.com/Search?enc=utf-8&amp;keyword={query}</string>
798+
<key>utf8</key>
799+
<true/>
800+
</dict>
801+
<key>type</key>
802+
<string>alfred.workflow.action.openurl</string>
803+
<key>uid</key>
804+
<string>A76FF79E-3778-4855-93AA-20969F1A152A</string>
805+
<key>version</key>
806+
<integer>1</integer>
807+
</dict>
808+
<dict>
809+
<key>config</key>
810+
<dict>
811+
<key>alfredfiltersresults</key>
812+
<false/>
813+
<key>alfredfiltersresultsmatchmode</key>
814+
<integer>0</integer>
815+
<key>argumenttrimmode</key>
816+
<integer>0</integer>
817+
<key>argumenttype</key>
818+
<integer>0</integer>
819+
<key>escaping</key>
820+
<integer>36</integer>
821+
<key>keyword</key>
822+
<string>jd</string>
823+
<key>queuedelaycustom</key>
824+
<integer>3</integer>
825+
<key>queuedelayimmediatelyinitially</key>
826+
<false/>
827+
<key>queuedelaymode</key>
828+
<integer>0</integer>
829+
<key>queuemode</key>
830+
<integer>2</integer>
831+
<key>runningsubtext</key>
832+
<string>Retrieving search suggestions ...</string>
833+
<key>script</key>
834+
<string>$query = "{query}";
835+
836+
require_once('joybuy.php');</string>
837+
<key>scriptargtype</key>
838+
<integer>0</integer>
839+
<key>scriptfile</key>
840+
<string></string>
841+
<key>subtext</key>
842+
<string>Search 京东 with Suggestions</string>
843+
<key>title</key>
844+
<string>Search 京东</string>
845+
<key>type</key>
846+
<integer>1</integer>
847+
<key>withspace</key>
848+
<true/>
849+
</dict>
850+
<key>type</key>
851+
<string>alfred.workflow.input.scriptfilter</string>
852+
<key>uid</key>
853+
<string>B1C4E5F1-FE5D-4505-9AD6-3F12A4F4ACC8</string>
854+
<key>version</key>
855+
<integer>2</integer>
856+
</dict>
758857
<dict>
759858
<key>config</key>
760859
<dict>
@@ -779,6 +878,8 @@ require_once('taobao.php');</string>
779878
<dict>
780879
<key>alfredfiltersresults</key>
781880
<false/>
881+
<key>alfredfiltersresultsmatchmode</key>
882+
<integer>0</integer>
782883
<key>argumenttrimmode</key>
783884
<integer>0</integer>
784885
<key>argumenttype</key>
@@ -887,7 +988,7 @@ require_once('moegirlpedia.php');</string>
887988
<key>xpos</key>
888989
<integer>50</integer>
889990
<key>ypos</key>
890-
<integer>1290</integer>
991+
<integer>1430</integer>
891992
</dict>
892993
<key>80FCED49-07AA-4C15-9B49-24A52B3AF5D6</key>
893994
<dict>
@@ -924,13 +1025,27 @@ require_once('moegirlpedia.php');</string>
9241025
<key>ypos</key>
9251026
<integer>450</integer>
9261027
</dict>
1028+
<key>A76FF79E-3778-4855-93AA-20969F1A152A</key>
1029+
<dict>
1030+
<key>xpos</key>
1031+
<integer>270</integer>
1032+
<key>ypos</key>
1033+
<integer>1290</integer>
1034+
</dict>
9271035
<key>AE15F1F6-37B0-4A47-BEE1-975354A81227</key>
9281036
<dict>
9291037
<key>xpos</key>
9301038
<integer>50</integer>
9311039
<key>ypos</key>
9321040
<integer>870</integer>
9331041
</dict>
1042+
<key>B1C4E5F1-FE5D-4505-9AD6-3F12A4F4ACC8</key>
1043+
<dict>
1044+
<key>xpos</key>
1045+
<integer>50</integer>
1046+
<key>ypos</key>
1047+
<integer>1290</integer>
1048+
</dict>
9341049
<key>B8FFA3AB-AD7D-4316-A84F-5958A671D4FF</key>
9351050
<dict>
9361051
<key>xpos</key>
@@ -964,7 +1079,7 @@ require_once('moegirlpedia.php');</string>
9641079
<key>xpos</key>
9651080
<integer>270</integer>
9661081
<key>ypos</key>
967-
<integer>1290</integer>
1082+
<integer>1430</integer>
9681083
</dict>
9691084
</dict>
9701085
<key>variables</key>
@@ -983,7 +1098,7 @@ require_once('moegirlpedia.php');</string>
9831098
<string>proxy_address</string>
9841099
</array>
9851100
<key>version</key>
986-
<string>1.5</string>
1101+
<string>1.6</string>
9871102
<key>webaddress</key>
9881103
<string>https://github.com/AkikoZ/alfred-web-search-suggest</string>
9891104
</dict>

src/joybuy.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
use Alfred\Workflows\Workflow;
3+
4+
require_once('vendor/joetannenbaum/alfred-workflow/Workflow.php');
5+
require_once('vendor/joetannenbaum/alfred-workflow/Result.php');
6+
require_once('util/request.php');
7+
8+
const ICON = 'B1C4E5F1-FE5D-4505-9AD6-3F12A4F4ACC8.png';
9+
10+
$wf = new Workflow;
11+
12+
$opt[CURLOPT_HTTPHEADER] = ['Referer: https://www.jd.com/'];
13+
$response = request('https://dd-search.jd.com/?ver=2&key='.urlencode($query), $opt);
14+
$json = json_decode($response);
15+
16+
foreach ($json as $sugg) {
17+
$key = $sugg->keyword;
18+
if (is_null($key)) continue;
19+
$count = $sugg->qresult;
20+
$wf->result()
21+
->title("$key")
22+
->subtitle($count.' results')
23+
->arg("$key")
24+
->icon(ICON)
25+
->autocomplete("$key");
26+
}
27+
28+
echo $wf->output();

0 commit comments

Comments
 (0)