Răsfoiți Sursa

Merge branch 'master' of http://192.168.3.207:10080/jianyu/jy-docs

xgwangman 4 ani în urmă
părinte
comite
a67bab7ee2

+ 2 - 2
jydocs-back/go.mod

@@ -3,8 +3,8 @@ module jy-docs
 go 1.13
 
 require (
-	app.yhyue.com/moapp/jyPoints v0.0.0-20210319094929-f8c029fa5c82
-	app.yhyue.com/moapp/jy_docs v0.0.0-20210323090943-7ac2be34cfa1
+	app.yhyue.com/moapp/jyPoints v0.0.0-20210324100730-40913089ed41
+	app.yhyue.com/moapp/jy_docs v0.0.0-20210324093828-3326fec4c7df
 	app.yhyue.com/moapp/jybase v0.0.0-20210322021809-141cc2c37946
 	app.yhyue.com/moapp/jyfs v0.0.0-20210319011832-6cf539ddc5cd
 	app.yhyue.com/moapp/message v0.0.0-20210322082125-2a9762351105

+ 14 - 64
jydocs-back/go.sum

@@ -1,68 +1,9 @@
-app.yhyue.com/moapp/jyPoints v0.0.0-20210316030700-afaec87a982b/go.mod h1:nz39UQcXwZV90vOC7rIfos4LgrjGDcywHo96rdywdzk=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210317035628-2c6289093829 h1:Welbcx9ZHKalReCRvzQcIssGJU0EhJc6Wh1Tmw8gDeE=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210317035628-2c6289093829/go.mod h1:nz39UQcXwZV90vOC7rIfos4LgrjGDcywHo96rdywdzk=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210318034231-8f548364e7e5 h1:JYSYHhsfoQVQhEO64UcbhLafPowUtuoEiPK26ehTes8=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210318034231-8f548364e7e5/go.mod h1:nz39UQcXwZV90vOC7rIfos4LgrjGDcywHo96rdywdzk=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210318055734-3989a51ef829 h1:lWkwyR8ecUhqt/3HGXoorBEt2RJzzBquFLtJYr5DfTU=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210318055734-3989a51ef829/go.mod h1:nz39UQcXwZV90vOC7rIfos4LgrjGDcywHo96rdywdzk=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210318062443-a203e4919456 h1:8dSbbIhF2qV6bNlSIDElgFdIi4uhLgdD80PLQlHbOts=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210318062443-a203e4919456/go.mod h1:nz39UQcXwZV90vOC7rIfos4LgrjGDcywHo96rdywdzk=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210318074134-d0acc7d915bf h1:Idufrw6D2Kr2GwLgzMKNFg5wggEN2gxps9pklyp2XIs=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210318074134-d0acc7d915bf/go.mod h1:nz39UQcXwZV90vOC7rIfos4LgrjGDcywHo96rdywdzk=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210319020458-484a38074edd h1:O/QPSt7jIG5KKshbGhQnbcFTL/Hbu5SL7EpQuTYiDCQ=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210319020458-484a38074edd/go.mod h1:nz39UQcXwZV90vOC7rIfos4LgrjGDcywHo96rdywdzk=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210319072011-5430a201e0aa h1:SsH/bCryyvPUuorQqBPBDWFlz8jAO94DTvIb0mjfiEg=
-app.yhyue.com/moapp/jyPoints v0.0.0-20210319072011-5430a201e0aa/go.mod h1:ZuQoeKgip9OrJPRDpXkv4XOHV/oFIqL1aK+tcfIN+KQ=
 app.yhyue.com/moapp/jyPoints v0.0.0-20210319094929-f8c029fa5c82 h1:GoyZQMQNVfi+f1DEZjc+xrwOMyejEp7Nk+/grjc20fg=
 app.yhyue.com/moapp/jyPoints v0.0.0-20210319094929-f8c029fa5c82/go.mod h1:ZuQoeKgip9OrJPRDpXkv4XOHV/oFIqL1aK+tcfIN+KQ=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210317071040-be6d030d6122 h1:KzsaloFf6dT2JdcshC4CvYMFPVrpF1dD/pQ1H0wRAHk=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210317071040-be6d030d6122/go.mod h1:PfrdcgOFwgvShGRVjDaMnv5masAd8Hl0URHFARyeqZ8=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210317080833-0136e1a73ba8 h1:xizJ4BYH42vmYrgteaPNPcwF7/9G7uJO6uGgeuRDrwk=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210317080833-0136e1a73ba8/go.mod h1:2tQUcd8sru3RImZ5KcRGriJ16PAKYtV98guIeUr2SZQ=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210317082204-de83dbe1c8d4 h1:Hf1QqfIi6gEkj3Wl1LHu+Vj4JiacBDRB5zYTTR2EaAE=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210317082204-de83dbe1c8d4/go.mod h1:2tQUcd8sru3RImZ5KcRGriJ16PAKYtV98guIeUr2SZQ=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318011214-05ee70adbb3a h1:Xe3TiZFPU06ZAmvxw9N5vFScMe/Pl7DtHt1b+zukm3c=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318011214-05ee70adbb3a/go.mod h1:2tQUcd8sru3RImZ5KcRGriJ16PAKYtV98guIeUr2SZQ=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318023802-aefb6dc9dd99 h1:Ptrj50WAwTSfTAz6oMQ3CzGw2Yhi656dx+ZuxDCcSAc=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318023802-aefb6dc9dd99/go.mod h1:+YgIpEaBh7uqDLVL4x/GIXtSu3c6pY29IGg2WzWjYog=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318030619-d9b2b3661018 h1:/Rr5j3swSoNzBHkrZHs9IZXUxO78uP59Xz4AtYfUsbI=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318030619-d9b2b3661018/go.mod h1:+YgIpEaBh7uqDLVL4x/GIXtSu3c6pY29IGg2WzWjYog=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318055944-d23acb825bd3 h1:vzwjHd58+CotXK9oiPSPtbPi6n36c8HoxoX0wVcS62E=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318055944-d23acb825bd3/go.mod h1:+YgIpEaBh7uqDLVL4x/GIXtSu3c6pY29IGg2WzWjYog=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318065108-a261d593208c h1:dvhLVOEcI3pEdf6egNNKQr5vqIogzWz0oouAhu7haL8=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318065108-a261d593208c/go.mod h1:+YgIpEaBh7uqDLVL4x/GIXtSu3c6pY29IGg2WzWjYog=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318073933-87b8414239db h1:Ot9wgv2nKn0tSGtlgRN93hk5b6w+CIPjDXOxputF6Yg=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318073933-87b8414239db/go.mod h1:+YgIpEaBh7uqDLVL4x/GIXtSu3c6pY29IGg2WzWjYog=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318074750-253ccc8414ce h1:MNHnW2EtgU/Tyi+61CVKIbG3KV/bB274p7HA6cltMb0=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318074750-253ccc8414ce/go.mod h1:clbcRo3XWltGr5WuaDgF8ABkFgnzwCyVOpK34PMssY8=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318082358-1a8eb7214f64 h1:oYW4l4Q65+yj8QjQyBx5LIVuWrwEU1z2VxY3RN0NDbY=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210318082358-1a8eb7214f64/go.mod h1:clbcRo3XWltGr5WuaDgF8ABkFgnzwCyVOpK34PMssY8=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210319020033-9866b358a9dd h1:g4GqPE+m68DRsTe65N8qhynSpCAxyWAafD7R/XMIzYo=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210319020033-9866b358a9dd/go.mod h1:clbcRo3XWltGr5WuaDgF8ABkFgnzwCyVOpK34PMssY8=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210319051808-4dbf6fa54ca3 h1:s1VG+J/YGo+z6+4W9Nq95JO8vigQWE5G+zv/wnN6M9U=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210319051808-4dbf6fa54ca3/go.mod h1:jfOmPb/ZELpHsA39HDAhCkBPUH/3Jaix7JhzPzcmK6A=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210319060022-e324f5108395 h1:JE5AFxIg6h111Iobzbvdu+lTIWFeY6sFCQkr8qKC+Eg=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210319060022-e324f5108395/go.mod h1:jfOmPb/ZELpHsA39HDAhCkBPUH/3Jaix7JhzPzcmK6A=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210319063914-d48d51e0cc46 h1:PoSBG2//3NYHwMpu0n9RtN9CZteMvnBv/SrnleSraC4=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210319063914-d48d51e0cc46/go.mod h1:jfOmPb/ZELpHsA39HDAhCkBPUH/3Jaix7JhzPzcmK6A=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210322014639-b4fe40444b05 h1:Dy0xuYezteDAkrAuZjc759487JOLavqnvSiPcBpPZVw=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210322014639-b4fe40444b05/go.mod h1:jfOmPb/ZELpHsA39HDAhCkBPUH/3Jaix7JhzPzcmK6A=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210322023024-a4be186876a3 h1:5BhmeUgOf9lA8lXifqMcIJ70v+vMpPBEQfZvZbzySMA=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210322023024-a4be186876a3/go.mod h1:jfOmPb/ZELpHsA39HDAhCkBPUH/3Jaix7JhzPzcmK6A=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210322055013-5f0c3625a092 h1:HPNzAliG4sLQOzqN7JjoRRdv+8PqQPuTyUMxDRbiPvA=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210322055013-5f0c3625a092/go.mod h1:XQ0SPQX4rLnOBelx6WRl8wyRT6T9xhfGzxldglLsBgU=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210323011904-8fb7e73d8a90 h1:csXuChAsCUi+73azeDgDsdBJyxSC8ahC0yBHN+8jcU4=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210323011904-8fb7e73d8a90/go.mod h1:XQ0SPQX4rLnOBelx6WRl8wyRT6T9xhfGzxldglLsBgU=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210323032815-1d9b66bd95c0 h1:I8NVbS/fuLVMmEjrzQ3xDgd6qG5kATn2vXo11z2fMtg=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210323032815-1d9b66bd95c0/go.mod h1:XQ0SPQX4rLnOBelx6WRl8wyRT6T9xhfGzxldglLsBgU=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210323090943-7ac2be34cfa1 h1:X+t4IH73+ftQv//DQRhP/r6leYNoew/w4Eebc++l3U4=
-app.yhyue.com/moapp/jy_docs v0.0.0-20210323090943-7ac2be34cfa1/go.mod h1:XQ0SPQX4rLnOBelx6WRl8wyRT6T9xhfGzxldglLsBgU=
-app.yhyue.com/moapp/jybase v0.0.0-20210317020927-18b0165f5ff9 h1:LVIuqXMqcclMwBbSmqEzXi0nIEiir+a2GpWAqksmfzk=
-app.yhyue.com/moapp/jybase v0.0.0-20210317020927-18b0165f5ff9/go.mod h1:29ShuI8y7qEyg2KviHSx1iamiCioBKdTMm2ndVzWAhk=
-app.yhyue.com/moapp/jybase v0.0.0-20210318061912-f5594310c8fe h1:RSQIrriyi534CCrI/sSLGW+Rd0X/0W4VDDXIalHVo8c=
-app.yhyue.com/moapp/jybase v0.0.0-20210318061912-f5594310c8fe/go.mod h1:29ShuI8y7qEyg2KviHSx1iamiCioBKdTMm2ndVzWAhk=
-app.yhyue.com/moapp/jybase v0.0.0-20210319015107-fe59d2046cf8 h1:0wnq1iFfpPrASDJzO24+Lr2pMO18ISNDf1n4TU3faTQ=
-app.yhyue.com/moapp/jybase v0.0.0-20210319015107-fe59d2046cf8/go.mod h1:29ShuI8y7qEyg2KviHSx1iamiCioBKdTMm2ndVzWAhk=
+app.yhyue.com/moapp/jyPoints v0.0.0-20210324100730-40913089ed41 h1:Zmn8VszSX3KIr+EdIo11UGUASuo2/XKCOyJvnymARbM=
+app.yhyue.com/moapp/jyPoints v0.0.0-20210324100730-40913089ed41/go.mod h1:SvP8p5L3jGrejHiH2LXfgCg/NPlFiKBC5Yd0gsI12FU=
+app.yhyue.com/moapp/jy_docs v0.0.0-20210324093828-3326fec4c7df h1:OR5IlGTaeiKVTFAC7VJ5TSgc+tGEjKCY3+2abvr7lrM=
+app.yhyue.com/moapp/jy_docs v0.0.0-20210324093828-3326fec4c7df/go.mod h1:XQ0SPQX4rLnOBelx6WRl8wyRT6T9xhfGzxldglLsBgU=
 app.yhyue.com/moapp/jybase v0.0.0-20210322021809-141cc2c37946 h1:w4voEoJ5RqjlUyGhNC15sk3RdwCCi2U5uX33Btw9BMc=
 app.yhyue.com/moapp/jybase v0.0.0-20210322021809-141cc2c37946/go.mod h1:29ShuI8y7qEyg2KviHSx1iamiCioBKdTMm2ndVzWAhk=
 app.yhyue.com/moapp/jyfs v0.0.0-20210309070327-ecad67beabb8 h1:Mg5E4O+5mCjRyW2b4/bNRQMz8ilzWfa7qaOjKT7SNRY=
@@ -94,7 +35,7 @@ github.com/alicebob/miniredis/v2 v2.14.1/go.mod h1:uS970Sw5Gs9/iK3yBg0l9Uj9s25wX
 github.com/aliyun/aliyun-oss-go-sdk v2.1.6+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8=
 github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q=
 github.com/antlr/antlr4 v0.0.0-20210105212045-464bcbc32de2/go.mod h1:T7PbCXFs94rrTttyxjbyT5+/1V8T2TYDejxUfHJjw1Y=
-github.com/antlr/antlr4 v0.0.0-20210311224141-c2f104cd0810/go.mod h1:T7PbCXFs94rrTttyxjbyT5+/1V8T2TYDejxUfHJjw1Y=
+github.com/antlr/antlr4 v0.0.0-20210319025552-3590d4d5e18c/go.mod h1:T7PbCXFs94rrTttyxjbyT5+/1V8T2TYDejxUfHJjw1Y=
 github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
 github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
 github.com/aws/aws-sdk-go v1.35.20 h1:Hs7x9Czh+MMPnZLQqHhsuZKeNFA3Vuf7pdy2r5QlVb0=
@@ -225,6 +166,9 @@ github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0
 github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
 github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
 github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.1 h1:jAbXjIeW2ZSW2AwFxlGTDoc2CjI2XujLkV3ArsZFCvc=
+github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
 github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
 github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
@@ -239,6 +183,8 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
 github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/gops v0.3.7/go.mod h1:bj0cwMmX1X4XIJFTjR99R5sCxNssNJ8HebFNvoQlmgY=
 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
@@ -384,6 +330,7 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT
 github.com/prometheus/procfs v0.0.8 h1:+fpWZdT24pJBiqJdAwYBjPSk+5YmQzYNPYzQsdzLkt8=
 github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
 github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
+github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
 github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
@@ -611,6 +558,9 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
 google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
 google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
 google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
+google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

+ 10 - 0
jydocs-back/public/util.go

@@ -16,3 +16,13 @@ func PageNumParse(pageNum, pageSize, maxNum int64) (num, size int64, err error)
 	size = pageSize
 	return
 }
+
+func PageRange(num, min, max int64) int64 {
+	if num < min {
+		return min
+	}
+	if num > max {
+		return max
+	}
+	return num
+}

+ 4 - 4
jydocs-back/rpc/pointsRpc.go

@@ -55,7 +55,7 @@ param
 return
 	error 异常
 */
-func SpendUserPoint(userId, docId, abstract string, value int64) error {
+func SpendUserPoint(userId, docId, abstract string, value int64) (string, error) {
 	resp, err := jyIntegralLib.IntegralConsume(context.Background(), &integralclient.Req{
 		AppId:      config.JyDocsAppConfig.AppId,
 		UserId:     userId,
@@ -67,11 +67,11 @@ func SpendUserPoint(userId, docId, abstract string, value int64) error {
 	})
 	if err != nil {
 		log.Printf("%s SpendUserPoint call error %v\n", userId, err)
-		return err
+		return "", err
 	}
 	if resp.Code != 1 {
 		log.Printf("%s SpendUserPoint fail Message %v\n", userId, resp.Message)
-		return fmt.Errorf("积分扣除异常")
+		return "", fmt.Errorf("积分扣除异常")
 	}
-	return nil
+	return resp.SerialNumber, nil
 }

+ 25 - 1
jydocs-back/rpc/stdDocRpc.go

@@ -35,7 +35,7 @@ param
 	dSort 下载排序
 	vSort 浏览量排序
 */
-func GetDocQuery(userId, keyWord, tag string, pageNum, pageSize int64, sort string) (interface{}, int64, error) {
+func GetDocQuery(userId, keyWord, tag string, pageNum, pageSize int64, sort string) ([]*stdlib.Doc, int64, error) {
 	param := &stdlib.DocQueryRequest{
 		AppId:    config.JyDocsAppConfig.AppId,
 		KeyWord:  keyWord,
@@ -125,3 +125,27 @@ func GetDocDetail(userId, docId string) (*stdlib.DocInfo, bool, bool, error) {
 	}
 	return resp.DocDeail, resp.IsBuy, resp.IsCollect, nil
 }
+
+/*
+文库浏览次数、下载次数统计
+param
+	userId  用户id
+	docId	文库id
+	sign	1增加下载次数 2增加浏览次数 3评分
+*/
+const Down int32 = 1
+const View int32 = 2
+
+func DocStatistics(userId, docId string, sign int32) {
+	resp, err := jyStdDocStdlib.DocStatistics(context.Background(), &stdlib.DocStatisticsReq{
+		AppId:             config.JyDocsAppConfig.AppId,
+		DocId:             docId,
+		DocStatisticsType: sign,
+	})
+	if err != nil {
+		log.Printf("%s DocStatistics call error %v\n", userId, err)
+	}
+	if !resp.State {
+		log.Printf("%s DocStatistics fail Message %v\n", userId, resp)
+	}
+}

+ 40 - 7
jydocs-back/servers/stdDoc.go

@@ -14,12 +14,13 @@ import (
 
 type StdDoc struct {
 	*xweb.Action
-	search       xweb.Mapper `xweb:"/search"`         //检索文库
-	indexTag     xweb.Mapper `xweb:"/indexTag"`       //首页搜索标签
-	detail       xweb.Mapper `xweb:"/detail"`         //文库详情
-	getDoc       xweb.Mapper `xweb:"/get(Show|Down)"` //文库在线查看 or 下载
-	topList      xweb.Mapper `xweb:"/topList"`        //最新文档&热门下载
-	activityList xweb.Mapper `xweb:"/activityList"`   //活动文库(精品推荐、兑换榜)
+	search       xweb.Mapper `xweb:"/search"`           //检索文库
+	indexTag     xweb.Mapper `xweb:"/indexTag"`         //首页搜索标签
+	detail       xweb.Mapper `xweb:"/detail"`           //文库详情
+	recommend    xweb.Mapper `xweb:"/detail/recommend"` //相关推荐
+	getDoc       xweb.Mapper `xweb:"/get(Show|Down)"`   //文库在线查看 or 下载
+	topList      xweb.Mapper `xweb:"/topList"`          //最新文档&热门下载
+	activityList xweb.Mapper `xweb:"/activityList"`     //活动文库(精品推荐、兑换榜)
 }
 
 func (stdDoc *StdDoc) Search() {
@@ -81,7 +82,7 @@ func (stdDoc *StdDoc) Detail() {
 		detail.OssPdfId = ""
 		detail.OssDocId = ""
 		detail.PreviewImgId = fmt.Sprintf("https://%s.%s/%s", config.JyDocsAppConfig.OssBucket.Priv, config.JyDocsAppConfig.OssAdmin, detail.PreviewImgId)
-
+		go rpc.DocStatistics(userId, docId, rpc.View) //统计下载次数
 		return map[string]interface{}{
 			"status":  common.If(isBuy, 1, 0),
 			"collect": common.If(IsCollect, 1, 0),
@@ -94,6 +95,37 @@ func (stdDoc *StdDoc) Detail() {
 	stdDoc.ServeJson(NewResult(rData, errMsg))
 }
 
+func (stdDoc *StdDoc) Recommend() {
+	userId := common.ObjToString(stdDoc.GetSession("userId"))
+	rData, errMsg := func() (interface{}, error) {
+		docId := stdDoc.GetString("docId")
+		docTag := stdDoc.GetString("docTag")
+		num, _ := stdDoc.GetInt("num")
+		num = public.PageRange(num, 1, 10)
+		if strings.Index(docTag, ",") > -1 {
+			docTag = strings.Split(docTag, ",")[0]
+		}
+		list, _, err := rpc.GetDocQuery(userId, "", docTag, 1, num+1, "dSort")
+		if err != nil {
+			return nil, err
+		}
+		returnList := []interface{}{}
+		for _, v := range list {
+			if docId == v.DocId || len(returnList) >= common.IntAll(num) {
+				continue
+			}
+			v.DocSummary = ""
+			v.PreviewImgId = fmt.Sprintf("https://%s.%s/%s", config.JyDocsAppConfig.OssBucket.Priv, config.JyDocsAppConfig.OssAdmin, v.PreviewImgId)
+			returnList = append(returnList, v)
+		}
+		return returnList, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s StdDoc detail err:%s\n", userId, errMsg.Error())
+	}
+	stdDoc.ServeJson(NewResult(rData, errMsg))
+}
+
 func (stdDoc *StdDoc) GetDoc(sign string) {
 	userId := common.ObjToString(stdDoc.GetSession("userId"))
 	rData, errMsg := func() (interface{}, error) {
@@ -111,6 +143,7 @@ func (stdDoc *StdDoc) GetDoc(sign string) {
 		fileId := detail.OssPdfId
 		if sign == "Down" {
 			fileId = detail.OssDocId
+			go rpc.DocStatistics(userId, docId, rpc.Down) //统计下载次数
 		}
 		url, err := rpc.GetFileContext(userId, fileId)
 		if err != nil {

+ 4 - 2
jydocs-back/servers/userDoc.go

@@ -121,7 +121,8 @@ func (userDoc *UserDoc) DocBuy() {
 		if err != nil {
 			return nil, fmt.Errorf("文库异常")
 		}
-		if err := rpc.SpendUserPoint(userId, docInfo.DocId, string(bytes), docPoint); err != nil {
+		serialNumber, err := rpc.SpendUserPoint(userId, docInfo.DocId, string(bytes), docPoint)
+		if err != nil {
 			return nil, err
 		}
 		//转存文库
@@ -140,9 +141,10 @@ func (userDoc *UserDoc) DocBuy() {
 					"s_source":     "jydoc",
 				})
 			}
+			rpc.DocStatistics(userId, docId, rpc.Down)
 		}()
 		return map[string]interface{}{
-			"code":    docId,
+			"code":    serialNumber,
 			"balance": userPoint - docPoint,
 			"payTime": time.Now().Unix(),
 			"payWay":  "剑鱼币",

+ 3 - 3
jydocs-mobile/.env.development

@@ -1,6 +1,6 @@
 NODE_ENV=development
-VUE_APP_MOCK=true
-VUE_APP_BASE_API = '/dev/api'
+VUE_APP_MOCK=false
+VUE_APP_BASE_API = '/jydocs'
 BASE_URL = '/dev/docs/'
 VUE_APP_BASE_URL = '/dev/docs/'
-VUE_APP_LOG_URL='https://web2-jytest.jianyu360.cn/jyintegral/pointsLogs?logAction='
+VUE_APP_LOG_URL='https://web2-jytest.jianyu360.cn/jyintegral/actionInfo?logAction='

+ 2 - 2
jydocs-mobile/.env.production

@@ -1,5 +1,5 @@
 NODE_ENV=production
-VUE_APP_BASE_API='/jydocs/'
+VUE_APP_BASE_API='/jydocs'
 BASE_URL = '/page_docs_app/'
 VUE_APP_BASE_URL = '/page_docs_app/'
-VUE_APP_LOG_URL='https://web2-jytest.jydev.jianyu360.com/jyLogs/pointsLogs?logAction='
+VUE_APP_LOG_URL='https://web2-jytest.jydev.jianyu360.com/jyLogs/actionInfo?logAction='

+ 0 - 8
jydocs-mobile/src/api/main.ts

@@ -44,8 +44,6 @@ export function getMyLibList (params: any) {
 }
 
 export function getDetails (data: any) {
-  console.log(data)
-  // data = qs.stringify(data)
   return $request({
     url: '/detail',
     method: 'post',
@@ -70,8 +68,6 @@ export function getDown (data: any) {
 }
 
 export function getAdd (data: any) {
-  console.log(data)
-  // data = qs.stringify(data)
   return $request({
     url: '/user/collect/add',
     method: 'post',
@@ -80,8 +76,6 @@ export function getAdd (data: any) {
 }
 
 export function getRemove (data: any) {
-  console.log(data)
-  // data = qs.stringify(data)
   return $request({
     url: '/user/collect/remove',
     method: 'post',
@@ -90,7 +84,6 @@ export function getRemove (data: any) {
 }
 
 export function getCoin (data: any) {
-  console.log(data)
   return $request({
     baseURL: '/jyintegral',
     url: '/getList',
@@ -100,7 +93,6 @@ export function getCoin (data: any) {
 }
 
 export function getShare (data: any) {
-  console.log(data)
   return $request({
     url: '/share/url',
     method: 'post',

+ 1 - 1
jydocs-mobile/src/components/Recharge.vue

@@ -59,7 +59,7 @@ export default class extends Vue {
     }
 
     buyMoney () {
-      window.location.href = '/swordfish/integral/index/recharge?id=' + this.detailData.docId
+      window.location.href = '/page_points_app/pay'
     }
 }
 </script>

+ 64 - 0
jydocs-mobile/src/utils/wxShare.ts

@@ -0,0 +1,64 @@
+import Vue from 'vue'
+import WeiXinSDK from '@/utils/wx-js-sdk-register.ts'
+import { isWeiXinBrowser, androidOrIOS } from '@/utils/globalFunctions'
+import { getWxSdkSign } from '@/api/index.ts'
+
+declare module 'vue/types/vue' {
+  interface Vue {
+    $env: any;
+    $registerWxSdk: any;
+    $wxSdk: any;
+  }
+}
+
+const inWeiXinBrowser = isWeiXinBrowser()
+const isAndroidOrIos = androidOrIOS()
+const firstUrl = location.href.split('#')[0]
+
+export async function getSdkSign (url: string) {
+  const sdkInfo = await getWxSdkSign({ url })
+  if (!sdkInfo) return
+  const info = sdkInfo.data
+  if (info && info.wxsdk && Array.isArray(info.wxsdk)) {
+    const sdk = info.wxsdk
+    return new WeiXinSDK({
+      appId: sdk[0],
+      timestamp: sdk[1],
+      nonceStr: sdk[2],
+      signature: sdk[3]
+    })
+  }
+}
+
+/* 微信自定义分享封装函数 */
+/**
+ * url:获取微信分享签名的url地址
+ * isShare:当前所在路径是否需要分享
+ *  */
+export async function weChatShare (options: any) {
+  if (!inWeiXinBrowser) return
+
+  const device = isAndroidOrIos
+  // 获取并注册sdkSign
+  const url = location.href.split('#')[0]
+  if (device === 'ios') {
+    // url = firstUrl
+    console.log(firstUrl)
+  }
+  const wxSdk: any = await getSdkSign(url)
+  Vue.prototype.$wxSdk = wxSdk
+  wxSdk.shareToFriendAndQQ(options)
+  wxSdk.shareToFriendsAndQZone(options)
+  return wxSdk
+}
+
+export async function weChatPay (options: any) {
+  if (!inWeiXinBrowser) return
+
+  // 获取并注册sdkSign
+  const url = location.href.split('#')[0]
+  const wxSdk: any = await getSdkSign(url)
+  Vue.prototype.$wxSdk = wxSdk
+  wxSdk.chooseWXPayForWeiXinJSBridge(options)
+  return wxSdk
+}

+ 15 - 4
jydocs-mobile/src/views/details/details.vue

@@ -46,6 +46,7 @@ import { Icon, Toast, GoodsAction, GoodsActionIcon, GoodsActionButton } from 'va
 import Recharge from '@/components/Recharge.vue'
 import sharePop from '@/components/SharePopup.vue'
 import { MixinTop } from '@/utils/mixin-top'
+import { weChatShare } from '@/utils/wxShare'
 const pdfjsLib = require('pdfjs-dist/build/pdf.js')
 const pdfjsViewer = require('pdfjs-dist/web/pdf_viewer.js')
 
@@ -153,12 +154,21 @@ export default class extends Vue {
     }
   }
 
+  async getShareUrl () {
+    const { data } = await this.getShare({ docId: this.docIds })
+    this.links = data.url || location.href
+    // 注册微信sdk
+    weChatShare({
+      config: {
+        title: this.detailData.docName,
+        desc: this.detailData.docSummary,
+        url: this.links
+      }
+    })
+  }
+
   shared () {
     ;(this.$refs.shares as any).show = true
-    this.getShare({ docId: this.docIds }).then((res: any) => {
-      console.log(res)
-      this.links = res.data
-    })
   }
 
   updateText (data: any) {
@@ -244,6 +254,7 @@ export default class extends Vue {
         this.buyShow()
       }
       this.collectd = res.data.collect
+      this.getShareUrl()
     })
     this.getCoin({ B: true }).then((res: any) => {
       console.log(res.data.data)

+ 27 - 20
jydocs-mobile/src/views/purchase/purchase.vue

@@ -13,7 +13,7 @@
           <div class="docs_other">
             <!-- <div class="docs_auther">贡献者:张三</div> -->
             <div class="docs_download">
-              <span>{{response.downTimes}}次下载</span> | 共{{response.docPageSize}}页 | {{response.docFileSize}}K
+              <span>{{response.downTimes}}次下载</span> | 共{{response.docPageSize}}页 | {{response.docFileSize}}
             </div>
             <div class="docs_money"><span class="docs_num">{{response.price}}</span> 剑鱼币</div>
           </div>
@@ -51,7 +51,7 @@
     <div class="j-footer exchange_footer">
       <div class="apply_detail">
         <div class="det_left">
-          支付积分
+          支付剑鱼币
         </div>
         <div class="det_right">
           <span class="det_money">{{response.price}}</span>
@@ -59,7 +59,7 @@
         </div>
       </div>
       <div class="readly">
-        <van-checkbox v-model="checked" checked-color="#2ABED1" >我已阅读并同意<a href="javascript:;" class="clause" @click="clause()">《剑鱼文库线上购买及服务条款》</a><a href="javascript:;" class="clause" @click="clause2()">《剑鱼标讯产品与服务线上购买服务条款》</a></van-checkbox>
+        <van-checkbox v-model="checked" checked-color="#2ABED1" @click="checkBtn()">我已阅读并同意<a href="javascript:;" class="clause" @click.stop="clause()">《剑鱼文库线上购买及服务条款》</a><a href="javascript:;" class="clause" @click.stop="clause2()">《剑鱼标讯产品与服务线上购买服务条款》</a></van-checkbox>
       </div>
       <div class="apply_footer">
         <button class="apply_button" :disabled="!this.btnChecked" @click="exchange()">确定兑换</button>
@@ -72,7 +72,7 @@
 import { Component, Vue } from 'vue-property-decorator'
 import { Checkbox, CheckboxGroup, Field, CellGroup, Form } from 'vant'
 import { mapActions } from 'vuex'
-// import { getDocPay } from '../../api/main'
+import { formatSize } from '../../utils/globalFunctions'
 @Component({
   name: 'purchase-page',
   components: {
@@ -97,11 +97,12 @@ export default class extends Vue {
   protected getListDetail!: any
   protected getAccountInfo!: any
   checked = false
-  btnChecked = true
+  btnChecked = false
   tel = ''
   regPhoneExg = /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57]|19[0-9])[0-9]{8}$/
   query: any
   $router: any
+  $env: any
   response = {
     docName: '',
     price: '',
@@ -115,17 +116,19 @@ export default class extends Vue {
   created () {
     this.query = location.href.split('/')[location.href.split('/').length - 1] // 获取id
     this.getWordInfor()
-    this.getBindPhone()
   }
 
   validator (val: any) {
-    console.log(val)
     if (this.tel === '') {
       return true
     }
     return this.regPhoneExg.test(val)
   }
 
+  checkBtn () {
+    this.getBool(this.validator(this.tel))
+  }
+
   // 判断按钮是否可以点击
   iptValue () {
     let bool = this.validator(this.tel)
@@ -134,6 +137,10 @@ export default class extends Vue {
     } else {
       bool = false
     }
+    this.getBool(this.validator(this.tel))
+  }
+
+  getBool (bool) {
     if (this.checked === true && bool === true) {
       this.btnChecked = true
     } else {
@@ -141,14 +148,6 @@ export default class extends Vue {
     }
   }
 
-  // 获取绑定的手机号
-  getBindPhone () {
-    this.getAccountInfo().then((res: any) => {
-      console.log(res)
-      this.tel = res.data.phone
-    })
-  }
-
   // 文档信息
   async getWordInfor () {
     this.getDetails({ docId: this.query }).then((res: any) => {
@@ -158,7 +157,7 @@ export default class extends Vue {
         this.response.docName = item.docName
         this.response.price = item.price
         this.response.downTimes = item.downTimes
-        this.response.docFileSize = item.docFileSize
+        this.response.docFileSize = formatSize(item.docFileSize)
         this.response.docPageSize = item.docPageSize
         this.response.previewImgId = item.previewImgId
       }
@@ -171,6 +170,12 @@ export default class extends Vue {
         this.response.balance = res.data.points.balance
       }
     })
+
+    // 获取绑定的手机号
+    this.getAccountInfo().then((res: any) => {
+      console.log(res)
+      this.tel = res.data.phone
+    })
   }
 
   // 确定兑换
@@ -179,7 +184,7 @@ export default class extends Vue {
       console.log(res)
       if (res.error_code === 0) {
         sessionStorage.setItem('paydata', JSON.stringify(res.data))
-        this.$router.push('/purchasesuccess' + this.response.balance)
+        this.$router.replace('/purchasesuccess/' + this.response.price)
       }
     })
   }
@@ -191,9 +196,11 @@ export default class extends Vue {
 
   // 剑鱼标讯产品与服务线上购买服务条款
   clause2 () {
-    // app:https://app-a2.jianyu360.com/jyapp/front/staticPage/dataExport_serviceterms.html
-    // this.$router.push('/readme')
-    // wx:https://www.jianyu360.com/front/staticPage/wx-serviceterms.html
+    if (this.$env.platform === 'app') {
+      location.href = '/jyapp/front/staticPage/dataExport_serviceterms.html'
+    } else {
+      location.href = '/front/staticPage/wx-serviceterms.html'
+    }
   }
 }
 </script>

+ 1 - 1
jydocs-mobile/src/views/purchase/purchasesuccess.vue

@@ -68,7 +68,7 @@ export default class extends Vue {
     console.log(paydata)
     if (paydata) {
       paydata = JSON.parse(paydata)
-      this.payinfor.payTime = dateFormatter(paydata.payTime * 1000, 'yyyy-MM-dd HH:mm:ss')
+      this.payinfor.payTime = dateFormatter(paydata.payTime * 1000, 'yyyy-MM-dd')
       this.payinfor.payWay = paydata.payWay
       this.payinfor.code = paydata.code
     }

+ 1 - 1
jydocs-mobile/src/views/user/Library.vue

@@ -155,7 +155,7 @@ export default class UserLibrary extends Vue {
   }
 
   toDocDetail (item: any) {
-    const { docId: id } = item
+    const { DocId: id } = item
     this.saveState()
     this.$router.push({
       name: 'details',

+ 1 - 1
jydocs-pc/.env.development

@@ -3,4 +3,4 @@ VUE_APP_BASE_API='/jydocs/'
 VUE_APP_BASE_URL='/swordfish/frontPage/docs/sess/index/'
 VUE_APP_MOCK=false
 VUE_APP_BASE_PUBLIC='http://localhost:8080/'
-VUE_APP_LOG_URL='https://web2-jytest.jydev.jianyu360.com/jyLogs/pointsLogs?logAction='
+VUE_APP_LOG_URL='https://web2-jytest.jydev.jianyu360.com/jyLogs/actionInfo?logAction='

+ 1 - 1
jydocs-pc/.env.production

@@ -2,4 +2,4 @@ NODE_ENV=production
 VUE_APP_BASE_API='/jydocs/'
 VUE_APP_BASE_URL='/swordfish/docs/index'
 VUE_APP_BASE_PUBLIC='/page_docs/'
-VUE_APP_LOG_URL='https://www.jianyu360.com/jyLogs/pointsLogs?logAction='
+VUE_APP_LOG_URL='https://www.jianyu360.com/jyLogs/actionInfo?logAction='

+ 44 - 22
jydocs-pc/src/views/purchase/purchase.vue

@@ -26,7 +26,7 @@
                 <div class="doc_in_actions">
                   <span class="doc_download">{{response.downTimes}}次下载</span>
                   <span class="doc_pages"> | 共{{response.docPageSize}}页 | </span>
-                  <span class="doc_readhot">{{response.docFileSize}}k</span>
+                  <span class="doc_readhot">{{response.docFileSize}}</span>
                 </div>
               </div>
               <div class="doc_abstract">
@@ -60,7 +60,7 @@
           </div>
         </div>
         <div class="doc_agreement">
-          <el-checkbox v-model="checked" >我已阅读并同意<a href="/front/staticPage/serviceterms.html" class="agree_link">《剑鱼标讯线上购买与服务条款》</a></el-checkbox>
+          <el-checkbox v-model="checked" @change="checkBtn()">我已阅读并同意<a href="/front/staticPage/serviceterms.html" class="agree_link">《剑鱼标讯线上购买与服务条款》</a></el-checkbox>
         </div>
         <div class="doc_surepur">
           <button class="btnsure" @click="setExhange()" :disabled="!this.btnChecked" id="btnsure">确定兑换</button>
@@ -73,6 +73,7 @@
 <script>
 import { checkbox, input } from 'element-ui'
 import { getDocPays, getJYchannel, getDetails, getBindPhone } from '../../api/modules/purchase'
+import { formatSize } from '../../utils/globalFunctions'
 
 export default {
   name: 'purchasePage',
@@ -85,7 +86,6 @@ export default {
       checked: true,
       phoneChecked: true,
       btnChecked: true,
-      query: '',
       tel: '',
       setShow: false,
       response: {
@@ -97,17 +97,24 @@ export default {
         previewImgId: '',
         docSummary: '',
         channel: ''
+      },
+      sessioninfor: {
+        query: '',
+        balance: 0,
+        code: '',
+        payTime: '',
+        payWay: ""
       }
     }
   },
   created () {
-    this.query = location.href.split('/')[location.href.split('/').length - 1] // 获取id
+    this.sessioninfor.query = location.href.split('/')[location.href.split('/').length - 1] // 获取id
     this.getWordDetail()
   },
   methods: {
     // 文档信息
     async getWordDetail () {
-      getDetails({ docId: this.query, phone: this.tel }).then((res) => {
+      getDetails({ docId: this.sessioninfor.query, phone: this.tel }).then((res) => {
         console.log(res.data.data)
         if (res.data.data.error_msg !== '') {
           const item = res.data.data.detail
@@ -115,7 +122,7 @@ export default {
           this.response.docName = item.docName
           this.response.price = item.price
           this.response.downTimes = item.downTimes
-          this.response.docFileSize = item.docFileSize
+          this.response.docFileSize = formatSize(item.docFileSize)
           this.response.docPageSize = item.docPageSize
           this.response.previewImgId = item.previewImgId
           this.response.docSummary = item.docSummary
@@ -135,34 +142,49 @@ export default {
     },
     // 确定兑换
     setExhange () {
-      getDocPays({ docId: this.query, phone: this.tel }).then((res) => {
+      getDocPays({ docId: this.sessioninfor.query, phone: this.tel }).then((res) => {
         console.log(res)
         if (res.data.error_code === 0) {
-          sessionStorage.setItem('paydata', JSON.stringify(res.data))
+          this.sessioninfor.balance = res.data.balance
+          this.sessioninfor.code = res.data.code
+          this.sessioninfor.payTime = res.data.payTime
+          this.sessioninfor.payWay = res.data.payWay
+          sessionStorage.setItem('paydata', JSON.stringify(this.sessioninfor))
           this.$router.push('/purchasesuccess/' + this.response.price)
         }
       })
     },
-    // 手机号输入事件
-    getValue () {
+    
+    getBool (bool) {
+      if (this.checked === true && bool === true) {
+        this.btnChecked = true
+      } else {
+        this.btnChecked = false
+      }
+    },
+    inputEvent () {
       var regex = /^(0|\+?86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
       var bool = regex.test(this.tel)
-      if (bool || this.tel === '') {
+      console.log(bool)
+      if (this.tel === '') {
         this.setShow = false
-        this.phoneChecked = true
+        bool = true
       } else {
-        this.setShow = true
-        this.phoneChecked = false
+        if (bool) {
+          this.setShow = false
+        } else {
+          this.setShow = true
+        }
       }
-      this.btnSure()
+      this.getBool(bool)
     },
-    // 判断按钮是否可以点击
-    btnSure () {
-      if (this.checked === true && this.phoneChecked === true) {
-        this.btnChecked = true
-      } else {
-        this.btnChecked = false
-      }
+    // 手机号输入事件
+    getValue () {
+      this.inputEvent()
+    },
+    // 复选框点击事件
+    checkBtn () {
+      this.inputEvent()
     }
   }
 }

+ 15 - 5
jydocs-pc/src/views/purchase/purchasesuccess.vue

@@ -33,7 +33,7 @@
             </li>
           </ul>
           <div class="now_download">
-            <button class="n_download_btn" id="n_download_btn">立即下载</button>
+            <button class="n_download_btn" id="n_download_btn" @click="runDownLoad()">立即下载</button>
           </div>
         </div>
       </div>
@@ -44,6 +44,7 @@
 <script>
 import { dateFormatter } from '../../utils/globalFunctions'
 import { checkbox } from 'element-ui'
+import { getDown } from '../../api/modules/detail'
 
 export default {
   name: 'purchasePage',
@@ -55,6 +56,7 @@ export default {
       checked: true,
       query: '',
       payinfor: {
+        docId: '',
         payTime: '',
         payWay: '',
         code: '',
@@ -72,11 +74,19 @@ export default {
       if (paydata) {
         paydata = JSON.parse(paydata)
         console.log(paydata)
-        this.payinfor.payTime = dateFormatter(paydata.data.payTime * 1000, 'yyyy-MM-dd HH:mm:ss')
-        this.payinfor.payWay = paydata.data.payWay
-        this.payinfor.code = paydata.data.code
-        this.payinfor.balance = paydata.data.balance
+        this.payinfor.docId = paydata.query
+        this.payinfor.payTime = dateFormatter(paydata.payTime * 1000, 'yyyy-MM-dd')
+        this.payinfor.payWay = paydata.payWay
+        this.payinfor.code = paydata.code
+        this.payinfor.balance = paydata.balance
       }
+    },
+    runDownLoad () {
+      getDown({ docId: this.payinfor.docIds }).then(res => {
+        if (res.data.error_code === 0) {
+          window.location.href = res.data.data
+        }
+      })
     }
   }
 }