From 91f34368d6990caecc8c4125a2b6de5213fc650b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=B9=B3=E5=87=A1=E7=9A=84=E5=B9=B3=E5=87=A1?= <382023823@qq.com> Date: Wed, 16 Sep 2020 14:35:53 +0800 Subject: [PATCH] =?UTF-8?q?!1=20GithubAPI=E8=BD=ACGiteeAPI=20*=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9Egitee=E6=93=8D=E4=BD=9C=E8=AF=B4=E6=98=8E=E6=96=87?= =?UTF-8?q?=E6=A1=A3=20*=20github=E8=BD=ACgitee=E9=A1=B9=E7=9B=AE=E6=94=B9?= =?UTF-8?q?=E9=80=A0=20*=20github=E8=BD=ACgitee=E9=A1=B9=E7=9B=AE=E6=94=B9?= =?UTF-8?q?=E9=80=A0=20*=20Merge=20branch=20'feature-giteeapi'=20of=20http?= =?UTF-8?q?s://gitee.com/CLCoding/chrome-b=E2=80=A6=20*=20github=20->=20cl?= =?UTF-8?q?ass=20*=20all=20function=20test=20*=20change=20gitee=20type=20*?= =?UTF-8?q?=20api=20almost=20finish=20*=20demo=20*=20=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E7=A0=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 +- assets/main.png | Bin 18728 -> 25994 bytes assets/settings.png | Bin 18031 -> 25484 bytes assets/token.jpg | Bin 0 -> 103460 bytes js/bookmark.js | 65 +++++ js/gitee.js | 587 ++++++++++++++++++++++++++++++++++++++++++++ js/github.js | 214 ++++++++++++++++ js/popup.js | 39 ++- manifest.json | 2 +- popup.html | 1 + 10 files changed, 908 insertions(+), 18 deletions(-) create mode 100644 assets/token.jpg create mode 100644 js/gitee.js diff --git a/README.md b/README.md index 1f7f667..c85c588 100644 --- a/README.md +++ b/README.md @@ -22,22 +22,28 @@ > 为确定万无一失,在使用本书签工具前请先前往chrome浏览器书签管理器中导出所有书签并妥善保管! > > 本书签工具不会收集个人用户任何信息和书签内容,请放心使用!所有数据将托管于用户自建的代码服务器中。 +> +> 私人令牌存储与本地缓存数据,不会进行上传操作。`下载请认准商标[CLCoding],别被不法分子利用了` #### 安装步骤 -步骤: -- 创建一个书签项目[Github私有仓库](https://github.com/new),项目名称不限 -- 获取Github项目[私有访问Token](https://github.com/settings/tokens)(如何获取:Github -> Settings -> Developer settings -> Personal access tokens -> Generate new token) +> `一句话安装:` 准备gitee的私人令牌,选择·[projects]、[user_info]权限列表即可。 + +详细步骤: +- 创建一个书签项目[Gitee私有仓库](https://gitee.com/projects/new),项目名称不限。`注意:请选择私有项目,否则全世界人民都可以看见你在浏览什么网页了` +- 获取Gitee项目[私有访问Token](https://gitee.com/profile/personal_access_tokens)(`如何获取:Gitee -> 设置 -> 私人令牌 -> 新建令牌 -> 选取[projects]权限 -> 提交`) + +![](./assets/token.jpg) + - 下载当前书签项目完整源代码 - 直接在浏览器地址栏输入:`chrome://extensions/`,进入扩展程序管理界面 - 点击【加载已解压的扩展程序】-> 选择项目根目录,导入源码文件夹 - 完成后书签工具会显示在浏览器地址栏旁 - 点击书签工具配置书签 - - 在配置界面输入第一、二步创建的仓库地址(如:https://github.com/xxx/chrome-bookmark)及访问Token + - 在配置界面输入第一、二步创建的仓库地址(如:https://gitee.com/xxx/chrome-bookmark)及访问Token - 点击【保存配置】后完成配置退出工具界面 - 重新点击书签图标工具,回到主界面进行书签管理 - #### 工作原理 > 本项目采用github私有仓库作为远程存储仓库,利用github api进行书签全量文件的备份和版本管理工作。采用github作为后端存储有以下好处: @@ -48,3 +54,5 @@ - 全世界可达,不受网络影响 - 无运营成本 - 全程https协议传输数据 +- 摆脱google服务器无法访问 +- 优化github访问慢,国内访问无障碍 diff --git a/assets/main.png b/assets/main.png index ae89de52cf30b81f7e5358c2d5259a56030526e6..841c94da09a217c98aa29db68a9d93e8e799ff87 100644 GIT binary patch literal 25994 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 UTw&DU!&QJ63a{j=V8);R0}nkh(f|Me literal 18728 zcmb@uWn5d)wl7*Q4#8c5yA`(4-wdNXQ{ADCmQCK}k|5<*uU_-Nyebhsyd2@PC|Y~< ziu{!n=!>d*+F>iYH_lZ0^)n(B2Kj>=Tj(1ZI&CpO3=Ew5Jm%UbL<6;qYMsKegwn(} zhsIy@Z4v8x{`6%AURlJ{)ppFQooH#(;e@E;)oNzpQh*>`4Ae}DabG`^1KuDG9D9!r zEeg0DEs99dP`TZ-cx)zkZI32%VvXGUv~Q;+r#i#S+upO();6*n>E=pHrMulMw<^ah zwt8)=eT#m#{cw9;SXL(P5(Raz}@DY{<7Fzxyg@Cx7 zukfPvu#Js1OwoA>V`EDBG~O)VhQRoEZ04qojg3kd*RjBsdXRZ&nato3CM906c@*hR z45rT)M2f@p^(c|vWKQ!xlatspSHOCo$Ga?rOyTnVB`Uld=4>Zv`A%uZT5G$IWXXQ< z-DzgTB{k2KaUrcovv(4b5|lAZb2a7;tDWx;i5SP@`sJz%Nf~B$mYN%U$PgJ9VppcE znh#>NQADZSPS?bV1>F^&+tNT12vV{jTg;!jUWave4G`Betk^iMSgacEPoMtw;_Atg2(Bo}Trd^=;Blj{4q(T`0+K^22x z9@<>mfqHLXDQVZtgg7WR3sVx4y)+i`x$u2N@AL zD_TK}cey=~CIyj8UOfTzP#+-`hr13Ohhqr@3fFp@1vB?SQ*GVuTdbseVt!FcBfzj$ zl1cV#PQ_t2PsY7((wbrb1|~RI;nw%+kmF&0)6JPL{JVQ?kF@&WRo6SbCVpq^!&7* z`0GA@D_l?A4@0z5Quy@F*;tvx1Py}Ba@GI3n$%LokbbGz*uawYpwOEY4Kn#SQ6RSz#1+R9`@9 zF18a9Y`Y%Syy!fBJ1Cs>?)q$|El+<&pEqiyO{HA_*|*tkPqu-*e+H}KKTF>*7)W`#(*#t=;$lSNuJXdlg zRNnaX*ss4Fs~zb(#<-tzUfacQtje1 zxj6ENI)EJIeeT=aU`1ULYu4-US&KyxC=A_W;lBl&3fe9b8Y%f`1&&gpZu3%G3Xv#s z!^bv1Q0@uO7Wn!;G$fQUfVKu6#h(2Ri~F(O*UZ<6Py~R0RM}S6g*`vB^t+#lz4ho% z@<)oXD7qzXY}vkJh{Ay{yRiG3D)T0D`z_Dqpmlv*pPpz`TaI6pK$BSj#u{K?m&Y32 zoBD@$Q+Jcow*A%+!C$#$e`$o%kFpR%inicv%77cvFc`*~7ahN7$Z^&V!vE}G#>RGo zNQHhsvw@tPT%-N!n~@Bm@ZXdPKlq%?Xf>iRMAwX0i02>D-Zrd#Ql{=&_BnnKw@)>@ zK7+F+Cl-TkgEws!+IKIEI08&gNx=54=i z;pd)H2Gut0$e{d@a$~%;aG9!I{Q{#`go=+>wg)~wZxdyQ`<^0AHJ>+2N6JZ>P=4-c z%e}o4RQ@)Au3@|!cWki9!Gvt-ze7C3+$Albk+(>ideThOy6YX^$yexH~cUPE7)Nk+3&tvv=r&J@;OYn>mJQf~r zeO?%zxE-&9gZvrNS=mNBdh~%BO=ojWd&kj{yCTf%!63$$Yb(~}bMRCrt$6$+Y})cD zU4OJ^lJ?tovIK*^5jo8tHDo1Qvf^VhEYA>qNT5evlct(_U}B=&56*5)-P;Ax2r^FO z{kD()O0tJp_k_}ihCFVpGp@;v2z@q0nlYv64~#~ted}| zhoD1^qzg$3AN8~g_jvG#V4xxi==*8tzC8BSNLRi&nM8*@Yeg#NY->*CU(>%MoBJ-U z+)JDo3uI{#-=Eikh0+O~BCcrX+{Dx8T1m@0dYdY&IEF`Q>G+p9!?Vu5!pb>mqz>fg zI}w@e%$bd@vV$R3!c!dH8+FWcV!;gnC~fxy~fX$m<=T=bXPbe5)z(&*s$(5q8}j4wOMwh zd-B;b+0H@Cb(HF>sr8xlPjoA}r`eAmuA@^*;K#OF{PHBnw1#!gic{53gKRMK=i7(x ziI=7$HM}#`ULHQk)myct70!v2`!q$+?KxOM^&LPEQ+X#PA--_nfy^anK@Mf9_bWV`~kSpR!WUZ5J5} zsp*ESu{k934xbTG!nxTh?e;}vwwDBGKOxDgWFEN{t<)8CimaN;qwW8!@b)3$HYQCR z%EW$>681*J^bTK5uN0L!A@0GJ2g~yrOcP>@Q_ekF!p*?-#!m{9P%|VW>y* z#8l!Tg&T3g{Eev>1I7#$fWT$R0<23!+Ba^+s1%>+Z-IV{lJAJxT(!H(vEl26xP{_| z8yzOKq8TDkg_b&GL62HtD>~-q&2)Q|cCw>AWw+drknP)wD3Fe0%^#S)k{aH`D%W!- zv=4!q{>j+SuLpPV*_*~shOgOD~#ro}K0iOW(RN(>@Xqk>mkX9AM94aIK zegZx%n+r4swXPBLgL0U_qQ|Tr_^s?dj(QLieF?gy1{szBd)Z7e!Zwbco5n#-IS0pM z!h5OxVXNy0F-JDNN6!bv1mU$J?N+X{3YQf@MhUyf zu=OjXjLxfIuXoy#a>xau8#Z6yt2WLXJvl-){7q1nl%_ZB1>wGu=I zJ}(jo|G=Ov%FKXiF_7w>g98huB1c|rY((`@9rTSPrN8|`>S)4=nt-ix=@esZ&f^G-h6D=_$U5lK8%bJc9ut#;UF5H%zUk z>`mDYL}u;)Y7z1C&0>=2Y0kfi>ym0jg5aexV>DTO{;tL-i%SU`CjtdH0#mgn?9|;1Py!11QH%H8Q8p`@> zr8MsjXogDEcAv_Qa`vhCBX+c9EQJ$om;9V+wv7h5{WNpNWBD57dpE`y;)@e?elaMW zKG0)7cp)C4>?c`$q}*OTMHNt^;vmRbR<3^Rr83F;-2z9|JkN1)-wxley7!4XX2)-M zWtC{xX+j-fQGsjNp)u6_S-uE-KW>KdFz?C)W5WRks2m$y4+>niq3#hL`gm|oKU&gy zLXEL-S1gn1a8%kG2zpogRe zb!COyu*Ac+$TjTBsjlq-+~(NE*T(MwceTpwyZQ~rP7|t7q1QNb9^AJAGSJW1udbPT zJC9!@xBUp543dt2a(_!$9vKbq?K%-qIve*)i#vbJEm@SiN6=;j~!@oAl-U25#feX zx4-2tPQXY^SW6$Xs@$tm`*F!=yhCw)9>;zOd;f!nf5b>n+fR$N451}~pLOv84R>5I4(X`gbXH5 zP1iRI3l29#@B2gVc%q$jqT~`L*sMlAT}UtcVQ%j@5)Ir2-Tf(oeD7&b3*UYI2qs%H zPG!4n_0T*A2_TUQf86)c58V?8v){J)wY5#x?7n*bkHYlZXbxq7?zEzF0LDuV1rYT{ z7neXd75Zll{J(RM#4hO(=i>^JPt~jc@kRGLLHO2|nQn`_k}nT6ML_NQTg>C5rRE$R zp5ryPQEAK$E-o%5$AD;83N%1ch)PRmT*ye+1_DJlV>dnKQV-Ew8RXn4fHfH3FoL6{7=t3fJyOH=lq%a8E{(8@puL`WkLxXPLU;Mh;48*@zwvb)Ifr-er4s*- z^G|xE+FtpFQLhkIrN$?XTlS00YEeDGKrm9mq3ue!6@q0DS(o7Px_<%l#AA?>Q^)GFsFR)L^ZqT8*}z z>Wf}fB6CSv*=ISJ`D79{b43gTNu;5 zAp80orOa+18}sXBJbf~&W08T6A!EfCT-&Fl{mN{201T%boK z-2}mIKxM?WvFdY>k`Ntpp{Px(mk2{vovak{wwS)i)AW=PH1d4AuPXLQdQ@z6Pt*j= ztJh??vCx^A@&mQ;9{D-oXrTclsC{wi`$alrBj7kk=hWVLhQnD}el~mh87r1~j{dZi zj(fCEjsdeLanhjog1evQ+>8m5ZVKubmvL~)$1LW@&Brt9CEB}g@8>vYWB9#L641ym zGqtVpt0g-X@Z9&VNmbDq5>l#@XmrU83xszN?kZ;pbynJC6Y7NCf(V)Er%saeLQm+- z;qm%8geQ7Q>k0dtSP8GzHM$PJD$RXS)}qQ1*UEgR)ot7cue%ICi$$$fl&rK%C=ZJ; zj;R)}RCk7*F`e3ciTxoLzKyD@QLBwCQ2>)(<7A?jil;r(ITXaAWM0BeObn9nztc{= zPZH7kPPqS898!TPrIPT+asysc=&>tQoe;Y|gqc3i5xejCGGl^J?U(0#^@0$`aQN4s zvf|g(akoc6o1UgOgnG+8|rL}llE-k-&@ zyG6e=2HTph>PYDOQW73J2n1DU!{QzPWc$!g#S=`S=9WmOX{kfLYkWZ#c#h&FN5i(4TH3@aFnOy08Y|O36+JQ6h za|r|y@b|=PEhjhL>IWGGTB?QsT%@}6kt}}MZmJ8Ynv3&g0g>|rG2VMdg-!chx~!W% zZ4U{|`aqzu!3kSbvkn(JIp`n*a-aRb10tDHg6_LWzv_CG1PI zG96F=N*I4Ou?q-Ebr!~kXms!C$L^pYz_z4TlwvUdX5%opAYEbAr3_`6MVo+GITQX$ zOFJ7!%97I5pW4UVh9_#pmQUE(k4c+S_~UP#y&9Leri)c$umV-G^t&wZC?O6*TT95f zSl$xw^AB-Mtp08Dm@p?Vu}&SV`z<=HE>;->$CupxGUmem9nhtGy(2w{#xLhZdE|$% zieFy@{cRQT8in!Hb~)kebi zU{`tkggO^(IbQ}|brXpxxu@4$WHIp5tA^r6)N1k{tKF&L3*J#j?35~LG|*E@TdJAO zsyR_%Oi{Pmp?z)9N0hRmL|fbm8F||=tL!Zn4ZhGJ#doO7Hq^N=y9#7+xp*5p5}ds+ zI!g&-(lL%HG$z>!6t}yAxeyRc`Xk!u77(Ur-*pnjpsPYrru;6r>@Q^S#uD0%kgUVY z(B;{Bl6-^txWvWn!`tk1&}(HI*>mZxt&Fb(^yXlN(&bA1Z=8IVt{fLj2UU;Fx9F>i zOEPGWr?`|YtX3`MS$D$}orOP3e7Bb^=vODK`9MjW<2R+opx)$Y^nl7?{VE6g4p=W~ z^2EtfN=kar&S^m}7}fjB<6S`vQ@SnF*mfQ}SmXSnHZHbtn~?whB)5VY6qn3n{9%%N z(+oR_2jD^Nr6#A!0I`O-_X#5HqQru?U|eK3lW#mORAl~@zu+hrWzlW?KsHWYFbpluvmk(j<6r?d_YfDgv`9-{woUfPV(EEr*wAq^qe&x!}qOwcU= zg*Rt6)$39mTa@C02@J2(mLmvm7ZfoYZ5a7i6?kF_l1h8`>V>I;oC)aQETWgl#aejU z3jJKRw6UpuHA6a0qJ)N0_a=C|17uZXSx3Om>e1{zWLQDeJDJHS@=>NwnbFzV@Lz{2 zfW7#HBA8Mf0So83)SyS;>h*e}-AaCDMw&Uv#G<@qs>`VI5M5#jW81>7?4_|kRZ(zS z5=8MC9K}e@l_2MEik6gJPPPjT22&)EJi~lk!5lm^AGLNHuqP+J{kG!m3bLWF5*4k|GzyoVfF@{B-%K2 zpF@X;PrPx4`{qIT(s#;-81GF~2SaS10pEy#KB=J^=4wY8pxp1aAvw#0DGJ_x6xrI( zU^(n&8|@x)jay0fSo)5#ybZVYJ~zwUk|8!OE{3Y%8#OhB$BxJb-DurTW_~{SQ<^~V z9h{TbX)gz@T)3)|bd+igVUf^cm`IbBCqaPFY-5LNo-&DP{szHiKivAw<&8?n2FfWu zRHt0wGn#i-VwmP7pGnYw`grS935hn(N3HLhL%*Pyheavd$@?Hc{C~UcgY&Gz8Y77SMpY-mJ(c8d;FuoZh1*L(}|} zskG6|FmhzRz@5@{w-X(_{2SlACaO-Cj*ZawiFoDuxk+ovFq z9Vu$|wn2(Ft5Cg;^**dGDPijAFk^12vdS{&8ah0Bj_j9!Sj0> zx~lCYg9YTN{^mSzRDiw)cFQ=)^~>&wc}eQ8LJ5mWA_XOJ&&mfoiPRXD<{LV#O%A=n zY<6a@A-^RG`?BXvwL>}K;W*5MoxjumHi~MP&6R7R!lwGWHq-G}o~ZS|)s(rXN(T;J z8c1gy4i+ywzKl)(kFmW>u!#Loz*<_jGp~!s;v0SFoxCi>LE8tJH3;5vhF%sB&^GuI zdH>?qFXe5lgu@+L8grv;;=bPkm%1&oLx1|(2+s2dSH3`q79`!gNL>{8@xsc(4I*3S z1=jp?qO|T73KeOh4oAc?KJHrScAq0$YGMWHh~ESG*F6Ij;I8@A{NG110m{nuEE$i0 z!-b1ac=AM2-Y;?Do22bRLWhT=?Km~hg4pP;PgFtW}q@n9HdX^6y_a1E6n zZ>}3=ww;i9x^G|ZZgn#2RYTZ*!4Ujm?%QLJj$P{BXDY^!f~1ptpMTGTD}a(-6fG}G zQ3MNWy`~1X96(f1JPl}j`et-%Oe&9RsKxy>JL4bh zzs(oHwY-gY3bZIPJuRigFQDLc8R$Q&`TviA%zuOo|NiUib8g_t>FMmYHqznYVLcov zgeKXT;|!@65D5kc(QbMG`D4<&?`QsY_}`jNzd#$x6)HNvxW*pjxtCK#it6gP%F4<& z%m)8Bm7L|hY3SnOG6P6gm8R-rt)dBV_uIs*fOiTax8n~0L|eLL3jWCdCz#Bg+mJT^ zE7<<8q|kU!R9C?C;6p>f?TFS+!x`|hI@Cs6cT}$X1`CQ=QfFg7I9$-4>1TchnoPi06Z|%w`&{w~-Q8 zhARNCj`|N-L`e)9xHE-^mT3tHc7lETBRS7FO@B}i0z8GN@chS3ueC3IB(aOoI{RB{ zdT%ennDpsI4w1xY`WVrEt|HahEaDCOJ$3q zr^&twjgSvbaeARMu4dXKHvnXNqPv zS1;Lq3l|GVd=P(#CNT2R1TO^XwmFCFpd}nnJXb}AP~c&$%@00h>OD3ns6BV6c&&Zy zlKTAIkko73Z>)IN_~!#XM_s45MI{yuFJY;rbzj26-Nsi6k{eCL0aEIsewKnS12qpA zKM9j@z7WK0Hri`7<`&Y56!-Oz67)Jm&8%8aXsH(S6AaH1N4T}6?&qzS5qpG!|R zQ4FR52z4h^1Q&Dw7v~&)juNbb?%rk+1X@Ex^QOWx(ViBI z5%YUSjrFkQvU(nuh~4N%=pH#6>{+r=xqW|9z#yzpII zW-!{Do7p)XkMVES-?f$_H$uY1-aZuzj*gov%&Wb+gca$8f3(UA%Ln&u(Ts&=$txKIVlws64@Y5CE zRPdOEhttL@!l}&rwK-{HdxoZVovJUOG)1M%auu4pB(g|$duLKq+Q|x*Gahn?zYHZm zbwUdAwC}Vcyx^kVuCO3{NA|kbGS>yjVIi4Nr~&vqi(sZnWlpB0x)!0F7l*n%#yK^f zaPd0OOOtYq-~8gWI{3#~ws4%tzhCtP zCd5*r@yj{`F&}mAjD_WExG)m*3f;>%$kE>2FTy5^E*#!)9L5A%Mr#vAn(3#f^HRd? za}|cEMI#2pKV^hh4Mgk8BBWEz!iC`%su!v=9h=tcg#BMRG5NS4AiMk99{d9Y`*L<~ z%P>apH3;hHrfVHWGDcES*x|uv?u9dXIb1r6X9y34)+R-h5A;11C}%i+yq%ex3^+$c z<-K*ulaf!I8ay(=_EFi|pQKur@N1uxIl|r5axlL{6x>QAg+xdZOZuUxB*D>a zuPOW^;baqPL`$Z)eTu@(B_cTPs)LdeI1M1N2BgQ%@ZwMS48=x5P3EHqxw!LVRT<_w z*!gszpD%V~#vu72HFuAX_@38NDs$TZtkQFzDCiLfGDkf{!FA+*RV9ps!z&dH{z4##u=h3&vJ3O_YQQPAIqRE7-l z9m^2z2mCq8kM6)>o^s92j=_&jEqZ5MP*@;F~Kc|D&nuggKG9ls|y7RM_N?uC@{ zkqGzalzZfd^>4xlxKi0VV)|2N`YZfHcEonWAZi$5^w^sj77MxU#L;B3cc0~PL9pc?Yn}erluY_XS=pr8ncl!f|=K7 zWWo_?X~e?dB^l>+yytGtrj(Nrgl7u*;?mOY5CG-cywCo08NPsPX~_=DTp^x<9fKe!hZK(s5qp3m85nBipBz_vU ztA&g&mXd#^)3-ULw<<&jtBnpCvudoy!L~o5q7sEdVr85gd)#nxHvMijiPeMOwFOb3 zjMAXQjYtq4wnRAbPW?evDJbl{zr)hRvH586hbOZ88}ILO-b(zO`VTANirc2O)!*wX zD0f36>)&T~!9JP+?+w1r*@%z$Zk}*zUiTZ*MOa0RW|5cR$*XAu=oa+M=;oCV5U92- zKk>(uzZT!diU6Y>cvm4z=<&R(c6_ofMFNBqaj|zB{O&g$E~3<7KiSn-tI*fhO=aL< zw@bz>GA>f7Kimq^jZhE@emrh7(reeNPiWQMvma?`Bc1ls#iZjWGXQB^fp3uVAMv#n zna@{4veO!6dZYr~rXu|{&n`cZG)=Wx=+?}H4;9*SFKgvHs#oMm^W%iEWU*(L6&2YU zVa&A}UCp6J0b%tL&Z2_!r68Z4F`nIb5w$p%upZ7}N{wTO0k_`4qIIuKAwX}qtK z7B|O!%U{~Hgl&*(%32>(Fc?+RrjJnK_02)LcU`n0O0{5i*Ky+f zH1i8o1DsnL-f(6kc2EPWzh1uj9`9lU2?onyLgdSQv1Io8g3zMbY%ZCxmrNzevmIl? z*!l0w`dk=bx_;Q-csL>?s`ftp=3`H0 z!(}+1QmN>SDBJD#4JFB$TbWXhBs8JeumVNP-G5%hx&DCOyr7l#hd=#gv29ho-+XV5 zWXVZr-^FncY!jej$!S!^D>*>TFd*@)=bxB}`#A9u{eyx&OwLTLc3~CpH``KuuzmYl zNkxN)_)P@? zvWiMfT3SSIF4be4;6d@ww;e(vB8Q_zzO>y5tU9u8PW=ojn(10>k8}bJkU1!HM&fA4 zEfR$?a+<-9en72hKnxv4@=;Z*2u!B`A`?g09A&v=a1*FFLNYsc-`bn1f4IBc57uk- zq@bpzrh|`^6Yru#@VVMHiaR@u6+e|k;$Md7+?u_kWu*?gcaV^9kRRGNlJAT0fln_! zeu1-KLqv_Rz7yF(ooO&B4oNYsVk=}o=BwO$gg-I>$%~(^mGrjL;O@Z2lZCni5P>Yl znw0-rrMxiDVErge>R+%n8GmP{mq9S;fniBEG`C>Ns|oRg-74~i!ep0v1qpzI@Hkxl z36>sgZU}PIE=C`ccrT%Ym6E%)wUt;Y4CgdI*-EuD+8Ub0QgWe);_a(=k;jN~i6}_x zZI{BTjQikMW2YYfnQZ3{gzF8^>tTx_P*AvU;wpgLCPJ)Q=z=grMNfV+XN1_!#i!y= z{lD;90mMV$g`n5!MbYLwTtFu%D%p$?93s2d zk?tGl$4^OUDJ}4ossF3U8fAXIBRTWaRjm#0{k) zshm|$VjPP|sMNsfhS*h*4Qsum!RYTqMZlz$daL%8ZMm=pF(O0(6FF=|f~l=UQ|3rj zj8!(BgDhO%_f1Lm;U6SJHDb*OC7ofO;zd6I6@!ar@|D@*8pEP5LX9n9I0=t+1cO=g zFPRFZKKy0I^0Tf&oT4|!OwF&Gt~R^OvrXq@AJ5`r=ktGsAz_O+zB!+SC*Eo}XGcqU z{oL{Xjyq)k0}uzuD@_w2Dly_7A}saVV8;gQ+Qlc3)O))&GQC;+nd>07u|DLD!Mx5P zHZ9+3fun6(T`%x`09GwtE2ZF#7OqxRlELDL)98RY(#=ceuN0*@L#+%lmqf2<&yK3w z10b=)WbJr=c8A~nBPzpRHw;Nc&{3&~GsX&o3xMN}Ub(>tfOOncn}V_^3Pj7fXv+FS z*(_3QDf&=&Zj+;4iJ)X(4S*YKS;CXGy1yaCiAFaUiV%SZ8~KlqM6Quc5YLJ#!D zBH^ZUCv-~kI+SqNY?B6%RMn=RGc^neTT^LjdbYVf=_O8o9G!`;JSVK>eoqS_3S;@g zK3=N_7on$@rfssF9RHy<$vs#n)(QncjvCdn#!`BPT(~MXteMF|69&PAtiy$SlQCk2 zVM>|(7hRWyVmq2$5=$<7g<@LokNquXi(8AnjyWFys5ioJl`V*vBRK<+J4>#wR z&BffD#Ez`eCjQ5%<637X^>+28=?kuaPJDj}y+EmYS(GveHy!UeI zEs%O$!szqiJ_!#b*qQeqNx)!I8Av4Y)-6u@lSjRMz5J4BPAB2seLvExDQXUE$eVS3Pr6#OS~j)2esx3B{!V+P z^kTQ8MnJQb-Dg*5Kxn-yJv9Z)X7}6U{ELBkRWIMST)`tH_5zpaO?j`Tt`}AW7P$#QaTO7*48bw)wh%WA? zWkhy66v3FynccllGQoDBq8V{WO&Esr*l)5}G+kJD5m;oJz%U%YOT)N5D)B{|Mqcgt za(qOsM%;}*+lvQJ98PvFYk>7gVK8u`JRMm}6n0eIO|bgT;_`tV2X$^@`?ViEFeXR3 zK~nV()RKR=tOE{9>s=j}z$cs|%xU92<99V%da<=a(E^Kwn=GWgFKOwT-UVdKNM%vY^KB+(mXp)NdBF-plG5_v(J>E6{S(N=gGqPAH%pw1f0W?Y+rA{IAFuw! zH`2|l_cwHhDmLfu3ncmP6XpS=OKTufbX)y%amJq{UVI`gj>r=KUuQOaFmTR_-Ft=x z1?F`AByx`h2F>}LaQcc~S)=b={-JS6dsK?TVfD|Pi&_f7F!yW2l7MA!20O z<-eT|o_3ffBbUiA4AnX&M&5$JhhCb$Cpw+Vo$+cNNKeT+*DktjZ;*yr6`hj=&^Iaap2$abB>N&R_O90g2MX#J#}-M_t=j z*`u9;>5gy-7)jsX=$)xvw$SAxbO_D1iotKS=zb;f__M5^?|I>i5#y!(s_*cH7%8#zn~m?mJguUg z4C+(=ULrrjt@P9VktqL3(n5e?zKi=j%^Qj0f}A34i2(dX5szqNrFewX3pe3?Wv~~b zo($jwpwpcnWe!8Qrgs8`Qmy{n!9){d!dyiGNg1$ZcM!YCK?Qj6DF#_UkpZe&3Q+C5 z(!ls|0|#L1RkwPWw4shn91PFMJcl(&sy-m_4tF z=p$lC9WNYjyMp_-b^Zw^ZrG8dc~02gQAWtdg6c&z8?Cj=Z&B)Rfz!?KN_xVq4RXFR zG`V17GWF}YshQUny*^Nx8HShT+RuD_`+D`!2`=045?a&m^hg$2oV#5-h{v+M-RV|^ z;<|RJ5nn>%&kM=p@NhdBe;6A9w=GD1Z>C(!lV1v>VUp`ZO@*l2WHv?T)fd1fxr-*r zNYYfchVY5Q7sOZ@y&e7@@BBClNVxF8xm`8R@rP1TBxgiu z+^VYq%LI6eT_dmJ6XtXY&eSzX-v0>}Tnt>+xPCAHBxLeDu|hxgXm_>HV)Cw@?@*fr z@}Xd*_OdazdRs1vh zQaNS$(VSay1tdREP#Xqz(n|yI5xP8`l*HJ|oujSmLA;!IfQF$|ZfeDaW3HKH5fAe0 zCL%Wkbt?nRX(HQiXC;!pp^)0ho&|m~Yob-l%aGe8;JscviyrGXwwE1I8(e%}BlzbT z+Y!BtVTNVm^Gc#eg{AQ>?$6KSp1V4#-J7^vEK%+Hj2llHL?dH=DiMc|KOR-E5L>``*Uy`>4L;njPm1_dCzz}WeV{CXqRT(+wMs^?s zin8v1zP)(AVygNAeXt$EUR1u8&>i9AaK_9VROLRopCA2jrE zUYgM|I+Qg2lf3+2w+fvejD(y&L;SF;e7>LCCFSH54U`xmQX~;LBL7$%V!dwie8Et( zfON^D$6I}gEpATI$qI`7oX)n@}(T8U|j7bT@(IOX~iFYk!#;nEO!2f zNwIt(co_0Qd7gs+X0D&-GTGLWgLSm_y6|5Z+92Uchs!Wuoua|aXrX3kAIy`)tfJ>c za+}D8M2h$3Jv!n5r14}CH?TssuA7D!nBkOqwLx@z)&RdAVta@nM zDalT5GaO`8;t@wY$&xER-3FB}vjGMl%S#Al`qpQ2j+&)F)7zj=fQF0-A~mf&iJ9Af z%XEo2d(aibty|u!v6-V>Ozqc!TX=Nv05d+A96Mo-WcD%Jwx>Br!#vz_uM?P7D9O;k z*5zK7-P&baU5&_=@<%&T&Gu0*jgAep>CZqA3NmNBV>Z13E3>t~NwEpseU z@d;pX0zG3v9}RRy!iE5WkxtS!KgW>Cd|bRGO)!PBktM?4cGSuq`(AcL8-paoLm7Ik z1d*IIV)U=+89Y5Fp(_|t$wrvFp90d1Gs1Z9fu>o~Bov$KKvPBgx^wR`$1b2Kw2XM6 zC?1C)kY|GnnRc=X4O)mPrxL&MGgmXk?_#{J@#jdZbh?V`t`Ew4)1>~FXw`2pxkgL_ zgwACC(GfS5YY-2y)xFy(E$k0__jW9{=6JUbGwpL0f3Ht&>OFBN<|C@lmaDVI*$wZb z4|OW@%?^m-PAFGd0*_BK)-lZDg!6NQw-?APoF5W^gZ@~fhV5A`2x^p<%J4ZP|G?5h zMt@}$T?T5m!tyMftS|o6teWDC_JUl_vclp|3JD07t|~3lR>$OI-&o}5TCCpdKy}np z=sJn;Ey%_0nm^DJ_*`0Cxc5d+?j9d}Zik$rS!&YfKr1&4m!4;<-bFD2HUX*e3clMl zyv#F_>28^YZ+WQzFL@E)%OqQ6_~B&LA7dz_N0NkEn~+R{EL|9Ol+&!A=dKW(Zx3&0 z6ieV5j5adpaU^C`%VtygwX=IX!EZSZ&`4=J? zt07jRT_G$=1Tk5{d6r`)QLfqqV|6%C3BLrIW;s$)TwzB~Yb57)ybtCH+Atu&l0<&J zoLbTGszhYW!q*)ic#goleP1tR2U;iXtMDX5^y3|&29ueSLA(&99*N_EDX-)BXm|$c4&zV0gxT)$87>gv zS6lj2aFp{0p^vC$vmD5O#Ia$xg;lPc)wAakO!!@Bk(QHT`xy0FcVy);k%yvI zIAi(r3k$)^lg)9@;H*Kv`Z8@E&+ShrR+HnTb?$N-uqStWumcI`V}{6XilTF9h>Vy^ zxWPPadiT1cfIg-Ou?zKo>@4lW8l$FmlJ&<}6Z)r>=8`ylTb%u+nfd#RQy%2Ji`+I? z_##ix|95!;YYfVPry+bwlnYD!y!t}91@eM)|2uLrS0AswzpZFtc%jlYaq}-c;{O;EOU*eLoorfU+UjY`?rH0|{6PRy>cx=5jMT62(l0-f zE)dLVEVi=z>J`GwKmHfMeB|#i&r0`DGH1?_ECK~2uuP}H=wP;LXQqP8^K$PWo%K}I z)VpN)|39oZZgCDr67=F;{g#qKI5{)3elS<#sdc>E8uQ{m9~zRq*crPj0NWBfH+wiR_BjHFA)t~JlpL`pt-rdoD-fZJyE@p`4N!~dhh*~UO46>Yz9 z-Mq|HTYI);Cn_7ZT9Am~M_myLp8;`tg1nV>^maNcJ3c$Z9?B>~F*W;vjLYzti;z35 zXWYtXdaAM~1=WUYwo~#xPm`*{ZTf>TM$1aWOQX_RG7Aa5;II2q5}hICI4$QR0uG_# z0kmU!wzjs5rkTP}LNztDDjsL@(IrbVHM)B%oHIL~Pa1WP=+Z8h$(WO5i`g z_wSF8Ie%!oX4XN3&#n`)?znMwJxDg_=VXOF7>g63ueI(Tg`?2_!unm#R@rA;t#N4P z_JC(8pMHAQ$UbBgBMaD59$`grOhBEBBUi0GD3;ZWiXYjo;ZvC=lS z`aJ4#1r<5AC2zXQYO(g+zDClW?#tGOMjQNjS8F)Kt@7AuoaI=D@5_^@*XbEu|7EPl z?_xkIo(2V0Zj$QRB zr})^tMvu1F_;FyH{aV#tAg7JXZ~Q3jhMapTmVl{kPlUZ>!^0X@o6#uxvJ%i&TwtrF zq_g=7Pe$R$GOf9S#Qxr1_R&m(-O3MB3DIu##Dqxer6#qY88wjWN-H+Vcmg1B zsTtQwESw|fQ^Ffxr!oQ(Fpbw8dZnx9!k(bT5rb-SClZ2XJM__Cvm&6{s2yRGxpV=U zI;PpBxJcprL`5_DiCjA|lo;i9$de+GN%(VKtdcx&2FrY#LP0$@MbqPtysNo*o6?mN(F1-!7z@imbrKF$@iSkRsb{duDVJPSm?Nn7n&+s11;-@!c`mH@0R?Ynx$0ideW);ln@(} zgx1tK=dp$g9q#-)o<#mz0AvK4`;5W7iJ8c*cuR?H4EF4N9+>!`ZJ#libBhO+z6_w~ z;=n!t5lJRV-36CTiRD!gor8tok*L6UnqZxlU zc2_Jm`qbveNb9nP;Lex@UV)qeHK>$)zQdgD9yMlNaRs0RSgq<%c~YHPF4NSuK+$z! zBrTQxI_FfASm~^1gr%-9Qqv!-K-a zNc$pgdmNiF1Z$!en2D)Z2P3PFA&N`~NwldXI0)GEL5;2tX&n?@97q&r_07qkfec7Q z!!Dxs^q~ndA=rt`w`LcbQl$XyVTQdkk<@#Dt>@9k-< zSIC?@i}uf>YcFM8D58_Wg{M#?BdJ;hU%;A)k0DzLN{_nAq7lkSzgvtXbC6q)T53s2 zpJg_#zb#U3YRrS1x_+@L@A=^30U|zcYM*t>gQ^x%-^GDtdQ{nxs1jg{j5e1n#$4Na z5*vPjbsR`PTSY}hU`mNdPog>*2oUL6+lU11(?o=8uDK?zsBYiB;Cu}!Hxe?qVUHNc zj2Y9eTh0toy^b3kQCVEKbUAJv3oAKFgwz>SJ4b6nR;qJ(E*n4KEo=!(v@ft`L>C7l zvn#H+LXV`1SR_i54}_jQdj__V*G|ca;M$V9#+#P*@87?jk`pBL3~$_e3P`M7vkLHo zC>!P9yVg~JT@pE$dpo-lq@$qd;zZ`cNhI~Rzx_=|ToTdQ(^6-ODxWBy_{1kVtUhg@ zRzk?-2SwKkMvWS!Z|f4-2@@tvaNSN)ToGey`sZZOA)fnaC32J~vHg+U<%jfvwRCnR zNT)#2wGt7S+}2fFTN}1cqO6RJj5bL~rjfM!aZ7{{S17tRVBNg$gsCJUT@yZ!ju7H| zC^|xj@1f`jA-;#ABZT-KijENCdnh_Wi0`532qC_Qq9cU(o`|B8JN^kFBvFXwtgt&H zWaDn#y6NA)``z#KH(E6}H^X|A6Cs3j1*}IfiLc}yaCwl1y2q7fVh~%*UAC!Dug}Wi|%K!iX07*qoM6N<$ Ef($=uHvj+t diff --git a/assets/settings.png b/assets/settings.png index b329fa8ec37ac7a65a82e6d9e476e8b5b76b620d..a2417c04d1c6748387751307d41c5e1f513d8a8a 100644 GIT binary patch literal 25484 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 literal 18031 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
Bt!`Zdmq{D1TcK7bj+0A_ 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 + // alert('status '+result.reponame+' ' + result.repostatus) + if (result.reponame !== undefined && result.repostatus !== false) { + let github = new Gitee() + github.updateTags('bookmarks/' + result.reponame, getDate(),'master') + } + }) + }); + + // onCreated自动提交 + chrome.bookmarks.onCreated.addListener(function(id, bookmark) { + // alert('onCreated ' + id); + chrome.storage.local.get(['reponame','repostatus'], (result) =>{ + // alert('status '+result.reponame+' ' + result.repostatus) + if (result.reponame !== undefined && result.repostatus !== false) { + let github = new Gitee() + github.updateTags('bookmarks/' + result.reponame, getDate(),'master') + } + }) + }); + + // onChildrenReordered自动提交 + chrome.bookmarks.onChildrenReordered.addListener(function(id, reorderInfo) { + // alert('onChildrenReordered ' + id); + chrome.storage.local.get(['reponame','repostatus'], (result) =>{ + // alert('status '+result.reponame+' ' + result.repostatus) + if (result.reponame !== undefined && result.repostatus !== false) { + let github = new Gitee() + github.updateTags('bookmarks/' + result.reponame, getDate(),'master') + } + }) + }); + + // onRemoved自动提交 + chrome.bookmarks.onRemoved.addListener(function(id, removeInfo) { + // alert('onRemoved ' + id); + chrome.storage.local.get(['reponame','repostatus'], (result) =>{ + // alert('status '+result.reponame+' ' + result.repostatus) + if (result.reponame !== undefined && result.repostatus !== false) { + let github = new Gitee() + github.updateTags('bookmarks/' + result.reponame, getDate(),'master') + } + }) + }); \ No newline at end of file diff --git a/js/gitee.js b/js/gitee.js new file mode 100644 index 0000000..5c27224 --- /dev/null +++ b/js/gitee.js @@ -0,0 +1,587 @@ +// https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoGitTreesSha 获取项目文件和递归所有文件 +// https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoContents(Path) 获取仓库具体路径下的内容 +// https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoContents(Path) 获取文件内容 +// https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoGitBlobsSha 获取文件Blob +// https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath 新建文件 +// https://gitee.com/api/v5/swagger#/putV5ReposOwnerRepoContentsPath 更新文件 +// https://gitee.com/api/v5/swagger#/deleteV5ReposOwnerRepoContentsPath 删除文件 +// https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoBranches 获取所有分支 +// https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoBranches 创建分支 +// https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoCommits 仓库的所有提交(分页) +// https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoCommitsSha 仓库的某个提交 +// inside: owner repo path content message branch +const git_url = 'https://gitee.com/api' +const header = {'Content-type': 'application/json;charset=UTF-8' } +const git_key = ['access_token','owner','repo','version'] +const initext = 'ZGQK' +function Gitee() { + /** + * API文档 https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath 新建文件 + * @param {*} path + * @param {*} content + * @param {*} message + * @param {*} branch + */ + this.create = function (path,content,message,branch) { + chrome.storage.local.get(git_key, function (result) { + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + let data = { + 'access_token': access_token, + 'content': window.btoa(content), + 'message': message, + 'branch': branch, + } + fetch(url, { + method: 'POST', + body: JSON.stringify(data), + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '创建 ' + path, + message: error + }) + }) + .then((resp) => { + console.log('创建' + path,resp) + }) + }) + } + + /** + * API文档:https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoContents(Path) 获取仓库具体路径下的内容 + * @param {*} path 文件路径 + * @param {*} ref 分支、tag或commit。默认: 仓库的默认分支(通常是master) + */ + this.getlist = function (path,ref,element,elenum) { + chrome.storage.local.get(git_key, function (result) { + console.log('result', result) + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + let version = result.version + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + '?access_token=' + access_token + '&ref=' + ref + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '获取仓库路径 ' + path, + message: error + }) + }) + .then((resp) => { + console.log('getlist', resp) + if (resp['message'] != undefined) { + console.log('error',resp) + } else { + resp.forEach((vds) => { + var op = document.createElement('option'); + op.setAttribute('label', vds['name']); + op.setAttribute('value', vds['name']); + op.setAttribute('select', 'select') + element.appendChild(op); + }) + elenum.innerText = resp.length + } + }) + }) + } + + /** + * API文档:https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoContents(Path) 获取仓库具体路径下的内容 + * @param {*} path 文件路径 + * @param {*} storage + */ + this.getTodo = function (path,storage) { + chrome.storage.local.get(git_key, function (result) { + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + let version = result.version + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + '?access_token=' + access_token + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '获取仓库路径 ' + path, + message: error + }) + }) + .then((resp) => { + console.log(resp) + let info = JSON.parse(decodeURIComponent(window.atob(resp['content']))) + + try { + storage.set({ + easyTodoStorage: info + }) + } catch (e) { + // do nothing + } finally { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'images/icon16.png', + title: '更新本地书签', + message: '同步完成 ' + }) + } + }) + }) + } + + // 获取指定文件内容 + /** + * API文档:https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoGitBlobsSha 获取文件Blob + * @param {*} sha + */ + this.get = function (sha) { + chrome.bookmarks.getTree((re) => { + chrome.storage.local.set({'repostatus': false}, () => { + removeall(re) + + chrome.storage.local.get(git_key, function (result) { + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/commits/' + sha + '?access_token=' + access_token + console.log(url) + if (owner === '' || owner === undefined) { + chrome.storage.local.set({ 'repostatus': true }, () => { + alert('未配置认证信息 true') + console.log('reset repostatus === true') + }) + return + } + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.storage.local.set({ 'repostatus': true }, () => { + alert('error true',error) + console.log('reset repostatus === true') + }) + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '获取文件Blob ' + sha, + message: error + }) + }) + .then((resp) => { + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/git/blobs/' + resp['files'][0]['sha'] + '?access_token=' + access_token + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '获取文件Blob ' + resp['files'][0]['sha'], + message: error + }) + }) + .then((resp2) => { + console.log(resp2) + if (resp2['message'] == undefined) { + let info = JSON.parse(decodeURIComponent(window.atob(resp2['content']))) + try { + addAll(info[0].children,'') + } catch (e) { + console.log('error',e) + } finally { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'images/icon16.png', + title: '切换等待10秒', + message: '请勿执行书签操作,否则手工完成同步操作' + }) + setTimeout(() => { + chrome.storage.local.set({ 'repostatus': true }, () => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'images/icon16.png', + title: '更新本地书签完成', + message: '启动书签自动同步功能' + }) + }) + },10000); + } + } else { + console.log('error get ',resp2) + } + }) + }) + }) + }) + }) + } + + // 获取指定文件内容 + /** + * API文档:https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoGitBlobsSha 获取文件Blob + * @param {*} sha + */ + this.getrecovery = function (path) { + chrome.bookmarks.getTree((re) => { + chrome.storage.local.set({'repostatus': false}, () => { + removeall(re) + + chrome.storage.local.get(git_key, function (result) { + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + '?access_token=' + access_token + console.log(url) + if (owner === '' || owner === undefined) { + chrome.storage.local.set({ 'repostatus': true }, () => { + alert('未配置认证信息 true') + console.log('reset repostatus === true') + }) + return + } + + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.storage.local.set({ 'repostatus': true }, () => { + alert('error true',error) + console.log('reset repostatus === true') + }) + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '获取文件Blob ' + path, + message: error + }) + }) + .then((resp) => { + console.log(resp) + let info = JSON.parse(decodeURIComponent(window.atob(resp['content']))) + try { + addAll(info[0].children,'') + } catch (e) { + console.log('error',e) + } finally { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'images/icon16.png', + title: '切换等待10秒', + message: '请勿执行书签操作,否则手工完成同步操作' + }) + setTimeout(() => { + chrome.storage.local.set({ 'repostatus': true }, () => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'images/icon16.png', + title: '更新本地书签完成', + message: '启动书签自动同步功能' + }) + }) + },10000); + } + // return window.atob(resp.content) + }) + }) + }) + }) + } + + /** + * API文档: https://gitee.com/api/v5/swagger#/putV5ReposOwnerRepoContentsPath 更新文件 + * @param {*} sha + * @param {*} message + */ + this.updateTagsSha = function (sha,message) { + chrome.storage.local.get(git_key, function (result) { + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + + chrome.bookmarks.getTree((re) => { + let data = { + "access_token": access_token, + "content": window.btoa(encodeURIComponent(JSON.stringify(re))), + "sha": sha, + "message": message + } + + let put_url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + fetch(put_url, { + method: 'PUT', + body: JSON.stringify(data), + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '上传全量书签错误', + message: error + }) + }) + .then((resp) => { + console.log(resp) + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '上传全量书签', + message: '成功' + }) + }) + }) + }) + } + + /** + * API文档: https://gitee.com/api/v5/swagger#/putV5ReposOwnerRepoContentsPath 更新文件 + * @param {*} path + * @param {*} message + * @param {*} ref + */ + this.updateTags = function (path,message,ref) { + let _this = this + chrome.storage.local.get(git_key, function (result) { + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + + // https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoContents(Path) 获取仓库具体路径下的内容 + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + '?access_token=' + access_token + '&ref=' + ref + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '获取仓库路径 ' + path, + message: error + }) + }) + .then((resp) => { + console.log('gitee get success' + JSON.stringify(resp), resp['sha']) + if (resp['sha'] == undefined) { + _this.create(path,initext,'init','master') + _this.updateTags(path,message,ref) + return + } + chrome.bookmarks.getTree((re) => { + let data = { + "access_token": access_token, + "content": window.btoa(encodeURIComponent(JSON.stringify(re))), + "sha": resp['sha'], + "message": message + } + + let put_url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + fetch(put_url, { + method: 'PUT', + body: JSON.stringify(data), + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '上传全量书签错误', + message: error + }) + }) + .then((resp) => { + console.log(resp) + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '上传全量书签', + message: '成功' + }) + }) + }) + }) + }) + } + + /** + * API文档: todo 远程同步TODOLIST + * @param {*} path + * @param {*} message + * @param {*} ref + */ + this.updateTodo = function (path,message) { + let _this = this + chrome.storage.local.get(git_key, function (result) { + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + + // https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoContents(Path) 获取仓库具体路径下的内容 + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + '?access_token=' + access_token + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '获取仓库路径 ' + path, + message: error + }) + }) + .then((resp) => { + console.log('gitee get success' + JSON.stringify(resp), resp['sha']) + if (resp['sha'] == undefined) { + _this.create(path,initext,'init','master') + _this.updateTodo(path,message) + return + } + chrome.bookmarks.getTree((re) => { + let data = { + "access_token": access_token, + "content": window.btoa(encodeURIComponent(JSON.stringify(re))), + "sha": resp['sha'], + "message": message + } + + // https://gitee.com/api/v5/swagger#/putV5ReposOwnerRepoContentsPath 更新文件 + let put_url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + fetch(put_url, { + method: 'PUT', + body: JSON.stringify(data), + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '上传全量书签错误', + message: error + }) + }) + .then((resp) => { + console.log(resp) + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '上传全量书签', + message: '成功' + }) + }) + }) + }) + }) + } + + /** + * API文档:https://gitee.com/api/v5/swagger#/deleteV5ReposOwnerRepoContentsPath 删除文件 + * @param {*} path + * @param {*} message + */ + this.delete = function (path,message) { + chrome.storage.local.get(git_key, function (result) { + let _this = this + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + '?access_token=' + access_token + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '获取仓库路径 ' + path, + message: error + }) + }) + .then((resp) => { + let del_url = git_url + '/v5/repos/' + owner + '/' + repo + '/contents/' + path + '?access_token=' + access_token + '&sha=' + resp['sha'] + '&message=' + message + fetch(del_url, { + method: 'DELETE', + headers: header + }).then(res => res.json()) + .catch((error) => { + console.error('Error:', error) + }) + .then((resp) => { + console.log('github delete success' + JSON.stringify(resp)) + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '书签删除', + message: '远程书签 ' + path + ' 删除完毕!' + }) + }) + }) + }) + } + + /** + * API文档:https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoCommits 仓库的所有提交(分页) + * @param {*} path 包含该文件的提交 + * @param {*} page 当前的页码 + * @param {*} per_page 每页的数量,最大为 100 + */ + this.getallcommit = function (path,page,per_page,element) { + chrome.storage.local.get(git_key, function (result) { + let access_token = result.access_token + let owner = result.owner + let repo = result.repo + let url = git_url + '/v5/repos/' + owner + '/' + repo + '/commits?access_token=' + access_token + '&path=' + path + '&page=' + page + '&per_page=' + per_page + fetch(url, { + method: 'GET', + headers: header + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '仓库的所有提交 ' + path, + message: error + }) + }) + .then((resp) => { + // console.log(resp) + // return resp + resp.forEach((vds) => { + var op = document.createElement('option'); + op.setAttribute('label', vds['commit']['message']); + op.setAttribute('value', vds['sha']); + op.setAttribute('select', 'select') + element.appendChild(op); + }) + }) + }) + } + + /** + * 本地保存reponame + * @param {*} name + */ + this.saveName = function (name) { + chrome.storage.local.set({'reponame': name}, () => { + console.log('set repo name ok') + }) + } +} diff --git a/js/github.js b/js/github.js index a816c40..f220773 100644 --- a/js/github.js +++ b/js/github.js @@ -337,3 +337,217 @@ function Github() { }) } } + +class Githubs { + constructor () { + this.url = 'https://api.github.com' + this.tags = 'tags' + this.session = 'session' + this.bookmarks = 'bookmarks' + this.key = ['username','repos','token'] + let _this = this + chrome.storage.local.get(this.key, function (result) { + _this.user = result.username + _this.repos = result.repos + _this.token = result.token + _this.headers = { 'Authorization': 'token ' + _this.token, 'Content-type': 'application/json' } + if (_this.user === '' || _this.user === undefined) { + alert('未配置认证信息') + return + } + console.log(_this.url,this.user,this.token) + }) + } + + info () { + console.log(this.user + ' is ' + this.repos) + } + + puts(filepath,data) { + return fetch(this.url + '/repos/' + this.user + '/' + this.repos + '/contents/' + filepath, { + method: 'PUT', + body: JSON.stringify(data), + headers: new Headers({ + 'Content-Type': 'application/json', + 'Authorization': 'token ' + this.token + }) + }).then(res => res.json()) + .catch((error) => { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '初始化' + filepath + '目录', + message: error + }) + }) + .then((response) => { + console.log('初始化目录' + filepath + ' 成功') + }) + } + + gets(filepath) { + return fetch(this.url + '/repos/' + this.user + '/' + this.repos + '/contents/' + filepath, { + method: 'GET', + headers: new Headers({ + 'Content-Type': 'application/json', + 'Authorization': 'token ' + this.token + }) + }).then(res => res.json()) + .catch(error => console.error('Error:', error)) + .then((result) => { + console.log('result',result) + }) + } + + deletes(filepath,data) { + return fetch(urls, { + method: 'DELETE', + body: JSON.stringify(data), + headers: new Headers({ + 'Content-Type': 'application/json', + 'Authorization': 'token ' + this.token + }) + }).then(res => res.json()) + .catch(error => console.error('Error:', error)) + .then((response) => { + console.log('github delete success' + JSON.stringify(response)) + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '书签删除', + message: '远程书签 ' + filepath + ' 删除完毕!' + }) + }) + } + + /** + * 新建文件 + * @param {*} filepath + */ + create(filepath) { + var data = { + 'message': 'commit init', + 'content': 'eyJkZWZhdWx0IjpbeyJuYW1lIjoidGl0bGUiLCJ1cmwiOiJodHRwOi8vYmFpZHUuY29tIiwiaWNvbiI6IjEyMyIsInRpbWUiOiIyMDE5LTAxLTAxIn1dfQo=' + } + return new Promise((resolve,reject) => { + this.puts(filepath,data).catch(res => { + reject(res) + }).catch(res => { + resolve(res) + }) + }) + } + + /** + * 获取远程列表 + * @param {*} filepath + */ + getlist (filepath) { + return new Promise((resolve,reject) => { + this.gets(filepath).catch(res => { + reject(res) + }).catch(res => { + resolve(res) + }) + }) + } + + // 远程加载 + /** + * + * @param {*} filepath + */ + getremote (filepath) { + this.getlist(filepath).then(result =>{ + let info = JSON.parse(decodeURIComponent(window.atob(result['content']))) + + try { + addAll(info[0].children, '') + } catch (e) { + // do nothing + } finally { + chrome.notifications.create(null, { + type: 'basic', + iconUrl: 'img/icon.png', + title: '更新本地书签', + message: '同步完成 ' + }) + } + }) + } + + // todo 远程同步 + /** + * + * @param {*} filepath + * @param {*} message + */ + updateTags (filepath,message) { + return new Promise((resolve,reject) =>{ + this.getlist(filepath).then(result => { + chrome.bookmarks.getTree(re => { + if (result['message'] === 'Not Found') { + console.log('not found create it') + } + // 'content': window.btoa(encodeURIComponent(JSON.stringify(re))), + // 'content': window.btoa(unescape(encodeURIComponent(JSON.stringify(re)))), + var data = { + 'message': '全量同步bookmarks ' + message, + 'content': window.btoa(encodeURIComponent(JSON.stringify(re))), + 'sha': result['sha'] + } + return this.puts(filepath,data) + }) + }).catch(res => { + reject(res) + }).catch(res => { + resolve(res) + }) + }) + } + + /** + * + * @param {*} filepath + * @param {*} message + * @param {*} content + */ + update(filepath,message,content) { + return new Promise((resolve,reject) => { + this.getlist(filepath).then(result => { + var data = { + 'message': message, + 'content': window.btoa(content), + 'sha': result['sha'] + } + return this.puts(filepath,data) + }).catch(res => { + reject(res) + }).catch(res => { + resolve(res) + }) + }) + } + + delete(filepath,message) { + return new Promise((resolve,reject) => { + this.getlist(filepath).then(result => { + var data = { + 'message': message, + 'branch': 'master', + 'sha': result['sha'] + } + return this.deletes(filepath,data) + }).catch(res => { + reject(res) + }).catch(res => { + resolve(res) + }) + }) + } +} + +var bb = new Githubs() +bb.info() +console.log(bb.session) +bb.create('111.md') \ No newline at end of file diff --git a/js/popup.js b/js/popup.js index b165f67..5072523 100644 --- a/js/popup.js +++ b/js/popup.js @@ -23,10 +23,10 @@ document.getElementById('commit').onclick = function () { let repos = tmp[tmp.length - 1] let token = document.getElementById('token').value - chrome.storage.local.set({ 'username': username, 'repos': repos, 'token': token }, () => { + chrome.storage.local.set({ 'version': '1', 'username': username, 'repos': repos, 'token': token, 'owner': username, 'repo': repos, 'access_token': token }, () => { let bg = chrome.extension.getBackgroundPage() - let github = new bg.Github() - github.create('bookmarks/create') + let gitee = new bg.Gitee() + gitee.create('bookmarks/create','init','init','master') chrome.notifications.create(null, { type: 'basic', iconUrl: 'img/icon.png', @@ -34,6 +34,10 @@ document.getElementById('commit').onclick = function () { message: '认证配置成功' }) }) + + chrome.storage.local.set({ 'repostatus': true }, () => { + console.log('reset repostatus === true') + }) } // 清空标签 @@ -47,8 +51,8 @@ document.getElementById('clearonline').onclick = function () { let files = document.getElementById('filename').value if (files !== '' && files !== undefined) { let bg = chrome.extension.getBackgroundPage() - let github = new bg.Github() - github.delete('bookmarks/' + files, '删除' + files) + let gitee = new bg.Gitee() + gitee.delete('bookmarks/' + files, '删除' + files) $('#message-success').innerText = '远程删除成功' clearAndFadeMessage($('#message-success')) @@ -63,8 +67,9 @@ document.getElementById('upload').onclick = function () { let files = document.getElementById('filename').value if (files !== '' && files !== undefined) { let bg = chrome.extension.getBackgroundPage() - let github = new bg.Github() - github.updateTags('bookmarks/' + files, getDate()) + let gitee = new bg.Gitee() + gitee.updateTags('bookmarks/' + files, getDate(), 'master') + gitee.saveName(files) $('#message-success').innerText = '同步上传成功' clearAndFadeMessage($('#message-success')) @@ -79,8 +84,9 @@ document.getElementById('download').onclick = function () { let files = document.getElementById('filename').value if (files !== '' && files !== undefined) { let bg = chrome.extension.getBackgroundPage() - let github = new bg.Github() - github.get('bookmarks/' + files) + let gitee = new bg.Gitee() + gitee.getrecovery('bookmarks/' + files) + gitee.saveName(files) $('#message-success').innerText = '更新下载成功' clearAndFadeMessage($('#message-success')) @@ -152,7 +158,7 @@ window.onload = function () { $('#message-error').innerText = '未配置认证信息' clearAndFadeMessage($('#message-error')) } else { - $('#repos').value = 'https://github.com/' + username + '/' + repos + $('#repos').value = 'https://gitee.com/' + username + '/' + repos $('#token').value = token switch2Main() @@ -160,6 +166,15 @@ window.onload = function () { }) // 获取目录 - let github = new bg.Github(); - github.getlist('bookmarks/', $('#greetings'), $('#count-repo')); + let gitee = new bg.Gitee(); + // gitee.getlist('bookmarks/', $('#greetings'), $('#count-repo')); + gitee.getlist('bookmarks/', 'master', document.querySelector('#greetings'), document.querySelector('#count-repo')); + + // 获取当前repo + chrome.storage.local.get(['reponame'], (result) =>{ + document.querySelector('#current-repo').innerText = result.reponame === undefined ? '无': result.reponame + if (result.reponame !== undefined) { + document.getElementById('filename').value = result.reponame + } + }) } \ No newline at end of file diff --git a/manifest.json b/manifest.json index a8ada0e..f5f7a1d 100644 --- a/manifest.json +++ b/manifest.json @@ -22,7 +22,7 @@ "default_popup": "popup.html" }, "background": { - "scripts": ["js/background.js","js/github.js","js/bookmark.js"] + "scripts": ["js/background.js","js/gitee.js","js/bookmark.js"] }, "omnibox": {"keyword": "go"}, "homepage_url": "https://gitee.com/CLCoding/chrome-bookmark" diff --git a/popup.html b/popup.html index 4ffc12b..1fed95e 100644 --- a/popup.html +++ b/popup.html @@ -24,6 +24,7 @@
本地有--条书签
线上有--个备份版本
+
当前远程版本--
-- Gitee