From a472374ba6ac9651441de8e678f0abb06949905b Mon Sep 17 00:00:00 2001 From: abalone0204 Date: Sun, 12 Jun 2016 03:21:10 +0800 Subject: [PATCH 1/2] feat(chrome): popup --- .DS_Store | Bin 0 -> 8196 bytes chromeExtension/.DS_Store | Bin 0 -> 6148 bytes chromeExtension/icon.png | Bin 4639 -> 19298 bytes chromeExtension/icon1.png | Bin 0 -> 4639 bytes front-end/popup.js | 19 ++++++++++++++++--- 5 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 .DS_Store create mode 100644 chromeExtension/.DS_Store create mode 100644 chromeExtension/icon1.png diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..47895772ac17a88ed111c08b867b47a8a9d69cca GIT binary patch literal 8196 zcmeHM&2G~`5T0$*;(CgC9mP&lR7J{( z15d!2|Mx&};sM}MIF)a9w6OKzOwSs0VTHpumv7#L=Nzb+SPmzvb3IJ19`D4_st(Y-L<^}^VL zCwt#TnMV;vN6=@Yy>8Od=$~FI43e}|`XR=~3lozUtm4!(f9%<*N3~|$t)*_-Nvdx9 zp}Y$GhNtTrZrVJq-;d+)r0#lKL8Du@FW-ry)D5CWdjPt#9YlWIt;U_mPj+gmzwN+J zn|1rjM!T^O=!P3Lwt^(^f-p#5SVjKS?YYClrSh!>XKA_ITW}6`T^#`rqt2b}oz5np>)8{Xe2on0)M3>a{iT-*vP5ZTW6vojWJh_)?ED5NmCs=|# zTBN5~jNzsD2G98;DX0<6kdK3xeX2pXVOdLTb_vC14p#s!zzAv1@B0Y97?CAeKbaD* z2jVCqZce8N2SGOwMMQoM!I2LlX5bUc=<7&Au5~B`GB=WpJd10Qi-?{<@4^2RrUcJq z5Lcv498|5)Dy_pVV$6JmNONHg%xRMO!6+%1+8v%v#&<#JUX85;&6uKqT(4G49wu_89lV*n)#zLhOl10`$B@sOouY>e!@zlDU|a<~ z$NT@a)6f6U$}_f!8eRPYS|g*w4evf zJf}yR$&SE#0bI-naC z3WNfoz@JtCXSP`9)G%Tw5DJ6>TLt9%kii9W$I4JY9SC{_0H#Q*p{>9Ez)TXr+_5r5 z2F6AO8kPNu!G3dKqhmbx`pVGg#JV!(@s-(cDC`#x&a|93H;fnxgaS{3``G9o>zFcqBht_a08p+6;aV7n8cma7#f$k7CryQG5YcLq3xRFn6pB Rk%7gJfXWad6!=jEJ^{!zSb6{e literal 0 HcmV?d00001 diff --git a/chromeExtension/icon.png b/chromeExtension/icon.png index 76a3a136a9c7155cb4638ac058dc5744004fed21..7f0d2c9aca8e6995f9db474f9fb5b6642284cd22 100644 GIT binary patch literal 19298 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 literal 4639 zcmeI0YgAKL7RQqiA%Y;(Vhjj`S28pT3L*|*32#vW>jMN0SiJ#XAdKbm#)ya_B7vxp zM*yoR7L0h&qFi~10*M3x1??4L1eF3_c?boS*PITvvsOQMR>xWMA#3H_efHhIv(NeO zbM8sm;N`Bas-sFE5Y#=^xNIa4h<3mJD9Yf;_nnLe0zs?C!^LrPRKVNLZyzpkS9j~u zP2pVEIxBJeN&5>*cp>|EBHFo2*x;Sud*#m5;_}Z?ObU>qVPp}Y{Fq}vLw`1mh3_xB4tXzA(4PxJ&y4ypc_mel6^GksP=N* zFNkExLk&8wMwJAW8wEKV@dy}3Bx`PUp%6RoYbSj2{F#nE>J4OFSv zTwcExo9f*y!flJ5w%b3KzD$LDg`v9&L8u#E@Nc19k>Yjb*Ehlrw*E|1qd&qrJ@Vaq zBdoo!W2+fzpm$ZkQTe4JyTL9xE(7m>6jE|po_^|yRD2|c)AUkgU$q8~=v(RYV8Gq| z4fOQ?n4d{D>ngC#PCz5?$P)AB7Bvce8Bm2f#UqtM=QG)GbaDXD7Z6S;dyT&f;jlds zX|x(8ktp+kwv?P60a3o1%je{srvjk>`RQtAF4SVvy?OY%d6hs*NfjlhDUUgtP)i&1f z-iMOz>H}9F>~1f0D6idF=a4?HI1SZiPAHgGx!(ISImw-TbRkQBbFwzp9(Kz2gF;Yj z>2F;U2&Y%8A+aa%UZ>=dZ|>#`ed1?|lTFbEg=>#-=dEq¶usCh7CyF{iknLBjN z=2KLLLMEU0^LqIf+Etw=)vgAIs9EV@FGE)=?`L{vtgbE(H?%SsI#`>4anFU^-p5qS zWS}I;k(q`UGWT2I!;= zYURECjT}2a{t8T+Jr=xQ@74J;5;1)h!s4xmBlyRBjL^gv5;4INYj@Q5Pr+3ajX@m9 zS0#G4DZ-+h!d2-4&S&q`@i&xI;(KPukfVJpsDi@hP(M^uK)wzBg{gD-^17}&Z8}&b z`H@u_XyKDaasekP(<%_Gu&S@S4WRKUTFx@CqDcH?14FcnxOYa61dVGnCpf>Wzx`XVs<-Y?d7CLGuJEl&Ct&e`m#Rg_@hXR1 z3zPu|;n9#WWMj{MTkXulpLa!#u%O6;wlOSYHq0&RP|e`z#vDCh#D;AOhqD4C16JEB zZBGL2sNn_jlQ`Z$4D%f@*^xCUd)*|K40vWg*ICEI>)oiKxp-~S;>jR@+0-{3yAqk0 zKIyp#$ceb-UOHbsM7TMlK}2GYy==P1mpAqGUIi~bb3T;i0*CZ!SEUdz`RV%L7(=u< z?3ey!KsQTDkHFFaLN-g`4sv4gSmEUYEAp?;RRW48?0K(+=;{}YDGb^0VA!1x+6el0 zy~;CMbkwpfNueX54Y2pAqHy)lm2W~OP^w zMu9YI6sV)!LV0P;jR_hU08MODxfUegyl^E6dYW8SvJ9a5^n$U0Obw2@ftaHY!T_Xw z4SNEj@?J^Cf#wIB&;1EW<{);wo(JQAez0-0d_jhMJa~UCC_!p$orEMjS*2(y642W% zK9Fz}5A||Cz$Ht>^CGsL4?!Ab9Sb*pUwU8_WquL8=x&3h!OZ8x#t!N=$=xQ}fwoOO2u8t8j`lz=#kJwMUmU8)%!EU+YFGkLq zlC*_%O^#Pj-Yy)-pZ-{Ww!$G{Qu3;!eI#7I<(~eg?D*xzB3S~||Dz@oU5ImCts1vK zx#(m@qV+*z#+z)chx)jPovF>sfS|14^+k;*zq6dkxYCiSgWcR=!OHgQK^WR=wIpkp zWd>OlR}Ony2;^qBY2%iS_Pd-oK^FyB`g-}vntY53lQfPf;!wI&V?XOs#>Txky zxR`~U{J=^s`D+_Ta3NfokLyrow%IBH|a z_gP%?eH+hzd3bg#IXdr0EiqAMPPj#x%!<**oy80BNW;N`&~93C&`+RRNP%X@(pGa> zC>=Q6c``POo45SDxfR(zsohjGuSkqaXYAX47(CQo%2E6KEpv>cuaDI!8KJ9+)0onM zcWqL0eNC*+FT~yh7GCy(hj|k7hkIXoAgFx=lB(hYhx_PyXUbn+5peA3NNU-$s7&14 zTZDHLGdQ{J^#Uj|x*wv>KaO{otjse(8#gi0C^ke5zBz1yaq?{cyijd|Bx~#2Yz3$X zqazeR?77+l-Xu^P^#mmlq8?i@X@aTGA4-1)0B$Ax!4BGn>JA?8J*Cmc0TE&9--Xg7 zcBIik&rrHU%xh%k&EYMYKkh$!bO#Bjq+M5G*ok^PRC*YR+>x1N8;qMiPiRA>s z;XIJR_UOz~+rGf}01qn@~hU1aq zxySImtAdO9oU%`DH#nzf$Xj0M-|&PT zw|k525VEdx`8edwEZ0AJt{?~TEivO`reI6--yHlQWp zUnjO-&;#4;k&n6AkPVY1nl=DETqkK0ETZBb_0aso9=TkLIE=)P40gjD^w@jZ(LOoh^>rGH~vm7lVIe{-S l{a?8__)Bjs{uq3Q%&p$--#pfN3S9gUJY2n8#7;XB{|T2%x!3>z diff --git a/chromeExtension/icon1.png b/chromeExtension/icon1.png new file mode 100644 index 0000000000000000000000000000000000000000..76a3a136a9c7155cb4638ac058dc5744004fed21 GIT binary patch literal 4639 zcmeI0YgAKL7RQqiA%Y;(Vhjj`S28pT3L*|*32#vW>jMN0SiJ#XAdKbm#)ya_B7vxp zM*yoR7L0h&qFi~10*M3x1??4L1eF3_c?boS*PITvvsOQMR>xWMA#3H_efHhIv(NeO zbM8sm;N`Bas-sFE5Y#=^xNIa4h<3mJD9Yf;_nnLe0zs?C!^LrPRKVNLZyzpkS9j~u zP2pVEIxBJeN&5>*cp>|EBHFo2*x;Sud*#m5;_}Z?ObU>qVPp}Y{Fq}vLw`1mh3_xB4tXzA(4PxJ&y4ypc_mel6^GksP=N* zFNkExLk&8wMwJAW8wEKV@dy}3Bx`PUp%6RoYbSj2{F#nE>J4OFSv zTwcExo9f*y!flJ5w%b3KzD$LDg`v9&L8u#E@Nc19k>Yjb*Ehlrw*E|1qd&qrJ@Vaq zBdoo!W2+fzpm$ZkQTe4JyTL9xE(7m>6jE|po_^|yRD2|c)AUkgU$q8~=v(RYV8Gq| z4fOQ?n4d{D>ngC#PCz5?$P)AB7Bvce8Bm2f#UqtM=QG)GbaDXD7Z6S;dyT&f;jlds zX|x(8ktp+kwv?P60a3o1%je{srvjk>`RQtAF4SVvy?OY%d6hs*NfjlhDUUgtP)i&1f z-iMOz>H}9F>~1f0D6idF=a4?HI1SZiPAHgGx!(ISImw-TbRkQBbFwzp9(Kz2gF;Yj z>2F;U2&Y%8A+aa%UZ>=dZ|>#`ed1?|lTFbEg=>#-=dEq¶usCh7CyF{iknLBjN z=2KLLLMEU0^LqIf+Etw=)vgAIs9EV@FGE)=?`L{vtgbE(H?%SsI#`>4anFU^-p5qS zWS}I;k(q`UGWT2I!;= zYURECjT}2a{t8T+Jr=xQ@74J;5;1)h!s4xmBlyRBjL^gv5;4INYj@Q5Pr+3ajX@m9 zS0#G4DZ-+h!d2-4&S&q`@i&xI;(KPukfVJpsDi@hP(M^uK)wzBg{gD-^17}&Z8}&b z`H@u_XyKDaasekP(<%_Gu&S@S4WRKUTFx@CqDcH?14FcnxOYa61dVGnCpf>Wzx`XVs<-Y?d7CLGuJEl&Ct&e`m#Rg_@hXR1 z3zPu|;n9#WWMj{MTkXulpLa!#u%O6;wlOSYHq0&RP|e`z#vDCh#D;AOhqD4C16JEB zZBGL2sNn_jlQ`Z$4D%f@*^xCUd)*|K40vWg*ICEI>)oiKxp-~S;>jR@+0-{3yAqk0 zKIyp#$ceb-UOHbsM7TMlK}2GYy==P1mpAqGUIi~bb3T;i0*CZ!SEUdz`RV%L7(=u< z?3ey!KsQTDkHFFaLN-g`4sv4gSmEUYEAp?;RRW48?0K(+=;{}YDGb^0VA!1x+6el0 zy~;CMbkwpfNueX54Y2pAqHy)lm2W~OP^w zMu9YI6sV)!LV0P;jR_hU08MODxfUegyl^E6dYW8SvJ9a5^n$U0Obw2@ftaHY!T_Xw z4SNEj@?J^Cf#wIB&;1EW<{);wo(JQAez0-0d_jhMJa~UCC_!p$orEMjS*2(y642W% zK9Fz}5A||Cz$Ht>^CGsL4?!Ab9Sb*pUwU8_WquL8=x&3h!OZ8x#t!N=$=xQ}fwoOO2u8t8j`lz=#kJwMUmU8)%!EU+YFGkLq zlC*_%O^#Pj-Yy)-pZ-{Ww!$G{Qu3;!eI#7I<(~eg?D*xzB3S~||Dz@oU5ImCts1vK zx#(m@qV+*z#+z)chx)jPovF>sfS|14^+k;*zq6dkxYCiSgWcR=!OHgQK^WR=wIpkp zWd>OlR}Ony2;^qBY2%iS_Pd-oK^FyB`g-}vntY53lQfPf;!wI&V?XOs#>Txky zxR`~U{J=^s`D+_Ta3NfokLyrow%IBH|a z_gP%?eH+hzd3bg#IXdr0EiqAMPPj#x%!<**oy80BNW;N`&~93C&`+RRNP%X@(pGa> zC>=Q6c``POo45SDxfR(zsohjGuSkqaXYAX47(CQo%2E6KEpv>cuaDI!8KJ9+)0onM zcWqL0eNC*+FT~yh7GCy(hj|k7hkIXoAgFx=lB(hYhx_PyXUbn+5peA3NNU-$s7&14 zTZDHLGdQ{J^#Uj|x*wv>KaO{otjse(8#gi0C^ke5zBz1yaq?{cyijd|Bx~#2Yz3$X zqazeR?77+l-Xu^P^#mmlq8?i@X@aTGA4-1)0B$Ax!4BGn>JA?8J*Cmc0TE&9--Xg7 zcBIik&rrHU%xh%k&EYMYKkh$!bO#Bjq+M5G*ok^PRC*YR+>x1N8;qMiPiRA>s z;XIJR_UOz~+rGf}01qn@~hU1aq zxySImtAdO9oU%`DH#nzf$Xj0M-|&PT zw|k525VEdx`8edwEZ0AJt{?~TEivO`reI6--yHlQWp zUnjO-&;#4;k&n6AkPVY1nl=DETqkK0ETZBb_0aso9=TkLIE=)P40gjD^w@jZ(LOoh^>rGH~vm7lVIe{-S l{a?8__)Bjs{uq3Q%&p$--#pfN3S9gUJY2n8#7;XB{|T2%x!3>z literal 0 HcmV?d00001 diff --git a/front-end/popup.js b/front-end/popup.js index 57fb745..18a0609 100644 --- a/front-end/popup.js +++ b/front-end/popup.js @@ -1,9 +1,22 @@ + class Popup extends React.Component { render() { return ( - ) - } } diff --git a/front-end/app/containers/App.js b/front-end/app/containers/App.js index 60435cc..9f128cc 100644 --- a/front-end/app/containers/App.js +++ b/front-end/app/containers/App.js @@ -53,21 +53,17 @@ class App extends React.Component { componentWillMount() { const { - dispatch + dispatch, user } = this.props chrome.storage.sync.get('access_token', (item) => { - console.log('item ==>', item); if (!!item['access_token']) { dispatch(requestLogin(item['access_token'])) - } else { - console.log('access token not found'); } }) chrome.storage.sync.get('anonymous', (item) => { if (item['anonymous'] !== undefined) { - console.log('item ==>', item['anonymous']); if (user.anonymous !== item['anonymous']) { dispatch(changeUserIdentity()) } diff --git a/front-end/app/providers/104.js b/front-end/app/providers/104.js index 80f664a..7d8890b 100644 --- a/front-end/app/providers/104.js +++ b/front-end/app/providers/104.js @@ -1,11 +1,14 @@ const get_job_name = () => document.querySelector('#job h1') .firstChild .textContent.trim() + const get_company_name = () => document.querySelector('#job .company a') .firstChild .textContent.trim() + const get_e04_job_no = () => location.search.match(/\?jobno=([^\&]+)/)[1] + const provider = { get_job_name, get_company_name, diff --git a/front-end/app/providers/1111.js b/front-end/app/providers/1111.js new file mode 100644 index 0000000..c50de4e --- /dev/null +++ b/front-end/app/providers/1111.js @@ -0,0 +1,11 @@ +const get_job_name = () => document.querySelector('#commonTop h1').innerText.trim() +const get_company_name = () => document.querySelector('#commonTop .navbar a').innerText.trim() +const get_eeee_job_no = () => location.search.match(/\?eNo=([0-9]+)/)[1] + +const provider = { + get_job_name, + get_company_name, + get_eeee_job_no +} + +export default provider \ No newline at end of file diff --git a/front-end/app/providers/index.js b/front-end/app/providers/index.js index 456de54..206d2d1 100644 --- a/front-end/app/providers/index.js +++ b/front-end/app/providers/index.js @@ -1,7 +1,9 @@ import p104 from './104.js' +import p1111 from './1111.js' const rootProvider = { - ["104"]: p104 + ["104"]: p104, + ["1111"]: p1111 } export function getProviderName() { @@ -13,9 +15,11 @@ export function getProviderName() { export function getJobQuery(provider) { const jobQuery = {} + Object.keys(provider).forEach(key => { jobQuery[key.substring(4)] = provider[key]() }) + return jobQuery } diff --git a/tests/front-end/actions/createJob.spec.js b/tests/front-end/actions/createJob.spec.js index 130f7d3..d72202d 100644 --- a/tests/front-end/actions/createJob.spec.js +++ b/tests/front-end/actions/createJob.spec.js @@ -23,7 +23,8 @@ describe('Actions/ Create job', () => { params: { company_name, job_name, - e04_job_no + e04_job_no, + eeee_job_no: "null" } } const actual = requestCreateJob({ diff --git a/tests/front-end/actions/fetchJob.spec.js b/tests/front-end/actions/fetchJob.spec.js index a7d357e..684455a 100644 --- a/tests/front-end/actions/fetchJob.spec.js +++ b/tests/front-end/actions/fetchJob.spec.js @@ -23,7 +23,8 @@ describe('Actions/ Fetch job', () => { query: { company_name, job_name, - e04_job_no + e04_job_no, + eeee_job_no: "null" } } const actual = requestFetchJob({
-

Popup

-
chrome.tabs.create({'url': "/options.html" } )}>選項 +
+

Clairvoyance

+ +
+

關於 Clairvoyance

+
+ 臉書專頁:Clairvoyance - 求職天眼通 +
+
+ Source code: Clairvoyance +
+
+
) } From 1f5d6e9b0a833b98b7ec336ba9eb6d180e4cc8ad Mon Sep 17 00:00:00 2001 From: abalone0204 Date: Sun, 12 Jun 2016 16:25:10 +0800 Subject: [PATCH 2/2] feat(provider): add provider for 1111 --- chromeExtension/manifest.json | 3 ++- front-end/app/API/createJob.js | 4 ++-- front-end/app/API/fetchJob.js | 5 +++-- front-end/app/actions/createJob.js | 12 ++++++++++-- front-end/app/actions/fetchJob.js | 4 ++-- front-end/app/components/StatusBlock/index.js | 3 +-- front-end/app/containers/App.js | 6 +----- front-end/app/providers/104.js | 3 +++ front-end/app/providers/1111.js | 11 +++++++++++ front-end/app/providers/index.js | 6 +++++- tests/front-end/actions/createJob.spec.js | 3 ++- tests/front-end/actions/fetchJob.spec.js | 3 ++- 12 files changed, 44 insertions(+), 19 deletions(-) create mode 100644 front-end/app/providers/1111.js diff --git a/chromeExtension/manifest.json b/chromeExtension/manifest.json index ca841a8..13d4a2f 100644 --- a/chromeExtension/manifest.json +++ b/chromeExtension/manifest.json @@ -23,7 +23,8 @@ "content_scripts": [{ "matches": [ "https://www.104.com.tw/job/*", - "http://www.104.com.tw/job/*" + "http://www.104.com.tw/job/*", + "http://www.1111.com.tw/job-bank/job-description*" ], "js": ["./dist/content-bundle.js"] }] diff --git a/front-end/app/API/createJob.js b/front-end/app/API/createJob.js index 72f9e7f..71552f9 100644 --- a/front-end/app/API/createJob.js +++ b/front-end/app/API/createJob.js @@ -5,14 +5,14 @@ import { import config from '../../../config.json' -export default function createJob({company_name, job_name, e04_job_no}) { +export default function createJob({company_name, job_name, e04_job_no, eeee_job_no}) { const {backend} = config const options = { headers: { "Content-Type": "application/json" }, method: 'POST', - body: JSON.stringify({company_name, job_name, e04_job_no}), + body: JSON.stringify({company_name, job_name, e04_job_no, eeee_job_no}), mode: 'cors' } return fetch(`${backend}/jobs`, options) diff --git a/front-end/app/API/fetchJob.js b/front-end/app/API/fetchJob.js index 26ff50c..a5fe89f 100644 --- a/front-end/app/API/fetchJob.js +++ b/front-end/app/API/fetchJob.js @@ -8,7 +8,8 @@ import config from '../../../config.json' export default function fetchJob({ company_name, job_name, - e04_job_no + e04_job_no, + eeee_job_no }) { const { backend @@ -19,7 +20,7 @@ export default function fetchJob({ mode: 'cors' } - const url = `${backend}/jobs?company_name=${company_name}&job_name=${job_name}&e04_job_no=${e04_job_no}` + const url = `${backend}/jobs?company_name=${company_name}&job_name=${job_name}&e04_job_no=${e04_job_no}&eeee_job_no=${eeee_job_no}` return fetch(url, options) .then(checkStatus) .then(parseJSON) diff --git a/front-end/app/actions/createJob.js b/front-end/app/actions/createJob.js index b3e1395..503c120 100644 --- a/front-end/app/actions/createJob.js +++ b/front-end/app/actions/createJob.js @@ -6,14 +6,22 @@ export const SUCCESS_CREATE_JOB = 'SUCCESS_CREATE_JOB' export function requestCreateJob({ company_name, job_name, - e04_job_no + e04_job_no="null", + eeee_job_no="null" }) { + console.log('requestCreateJob:::',{ + company_name, + job_name, + e04_job_no, + eeee_job_no +}); return { type: REQUEST_CREATE_JOB, params: { company_name, job_name, - e04_job_no + e04_job_no, + eeee_job_no } } } diff --git a/front-end/app/actions/fetchJob.js b/front-end/app/actions/fetchJob.js index c10737b..942a129 100644 --- a/front-end/app/actions/fetchJob.js +++ b/front-end/app/actions/fetchJob.js @@ -3,10 +3,10 @@ export const FAIL_TO_FETCH_JOB = 'FAIL_TO_FETCH_JOB' export const SUCCESS_FETCH_JOB = 'SUCCESS_FETCH_JOB' -export function requestFetchJob({company_name, job_name, e04_job_no}) { +export function requestFetchJob({company_name, job_name, e04_job_no="null", eeee_job_no="null"}) { return { type: REQUEST_FETCH_JOB, - query: {company_name, job_name, e04_job_no} + query: {company_name, job_name, e04_job_no, eeee_job_no} } } diff --git a/front-end/app/components/StatusBlock/index.js b/front-end/app/components/StatusBlock/index.js index 87aa6cd..1b6f1fa 100644 --- a/front-end/app/components/StatusBlock/index.js +++ b/front-end/app/components/StatusBlock/index.js @@ -9,7 +9,7 @@ class StatusBlock extends React.Component { comments } = this.props - if (comments.data.length !== 0) { + let statNumbers = { good: 0, bad: 0, @@ -45,7 +45,6 @@ class StatusBlock extends React.Component {