I-ZaK
z4%MY^q6xc)5{HoKM_I(ODJbmq9;NU$Vc?~y;Dr$r5}4N;&ZnW3^03N9*e3
z#Ej(A2<4L4&&GvxqP-O@WJQCqS4rum7IS_n<)ED$Ln{}cRfGg>_v4Z
zBN1_6X
z@Qan*5lYSw`AJWd5^cSigOWEv!5yK%PQ`SH{J4kz-`~?Q%pqqUM34s6s0t7;AVm&ubN`*0QcjKAyYtM{3qCyQ4TB?pRvocR+)#hU~7OqSj
z8si~KO%sVi0atesL?7a?`vd7qt{=Yi$(Rj7Gb8|V<~Q;gM`du^ht0)aXD-rK1MjpV
zuF6?lmb1979frG2;Lg}CVefqO_A7LEKHA#_>MIX5-$Nq=8G+W?t6>_L_
zNeyx_*!i-C6r&g>L6*W7N+Y6ZXf)43e%L{2WJC8H)Td)KrY>r(
zgQ{ao)5Zf-#(fl>9&*DDID<^s&9JqQ8d%7Tx+r)9RAwWTy&=kOAN7Tc{(gm?KZkC2
zk*-#79gB)h*0ehC*UVnxvjnP=gTsNNx>9Y5y+|^BGQ_>939!D8-Qa)Uy~X#@Yy3ig
zS+$5lrzJ5}+n>XgP*eZ}HCyEQTz`p%Z6l*=h-5RkPR4PU%OF+L#7#n%%}8RfK*Mu!
zQ^-nqEUs6e4|*6fEib$`7)5awSCi<X}FEY5lJLqS{*F>
zwImv=_f1J)CB?WU+ryl>$oDPW8D;#MjSIm3=kgW4i(KL7R7@rTH>E7nO#=;=jMxRH
zbXJFeP*R8a49=2$GDOjAAYLvalFuMg%pq@?VjfVsGm0S~D`xRJ^?-PdAhU&i!bw8V
zg2Kv5svU#u<<;e}!d1Qdx!X_>ihoRHS_`uwSSVHAF6=Q`Ezxlu=$)n*|HYOev}Bu1
z(ajwC)WMxm!mpVJT$Zw8-_Vd|i|QrZmU1$yOEhbEXzHLbf34+lW0Y`h6!BXngI`KX
zysD(}M$h58QN~?U!(}y(-|`7On7Tv}hFc$PZw#%|Mygaqwp2oI=!l`L9-Rg=?HVSl
z&}T&&5&3FldoUoMXdB`-xvJ*zV=@X#v)6@`0FSfISBaST(#kyx)^q}wL3S=^!5A-R
z-J*t>AhW}mHkvyY$L)Q&fU9%@DbjsbGl^g@&|mjlTo<$WEp?9v^3Dc5^!o2w)AzWmSCFw=5@w>rp$(NW4b%oUdh;p9T)T-gM><<&oq+%l
zqB_?rSe`3Byj%XRRYzyD5GkfWc2&&aRVs%2S{cb6vzT+YydRUn@O1=6QND!>UaQq>0z*4puhJ~pO3|T@na%_Tdg1}sXFR|
zHkdZ*qcZHlAlr35MRPhq$>~Wrsp>h9_l
zfIh^iUPg7;!+;gMLy36oTayJcxZ-eVlYN~aV^1rzJhN3sKMj8Yn^K)3$-)I3j>?!*
zb$IP@7UrWl3P1kWt-m9VMz04l;8%htnyBlZk|n)T0W>)J!d$850Df?HYA=
zDE>CaOfv-3z{1-~7C)t8xYi0H$!ea1*1|)f+Xki5Z7z+JUWH+IWmXxO4}laTNEAT$
zKV2Q1{r34X?n%51Rw=GeT)Zu0@N*)Hh*m_&w$NS9Wd=(Sazb*DWL$;iF9EX80h-WE
zPC*vbW?&v;;46F2LI@VyT1%!ieMb{)K#||vnma^|**&g<
zmgmCsT<8-A)yWXrbR?3@SWICoJXB|6z^i-`-$$1!D+J}^6^!N35
zD`8`#8#N@f3bKYSNiKugOnha^_*eI$q$OvfgH7Oz>u!8ls|6Y}57}-TZ*nP-WH+T8
z;&q1P8Yp)yG@K#2GY@0tg@%%s(oD@Rzg|fuisL+qc2Jje%t~-P;PEReFK3y|08*ZR
zZW*T|uZ(Xm?TI1Q(7hop@=1Jm`&Otk4AI2J%U?s1p8BxSD5hN`v&@c(c)N~=wt;xJ
zfroAbk(Q2YqlC9w9#oYy%>Ny`MNBJWxC%g~)D;I=3c74}@Yh@M_A8G+K}Ied`TV7p
z8N@9MStLvyg+T|k*;rg71lfNQ5pWWa8(3(PPlg@(>m}&;B{(ac7W7^R?U92aYmhO4
zSAm_x&K=k1^kFaOu;!i+0_t-YWzxH?25z+?US;C=H5tR(TuNf67pXWdQ*i+?T{1Sw
zkRf-C&!yZKe2%Zfg`q%ox>Y*liS4IAMt(Sf_87?632Yo}f{czw&FxFf^8aow0+8t?
z#2Z@Rx**t$s>BT+C`sy7#5v0}b(ztr*k!C^$c*wBWK?B8KHLe@);R(h2U!gS4Sh;6
zI${YnhLz|sAI)aMz({EoT&EMbEo6}Em=Kk?nhB5XiqbcJCtm-o-9l?ImHYyiKwB+f
zOBZa5!IA{#|pclW|vry``QDnND-A1BamsvC&z6`+s^l*oZ
zOaj;WG%ivPxa3T@0B0y3W;soR0H9Pr)-=Q(q|L?r0n)xnH=^5xfpP)abRw>W
zz|MlGFp@OMz%V);6pb2^#Uf(a45FDdBAK)V$z%B(qJ^BWMDF!65@te|#A>UMX
zq8ZYdNp~L7$Hul@!P%|BR5#8rM?1zfx9HJ_wVJ_Lx-fhXb>EYqIKxkrcr=#tt%kS>
z_=bM~GD84nub)RjBLFoDR_M{Y9)pVnGrKyNt^F&F^z1u
ziT2Es88AT>%pUh5VQ7o7NKCn27k2AIE{AwNFC@ftrGl)kAydUT%rqI6cO@~e?#&w`AoJ3Z*+^G6^HjsH`S9UK4e)nx!O4_jD^
ziKvO!Nrq0UBDGrHSUR&an*`grhwgGFjz}^h2Ba*nd|3V*#&nFzWB_eSzu6d!gO*1&
z;--$9VpjNFXHCcjXZtEDm#uNtkz1Sfs$c>TfNm130Lp+VAwqgelwS}
z&1d!J=&a`AC!`8}SIQ&XtV;s%aJ3Zo2cPB8!da!N{z!A+#ci?^yd3cKc@iz4Un;Pv
z@X|5Jl<|KIv|yGQaQ>OP&$3!X;ci4uKj9+faD_gEG_NM4L
zBbj0L7qgJ-wHJ_)(NUj{Ku`RCVz;=hSa10b50q1bwZyXpM@Zk5ZIdaYFR#t1&zOg
z0Qsi?CLR9~%AS&F=Yi~Fpaq@7Sl-Z|L+f`XpYmT<7r00~AYLsYp_L_Y94qF9p>UVa
zAX>}|Lp5nsk*sSH%cB>Z*+S%ZMU9GpjWJL9v`B}3bsv#)IsSX1AElW5@%E`EH$kJ5
zY`5KGv)M{6CTpiL>4ZjgkP*%-^*!hqHYN_Piy8cQ|4vxEWQvgGL5fchQw)mw(E&Z9
zPflu^tt8Ek2_*{b1iX^4O3hLV@_(xK?rbX0e9a7VtqiSeNyLKSQom!O3eP`Vtq&j*
zDfUt>3RhMK#cZj<}7QaMpWhO@n
zMiL(#nQ2O~Y8iAT&}PY*brh{83JkWl8xqE$TBJ0i4Mqt@e->k%m)Rs<#qMNqD9Mzq
z!bgxl{=3#bNqD4VSAmSbU2e9R`K&C-0(fC%
zqL*aGDvW$K$T%wM$7=ftkSRYI)h4Cbu_XHdWC&_QFteM}_cssGL(K}7g5q0Co;+(<
za7%wuePF{J4aGLmhCQJ~llEL>8+1_UTgY}yaf8sOL`G>!uShDMdb@>Me0YXHf9_X1
z?3Y_+^~!T{H~UCQ3ngU;vhjWcb2dh#QoyTtOmYxN&9)aavBh{SrJrOUt=Cd+Kn=cN
zn&&-K_YUHu1eCf4T_F6QK$1j~bPBKTZe=!FYBYq(&3#G=QbiJAepq=?#`ZHorku9N
z+wfI-SFCQ=qYvn8h?&EzxlL;#KF{
zN~uN8dwV=WXEH|5o4}rW7|dtFZ6EtfjA`Snmgp{~uoj+72KxNGTA;a@NI0s{ZAl8-
zRVsm;p-b#g2AFmib1T)u6GiL20Bpb5VDE25eUiXPATUHDf#9JLz%S3E0857QaZ*oU$()rMr-t!#`zQuZzI<_zeOjUgDuTRsXE~QbC{zg-
z4>4hjGQ(#$pNsV2G@Uav^=5M*IEYk7LuPcZ7Ep#V-5Vq)HoUQ9jK{SKZnG&Vj>ppN
z926#5Y&N@KHhIuhdtkYRfNZ(NZneW^&BZ8KFqp-M*;o&Q{H>sR5bItf>Kfjr<9Juh
zA=hlcnz&LoLtdb;c(O9Yl@#5OueRNZdh-@butpn!CdbLM?S&4+=OxIP%))$ti%0~i
zQVET27n23+XNQ_TlxXUmk@x>k02l#x&fm*{EF>^~8f1afP;9b|kCy8oUMb=>okXeG
zKtIe!oYN)>3$(DqDRh*SV9`5s?4UNZg(lOUPS9{isM1N>ZA&&cnWopN1Pb+<)S=)&
zFnqM~Hv%LX#ZZz3+~q)JZkJoE{f(r`(cU4mA*kp>n=Aksjr>$Y7rQS~&WkUOAR}Ll
z_sAeTC7{?~R9ysxL=}QCmK1tfaYYrbk)$dl2J~qX97#kZSQ$T+4Dx6MnUgXFLQC3&
z*-7;INnMYv%#aUD8BqIw0(7U6>-6(q0%XdS@wjb9yJIIMnOF!V&78)3R#>Yv(g`qj
zGQoA+IN(&V?a3I$c2is&%yZ1MIE!f@!Agi)SybgsHifHXTr#;C@a91K1kYlHolpCV
zqkd%EaIramhwXBM^)djNzhR;>1N!fs$DCnOlF>POolW7sT12VSLTBn?s_K4xf(^kk
z0%U!trdS`!zM|xuvf?&>FOqDGXgY=KXcT!CTp0``@tDsdYIntTHJJdj$C~k1e~tAj
z^!o|21Ce(Mv{OJm_W5N%#;YnZs^l{7E@WXSn~d9_WIz>*qe(?Xzmn#$RJcFTcO}5M%;0N;d*8D95C(EBDLliBfXGms)3>
zwcce@GO=hm14;d(2|&rqQ}MUzU1aSuHiAsLP3;ShBfwa#hvljWYBe6tWP)Tii&!E7
ztC>@k3;8K!b;kkq)?
zZZIZjdR^37Cc4frsNKrtXO5~-tNx;|X}0#^Og*#*HtKY3SS=~Jq_Z=B8P0bFK8SPsW=n@MjlW-2uJGh
z|3|%kSlC`&U#WdoE#eEpg~il*NPLE1Rg-Yd&M+5Mf$LLSf`m=h(B#sGT;u6j6Y#v@
zdgeTi>4$VxsCznn(bebEfmGi=wdKojXhh)|e`ka2jC08$YCP0dJ?QTR7zd5NJ$;AL3TVChv($rK5@^|53&f@`*q3>gLXWCNB;|G!Yq6_
z_UIaq^$nke_r`lVzQ@!5PoMd8|Hq$?02bcg={X+z{3OU8`@wVHDR8N+>hNR9rQY_(
zB-ZhF>Njct)j0)P&vf7i9rWBypSk~obDn$sgIWs*{P6j`fPC)q>bcc%kKRYP^U-~u
zxL0*PwLRyzr!R#1?Ni&o7RWx)S?6@lQ=M?`zH_eg+%e}~>$&5eyUscLPp@Z@z)-
z2@sxk= import(/* webpackChunkName: "dashboard" */ '../views/dashboard.vue'),
+ {
+ path: '/dashboard',
+ name: 'dashboard',
+ meta: {
+ title: '系统首页',
},
- {
- path: '/users',
- name: 'users',
- meta: {
- title: '用户列表',
- },
- component: () => import(/* webpackChunkName: "dashboard" */ '../views/user-list.vue'),
- }, {
- path: '/roles',
- name: 'roles',
- meta: {
- title: '角色管理',
- },
- component: () => import(/* webpackChunkName: "dashboard" */ '../views/role-list.vue'),
- }, {
- path: '/resources',
- name: 'resources',
- meta: {
- title: '权限资源',
- },
- component: () => import(/* webpackChunkName: "dashboard" */ '../views/resource-list.vue'),
- },{
- path: '/torrent',
- name: 'torrent',
- meta: {
- title: '种子',
- },
- component: () => import(/* webpackChunkName: "dashboard" */ '../views/torrent.vue'),
- },{
- path: '/upload',
- name: 'upload',
- meta : {
- title: '发布',
- },
- component: () => import(/* webpackChunkName: "dashboard" */'../views/upload-torrent.vue'),
- }
+ component: () => import(/* webpackChunkName: "dashboard" */ '../views/dashboard.vue'),
+ },
+ {
+ path: '/users',
+ name: 'users',
+ meta: {
+ title: '用户列表',
+ },
+ component: () => import(/* webpackChunkName: "dashboard" */ '../views/user-list.vue'),
+ }, {
+ path: '/roles',
+ name: 'roles',
+ meta: {
+ title: '角色管理',
+ },
+ component: () => import(/* webpackChunkName: "dashboard" */ '../views/role-list.vue'),
+ }, {
+ path: '/resources',
+ name: 'resources',
+ meta: {
+ title: '权限资源',
+ },
+ component: () => import(/* webpackChunkName: "dashboard" */ '../views/resource-list.vue'),
+ }, {
+ path: '/torrent',
+ name: 'torrent',
+ meta: {
+ title: '种子',
+ },
+ component: () => import(/* webpackChunkName: "dashboard" */ '../views/torrent.vue'),
+ }, {
+ path: '/upload',
+ name: 'upload',
+ meta: {
+ title: '发布',
+ },
+ component: () => import(/* webpackChunkName: "dashboard" */'../views/upload-torrent.vue'),
+ }
];
const routes: RouteRecordRaw[] = [
@@ -114,8 +114,8 @@ const routes: RouteRecordRaw[] = [
meta: {
title: "重置密码",
},
- component: () =>
- import("../views/resetPassword.vue")
+ component: () =>
+ import("../views/resetPassword.vue")
},
{
path: "/403",
@@ -125,32 +125,60 @@ const routes: RouteRecordRaw[] = [
},
component: () => import(/* webpackChunkName: "403" */ "../views/403.vue"),
},
+ // registerLikebocai
+ {
+ path: "/likebocai",
+ name: "likebocai",
+ meta: {
+ title: "likebocai | 框架",
+ },
+ component: LikebocaiDefault,
+ children: [
+ {
+ path: "torrentList",
+ name: "torrentList",
+ meta: {
+ title: "种子列表",
+ },
+ component: () => import(/* webpackChunkName: "torrentList" */ "../views/torrent-list.vue"),
+ }
+ ]
+ },
+ // registerLikebocai
+ {
+ path: "/registerLikebocai",
+ name: "registerLikebocai",
+ meta: {
+ title: "likebocai | 注册",
+ },
+ component: () => import(/* webpackChunkName: "registerLikebocai" */ "../views/registerLikebocai.vue"),
+ },
];
const router = createRouter({
- history: createWebHashHistory(),
- routes,
-});
-
-router.beforeEach(async (to, from, next) => {
- document.title = `${to.meta.title} | Rocket PT`;
- const token = localStorage.getItem('token');
- const basicStore = useBasicStore();
- if (!token && (to.path !== '/login' && to.path !== '/register') && to.path !== '/forgotPassword' && to.path !== '/resetPassword') {
- next('/login');
- } /*else if (to.meta.permiss && !permiss.key.includes(to.meta.permiss)) {
- // 如果没有权限,则进入403
- next('/403');
- }*/ else {
- if (token) {
- try {
- await basicStore.fetchUserinfo();
- } catch(error) {
- localStorage.removeItem('token');
- return;
- }
- }
- next();
- }
+ history: createWebHashHistory(),
+ routes,
});
+/*else if (to.meta.permiss && !permiss.key.includes(to.meta.permiss)) {
+ // 如果没有权限,则进入403
+ next('/403');
+ }*/
+// router.beforeEach(async (to, from, next) => {
+// document.title = `${to.meta.title} | Rocket PT`;
+// const token = localStorage.getItem('token');
+// const basicStore = useBasicStore();
+// if (!token && (to.path !== '/login' && to.path !== '/register') && to.path !== '/forgotPassword' && to.path !== '/resetPassword') {
+// next('/login');
+// } else {
+// if (token) {
+// try {
+// await basicStore.fetchUserinfo();
+// } catch(error) {
+// localStorage.removeItem('token');
+// return;
+// }
+// }
+// next();
+// }
+// });
export default router;
diff --git a/src/views/torrent-list.vue b/src/views/torrent-list.vue
new file mode 100644
index 0000000..e23ecfb
--- /dev/null
+++ b/src/views/torrent-list.vue
@@ -0,0 +1,202 @@
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.title }}
+
+
+
+
+
+
+
+ 中字
+
+
+
+ {{ scope.row.description }}
+
+
+
+
+
+
+
+ {{ scope.row.state }}
+
+
+ {{ scope.row.city }}
+
+
+ {{ scope.row.address }}
+
+
+ {{ scope.row.zip }}
+
+
+ {{ scope.row.zip1 }}
+
+
+ {{ scope.row.zip2 }}
+
+
+ {{ scope.row.nickName }}
+
+
+
+
+
+
+
+
\ No newline at end of file