From c5e9427cd5e56475e8279e23679a5e8ab92e0bdf Mon Sep 17 00:00:00 2001 From: terwer Date: Mon, 29 Aug 2022 02:27:21 +0800 Subject: [PATCH] feat:Separate jvue-front alone --- README.md | 10 +- docker-compose-with-rds.yml | 22 +- docker-compose.yml | 24 +- jvue-front/.editorconfig | 13 - jvue-front/.eslintrc.js | 31 - jvue-front/.gitignore | 91 -- jvue-front/.prettierrc | 5 - jvue-front/Dockerfile | 37 - jvue-front/README.md | 37 +- jvue-front/assets/README.md | 7 - jvue-front/assets/logo-dark.png | Bin 13099 -> 0 bytes jvue-front/assets/logo.png | Bin 13315 -> 0 bytes jvue-front/assets/mp-qrcode.png | Bin 168203 -> 0 bytes jvue-front/components/Logo.vue | 79 -- jvue-front/components/README.md | 7 - .../components/themes/default/Artalk.vue | 57 - .../components/themes/default/Aside.vue | 80 -- jvue-front/components/themes/default/Body.vue | 94 -- .../components/themes/default/Footer.vue | 179 --- .../components/themes/default/FriendLink.vue | 67 -- .../components/themes/default/Header.vue | 107 -- .../components/themes/default/HeaderMenu.vue | 124 -- .../components/themes/default/HeaderTime.vue | 56 - .../components/themes/default/PostList.vue | 151 --- jvue-front/layouts/README.md | 7 - jvue-front/layouts/default.vue | 55 - jvue-front/middleware/README.md | 8 - jvue-front/nuxt.config.js | 91 -- jvue-front/package.json | 54 - jvue-front/pages/README.md | 6 - jvue-front/pages/about.vue | 136 --- jvue-front/pages/common.css | 88 -- jvue-front/pages/default.css | 47 - jvue-front/pages/default.vue | 71 -- jvue-front/pages/essay.css | 64 - jvue-front/pages/essay/index.vue | 278 ----- jvue-front/pages/index.vue | 91 -- jvue-front/pages/note.vue | 93 -- jvue-front/pages/post/_id.vue | 333 ------ jvue-front/pages/s/_keyword.vue | 98 -- jvue-front/pages/tag/_tag.vue | 98 -- jvue-front/plugins/README.md | 7 - jvue-front/plugins/axios.js | 39 - jvue-front/plugins/baidu-tongji.js | 21 - jvue-front/plugins/element-ui.js | 11 - jvue-front/plugins/font-awesome.js | 8 - jvue-front/plugins/lib/codecopy/codecopy.css | 54 - jvue-front/plugins/lib/codecopy/index.js | 97 -- jvue-front/plugins/lib/vue-hljs/main.js | 80 -- jvue-front/plugins/lib/vue-hljs/vs.css | 52 - jvue-front/plugins/lib/vue-hljs/vs2015.css | 95 -- jvue-front/plugins/vue-hljs.js | 14 - jvue-front/server/index.js | 34 - jvue-front/static/README.md | 11 - jvue-front/static/favicon.ico | Bin 4286 -> 0 bytes jvue-front/static/google66cd66cd747092f4.html | 1 - jvue-front/store/README.md | 10 - jvue-front/util/Calendar.js | 1027 ----------------- jvue-front/util/DateUtil.js | 88 -- jvue-front/util/dom.js | 8 - jvue-front/util/logger.js | 48 - jvue-front/vercel.json | 9 - 62 files changed, 33 insertions(+), 4577 deletions(-) delete mode 100644 jvue-front/.editorconfig delete mode 100644 jvue-front/.eslintrc.js delete mode 100644 jvue-front/.gitignore delete mode 100644 jvue-front/.prettierrc delete mode 100644 jvue-front/Dockerfile delete mode 100644 jvue-front/assets/README.md delete mode 100644 jvue-front/assets/logo-dark.png delete mode 100644 jvue-front/assets/logo.png delete mode 100644 jvue-front/assets/mp-qrcode.png delete mode 100644 jvue-front/components/Logo.vue delete mode 100644 jvue-front/components/README.md delete mode 100644 jvue-front/components/themes/default/Artalk.vue delete mode 100644 jvue-front/components/themes/default/Aside.vue delete mode 100644 jvue-front/components/themes/default/Body.vue delete mode 100644 jvue-front/components/themes/default/Footer.vue delete mode 100644 jvue-front/components/themes/default/FriendLink.vue delete mode 100644 jvue-front/components/themes/default/Header.vue delete mode 100644 jvue-front/components/themes/default/HeaderMenu.vue delete mode 100644 jvue-front/components/themes/default/HeaderTime.vue delete mode 100644 jvue-front/components/themes/default/PostList.vue delete mode 100644 jvue-front/layouts/README.md delete mode 100644 jvue-front/layouts/default.vue delete mode 100644 jvue-front/middleware/README.md delete mode 100644 jvue-front/nuxt.config.js delete mode 100644 jvue-front/package.json delete mode 100644 jvue-front/pages/README.md delete mode 100644 jvue-front/pages/about.vue delete mode 100644 jvue-front/pages/common.css delete mode 100644 jvue-front/pages/default.css delete mode 100644 jvue-front/pages/default.vue delete mode 100644 jvue-front/pages/essay.css delete mode 100644 jvue-front/pages/essay/index.vue delete mode 100644 jvue-front/pages/index.vue delete mode 100644 jvue-front/pages/note.vue delete mode 100644 jvue-front/pages/post/_id.vue delete mode 100644 jvue-front/pages/s/_keyword.vue delete mode 100644 jvue-front/pages/tag/_tag.vue delete mode 100644 jvue-front/plugins/README.md delete mode 100644 jvue-front/plugins/axios.js delete mode 100644 jvue-front/plugins/baidu-tongji.js delete mode 100644 jvue-front/plugins/element-ui.js delete mode 100644 jvue-front/plugins/font-awesome.js delete mode 100644 jvue-front/plugins/lib/codecopy/codecopy.css delete mode 100644 jvue-front/plugins/lib/codecopy/index.js delete mode 100644 jvue-front/plugins/lib/vue-hljs/main.js delete mode 100644 jvue-front/plugins/lib/vue-hljs/vs.css delete mode 100644 jvue-front/plugins/lib/vue-hljs/vs2015.css delete mode 100644 jvue-front/plugins/vue-hljs.js delete mode 100644 jvue-front/server/index.js delete mode 100644 jvue-front/static/README.md delete mode 100644 jvue-front/static/favicon.ico delete mode 100644 jvue-front/static/google66cd66cd747092f4.html delete mode 100644 jvue-front/store/README.md delete mode 100644 jvue-front/util/Calendar.js delete mode 100644 jvue-front/util/DateUtil.js delete mode 100644 jvue-front/util/dom.js delete mode 100644 jvue-front/util/logger.js delete mode 100644 jvue-front/vercel.json diff --git a/README.md b/README.md index 7d893dc..5466ea4 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ docker compose up -d --build ``` ### custom(for dev) -1. mysql +~~1. mysql~~ ```bash docker compose -f docker-compose-mysql.yml @@ -65,7 +65,7 @@ cd ./jvue-server/src/main/java/com/terwergreen/jvueserver # that's all ``` -3. Jvue-front +~~3. Jvue-front~~ ```bash cd ./jvue-front @@ -73,6 +73,12 @@ yarn yarn dev ``` +### Test docker(for dev) + +```bash +docker compose -f docker-compose.yml up --build +``` + ### vercel 1. config diff --git a/docker-compose-with-rds.yml b/docker-compose-with-rds.yml index c46e919..69c6b3c 100644 --- a/docker-compose-with-rds.yml +++ b/docker-compose-with-rds.yml @@ -31,17 +31,17 @@ services: - ./data/maven/.m2:/root/.m2 - ./data/server/logs:/logs restart: "no" - jvue-front: - container_name: jvue-front - image: jvue/front:4.0.1 - build: - context: . - dockerfile: ./jvue-front/Dockerfile - ports: - - "3000:3000" - environment: - - npm_config_unsafe_perm=true - restart: "no" +# jvue-front: +# container_name: jvue-front +# image: jvue/front:4.0.1 +# build: +# context: . +# dockerfile: ./jvue-front/Dockerfile +# ports: +# - "3000:3000" +# environment: +# - npm_config_unsafe_perm=true +# restart: "no" jvue-artalk: image: terwer/jvue-artalk:2.1 container_name: jvue-artalk diff --git a/docker-compose.yml b/docker-compose.yml index 78d139e..37f30da 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,20 +47,20 @@ services: ports: - "8002:8002" working_dir: /app - command: mvn clean spring-boot:run -Dspring-boot.run.profiles=docker -DskipTests + command: mvn clean spring-boot:run -Dspring-boot.run.profiles=dev -DskipTests volumes: - ./jvue-server:/app - ./data/maven/.m2:/root/.m2 - ./data/server/logs:/logs restart: "no" - jvue-front: - container_name: jvue-front - image: jvue/front:4.0.1 - build: - context: . - dockerfile: ./jvue-front/Dockerfile - ports: - - "3000:3000" - environment: - - npm_config_unsafe_perm=true - restart: "no" \ No newline at end of file +# jvue-front: +# container_name: jvue-front +# image: jvue/front:4.0.1 +# build: +# context: . +# dockerfile: ./jvue-front/Dockerfile +# ports: +# - "3000:3000" +# environment: +# - npm_config_unsafe_perm=true +# restart: "no" \ No newline at end of file diff --git a/jvue-front/.editorconfig b/jvue-front/.editorconfig deleted file mode 100644 index 5d12634..0000000 --- a/jvue-front/.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/jvue-front/.eslintrc.js b/jvue-front/.eslintrc.js deleted file mode 100644 index ee741f8..0000000 --- a/jvue-front/.eslintrc.js +++ /dev/null @@ -1,31 +0,0 @@ -module.exports = { - root: true, - env: { - browser: true, - node: true - }, - parserOptions: { - parser: "babel-eslint" - }, - extends: [ - "@nuxtjs", - "plugin:nuxt/recommended", - "plugin:prettier/recommended", - "prettier", - "prettier/vue" - ], - plugins: ["prettier"], - // add your custom rules here - rules: { - "nuxt/no-cjs-in-config": "off", - "no-console": "off", - "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", - "no-unused-vars": [ - 2, - { - vars: "local", - args: "none" - } - ] - } -}; diff --git a/jvue-front/.gitignore b/jvue-front/.gitignore deleted file mode 100644 index 706ae60..0000000 --- a/jvue-front/.gitignore +++ /dev/null @@ -1,91 +0,0 @@ -# Created by .ignore support plugin (hsz.mobi) -### Node template -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# next.js build output -.next - -# nuxt.js build output -.nuxt - -# Nuxt generate -dist - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless - -# IDE -.idea - -# Service worker -sw.* -yarn.lock -.yarnclean -.nuxtrc -node_modules -node_modules_dev/ -node_modules_prod/ -node_modules/.yargit n-integrity diff --git a/jvue-front/.prettierrc b/jvue-front/.prettierrc deleted file mode 100644 index 032e7bb..0000000 --- a/jvue-front/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "no-console": false, - "semi": true, - "singleQuote": false -} diff --git a/jvue-front/Dockerfile b/jvue-front/Dockerfile deleted file mode 100644 index 3944265..0000000 --- a/jvue-front/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -#依赖的镜像 -FROM node:16.17-alpine - -# 工作目录 -WORKDIR /app - -# 安装依赖 -COPY ./jvue-front/package.json ./ - -# yarn 已经有了,没必要重复安装 -# 因为被墙,单独安装 -# ENV SASS_BINARY_SITE https://cdn.npmmirror.com/binaries/node-sass -# CDN注册以及安装依赖库 -# RUN npm config set registry https://registry.npmmirror.com/ && \ -# npm i -g yarn - -RUN yarn config set registry https://registry.npmmirror.com/ --global && \ - yarn config set disturl https://npmmirror.com/package/dist --global && \ - yarn config set sass_binary_site https://cdn.npmmirror.com/binaries/node-sass --global && \ - yarn config set electron_mirror https://registry.npmmirror.com/binary.html?path=electron/ --global && \ - yarn config set puppeteer_download_host https://registry.npmmirror.com/binary.html --global && \ - yarn config set chromedriver_cdnurl https://cdn.npmmirror.com/binaries/chromedriver --global && \ - yarn config set operadriver_cdnurl https://cdn.npmmirror.com/binaries/operadriver --global && \ - yarn config set phantomjs_cdnurl https://cdn.npmmirror.com/binaries/phantomjs --global && \ - yarn config set selenium_cdnurl https://cdn.npmmirror.com/binaries/selenium --global && \ - yarn config set node_inspector_cdnurl https://cdn.npmmirror.com/binaries/node-inspector --global - -RUN yarn - -RUN yarn build - -COPY ./jvue-front . - -# 注意这个一定要要在yarn后面,否则devDependencies的包无法安装 -ENV HOST 0.0.0.0 - -CMD ["yarn", "start"] diff --git a/jvue-front/README.md b/jvue-front/README.md index 7696140..d492803 100644 --- a/jvue-front/README.md +++ b/jvue-front/README.md @@ -1,36 +1,3 @@ -# jvue-front +# Notice -> Front module for jvue - -## Build Setup - -注意:已经兼容node16 - -``` -npm i -g yarn -``` - -```bash -# install dependencies -$ yarn - -# serve with hot reload at localhost:3000 -$ yarn dev - -# build for production and launch server -$ yarn build -$ yarn start - -# generate static project -$ yarn generate -``` - -## notice - -node-sass version policy - -[https://github.com/sass/node-sass#node-version-support-policy](https://github.com/sass/node-sass#node-version-support-policy) - -this project support **node 16** - -For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org). +This moudule is moved to [https://github.com/terwer/jvue-front](https://github.com/terwer/jvue-front) \ No newline at end of file diff --git a/jvue-front/assets/README.md b/jvue-front/assets/README.md deleted file mode 100644 index 34766f9..0000000 --- a/jvue-front/assets/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# ASSETS - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). diff --git a/jvue-front/assets/logo-dark.png b/jvue-front/assets/logo-dark.png deleted file mode 100644 index 0c4bf3d39f259d0190e33820c827ad9301d2df2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13099 zcmZ`=WmFtZv))}`aai18ardAhu(&%35Zn`j1&1KJxVyVsaDv<75<-v=Gz8aR39cXS z&->$^nKM08)7^9Csj8={dwL?ZG!${MD6s$l0IsrGwt@KK&jqTT zw7N6^&=8M(Z-MrF4Yg9zQ3n8gSpWcd2mo;VEQ0R=03Lh*z=1gcAf5pLkh$b^XiGfb z09&dm$^oAK+X}kNlbvV94sVu^zE}5ojZHw_~p(q88oM8%nD!eFl*4BJd&6 zHk8wQ5i!c3Ah(4Po?s;~JA3h{EtH&>LzD#X{K}huGf~pnaa(y%Tb}nhkMNH|GIUPg z8H(c$QZpB}5S>FHs z{AGd1KZRAw$B)NLsNu;bflvPGq)s4PG2rV1=iF|A!nk`{y|(SY;uq~3tt+&`k^2q; zWnL>=nLVGC7q=7O6KkI+3RHHWHl`@~mG?$1Gs&q_`u$ggrpYe-wa4kXK+Mr@wsaq* z%;1#pR@0{zK#f0>LlQ8Gd23#G$M=0b^I~3$LlUj6QrlaZ?zGF83EKm#fc#V zUlh&h7h}vRWCEhh+3Pt(Jb%^}v@Rx`5~`%+L)W&y)E!PhS_E*5ha>SiT5w@xYjnuR z9A;GR$ydy<2xtDiuvm3`+bFdA9omqPWrQH&208SN z`KP~kv@7`UOOERdl+c2~IbMr3qWi725k*=)YHzIYW>L9F%f>7LC$iI($s(~Ezh@Kx z@eJeucMW#>5)^WzFzQ!?7>4QB*t}-%^vi2Jn2eq4H7R;By&7S1o5axv{4JE0sr(+c znqyIOGr&(Er#6=bnoF$K!;in`C+c(@H)MPC{6S(Ho{wKR?_PvTih{gJq=0_cqEW9W ztfi)LG@yla0jopt`0$qq89cHew9bxhk10x)Q7;1nHQQ3roTXPp`dKq#U#x;tz ztuA6}1mHmJD`+&aU6L!^1XKo}as*kF@BwPJ;e{DMX;go{Ep>9&rJV_~n z2izQ;MmIHw8xJ>g`_nyaNhO`;hUhcpr0tY4@->`p4ge&J1xdQ5)LeInn6vIR9}ebb z95sqHH4>(J=^f=@m`P}&NQVxkv9a5wm+(ha3?}ruH)|$bme;x*{QP_rY|K|DF`k%k z_2F~AQ`sZIj`py_3;+&#VVpbx7t95lR!qw7FdSn%m76S`f>#0e%I{eKIk?m)?r2LW znJ{WLG_C?}?9g}q&8+-gcRv=13ssqVaFL88C=fV0w(jLfiXbFserd3U7!^K%;XqA` z{4Qdgc-dTJ0WPqc`hW;T`EGd@iF0bBy4*NOzcK(`9R`{Xf`(hYrBa(h9IJuIerry~ z(yb&g4@D> zbgl6vm0L}2DNJ|^$-POE*HQO0B96CQxY6#7!_OMXSV*No)-#cSlhHYx>f+UGxZp<@ z7r4+CK@q3e5*}bpwjt{!+om_IEu98K@&f>Y-bahE#9+R=@QP3kdSP2MJOaR}q=4VP zq5CnyxtvT-x7@YsmVSg&WCXIL;hl}VGDMl!P1|{!^8x3P>TEiZ+7*Kksi^5>?H_H_ z%-9tj`%T=OHoZkfQQo9?PQp*a{|J3@xO@(ddJA%H42$+bBM-}m(sQ$4*Vl_hG%aK( z{B{@~2Ad15jc5X-NLeJgeopK2Y;=clOs%GtBh2{P2&7Cf2pHrbbfhd`aD85!-lEAM~BS+V?rbva>@4DM|HzO!U1KC$hD*-Q1wmi&>ieAQew@^J^3^>#EZ#z zi?VYbB<<(h;%4TCcf>!YITaEJD>2GQkgGwGjwd&8P4D41$nP4HK;^xae#(oj+9x1j zl{mZ}oO3qSoKKr>3|!bXb(fEI(binL|_cC!huKv zowv?QXAr7EOflbd5yiD_&r533F56DacXs&4%1G@o&T`kWhMysCU;wEA*VA<^Zt>l{ zrU7`j3p^9~t!7;a^1(+X52;K&K%w=`PbinQKqe;;|9mQif}DKjE4b>qsUrMl{}4Ob z^5{20m%W&ZMZ>j4q=JDiScH##lS6GBVMlKhpgz%JqSf>VDCZOAD7s})U|e&m!KnVa z`vWi;i2n~>JR}HxQe)-WlDHgR4-i(8KSG0H&`E->>-lu_viFf%3Xx|LJj|Qg8}|<8 zV7^WsZDS-Bg}FEhP9Iwh zIU2#`yw9thwQ4{ago)(mWvHrxpgI(akM&G?6l9}EJ3prM_dl(@B_foBVaET1f0ZAw z`3@ci6^CYxOgHVmTXVp*aYbz7WN@15+`fzFua2bFv>J@*)UnTCuRZtH=a#w6} zW8$s7bRaRxs4W^FMjwuhd+96iZ=g#A#BUlYn5hI$#2GG%U@P&J-BMIrqwHvk$b)Mx zulpMZCCv|mW-DwpXyBHTqzn(3u-WNYfEjZ)9iBE$na;Qg=*_sH`^Lu}OYNCRBP!`P zO;K*By|JR`LcxNMqm)u(j(DI+{@W(HXq1?qJV=m0Q31TOgY(O$#j zcl94Or$EC9BcebxXUvG7xh0mJ={J!^CP zA{=Wr3l4*?%ws?ia&O2fADO6WC)NWw`4VMwJ3Tl7RC?BH`q?>t5Lr+sO!}6b&DM_} zfd3El8)9SWddjg~toruKT^i|1VSyqk4vhLHZY&o;|JQGlu>7nnWlJE0&gXmShPzBV zuov8ts2LG&jpy7HrR&+OWxgXGylCBZP9K!af66Hfg{zXBYB{2uzQcs!dnc~L!t{cr zWK}@{k*A_2F_#-S<~x_Yn$m;Yh2EPYErKJF(q@^TYL&(9w!G23}?PC@g3%xo2sl+LT%E}W1|GO<2rw#q#j~L)~IW0n+ zZ+8+=h+t!x}H81vw8`!J4I*oInZf29+3~NQyx1B zUHibk7#@9-Wa#?}xroHAwtZFFrKXwJZ!W}|EZaV@1q`tLQ)>zCps*wi(zzfi1-GI1 z()Vpb)zH^tIbXubLYVt@p#m2pbc(3dF7G@dxw!*;i1VqrWjG;Jfb0ucJDw!P^$Lh>T9L&zt_P$_~+zZt7+nkd25Sc(U? z213naAQHTCLMQ-8xGNRPLb|aANFa3Wg0i)nY)>NrdIdz2gG)EtuHqYH#%vshG*)$u za1u@?yI?+zaCc2`4cFt5b3Qj$!jwJ)-}mnlvW&VH0p?yG+S8KO2eou%#4zt+B6FWn zm25;c%Ki(>{#UhmJL^rV)Q0L!s;f%rbdJV-XAD^SdCs(}B^`oSu&GlXg-6~0PQq_e zXhoJi_f&W6_q*@Di(w{~a)JQY+&<_KBRee!pB>!y90GM{fqoySg7YUt893uc6ek-_l#GZz+3PksI$jsZ$aI)I#-kxR#lb->GLLJxfJ|C4srV3A z!4>~y`6Qv#NBZ!F7(bJ`q!7aIqz-AUb$>8kFktQp(-jBjL?K?DCdwv23u1Z&wHtqa zK(0=p)4IN%PQ@VTM`8)jCc0u0K_r3-Vl2LF%3|Gc8ez`R_F1{&2PE)W+wr7S9~<;V zW3+3vqkiNEq--NU_i|Sb2IdEk#&Cky;;m4BtdU7m5j4_2BV0F89<}LGMC!;W9i;t^ zNH(NsN;nE<2x=|MXB%;P$vN8io%7S)^qcn;fYZM$c#-S9&67b=E`)})6vy&w1km(d zxF^OcI_;*d2?)b8oeu%afz;#@JYgE#gj@0*s;M!`6yKn>32um_}j3>n} zZHVn_`X!rpPO#R@#Z}wf6-}Y9ur-nWiXwh1SX@>dK?!8UdU)63VrR!cdzSA7+UY9#Tu*|w*Qgd zfPGyH%F8T4X3h=SpkMkIjZ>EI472OV3{y@304KqdWkDzu5q+Y5=Zs3UVp{~3Q0e0# z#k>~9ic6zfd0C-`ENau;Px?=&sl|k&VDnVC530cg*j%9Q$8`FI(ekhFn(|AyBtia% zE@J`7dYGy5mg*?4bAvU}MME(*MihB*Ca3J?1Tx2D_+&6v>tsQk15EjFThp|-RE&4M z@^)Mb)A-&p7!aEF)ZXN=@RgCdg^)ctc<1R^?u#3Zesn_9B$wB!s+g7WYNx_UFCmRw z77*exPa{K-f{4H8yh3&Rl)TWGB+KUH)b8L-Txl5L5! z2;W$6Wb)Lqv{U^f{4vJ?ykuCDWWt4f{Z$PMpn(F%^CCK_YLG zoLmA2XM2x^8sls7^VAgltAZAlei>i0MFkru8domDeqdv^13%FvFjkI1Jllo$f;fqByS|dS4 z(RwoQkydULi+<_@S_K~XFGp)Z;<^C%mS)ry0{n&p`ZyXTJEah|kvm#*z{M#+g!sz#`YPp&A5%8@M8FY+kGu9-RIms38L5BYBNwQ`k<{!fyv0Jh-mZ()kZD z)(G#fpUqHW4KGbFD|11#3wH&{UC_-XMlBt2i1{~FqA;z`&RB)IL$en;3xDvYVuJ*I zpqx6+)7L`EES(8hq^O7jPX#g+edvPO+5ucMS5K&-`2<}Y zBd#HDE~5DOylK2s1Qh;B?7Gk>y3yaAvYJcLFBoCu)pXm;$X|C8&IG8W?dLyJahRfQPm+dQ$)D<`G>cG^xh^{)m-Jk7v10ny`J$?wuEh8yL+ z?0-|D1Empc+1LU-eG9X1r8Nf!6(uEEfTpWpJjkv9h7@)sAg_c>a+sNHIzzk>+E1jz zVl_c;eu#AFx&@_<95+ZP`WfR$lQ$mK|?7dNi#n7Jjl6TEa8F2z7 zEzYMwC!*2cy>qM#BXuwp3CaaOS)dTq&<0?*Gs;D1pKqAtA=glYwg{jFh7XA{F13&q zM%3?614Kc%>DYBeNUQsJ+u3n~Q_a%K0Q;BX2wj6QwH=6s@KhKNH#6>!v0agix2U;S zG|@5fX>r};bs;6h2^bhN2k^SL4A5DH+s#ombPAUQNoffq$hYl!^)mUJmg*1V#eMQd zf*^-8+onaF#^-$~d#FW?Zo3Dkxc~2Co3F-U1&VU@y0Ng%u=}KH6Js5EKPrX`+Ef@W zQkjSUlB=--2``!44YT~PsT1cv)?hr$umeI%0fb}r3BI42!FHE>l0x95X{Te?;e=xl zIHJ<%o7sSnniezmJrvh))l$@*kARz$jRG~qGTZ0Zh$Kaoo6tg7iq0C*Pw8ew*s{P< z+mEVCa&lkVRpaP9&y|Qs9lfPl5?(SZi)pme`Y?gZb!dwvK>KgR-$cKztTADX?7ELi ze27<6995m}AsVEDM!g(2Aq^4r;O&kh=?KV(g$p0V1`h~QX0Ia7kk`RQ1KZ z+;^Khh^px$D1Gf?R{d|QVKsTgSCgmI)<~tBz9nnX#-{A)@E%xGfyYE!J7glE1fZM@ zhNe1si3Qw;@M!_#yh^WEEpT_wSn-&%W{PjvM3Tly)BDL$k=*x*Eyj3%IOSqV>@PM^ z)zoei49;A9Uh&F`%o80iLYjzv|7D=b%$DHG2k>bD^jw%&T1@5imSyUazhW3j+YRf2 zbJWqpUSu4-)5O84Ax`;OWJiJj7dzBgF(o@wIfhTt?`@tTeE{lXd`pZuiDUsN7vzeeqZg6^UCNFCfXA!^p#!&q_|oe#lakQ(^N|o!6qb!m2ar2U zc$aldIF?gOJ>SKMCJ(Q&VXJ#FMZYEeyM`YD>}s%#$szA8Z-RI!rp+_WkoiA^9JF2J z7I8`ZVxT@QwUNG=M8uNlyLazlw?w8WE&{0hs*p1SJ!_jS`NkSrz$<(f zR%`B~n^4c{Vj3zrp3<`x)j*-f-9HApSrKM!vCY*sghZ5y;M%^ao4;U?VT$w-9QyGk z-9Iq8*2D;xjNyb7`f+K9zfV&BXU1cDiK+0}N&AwX$-e#>jW1|2@0y>dezE!Zn=8lP zpVO+g3s86!Ff3`JLcSVmi2XY}n_!i=#Dg0QI#Ty#%fYWQpigrC2)gyK4ES+&ImFt9 z3f*Fz5nuNEMIF;^-10*F{>lJ_Xik)TEXI`YDK}o+CH9NCho3Yk!B_CBG3Ci?eE_<7 zF)=--P3gKNvW|@RGrjXP$p!e8Mr@^Yv75)#^dwB(W9@EB_H^(LOY^>gTQP7-@cbK} zjG3`S=eJLc=-TXYWkF-2lL9y#Q`*4-vh8@G`h-_On6LySA)i%au3f zlfO+#sGFxJP1@348L%!j@aGw6o2I@hcdpA#me2<{tbvZ9@jmx8wF1qAHf%?dZcxl&yQw4?44Q=GSSZGsbG@9QqpN~PVVQR;VVbpUWI?Jg%0I(K)sh&j0 zo$w)c@2iKz@FVf5M3(dm5Hn^4?fa^i9RMOC^lie6_axiCfMZe)A}?;+d_7#Ql<9M; z0`3o@`85s&T%moJ@;+~jts0sW$5Bh#h`jOWTZ2#s#K06(9ou{O$?`$Y@p;Z$)-eM2 zKZn9b+~{8W#WK>YM>29no-3DNevF6i@K+L&F5?E)uVgpG-@Vay|I=OH#o+DKo-6c; zh`wcbxq4A!?N{!c3qX75&RQTlo1E9|GwW`rw7jc)PL`X0?9b1nCh`#DXce=$aH!9h zb+y~m(v({B%;)jmkcW`Km8eI`VUVly4Zm{8=SlTlT0MR$#rcj9rzL^kG^5IAwr#&D zZSd4A95yWCb}5c`pliR+w_w6!dEGLSsZgC3*zv$k}>QEJe5n?B77d8L^WXe!0tucn|rVx6}*mqJhf|#-9U~{hcF&b zx*gIzp;)7}$gbo;@Yu;q?#dRVZ64D{AY01#s5z{Qduf=gVDaT2_bBzJhi`*|cxC2B>U~e^9Sbs;d zBkl5K;QQ@fu~6qozBtXT)tn%_VjKmv;gU7!{BMn~I3YfC5LR zz-q%pawKldCO)+i#o<_C3h%asF&Ibn=WY_J`%`ZDyz)J^EY*sy`6+P$`C{-3BJti5 z0qlUN)G``+L=>^@0_{1KptfLnCmf1yReDX+@!{Z~;WyK+Z;aGY@i2k4YC-$gIIBnL-qdXc7p%zuFfiXgi}!?6sMfdvFedQU{ktFyWD;}#F2sg>5YTASw8TNEhY@t?%S&p&lEFni zsV-G0{6-)+73Nj;oDoW#LL9#^q=c)?Cw_H{v1Vgz#}Y;JuAaP&vuyB-aWJ)Ej2_#3 zN!wqgee1^8?vz31`6qb-Fw(6I2ZhDHq7?Gw{I8IjR@a+ zeAr52H=&V@A?RChX)JmkWidBeML19;(xCNr=iu1o;mDU8{yMoOH$R$h-F5zV_sMx| zT=EZ@vuR!InZ(y6j&RfZlVoO@taRm(Pf5^K5{o*Sg;~g@V86YS@9i!9YlCk?6`9{u zdftUSy5Sp8g*&AEBbqOu_6uYgEp;EVW;cplGdDN4Xu`KSA6&!Vno_F_jWDz5N_1+!MZ#5U#nq}0Te(Amqg$0+b& zvic4*jOc)8K>M;KJnA@#rj&InpG0|P-&Y1U* z>E4Cum5kCzyk$(k<-Pu?Xh_#Z*&BZ^G8CV#CnaGy%zRTz8VwIGw|-v}&qDa0Vh}Yv zve8wq0Cmfzf;#9BU=+v!7x=Me*1?ExSd}Bm>J~p~g&huEP{8|bY1I(xm_=_$9Wi8* z!3I43m=fQ)fAwb=J!OUtg?!|nCGqY7YF;|Zl?d^Ko^vi?Tb5>~LVgLe6^jcK8m6-R zvWk;pW#yq(qBn2rkF|twH=*CI&f`rd7+gCl7NzC(O7L~RK@@6f;eQb7SRD(z=Sd7* z{)`}8Z-S70q?f3{1WP}R>&QV}KF}O&6;dI>^!fGlyQ?=jSNDY(f6)?c!p}w^hQbVx z;6H2(2?xCu{OpT%bPn(x#U!?!k%krk>PKnbqU;HaeM-->0hiF znI)tn*5Bj#UtnEI?|1oY1(jrtscMzg*TI=95WlJ^st7uGQJmK0IJ~p{^!k%N0k)=b zHb3RD1nH25p#*~UNIN-A5MnP~&GyC=ekP1)tx0M)X!x^xXl`KA?l1@g+~B|6988=h z-yF_LopI#PFR1Ths))sUs;|IpC0qo9$`QKBp84~Lfehx5zl5Ve9L8`~Z(#61d-C=@ zE**!pINik`9^j>QErhza>9#KxoNe;)7#q3;>6)Bn5Oi9Pubc}qY_S9_^2=!{qX|HQ zxv2KjVx{EGp$K*pjoGkP1&QJBr2O*T3Joa-|{M1i@(;7$f()ZE$VlRBw?AH`D$bt;j zs}%hoVDPx>deM}S*-JKhJtq|aI|W7zVUTXg7FG%-U)0;l9;}N$ELhWPRl{#&2h`S5 z^pR2d%2Rpt_xz(@2n?eL5=erD`D0)>jaCUH^0q^XlHu=I^lrMQqa6EoIgYCPe;=7S zo+c+o$0g7Bp`BAUE-iqmovk&TrpaV!hg^C}BcL3(*XD%6M>Q2&#rZ{YzNt)Exve*{ z!S1TI1$xoqZlqv1WHuQbUiqTAPM1S6j6_vi$J`e%ew-k}P^`+OD;vrGNojhsOPw5>e@nZ1I1Z zkR!dJeLYk!>2w5e+R$wJX}&PVXn_6<@UCd0Ym9&&r$Qj7zfmdY6E`ie_7U6Rs^Kfvz9jzrYd=i)jH|xPO}l6_PX6tR>gSL%j=0o z_Bp|iw0o^+BYdIuP%9alXzZA_!H6K~m6+Dp*!*t4Hv%}X4QA7@8GY#^ZW|{&EzxJB z%Yz5=oI4w+xY4@7)`9e%4t856vFFv>cwR&zX{uD##%#DkW#mCIl#tiG@;_jM=TEOe z7T6VpO41sysXmT;A)$LympbWfj~T(J-E${aF_as5eNOG!_xSI*)2C>qXv}Lf8l0Ao zG;tA1==HcIHFgiEL=nCT+W2y65#*y8=u7t4l;{kdOpMEqE{-j zn`Hco%0N?;F4~ByqcOgXHU5M$gcbSV*_u*vn+4_eo8kA`BVOEWW+HIm$C|19N{#JN zo(erv=12jJZKbzUO5W(>nBHIx;ecH(lhxQ?*Rc$aENg+6)EqqC0ga8oQ7XPy7KC^B zz7lI66J!{03%xjWvdNTiNOqhssN+Xkxf%bB_de-0uKnyD7#os#?%lKkwv48*vz3Y* zA4Ja2ATyt3vhWjl`?GB4T35FAcTL`;kBH}HYh0NU=(-#Sm|^U*|HDIWE7seZPOaQG zU*;QXNdgo#?1f&G3{%7Lg-{AepRU45UeYmyDrAUGQ1LHO9lEa({Q zupDKlvOxhR=nX%TG#lEfhBwm}*R-#W8aDDUdd+!K7-$R%dYbS3ijKqhmdmyY^kT}# zQqS9E**ea;`;H1P>tL0iRN+lpp9t{f z)cFX0v=cvY(uE}%=z~r`&K=7YU-4izq6fwJ+@P}OI;+nMeCR8h z2~|CwOz??|l180jj)wx`#(FSii!*|bz`GBWZwgpOIzP-z>Am=BNZP)`&eWJa8goUO zd3j>3(3SjR)Gg>t;AOPH^10}8@Xw!SuNKW7l4fm(hGWdX{Ght^RnwPuH@wLRZ=7&^ z&b^HEFQO6B6|gw{%E?pwgVL8@M{{yooLfuk+oQJg?1)j;Fy}K` z_y=SUC>3u04+3Pl%l-0bj#*mH$^QY>s#SCBSo~P=$zBpJ67VW>!92Bd!4vw z8B4YQt^11zM-o6tw(@3O0^n-Jf2sDpf8BL^Pxq2EJD87`` zU-J--4IC&uCG~GOJ)6rmQuW7o08H7P?%7!Bjymc-{SK~wtR3s>(4r9}nx^x5smaF9 zCCT%w0n^J0U-2gSM4!2BYZF&yN1nE#>Bg{xlUbL?PWoqOeyos}50x2>4~~UjRHj zGLkL~cFrx0j}MZ?!yY~bf*_7I-FLk>Qz|beWxKnM9T!*STRHlr?vckchLyEXbpL@wp1Mb5jvATMRcU}tO~b?CQrDUf9xKUx zcqZ#+$dT>gqycha}Rhf5SdbXQC#cmm9m=l&TbrzOGZ*%O+fuKgV-3V@HGC*Gy6bUU@&KXZs)h;sa{Xtm7 znDeUVtJ1~kc5jOyKiuvIEQ!|Ta zJJVWN8W!QrZBiIDJGz(f>SA=TL}~Q`Z)Lo;}UXjpH*SQ_sl%rB?UDYvNQ*FQK_wIj^OEK0<@TKZ`zc&+#l2yBslA$nPb4 z6-@3-EoXgaFsY_*NX-`L`n3pKoYNCL9yky^5yq%nmfOi)mUm&W5|vWtD^AYL|yv zH?voOyFbK-b9tK%92>;>UXD~0Q^Q_CqW4rLVA@s=P=YSHJFrOwQZUE6HcG6f#uT3o}_9)QRKxj z#(yztW040T-gN&%-g#p|#ol3_l!wEcIyLT6Oz%`%F5RT&P-=xFdX1-Z>9waAhhJAg zSjRMZH}8Sx8?CF$5Ag>*2GXxy!b+o`qU4NvsoMa$b^_y^@6$}oMGpQ;R&bP@dYhk< zruwJaviBly@t(AW5x4cbBL3NCV^4g~fu2`d-Z3Dy(L`;=6H7~>Nzi0y_sHJYtJvnu zj2`ok!oUA`mAm;BAX}S9{Ys8Nz6SfFC|ZvaKBzU-KVcT0dqL5K6+#oP(A-m!t5?@ z;BIZ zd3+OP{>R_XWHL?DG!1Fx5;3xfs6-K2RuNe|78Q^6T2#EyiWC)D#A97$S!7)gR$V;t zhzBbk;C6F;+yxg0+-3O(ygF{&*(oq)pqDwxIjt!z(nIGtc+= z-j84h+5`zfpbroNdI37H30NiI?d?d~|0E<_46Fqf33Z=;@sKbQcwKP-q(qOanuqFK|;e837?M?6h5+poi-`}5PA$R=(gne2$rjLXl zWFcQmor{0Y{b8e+*L|ZlujfYBJZ*c^vb`Z8AoKWA`ly#dq%3LSGlwsv#M?=943+Su zgl8oj*%{aPxj}+o?#vchf|Nm|JgD>TZ+jtOh=h&ON4bRF%^Y*N)c7&opDt{aF6K+P zM8d#rO*4RKykVo5cQ}GWkc1F)MPMM=gkS|i{ujY=prSZ&in$%=Z8s!5juPc(3V0&t z^ZGD`D(2FdC3d%4+W_LkM=#00sd*Mx#F_CIfg%yvr#aeVz6~!nMH3 zz+&Js0afj4uYjA#3x#Yoj*r%Z=JRnf|!u$&LEs$&LEsa-;tE zPaEBj|97MN@fjP9#|Lk7B0B&Q`p6*lGC)#Zz-?_hcW>U1J(2Qcq`U_y*C3@tO38Op z@|Ki*Atf(LN&ilxe;0XtZy>)c7$iP4-2~)2NqS9NS8eGC)!u&WqcMW({DY zn5O}EBN&S^dMOC0NCyo82>b|!pvkMzA4F$vgR2zm&?!9uXR5F9N8D?5$;Z&*s0>FHthC?n+xF74>+ zNYEs_CE;@kPf9pG$5Y3nW8lSu2E0cfYPqAG0(6HmIF#wiyzRlrW+tJzhW* z$-7v<0{TkHG4{FF0VD9?OG`9Wz$+Le8mTur8akt-0VKINc}`f|!KEc{%62c7Oz@(GndSG;)f+6=@8oC+KY^aHvA z`9KnNWdrEK5+OQY?MX3#(I{Qnu}3xxdgn)zh}1q!{YJ0>m=gSP%(mBKwi2>CClljw zLTEh9Br$+nJEUFpc*}tCKoA21gVoe+Xs*aU*RK! z1`Gq9X1oyGll54*4vjJb1kw{nU*JE$eeA(F#sg=dVc@lAKOZYu&tZ)RU6!_ABgo-s zC|0wa8Z(P@I{?Xa7RI`=LveTkhQ>Krb$Ujd)l+z zLze;{0$1XpCqaVv@!?@0S5ht|T|0#M6k@!BiOG6k5f^l5+bP5y-_<;PTDHR^_<>XL z*lIuuLxC4q%Q&6{#^S|Kz?Kv|7?|wCDSVd0z1f6`GDcSbUcC75VxZ%}U_C?SQeJDR z0o%Ls0PrCiSK_5F0RjZ@M0|)}6x26dRehHTYALAVSKD_C> zs{{Mf6`0g9gs1T^E~)`|hoF><=*Y%x@!pr-un5?L{t`Zx@Un#SB1KH$gGNMBwA zoJLo4dK0v*;*H;q&6EJMS|O)8^gkF;r6e0@!%yuAfu1{P|}dI{eJ@Rf)K1|rO(?0 z+D2`j1`J5s0Gv)kTM7_Ds=pd(l^`t{xGnWDl8C%yQ1c|OMPt}@=u4X+pqBr#2M6;u zw9S|&At>R`sG0u?yjcdn1{{ZSl%0eLeA>bESCP+USirjg9FYUf1EkaV+cHL@*~7$- z5~4TIl>h?>FcLp^u`^#vKcj&0c=0$`hC&6PqZ7c7hSGJ*?6y)k6llh;?tqD9N7xNR zY3{#c83%AZ7V2IrNhM_W)hFQs6mz~CgCPV6rf2<|fp@T&KqcLQGf-BA_kp8{0)J>? zCtAljX=wzM;BH?}z)AvHYy_)-l~|ZI?SBOdi2|jq^mm&kQtrx)jN2D@N!3mc@O_G}=42M<0x7-$))%{<^tCWsl_BPBCX z;`{<&KJcm#O+$JGtdc(FQOg)KU?FfY-O>lFXB-0=#@a@zjZ@lK1;AxOG?Hw#Bg95+ z-d@1-2-zpA5zuAN`Wg)?fG!cKL9a_NY)0U=ATJ4qgnI34xmkZW@bS4n3y*<>H&DXk zB4BDu0W4D4ZLb0@6lxyFo;@!FPDR6u2M@jQaEaY&87dO|WZ>^WF`IyUfV+gCqVsxY z)BFK8fYSJ%b20z`4n{*`sBJ7X&``{H900fTD4!B%R(kL%<)bfcgn*SY#s)m}0u-CI zIFA5h5CqEbpxDeARlTmE+MT;i^U1=n=C#IOR*c6BA_58MQt<2*pZ44@2;ZF#-}sAUE^ zalClZ(HRch2<%RrRou^B3+=9ZkILdK?NIhSG}rp`oLrV_-0rI5*-W zp8&87cm#M4CGM|G>9=wTSMw9o*&mH!Vkim8c^w_N3k?qeJofCp1|?ntAa0{n9zu6a zj!cWXX8`b&Jvhh9!x+N%4CGu=EaqY093j#=wUQJR6UaULQVH50XW4T%UM@%v@;{Pd z0F#8^RtW>~U_u5HSd;U0ZAch_X{&!u+mD79KhH|ZenRkxljt=bY#B>I;z{xo zm)Bf#pPrq>4#O*HqmG(Qvdsct;l+o~VI%S4A%LHr=-dfB4eZV$j$<5qFcj!T89L+f zpkBBRV*nBcOSn|Ri@+DaqXZbuG58sSVVk*>#=8U``OF5o2*E)@Fj)v55rPk#1}<>` ze`6%OQOwc6E<*5Jqs!g^?1djcHv?f}*t2)WQE#w19mUrRWmS2NCncOA;e7thG@jrY zCbJ&6N(jzOF#tQ_PQ82mf$w-HW6UEsjzJaz zXo%}?4fZHFANUu#EonG06l~e&Yycs!xR2AQB}R9!<5K5{?(ENnbmM)d@DD2Kg_k=1 zOjo{^MVyx_Jsk-Rpx7E+g%o#WcnDl%7zEQc07H2M@Fc+={NyJQ1xZ9<60Okw>$h-q zGY_wsd{a=k>ifF7*A5oJdMK(#7R3;OdgxM*=(fc#cHMj}Zfn}+sSg;X;aMlhY{nTbvaKYm8w1MU&R7Myd0Jzy@fjc`clX>WT# z!k54+=uBk*{kWAH))3%FLOhS38rBnYn7Wh+c4RJ*k3vvk`=%R5#hnVAg%>a9quHrR z4jMkM&bKD!^#gJoz8!p~ds zLe6i7Z0E4cE;W9`I1Xe5z3q0DB&7NbaZFaG&+G}bA_>@iK2$2H@nhgRJOuIE0Yhh@ zOuj3DXMtT<3>o<-{fH4G1gv5cJ=r2*CW7e*Y8Xoo-lUX2QH7tb2=12M_)5YUNfS2H zX=u2R;4y?;qFjPF7ywE@blZOosl24Tew zy2SkW<4}}91me&ojtnFqV1hrPiO}YYDKJOZ+;&%|bY8%E+`NEAYWQb241UGY6gXzM z$ACM4Vjc$eM6eLJ8yydR{OD+055QZw(jt}B7eEz{mC=8ch$nb16QS zUC9dkrhz{Wfdq6(AOi`T2_(Rmgl;jv_N(ftNYQzn{)uae6K5%qBx@F=fK`-n z6!%fXGT<;OfTM)qOaxWHLuhoxZ~MJL`NE&$CMk2~-gAMG_-%3CO@IIc2@s?^0WQbO z=XjY(Eqib~u(zF{bdM0MmT&-2l6K#vunq`t8(sNY`g5;0AXN<8Ty*^S@Np_|Dz)s* zC^V+yVK{zD2vS0TQTVwD4<)ueLiOKpBn>r21wo$U9moCgr^9Fq0jLzP2p`MX0Lk4fOPkcpfSe!RZUvP%hIy(eQ?SLmx=b@BuV5`&G8m z_J(y_NF0-U@iB;UNru0@4;mV`17~uG%t129f|Y3|p!`BD8R8~oFtxF$C<22G#E9F5 z#RniAgmsI|40uwqh9BiN{wvBuG7n|8{TMijwKxp3LQpMsWeQX2!Mpr}zY?cEUIO$Z zz;FVbjGvi=_*hC?sqFw{47TFBQ%#vPZ^yE3MaWtquyX}y2nKR1x1g5iFa~-pD6kMd zn;H0$P>=+_i3}urQC#0g*1BeyUd@abLcLcbR-jSu)2J`hNcc1o1(5K{c(Qx_L51Tl z=sZuscT6EpoR{%J^O22qEca6mW7aU>e7txWg~lS_I#zNaPhn#55^x36!1l5P8AgE1 z@$<1fvWdZGdPW?&2lax?1%Aa#Kv)Q-v=C5oWLgS12IXzOjy2rC?L5Gpl=BS3G5IeS z$Q!t~l{>P(9qy_mo1wrFyvqPyNDus$uov(Lo*?dsr27*v1B)sAle2jWAE{`*0rnAU zR#&fax{m@rpo`6Lzo8HN@r9Ihw+B~uJZKyWyucWW_(m2mLuLzfYaYwfOhC=s&E|^; zSi(*`K?tQ1&IH`d<}MbZ5vLe{HBz`a2GXP$RnJ_WgNme z?8*_S$z>NIc%;d-1)D^7E@Kki_>jxEpGrbxy~`&)=JrOK_?XOcpaaiLV&XVN?Ul(`RXDHWSE<)%comq>P*2 z;%5VI07s&s(+iDjFxi>4xCxNQ)%4_R**CWWBSI-mis>jrYRgGWpL06zaSw;F8l@6W zAW0u~#sp#r;=q$Ye*y%Uz#v}XUNnxxPYFJJHmg5a2u>G*e+a>Y2v#8&AmMTecS(3r zs*-Utq$8wT2&#qP9~?_JA{@(Vp5j$vEC7n=D`m&11zGw0#z9LB`s_9pnY>V1<}%z8 z(o#SwAjnn+JPi^7`6kkvMCMyapM~@Yl7)hJF$Zqc4Sh>>!IUj=|I(^FA3wSa*`)i~ zr2F~NT|jldhb^8wt=4dVUGZw?r~_%NWimfd!#vJtP9G~PQwhAoda%ubrJBFe+Aq--yMa}pF2oT_KH1-AJyowKBT8gR!=Hs`$J`o9@ z0q>#l5C&86G8P|)<7X6p{)C@$c_t@k(4jI5Ul2Mcu^)x(%db)IONWFWXAHK=KK~iA zvEMsaVR&)d4`j z1`KZC)^uryW+9bsHxVyh0%)8Czzsq)cozh$Uv^UC)q^c}rFa`k@(>RDO zOhkpuW@e~0k0a618A2-KVWJRObz3EXD|!aDWV95Y@fbaMJ-uPE%8nBdr$@GLM352xaz4?#-OF&-+o*}y=zKVFJ?yt(pecAD`rAy}3}Uvomniy?Gt94O;~2JTtDavC0K5!FJcH=(2<%A~Zs0Vs`u6g73OmrFs zhHYYdR|s3J$UM#ioQ;ldo2smA2{9R1&ZKnQfr@B93P7x6C0khB?Acbs|6(bBV;CqrKzly)HJM;JlCt`6N28|*>o55#T zShioFt)8g8(9n1dSV%BE<6jKyiHTB#jEqdfWq{XCURFcipdWBE>MhDvsH{&z(9yO) zwB zT%czFJspKRo^R&3i+~b5cU~>d0=66MaWuN(!^h=75mnGo#aRd}F_g==o81ZX2sVRg1xgZ# z0iGmqTEdk?7!v7` zNF9y3}gih35<<*?u*`b$YbDjP&F!<*rJYn0rU!Pvy@{Ei2?k$r$K z7|7myD+emifURD2MMt-70zYKwLmyPA^Z@+$Ih0f$z%-{CmcE|y@rqhnAk&dp+)H^p{1GF^mU z4BdbxCnA^t+GH$ornJPrWip;I3l!Wrp<3I?^FjVqmro^`w;#2}!PM(F$~t|ijB6XD zF3qG{BdNQn7Y18g9_n;Y=<$Xzn+0|MfBxHi2(MYd-R!jaHb!YB#XN_Z1h!s;qKbWg_wXuw)ZPzI&8Vk*#` zKFu>Bn^8p4>dSe+o>-7`wcq(^eO9IP3;_-xRagX62=xk7s?~6?Z6v>G+>jW_6-?*X z>`e{d6Qq(4<$+uTj7_)akOZVE0&<3(C-EON+u$|;jr#$`$l4T^oecsiv23&8e=%~j zBcxE9!3?{SvM9~6UCEaLe)h%4@H^~-RrsV|Y5 z=UVBC-D_34h9-q|u!U=|DfLi7cL(CapvLXp$62*V#?I-3h{r@;@w(`iX_Gd(OZ5GN z6FWVN%ASc11%8dX{XsSn1A~MOR0g7cD8F|Y z6<*VwR90Uqv(M>eFF^&>sEC0!mCLpx1jn*BwY*4>L3ZiN%wtMWJrGig}naCR4^4z_GyHS=;+9%jDhsil_OMWt8wa zw_#9|9!Qz$zNbR4GMXpaP3kSoGya z;21`bdp6+=G>7H>QXroVz=Ki=@?-Jh$sAhXecS*MJhO(8Z3t6vy;9+$xv?t zZdRib&~mE2+>vOq0#P=^&VQ(%rHRSHpE#F-IHE9Nh{6P-&_oo*!E3H0&srn{@wvuc zH@pq7?vrbKS9`sKe=I0G@H={w;AR1EtRsClxBC>}S#&feQo~;;W+KB8Jj*1!{EA9oUm^h2mmIFI6iCZn8jDf_z;FIYW5v?eG#@5?%uaV&HLjvinz|l%2US3%Lk5RDh)ej4n=+n#Phc67gppgx zc?kyR@^AjhFbY|O;CHAT!UG5p;5alM!UT3k;H5jCV_~p>7^5(3XKN-#0P~qF#I~~o zIMFH-s6FG61JLE8qQDH{O&|(Pgf9VwafCmCuo;2$CBSEr^n$r1@49LO_5C@+B=$ykEi%cE!<#PzJ?&v;NF)4fs8?tGvJuM5RcwmDj40=1_< zsv+d5xUC07e$v33P}zb7reXqx34~us1=5#*0u$+##Jv!!&3_{HqyNHP_PaEr*r=>O z_b<{irqO)9^n*aDmOs100)`~?W+y(Qab{WorO6FKh1T>z3Eu%AFI~g;HT&z~Abc#{Lt8!iE^L^zZF8& zrUa0ZQNRQtI95t7MwtNPsC4!? zwihqm-e_GNIOeHC3C5nMAmJ7HNrW%1B!Pki_?2oPd~wAHyh$u?5;G5C`EF`;k5y9> zxPFUSaP8pTN>z1We%9Z3qGXS)g?tIVo0QYDCkrcR0flEqF_{__bmTPRPIiWuq6RyoOpv4Y54F0Pmz_}_$`^1HhbTemXu_C{{ja*Np{wUyEYnY0ru6N(|oxCU|cUBop+!v0+^ z5T<~7ffNMmi^O$vSH0PgE1h@$M<9+s`R-puC3mK*vq84Q`tv)m1OFe96BF=0J-QlG zy9`Ujqy?B7(zIv&6cdQMkZ~8pbckulgbQhEkaR)4PJNy}XiI@{?d@NFkWNR{^6#ug zm9dzJ3b~wzGR&0#eXY8(4zDW^EiEsLmX`k*EiHdCT3X(@bqjW22Yvx)ORfKf)Vn65 zSvN`DJ;L?z~hNWpFabZcFq^4_IjJ)IHmgjv?zHR{9__xab z%(3dq`l3pCMQ!@xR$ZCafiA=AP)@)TQLErJT|{yRcHsXJa%KYFf1PI5p8d!iWdo2` zpu0k()*p1az-1wYL~6obsYoqeAkkEqyC$$)E>Cq{{-nQr6MgrZT|((~*sQv;K`5W= z8ZCeJYGAchSEg(EvrVh6%nOXN>dN*9J_lac@@KclpXw~o*y-h*cVGv8?r77hKi-GN z)B>~XE|{~Pn7k5~9D;5&tW#(+0VyO1fhILoq7aF$S-3P4%cb>->3LVps`&7vF0;&)AUHMgLw4ezZQX zc+F<%TS?3{b5!7!lZORfpCyw%XC$8qECnWO`LmZ=b!B6rNrjp@z&UME5u&B#x1rXn zZ)^vM1CN9v;d30v4hBv~<^84T`Bx|sZjy}`EiJzYRl{#RDx+>PD#3Oo@CQ^4;eo)d zp-A|uM(2*Q`&I=U5sHMPj(r*`vu-4CUnmlu-00knqVd>JB)q{s&Woz2_y<%BJ;W@)!KDrxvY zl*GCkcm;SV6bW06jva}ra5Ti;v=o>diiBUt((V{kuEcWSG}QZ9it>zYKrQPsEffh? zMoY_wq3-Vpn}$`W$?@h;B%E`CST<}m699-!x!;h;J|aIkSmc{~$h>4PsZnD2lQm`m zHKy*eHv5gLpIn6>e-|uT^+TRNUg-{0Ozs!10;t(C`L+VR`XXt$vo*gAI0+TV@iYw; z{z1KTr)c@JbN1~qC+7mCfwSK(w@cI;tK}wpE=Lg(BfY?BhJBL3wCp3NY55N{ls%7<-7UTvRgIvmnRXY1BH^Q2?nTRJ*CL>vo6e16uX>x> zR`<`_bSzOqT$shDP0U(4DusNl?o(;Go$I?gF&LPk<cOh3ih+OGDj< zdO*(eHi5mWkir8rAIX?nQo}%T>lB>DH=TpP1pb3c0!l60aU6DGjA&_je;NiB!12-2 z^6`$D#aX5*>iFK#G=5@B9Z!;-0nms}=fG;Q-FDEswdXnQJ${t>xC}LcIO)4IT3UXK zQ&P!>XleNkq>6`S$B1ZYdH+x(yb|>eHOBxzNpw#~OUn;)JY#2(osj*vG4tw6!vZ!j z`{V5AkAvm6j+K zLcT3T(iBKQ=vM6oIWw_PBs?h;3Gdoy^JSq(_*bDw_?l>G`EVLux@uIR$71_4nT80) zbEBo@E!DY?p;iOfHxvm!1{oQ0$2z{BNG3|iTnxooLi-7TPNH#5~6WK*| z9hjiy&t4>Bj6TMuo*2azlzL(+S=NN<7t>AHv!>LB-~sf6(_wF zz`>zNI1UgkEq@B-)k;0j@z8YDA)DUSHofmgOUv&^*=JI?!qMiHs08GcM9}O?O1WUW zG6CVa+p_A)=Ab$;0VU=)mQIGr_}Ib1xOW*!#GL&3kJmr2`OEILgZCcWkxalj3(ts_ zmQQW8-zoZzXr_%>jRpaz(iwN5j5!7{GFn=`46-hWdOR?ROa}3Rqs`8u(Mih_&K;ph zxGGv&{sgI#rOhK-yIV_dNAxpez=k5>)zQ*&=cd-A;6okX=d{28Ad}ulQiIjLZf&%* z{BBfLMu4Hw(sILjOg4H^1!~d=MZ#+x->qnA`6?QWkL{A^x3?sKmOr}|_?uN%wj3qu z4bMD6^u)F0B$RH)xc|xlw|^BI+`DpP$zAt;yST^qKP^4}>b*LG88~ePEiX^i{4CN$ z1qwyN)zQ-OmuL|Gk0o=Ke-34J?+x^hmX;4BQ@5P!_}(crHfs0VEc?r|Y-?+~ZK1a# z`q^GM?IW#~{|-66f0JduQzg*t;~O)~#_w=z?{tSvfIpkCSuKC|Gbr6=Zn0^n$#aNG#7a-R-Xbmma6=!;?Q~wG4O;$hCHW3EbJnww(ic z6lAP{I3F^KSzJMbAFvyCkt>{othE)8ot}+sYE$E& zv~60PrZsGLNx%u)@1LsImp0@`Il7Pb^3FB;xGMEkzbYOeYFz|>h=rkNHO6j$oOyfElT(G}I zEuICW;}u$3(6l9NExn!jEONzKQcJn1$?5tQj;)}9aUYmvztbSRt~Ia3w#Ltj2{Z>G z=B-KbgokeXYKip7zW(p)wW1%A6jhofMx8b6+r5`8+xgQ2+LI!@kcJoU%4li%;!q@< zUhmEJ+fTNSIkPP;nNTDgw+%#N8(-5_7v4sR(~S*0a~mJuNi;5@feDO^mX=?Na;X|9 zUABL7C$@sErMJ_bMPo!u%LAyDoz{dRVQ0DT#WeJLWVE#W&nWk94XVWaFkp#I*J2u& zz%kL%^3)2H8p=gH%F%9{N|lny$8>CqMN7+fwU0f|-maly z2JW(dJA;gB=$QN3q4?R@1aiUgw}h;tX7*pv^-J^gF6$C6`F}9uo}VmSb=C+W<)N*& z0FbecVEVfqvU@t2`se_ZmDu^xRgw81oogku6dSP+aOOM2$ea}(Z*=@qp-4ExSKL`N z+OYz&TcEu;%Xn+;ZWX;9)X!{dSY)Hux%}Kg4jPsN7t+)K=bSh#ARdZ@S7bTXOH&4L ziZe946?)s!mv+^c{6#T=6!u;)=v{Xmt(O>1~|SzQFEh zt$luD+-2X3RW!2#RIX@O?!eCl-|hXbU#}M)VTw&9(F59*OtAw^5iKpB59#H%R)-?t z-M1$_JJ7NCMcD+JLyu2~R?{@hatCrmw6y$uRMh4tDBHyop-6Z`w6t7D#ps{xIDFBz zr*H>46aN#Ezz(zz(bDqIXzBsjgmP&*CyF>KFQCJhirazhhhL;kUx5EGc N002ovPDHLkV1nE$>16-_ diff --git a/jvue-front/assets/mp-qrcode.png b/jvue-front/assets/mp-qrcode.png deleted file mode 100644 index 0616caef7b48172596f109bf0ac6b841e6b309e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168203 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

RB*#{hx43x9f;V#95GUAI0v3)6~T{>>#$_80`4J z{cm|`h)$!KCIef4w0s&1S7BEOW^yG%X(Rsbi2?+=K1H)*@Q8o>pRE=U>TDV*m&GlkIP16mrhOV{2_6aI!&JtkNxwfUMj9w+-!=lZN8mgm$AJ^MSFmq8pAB@*fy z-IMx3xGE|R&I1YbD`-AUchJi?#`P_Edg(;&^vfBDv4dWWu9`N!lf&@ywsn-U2I*yT zoBH1~%6RAQJ7_VZWqo}bn4VU&U6{elXPa$CHXNW8U}qdRh_Re4VfdW6za=EvuQgtDQ=$_as`@iidMZB2M#;2U zWToh3P#G%4l;Br&y-{uSB0QcwmJ0m?zj^^e+lJY8U1%D9a)pU(?y7|PTnTAE3H@HS zC?Vi3fJi7H!ARU^j$y~z3|0!_Y3k8)SXru{_FDvq9|Hi!%bMPNNA8rRI3GS<(CT)% z7w`uS(iIYvNu;D9XV;e2m8+(ImQfw6I2hbhUX-_=&z^O(u=HMv3}B>X8kDh1%pim9 z!{eM`rATGr7a&l0+Vh5G_Oh#|%b660#8+##=^L)CmSWR`H?1}B*O*r&Gh!E;t(_g5 z)jnE17deYlc0SdB&pJG#fgsqW%kwc)?jqy0`%``u6<@aqa4 zLT`T-96>RX{@MnL9PA1&tF>)j+E2bWgktuCUsZU#iSPzsogpFI3qR|>Zo5QRQ1Y)=#(5;I?vf_ITvh_0&oB<~nIkpKp zU0pHsB8)L7TLxBh9|^Jg9j@~(=2PF3XkZ7Le&_3b9L`&wbEG-G3}Cq=l=fhI9sFgt zB)DSvqNY+yGVGo&U6@{x?iY{H3;+kY%Z_4~1mN86$$5df4)9qUJ+^9b8W#lns_(Ze z1K$IUT(llOl@zeJ8P+R+_mZ^GnYh@^?d0uP*-m z;5xEbv5wF6*$<+kcmgKA0X2i=hxdgh-M6AyV(xZ3c2x({_0N|Z;6H!ap_Y>V0WdEq>Qt0`I`u^lHC-C0CT^MvPA<^(bm|xI| zn&C!19_nftwrPE!;09Ltz)u{WsmwksGN89}v~v*K6N@&?O(HDPC_>M?nw^Zh%$_wP`9Z{L)b%U7(DO$T9(EMWG7fp&hf=?mdIsFIGDgSN4irN z-Op8mQV1K%x_$Mp*o+3r@?Ivla0ub#y`p@nVUWfl%syQ#qi85i0{K>yT+gfGGD^0G ziIV2IS>A{ktXeLllED+QV&8SJx?sVKM*Gh#Es_6pXLLkRqD8>tdBFxK0UuE_2RDaQ zY7hnwixqJT`51OwsU^V7oV{8Ipq6AV7mHbh@TIuI$|(=w)N@+3K{xe5*GU>0Zv?7@FX(p@qiyr&#-M8&AeQ`01p5}bIN@M` z1VGVAOtK3=PZce7CM;F(@wp^`nDZZ897{0(E8pK*e0<1D3+yyYczf&O9V~y|jRpn( zIUmsd2j|273Fj$_&VEPz6R_2zKYL&VT8JZSmd`4E+S}2r?YN7GiWWC~X3_toCV5+M zpj0gJOg|dqkwQcShAF=1C4%5%x9cw}lxiB@0}>jx*g9k1#MFmz=Xw9y6AA20sQ=M_A<`=cT)7 z1azNOFNFxy=`s{bO!?DMem*jTI5r|=kcDe3OycdV?Rt96n*OPT-r0`i3HY76C{=>( zIQ_fs`^%&+kobJ2xoE3o zZ|vS`f#cP2uzqx}QVr~`I998Of3C^f_^njGo|;mC{A)dq*Jowu9cc)wDJbN zNu`0iensNcHi9>bvPv{lzUMVY_(EO@9(wyBXv1)HuDUsExz2!^68lQnIiXsF1iKS0 z%U{}NY%<{EcURv}yW`kOGnLiVbsNNSSaMN{{)}`N_LX+3j~U=u>##7zpkzNd$mPt2 z+Tg-XoVdtTA0qU4-qjNz8+;J((qpC-23t5mJ=n+`W2}{2`YzM*g58R9jF!>{M;fsK zY0_?BEJ9*+<`&NvyT?j*M4%t)OjYbcdUXn6!NK+~ zmG`Lk!gbEp(((`sV1#+JW3m-S|8r(p8QF(~+@FH$dHEPdcoY1;qe}A=HdGmUpD!OR zD;NQheHr$w+WqFuJAfxI0kBhS{pcHmC{-&+n#SfU{Wt)1K^x}V$S_c%KOYt3^D70` z--MIb+vyz~o~jvIc(T+g{JwtHeARy4*QRpC(pkFGa0j)bF{gm`gt&yl&bLeoQnjW! zA<+yYF9IYnqC^|me}S+h5B;nb6Y~P6!)G)M6A&gX(K`L?F~>?_1651NN&O^0OOzBx z`t6GLB~PI2auzcu4}f<7p;#Iu>IMjeZ)z^ZD^j&o>h!W#9hLlbjAD|Xl_ST-?ySMc zfgZ=BC$AMto|eCw9@WI(t~n#p<=F~Nqda`Kp0_zNLrge2I6FmS7E*nm7=$5_yGay2 z!SWVC78ar@5gVGym6E2TiGz{Z@9<*l`8oFs&w{8mHz2+AAY{2Y?Pm+!v4I1 zGSZq;YvJ+wt6dXVGJJ=fV%pUuP~&l4koj2Q3$sl^eA zxK=+W(vXKKsyPzLsj->OZ@){2MmeeMTXIPYvn3Uh$&bFwePa{S+8*U;WX10HBrVXj zKXoq1>#=hf;R)3t7+K$Rk+(=m8BjcMbD!T~QqHPns0a&PmCClGp(f7w7Zeqt zko>V44tEh<_x&tc4dy6hX%Mp@I!(KK_IhxMen=!S|Es%yAMn4tr~jUaK(EP0f`M`# z{~XolDJCheql3Voi4N%A&7p^TH^ykIG;*WK2(-;9_Ron;w(ykYj@V**OI0a(vAEOb zy*H|PPVb-<99-f&F!CVhpJtt9;fbTGY4Vv-S9UlQK>ta=HpxHQM~Pm3>Cc8i(bUA( z@%cevH)l~az>G}8=s+zF2A<6STPf{8jtXnq=9#G3*Wg0rdK~kY_pNuO1V?R7SEREq z*5SPHSu-k&XAdg5U`2P8jM;&!dpSB2XH=Qifxkxv8l~clO`m?vpwdjb#5ymtR`ec3 z;gqPiqIUthTC@PBjn*(Ju+X#1&w7uVC7mW+a6=dH-JEM>PlwQgF-;CbcAK`KXrqRRIucsoR0!KQhGC>Ga_m>)b%su;{u#tJA7hqTiWmm!7I>z z-!G+;2zQ{*2+%}tkK(22m+7>^eBVrZ_wng&eWp2mz}EW0es#g~5xPXslL8qlEi=+fXduY+ft^DuV>O;Ea zRJ~srAB`sQmY@gW!=tk$>}g5pCEqBvp>HztGmEqL){_>hJ)&W-3VE<`CMYnfX5x1Z zysM;yMohG)Am$z2axcEae9XzTeakOPU(61!q)U4$+W!I>5n%lhK8m$rVt}P_7ttv^ zIdht=SM?soYDGR(MhI>b>%yWEkp!9qr#JztYo3#29ZS$aR<;AFpj17i@<7FzR{-fS zsQFpbk4pl#cC-pR$9N&O3gPDTS-X^#!Axtlcf^>6gX>e1Tp$dVinXQ$;@SX)ykT7Z z4#Yv250BR!USyzO+HTbok(~RH^Y)3F_13Q!9v2a4 zMXE@);;~?p-2kb&u;q${nmJBt2u89biyVT7j=OWExRbVzDGilYhef4rKcM&uQF7*#YiHzw zkJ=oCOr?#g#AW=}d^a4s!@rt&N1^qjjBJKcejK=^!Hh@C8YdG*Pr8!8dye@!pT`-S z`y`M`>tTR``3~{>%|{~Tln)a}r=JgxQM(!a(`n~#=yTL}clc@xg#&|HO7&MIX5kf}ksFJy zn@?4I8pS^C)@K!01$z zapG)-A>L7J(0tJ1pyQ{aDO-QpQ!oI4dZu~@c$MD8*c*t98@{F@y-Lwt{ZfwXTpMfVb0wZY$g zK^S*?Tu!}HqI*(nWcQGEKOaf@K;37c$sDa60|n zrG?aI7j1NG{}1{W8pz^s(kGa5)o03_%E=eh>*@=*sE~D^x84v6|6uH8BJlj9Wr2!w z;YC_bi`u2ypfGm4Pe52}@}I(5naqhqpnHOQ)2C(?qWfKIZQ(EY8tu=^`1;Rc0J&wv zEu*b-%xCPX<8dYqBJEH2PtMs7p6~sO{|K;Xll+vQsX1Ggss`*k<1qn*tf9CA^Re4q zIp^tFr;i@|sfYqD=zooi=;5sNzJ{lGGx$#cpG-XO^ULG94*ut-GtX#Q*%wz>1q=2A zGv7B8GKWUBKX9wbey@^|lw^Mh6MW{qVPvNKM*=`6-7P#$D%*9PuS!Nk`*VRi`a_qc zN!hk5d6aJ)=EQ;fWKv)~oX%}&`P2F9Hxr$x04dvF4Nd-}sO!GwXXL|?oB=vHeUv>b zO@xD$1!DSiFNbiXz{Su{87C}j_v00$Rov&zSB-9XnNaUG!$iDkGhs~K&wRt9@lf1g z5av%R9%ge+1_l~F3MNI(<~_Zr5{W^GH;A^TSE9@W@xX~_Fr%zru=kc^fLHUB#gC>9 z6ecGPf53kEdQJHOD{wVrta%(7$vqqI1Tjz$0w@#qljmed;b_!=HrH7sxbUei<;LJ&PHbC!|^?W&snZtv`vQmbE-RUnM@N(-(E51*jcUljFa4dJ$`A61%f#NaTMokIIJYPoG zS00qMWJj~bYI~W#m? z$%TCzc!ZV`PHm5Ru7?9)JvUlvCWlf!a7-oTG?E!x5V-Z{MJJhBNK!B)6;oy zZoRk=HkB`fG7d-KQc}oe%PL9fg36@)`8aMgJVkRwTocyZ3ev$Z@QMlxoxY%*T=n4< zusGF6i}0C8Hw3LiXw1uB?&m+uGahBfKxRYSK3dY1ajshjlvRy4iXd+XmsxW)sPz(U zP35LaTn~&DyNcT59J1SGf(8~Ivc_>4P)sjmS_VjZb9y@zcmYc(>tV=on(zh=P>~*L zn7X+HHX@ICubvOr2zyu|vfg0kp2EgWsxu#DaG~fBN9YeNq--Pm1q!*6*RUJANUmNj z31XgBJ;>~o88vM#)pw?i>%m+~Y4U%^DZ@csN-7REqKsl484N&Zb0 z5wH+1yHY!It6b0u8kNbNfcl}kK>~+zmfZMQ;zb$sYw*wQ?Hm<{VGlL{9O5bFVSLUf zd{|V`i7Yf2NseA7GpaYJWLDPyy!LqN7W}p)Og^SO*mex4%5{Y5rF~NKjw9?u%TZn3 zp-DL@OsA&&$HkyHeK(8cZF<#eq2ajzr)9>hVY&l;H@fAmUmwGrUiFgpkUg z=SgayG|^3`E65VUand^{jz30t?USl+kSW=1XYzs#-?9Xla@%u z`CJ*7Xd|+_WysX)q2Z;G(BJn3Wl2#k1E;!8vZ$E-Nf?lIlf{9-O025So464s&0v8i zS_s290#1&j8ORWJfA`8GJ2TYIIv=} zYd{fW>TmgvbV@J_24hzkrPYnBl}>I9xm0N*zr!kq`~AINAkWU}eXAtlhWfV{=}WF3 zT)(GjGXv!&M_Z+kgyc`K4g67YGIF5k#opd78zr_pM-KjFa-BzamsVrbx;HF&Sg`KF z0^}OzLea1U)MHs$dsHqoZNAuc?$Wt;ld6~u)W}m_vO{+*8-oKgotHrx*tmo5XjDx1GRl;V!` zkM|9Jiw|ht4o~fZc1g}r#(e*L{_l1F#zyPnyUCHE!jI{`eo2C|c2{*_;<3Q#UFp|> z`pS`KexR~C?dyZ*kdhTelQ3RhQEryX%CYh#Tmr&M$-y}XW$pyor?|q7^M)_|f1vT3 zC)Cfq-$)Bot35?~w1wym>hs7Y*0C|5;6qTX>RZj#iuzj5HquKNP$p$Q%>*$4pq`Id z8_K2<9In4eN24kG&RE~8R>`!m4LnU@SZ;VJ0&DK$N^Q2w0D*eu4Ud0=Wy2}3BFZYRW*S;KiM5)?eR0JTO)UG1ee}On@ z`yjK?2g{s6gZR5z9uS9_Xg>?bJx-2lMB~ZEBDJ_1?xf{81*4JC+8Zo$$4&W3T62}3 z)I*Yvvd#(|+*)CPpDyWH~_(7B+?NwSI25&q>M9!rL#DL1_Cu(~u8r#s!)dkVgVmX^E zW_%WZXh0iR9K6nMj#QrwyywTh+d|Kp@SLbtMWFtQKM-|q&P3Ni{j22%`(^EmHp3Ie zA-K4rjzUdr0>d*%$!t0e_n=#{UTU>KB)!4@>%t!4Q5JWqM}iAZyT|rlp zgIvR&_uG5ICU3y)I3|sDeHou0Ghcex=MhLzOlW^A@zkj0kXTg=Yy_8I{Vk=3Y2EZ^ z@wMJ*)n!WKm`QMXl8Ls$tMe${7@XvNAjNLq>!o_za zlLe`+H}XLGYuGm{@h%D`1ShcvvE>mrKROrAjjXGxUFtV>_xCU)WKadv6!U=NjN?u}6!MId9gr_+xfs$d3-&uXm4*6K`CU$#h-~YCxl>3wvdQv=jme^&1)? zjletVJ}bf=qHw_tW?7w-w6R2Rp$e4_c83Z#vL|hKhI@aPKcU$Bf!S#f zfO7a)S%~UyMZvHbMRUA5A5)_!(t4xaA;e3in!~|KI<9)GVu%mNP5u@bK2!aG0PQf@ zhbtk7Wa*Uc zTMV614;i7BP}ef%;8=NQ4FoqUD;0#E!9+0BUP2+x!DhkN#@%LaMaN2yq*n8;fjDndWLS6G*`bYAj=>!F!Q7}T86zVp~x!R+&rimX0bjoxD2?|j;YVRx_ z_nOJ~$-aDh|4~X)H!l~IvCY>wBtoA2)pXf}^=us6Ko({-AgcwN{EF1%>`ThGUDT^m zTFIoemGTPsYN>h0B&PM`CsB0~+~7nz#bhc+D1ug?>oYIab8FW_Q*97l$3cG0zVDC$twE0C((44?1l-#cGf-Hqe zcRIFH_Da>&a|b@`UxCH$+74aH`#Zjl8_3|5i|Frg9UM4LMWgNDk$B)ViBR&c`d*`T zEp~9=VJf;&d*jzQ(JleWZ9 z8y}uD?CGUW(Xen-{tg0@y>xhUd9jIyrGZwD;G^4qyS#=Vmcy{|h^bq(k_IZ4F?gyN zp2-R!oro)phc3Essj$GQkfJ@6I+H6K8(El=RY{=K3G(%dljK;;K*=5=_cMn zt}EG(AzaggYm$0XyprZtc@>VzWh~E|J8aaS{e~#v6HVFp15wi39)bYvf%5R;_WaD>_~;2+&7RR`<^fQFi1KEp%En= z6{S`2o`9xbzLK~_7W?_B3U@#6McegA%6>@4tc>@?vh@oJoiwgj2&JT4TXh(V?nCJ$q-litVC=_fhkoWKg3Gl=l}oY_fX~z6tIgMUEiq5~ z(PV7x$Gj9$=`-mGE<*lCi+J$Y}*jfCsF-gv9K{elbSJCe#k`nWY{^jD@ zl{y|!_#@E1KXlG9mgz%>`LdhD+oj$+4(*cKc$dabXQJIgh@z`jP(6GrR%Rz`I4Y|d z|4FDi5@~9G(%+g$p-)-S37)oj6wTdJBH-3{zDsjD7tck%*qx?t8oQi1y z(>*?_D;g!t&`&q1OndR3>O~y^u@aVgCB27ajYBr`m9v;0Kk;(kud_sadG`yHiZ=9A zW_SSd6bDE@6Top(PHZfKxFzG<%6UINN$p>wef1NeFEe0|7#yT1tQREWmi&ej@LwMP z5cacu$F|BmhJ>h>RwbrD4o>jgme*JUIcd+?@;M69pOOmDUV}HS`Y`BMa8BH`29BAWkjdMJvv!?#az@vrJ`oCFN~WcwuIE*`{3^_7uOE zELVtajx6h$ATgSm_Jj9h40gyNs4$;sZ_AX`u&A$1X~gIch2`BUDiiLNPR}Muhs8CA zgx%pK2pY9$XkgFlKmhSIc#5|-nT7p|1!es9(@a|6sJ9<>FWNeNjF|(!&kPwm;2b`B z)D%fO)N^WS3#{;Q<^;;<{J!ljLva@#Rzf^s7&u68Zvr?`d2+cCZ*NO@;K}eRqIUt! zfMb`Yg5^dgI*KJora)qlSSc-)$H6uI=5%2};Z!s5;g_~{-E9Ihm3SoSUYsE>*N$?W>+ji}72j;VvEEYXRY z>gFv)%htr6JKYLU&q-NT7E*=>+tjRKiOS6pGxj*K(D$1*0bFnK*ZN(*sNNccZ`8#aQ0nVB2vClS6|LVvSq^qZ{6`b+C7D!dew4F0r^#|Y(542{Q|h~ z6P;ezJqMeqov)4f{WJFrB1EYRXof^>Bw<)@e2mph zR#Y6++!{$0#Z z`(`X|LXO!lzd)h5{=XM@prHmAPG}0M-~)UJApCltsT4;;qU|r_RRQA45o9DA$nBzQ zL6p|%_Yz+90X1s`+`P1MYV1gXc@)sluF z-&=K_!(gjnQfnLB%R#l!wGB;r<%vduuMHJqD{_(;+J`?RTzHa`gW&_qyqZ=r5f|66 z#+gF$xi4B4FWa|mC^3SEEQl^8Qd2zagSbi9N)6}~S8Y*0ltQyyP(E@RN?y1|xD70f z@v94|4!!ykwOky*I~mx$wY?r;bFI?IwIuliby)F1{>29>l8*_OnJ#C0Uo=ufJ81Q4 zA+KQF?3Nh!i2EuQdf0894cfEM!NZSP(8;Fr+Ol;|rU|&X29W_6*!Iv5umf1>6_5uw zo2fOmD6S;{_~2_lut{f-K8Q+4l&778?E+v|o#>+`hU(8HGPzc3HB3{Nhz`_JIwqW} zG;IbZus{6~5#Zf4&Q+rJ^8Mbly+*sG4!ay*Ju;L)y0bS)oD~n-uCcndb&yf&VDoB} z8XP~W3V6mbL@=a2U18$R2y@YyM2H6Z8eRV*>SDDhzOjV0ESoZiw>tN*sOI^u5ZT+A z79vlc<)H3`pB}afPw=oR%+}k5uJh>-KV-Vxxv~_4VUt}F)9~B-L2WyYA<0%~?pE;G z#nz2S?7~nd+J33&_0n&VCJZzU;izIVe(>VWMFAERPGB zPvb!5iP53C7TpOX!8cC{>aCrDI|LH)V#D&ZQ)+hSG)!#VUkPU_bY&Qr;+8^J3n%k! z>_4z<9qxj;-xWEi?z1|-TF>rYkB+;~Oq6P^|C4iG37U=YD9m(j19c0@b*^jC+c$1vA7uRW-Y+qZlRJ$K)9vKB6BR6z)67db7A2+%DY4XO3HKBc+N()b9 zM|StK{e_NcKg!RvAkp$tLu>^%Ba!0@#u}pj?-miyG1Hyt&f4oe**MpHkB2(br!_e~ z=Zln6xlPB+VXYlh_r#+O3ln%4>$MOk9<_Z-7Bh6|GJV3f<)m{|s?;at*u&$;trA8+ zeiR>El%lsL*$Y73VNsJ;|JEnzhm20Ljl!4WH?P~41_ZX;EYFkW0kCQywhM$r|33

EZT~mJ;$+80ku{O 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 diff --git a/jvue-front/components/Logo.vue b/jvue-front/components/Logo.vue deleted file mode 100644 index 6c72854..0000000 --- a/jvue-front/components/Logo.vue +++ /dev/null @@ -1,79 +0,0 @@ - - - diff --git a/jvue-front/components/README.md b/jvue-front/components/README.md deleted file mode 100644 index a079f10..0000000 --- a/jvue-front/components/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# COMPONENTS - -**This directory is not required, you can delete it if you don't want to use it.** - -The components directory contains your Vue.js Components. - -_Nuxt.js doesn't supercharge these components._ diff --git a/jvue-front/components/themes/default/Artalk.vue b/jvue-front/components/themes/default/Artalk.vue deleted file mode 100644 index 665ce21..0000000 --- a/jvue-front/components/themes/default/Artalk.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - diff --git a/jvue-front/components/themes/default/Aside.vue b/jvue-front/components/themes/default/Aside.vue deleted file mode 100644 index 4521f8d..0000000 --- a/jvue-front/components/themes/default/Aside.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - diff --git a/jvue-front/components/themes/default/Body.vue b/jvue-front/components/themes/default/Body.vue deleted file mode 100644 index 3bb1377..0000000 --- a/jvue-front/components/themes/default/Body.vue +++ /dev/null @@ -1,94 +0,0 @@ - - - - - diff --git a/jvue-front/components/themes/default/Footer.vue b/jvue-front/components/themes/default/Footer.vue deleted file mode 100644 index 84aa033..0000000 --- a/jvue-front/components/themes/default/Footer.vue +++ /dev/null @@ -1,179 +0,0 @@ - - - - - diff --git a/jvue-front/components/themes/default/FriendLink.vue b/jvue-front/components/themes/default/FriendLink.vue deleted file mode 100644 index bcc9df1..0000000 --- a/jvue-front/components/themes/default/FriendLink.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/jvue-front/components/themes/default/Header.vue b/jvue-front/components/themes/default/Header.vue deleted file mode 100644 index c0a13cf..0000000 --- a/jvue-front/components/themes/default/Header.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/jvue-front/components/themes/default/HeaderMenu.vue b/jvue-front/components/themes/default/HeaderMenu.vue deleted file mode 100644 index 62c9cf9..0000000 --- a/jvue-front/components/themes/default/HeaderMenu.vue +++ /dev/null @@ -1,124 +0,0 @@ - - - - - diff --git a/jvue-front/components/themes/default/HeaderTime.vue b/jvue-front/components/themes/default/HeaderTime.vue deleted file mode 100644 index 740464a..0000000 --- a/jvue-front/components/themes/default/HeaderTime.vue +++ /dev/null @@ -1,56 +0,0 @@ - - - - - diff --git a/jvue-front/components/themes/default/PostList.vue b/jvue-front/components/themes/default/PostList.vue deleted file mode 100644 index d47d49d..0000000 --- a/jvue-front/components/themes/default/PostList.vue +++ /dev/null @@ -1,151 +0,0 @@ - - - - - diff --git a/jvue-front/layouts/README.md b/jvue-front/layouts/README.md deleted file mode 100644 index cad1ad5..0000000 --- a/jvue-front/layouts/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# LAYOUTS - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your Application Layouts. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts). diff --git a/jvue-front/layouts/default.vue b/jvue-front/layouts/default.vue deleted file mode 100644 index 9ba9597..0000000 --- a/jvue-front/layouts/default.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - diff --git a/jvue-front/middleware/README.md b/jvue-front/middleware/README.md deleted file mode 100644 index 01595de..0000000 --- a/jvue-front/middleware/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# MIDDLEWARE - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your application middleware. -Middleware let you define custom functions that can be run before rendering either a page or a group of pages. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware). diff --git a/jvue-front/nuxt.config.js b/jvue-front/nuxt.config.js deleted file mode 100644 index e3cf191..0000000 --- a/jvue-front/nuxt.config.js +++ /dev/null @@ -1,91 +0,0 @@ -const pkg = require("./package"); - -const development = process.env.NODE_ENV !== "production"; - -module.exports = { - debug: true, - mode: "universal", - telemetry: false, - - /* - ** Headers of the page - */ - head: { - title: pkg.name, - meta: [ - { charset: "utf-8" }, - { name: "viewport", content: "width=device-width, initial-scale=1" }, - { hid: "description", name: "description", content: pkg.description } - ], - link: [{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" }] - }, - - /* - ** Customize the progress-bar color - */ - loading: { color: "#fff" }, - - /* - ** Global CSS - */ - css: [], - - /* - ** Plugins to load before mounting the App - */ - plugins: [ - "~/plugins/axios", - "~plugins/element-ui", - { - src: "@/plugins/font-awesome", - ssr: false // 只在客户端打包 - }, - { - src: "~/plugins/vue-hljs", - ssr: false // 只在客户端打包 - }, - { - src: "~/plugins/baidu-tongji", - ssr: false // 只在客户端打包 - } - ], - - /* - ** Nuxt.js modules - */ - modules: [ - // Doc: https://axios.nuxtjs.org/usage - "@nuxtjs/axios" - ], - /* - ** Axios module configuration - */ - axios: { - // See https://github.com/nuxt-community/axios-module#options - baseURL: development - ? "http://localhost:8002/api" - : "https://v4.terwergreen.com:8002/api" - }, - - /* - ** Build configuration - */ - build: { - transpile: [/^element-ui/], - - /* - ** You can extend webpack config here - */ - extend(config, ctx) { - // Run ESLint on save - if (ctx.isDev && ctx.isClient) { - config.module.rules.push({ - enforce: "pre", - test: /\.(js|vue)$/, - loader: "eslint-loader", - exclude: /(node_modules)/ - }); - } - } - } -}; diff --git a/jvue-front/package.json b/jvue-front/package.json deleted file mode 100644 index 9ed67a1..0000000 --- a/jvue-front/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "bugucms-front", - "version": "4.0.0", - "description": "Front module for jvue", - "author": "terwer", - "private": true, - "scripts": { - "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server", - "build": "nuxt build", - "start": "nuxt build && cross-env NODE_ENV=production node server/index.js", - "generate": "nuxt generate", - "lint": "eslint --ext .js,.vue --ignore-path .gitignore --ignore-pattern !.eslintrc.js --fix ." - }, - "dependencies": { - "@nuxtjs/axios": "^5.3.6", - "artalk": "^2.3.4", - "cross-env": "^5.2.0", - "element-ui": "2.4.11", - "express": "^4.16.4", - "font-awesome": "^4.7.0", - "highlight.js": "^11.6.0", - "nuxt": "^2.15.8" - }, - "devDependencies": { - "@nuxt/types": "^2.15.8", - "@nuxtjs/eslint-config": "^0.0.1", - "@vue/eslint-config-prettier": "^4.0.1", - "babel-eslint": "^10.0.1", - "eslint": "^7.8.1", - "eslint-config-prettier": "^4.1.0", - "eslint-config-standard": ">=12.0.0", - "eslint-loader": "^2.1.2", - "eslint-plugin-import": ">=2.16.0", - "eslint-plugin-jest": ">=22.3.0", - "eslint-plugin-n": "^15.2.3", - "eslint-plugin-node": ">=8.0.1", - "eslint-plugin-nuxt": ">=0.4.2", - "eslint-plugin-prettier": "^3.0.1", - "eslint-plugin-promise": ">=4.0.1", - "eslint-plugin-standard": ">=4.0.0", - "eslint-plugin-vue": "^7.0.0", - "node-sass": "^6.0.1", - "nodemon": "^1.18.9", - "prettier": "^1.16.4", - "qs": "^6.6.0", - "sass-loader": "^10.3.1" - }, - "config": { - "nuxt": { - "host": "0.0.0.0", - "port": "3000" - } - } -} diff --git a/jvue-front/pages/README.md b/jvue-front/pages/README.md deleted file mode 100644 index 1d5d48b..0000000 --- a/jvue-front/pages/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# PAGES - -This directory contains your Application Views and Routes. -The framework reads all the `*.vue` files inside this directory and creates the router of your application. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing). diff --git a/jvue-front/pages/about.vue b/jvue-front/pages/about.vue deleted file mode 100644 index 66db441..0000000 --- a/jvue-front/pages/about.vue +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - diff --git a/jvue-front/pages/common.css b/jvue-front/pages/common.css deleted file mode 100644 index 538584d..0000000 --- a/jvue-front/pages/common.css +++ /dev/null @@ -1,88 +0,0 @@ -/** -* 所有主题公共样式 -* 注意:每个主题都要引用这个样式 -*/ -body { - font-family: "LXGW WenKai","Wenquanyi Micro Hei","Wenquanyi Micro Hei Mono","Microsoft YaHei", "PT Sans", "-apple-system", "Liberation Mono", monospace, dejavu sans mono,Fira Code,Microsoft Yahei,Consolas,Courier New,monospace,Menlo,Monaco !important; - color: #666 !important; -} -body, -* { - box-sizing: border-box; -} -body a { - text-decoration: none; - color: #00a4ff; -} -body a:hover { - color: orangered; -} -.el-header, -.el-footer { - background-color: #fff; - color: #333; - line-height: 60px; - padding: 0; - height: auto !important; -} -.el-main { - background-color: #fff; - color: #333; - text-align: left; - line-height: 45px; - padding: 0 !important; - overflow: hidden; -} -body > .el-container { - margin-bottom: 40px; -} -.hide { - display: none; -} -/*! -* 遮罩层 -*/ -.mask { - position: fixed; - top: 0; - right: 0; - left: 0; - bottom: 0; - background: rgba(0, 0, 0, 0.6); - z-index: 999999; -} -.text-center { - text-align: center; -} -/*! -* element-ui 覆盖样式 -*/ -.el-menu{ - background-color: transparent; -} - -/* 代码块 */ -code-group{ -} -code-group code-block{ - display: none; -} -code-group code-block[active]{ - display: block; -} -.code-tab{ - list-style: none; - padding: 0; - margin: 0; -} -.code-tab-item{ - cursor: pointer; - list-style: none; - display: inline-block; - min-width: 60px; - text-align: center; -} -.code-tab .current{ - background: #f5f5f5; - padding: 5px 0; -} diff --git a/jvue-front/pages/default.css b/jvue-front/pages/default.css deleted file mode 100644 index 83db088..0000000 --- a/jvue-front/pages/default.css +++ /dev/null @@ -1,47 +0,0 @@ -/*! - * Theme Name: terwer - * Theme URL: https://github.com/terwer - * Description: 本主题是一款适合博客、新闻资讯、自媒体的主题模板。基于bootstrap响应式布局,自适应PC、手机、平板等多种设备浏览。包含普通文章、专题、视频、图集、下载五中文章类型,多种文章页模板。自带前端用户中心,前端登录注册、资料编辑、投稿、文章编辑、评论管理、收藏管理、用户关注一应俱全。文章列表及评论列表AJAX加载。视频支持本地上传、视频链接及视频平台视频。 - * Author: 倚楼听雨 - * Author URI: https://github.com/terwer - * Tags:blog - * Version: 1.0 - */ -/*! - * 自定义默认主题 - * css名称必须有default关键字 - */ -.post-list-title h2{ - color: #000000; -} -.post-list-title h2:hover{ - color: #409EFF; -} -.aside-link h2{ - color: #000000; -} -.aside-link h2:hover{ - color: #409EFF; -} -/* 加载更多 */ -.loadmore-default { - padding: 0; - border-radius: 4px; - border: 1px solid #EBEEF5; - overflow: hidden; - background: #fff; - text-align: center; -} -.loadmore-default a { - color: #303133; - text-decoration: none; - display: block; - padding: 0; - text-align: center; - font-size: 14px; - background: #fff; -} -.loadmore-default a:hover { - color: #409EFF; - background-color: rgba(153, 153, 153, 0.17); -} diff --git a/jvue-front/pages/default.vue b/jvue-front/pages/default.vue deleted file mode 100644 index 3f1976d..0000000 --- a/jvue-front/pages/default.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - - - diff --git a/jvue-front/pages/essay.css b/jvue-front/pages/essay.css deleted file mode 100644 index 85d657f..0000000 --- a/jvue-front/pages/essay.css +++ /dev/null @@ -1,64 +0,0 @@ -/** - @Name: default - @Author: terwer - @Copyright: terwergreen.com - */ -/* =========== - 工具样式 - =========== */ -.pull-right{ - float: right !important; -} - -.pull-left{ - float: left !important; -} - -/* 辅助 */ -.lay-blog .container .count .layblog-this{color: #FF5722 !important;} - -/* start container */ -.lay-blog .container-wrap{margin:0px auto 0;min-height:100%;padding:40px 0 160px 0;box-sizing: border-box;} -.lay-blog .container{width:1200px;margin:0 auto;} -.lay-blog .container h4{font-weight:bold;line-height:32px;font-size:16px;} -.lay-blog .container h4 p{padding-left:40px;color:#666666;} -.lay-blog .container h4 p i{font-size:26px;padding-right:10px;position:relative;top:3px;} -.lay-blog .container .item{margin-bottom: 15px; background: #fff; padding-top: 20px;} -.lay-blog .container .item .item-box{padding:0 35px 24px;font-size:14px;} -.lay-blog .container .item h3{line-height:36px;font-size:20px;} -.lay-blog .container .item h5{line-height: 38px;color:#a5a5a5;} -.lay-blog .container .item p{line-height:30px; padding-bottom: 10px;} -.lay-blog .container .item .comment{width: 100%; line-height: 56px; background: #f9f9f9; font-size: 14px; overflow:hidden;} -.lay-blog .container .item .comment a{display:inline-block;width:50%;text-align:center;float: left;} -.lay-blog .container .item .comment a+a{border-left:1px solid #efefef;margin-left:-1px;} -.lay-blog .container .item-btn{text-align:center;/*margin-top:20px;*/} - - -@media only screen and (max-width: 750px) { - .lay-blog .container{width:100%; margin: 0 auto 70px;} - .lay-blog .container .contar-wrap{padding: 0 10px 10px;} - - .lay-blog .container-wrap{padding-top: 20px;} -} -/* end container */ - -/* start message*/ -.container-message textarea{ - font-size:14px; - width: 100%; - height: 105px; - margin: auto; -} -.lay-blog .container-message .item-btn{ - text-align: right; -} -.lay-blog .container-message .item-btn{/*margin-bottom: 50px;*/} -.lay-blog .container-message .info-item{font-size:14px;margin-bottom: 16px;clear: both;} -.lay-blog .container-message .info-img{cursor: pointer;float: left;padding-right:20px;width: 50px; margin-top: 20px;margin-left: 20px;} -.lay-blog .container-message .info-text{padding-left: 60px;border: solid 1px #ffffff;border-radius: 4px;} -.lay-blog .container-message .title{overflow:hidden;} -.lay-blog .container-message .title .name{float: left; display: block; line-height: 38px; color:#787878;} -.info-intr{padding-left: 10px;line-height: 24px;margin-bottom: 5px;} -.lay-blog .container-message .title .info-img{float: right;color:#4b5a75; width: auto;} -.lay-blog .container-message .title .info-img i{font-size: 24px;padding-right: 5px;position: relative;top: 4px;} -.lay-blog .container-message .paging{text-align:center;} diff --git a/jvue-front/pages/essay/index.vue b/jvue-front/pages/essay/index.vue deleted file mode 100644 index d263c61..0000000 --- a/jvue-front/pages/essay/index.vue +++ /dev/null @@ -1,278 +0,0 @@ - - - - - diff --git a/jvue-front/pages/index.vue b/jvue-front/pages/index.vue deleted file mode 100644 index fb0d7ce..0000000 --- a/jvue-front/pages/index.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - - - diff --git a/jvue-front/pages/note.vue b/jvue-front/pages/note.vue deleted file mode 100644 index e3b63aa..0000000 --- a/jvue-front/pages/note.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - - - diff --git a/jvue-front/pages/post/_id.vue b/jvue-front/pages/post/_id.vue deleted file mode 100644 index bea9458..0000000 --- a/jvue-front/pages/post/_id.vue +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - diff --git a/jvue-front/pages/s/_keyword.vue b/jvue-front/pages/s/_keyword.vue deleted file mode 100644 index 2fbfde2..0000000 --- a/jvue-front/pages/s/_keyword.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - diff --git a/jvue-front/pages/tag/_tag.vue b/jvue-front/pages/tag/_tag.vue deleted file mode 100644 index 5a77944..0000000 --- a/jvue-front/pages/tag/_tag.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - diff --git a/jvue-front/plugins/README.md b/jvue-front/plugins/README.md deleted file mode 100644 index ca1f9d8..0000000 --- a/jvue-front/plugins/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# PLUGINS - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains Javascript plugins that you want to run before mounting the root Vue.js application. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins). diff --git a/jvue-front/plugins/axios.js b/jvue-front/plugins/axios.js deleted file mode 100644 index 643f727..0000000 --- a/jvue-front/plugins/axios.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * axios - * - *@author Terwer - *@version 1.0 - *2019/3/19 16:39 - **/ -import qs from "qs"; -import { getLogger } from "../util/logger"; -const logger = getLogger("plugins/axios"); - -export default function({ $axios, redirect }) { - $axios.onRequest(config => { - const url = config.baseURL + config.url; - logger.info("url=>" + url); - - const headers = config.headers || {}; - config.headers = Object.assign(headers, { - "content-type": "application/x-www-form-urlencoded" - }); - logger.info("headers=>" + qs.stringify(config.headers)); - - const params = config.data || {}; - config.data = qs.stringify(params); - logger.info("params=>" + config.data); - }); - - $axios.onError(error => { - const code = parseInt(error.response && error.response.status); - if (code === 400) { - console.error("400"); - // redirect("/400"); - } else if (code === 500) { - console.error("500"); - // redirect("/sorry"); - } - console.error("axios error=>", error); - }); -} diff --git a/jvue-front/plugins/baidu-tongji.js b/jvue-front/plugins/baidu-tongji.js deleted file mode 100644 index 25bc4bb..0000000 --- a/jvue-front/plugins/baidu-tongji.js +++ /dev/null @@ -1,21 +0,0 @@ -// eslint-disable-next-line no-use-before-define,no-var -var _hmt = _hmt || []; -(function() { - const hm = document.createElement("script"); - hm.src = "https://hm.baidu.com/hm.js?8cf152054e4b32b33cbc68fef515bbb5"; - hm.id = "baidu_tj"; - const s = document.getElementsByTagName("script")[0]; - s.parentNode.insertBefore(hm, s); -})(); - -console.log("Register baidutongji success"); - -export default ({ app: { router }, store }) => { - router.afterEach((to, from) => { - try { - window._hmt = window._hmt || []; - window._hmt.push(["_trackPageview", to.fullPath]); - console.log("百度统计上报,to=>", to); - } catch (e) {} - }); -}; diff --git a/jvue-front/plugins/element-ui.js b/jvue-front/plugins/element-ui.js deleted file mode 100644 index 864b00d..0000000 --- a/jvue-front/plugins/element-ui.js +++ /dev/null @@ -1,11 +0,0 @@ -import Vue from "vue"; -import Element from "element-ui"; -import locale from "element-ui/lib/locale/lang/zh-CN"; -import { getLogger } from "../util/logger"; -import "element-ui/lib/theme-chalk/index.css"; -const logger = getLogger("element-ui"); - -export default () => { - Vue.use(Element, { locale }); - logger.info("Register element-ui success"); -}; diff --git a/jvue-front/plugins/font-awesome.js b/jvue-front/plugins/font-awesome.js deleted file mode 100644 index 2a1d655..0000000 --- a/jvue-front/plugins/font-awesome.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * font-awesome - * - *@author Terwer - *@version 1.0 - *2019/3/20 14:27 - **/ -import "font-awesome/css/font-awesome.min.css"; diff --git a/jvue-front/plugins/lib/codecopy/codecopy.css b/jvue-front/plugins/lib/codecopy/codecopy.css deleted file mode 100644 index 9208d60..0000000 --- a/jvue-front/plugins/lib/codecopy/codecopy.css +++ /dev/null @@ -1,54 +0,0 @@ -.hljs-copy-wrapper { - position: relative; - overflow: hidden; -} -.hljs-copy-wrapper:hover .hljs-copy-button, -.hljs-copy-button:focus { - transform: translateX(0); -} -.hljs-copy-button { - position: absolute; - transform: translateX(calc(100% + 1.125em)); - top: 1em; - right: 1em; - width: 2rem; - height: 2rem; - text-indent: -9999px; /* Hide the inner text */ - color: #fff; - border-radius: 0.25rem; - border: 1px solid #ffffff22; - /*background-color: #2d2b57;*/ - background-color: #0d6efd; - background-image: url('data:image/svg+xml;utf-8,'); - background-repeat: no-repeat; - background-position: center; - transition: background-color 200ms ease, transform 200ms ease-out; - cursor: pointer; -} -.hljs-copy-button:hover { - border-color: #ffffff44; -} -.hljs-copy-button:active { - border-color: #ffffff66; -} -.hljs-copy-button[data-copied="true"] { - text-indent: 0px; /* Shows the inner text */ - width: auto; - background-image: none; -} -@media (prefers-reduced-motion) { - .hljs-copy-button { - transition: none; - } -} - -/* visually-hidden */ -.hljs-copy-alert { - clip: rect(0 0 0 0); - clip-path: inset(50%); - height: 1px; - overflow: hidden; - position: absolute; - white-space: nowrap; - width: 1px; -} diff --git a/jvue-front/plugins/lib/codecopy/index.js b/jvue-front/plugins/lib/codecopy/index.js deleted file mode 100644 index 614a6e6..0000000 --- a/jvue-front/plugins/lib/codecopy/index.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * @file highlight-copy.js - * @author Arron Hunt - * @copyright Copyright 2021. All rights reserved. - */ - -/** - * Adds a copy button to highlightjs code blocks - */ -export class CopyButtonPlugin { - /** - * Create a new CopyButtonPlugin class instance - * @param {Object} [options] - Functions that will be called when a copy event fires - * @param {CopyCallback} [options.callback] - * @param {Hook} [options.hook] - */ - constructor(options = {}) { - // @ts-ignore - self.hook = options.hook; - // @ts-ignore - self.callback = options.callback; - } - - // @ts-ignore - "after:highlightElement"({ el, text }) { - // Create the copy button and append it to the codeblock. - const button = Object.assign(document.createElement("button"), { - innerHTML: "Copy", - className: "hljs-copy-button" - }); - // @ts-ignore - button.dataset.copied = false; - el.parentElement.classList.add("hljs-copy-wrapper"); - el.parentElement.appendChild(button); - - // Add a custom proprety to the code block so that the copy button can reference and match its background-color value. - el.parentElement.style.setProperty( - "--hljs-theme-background", - window.getComputedStyle(el).backgroundColor - ); - - button.onclick = function() { - if (!navigator.clipboard) return; - - let newText = text; - // @ts-ignore - // eslint-disable-next-line no-undef - if (hook && typeof hook === "function") { - // @ts-ignore - // eslint-disable-next-line no-undef - newText = hook(text, el) || text; - } - - navigator.clipboard - .writeText(newText) - .then(function() { - button.innerHTML = "复制成功"; - // @ts-ignore - button.dataset.copied = true; - - let alert = Object.assign(document.createElement("div"), { - role: "status", - className: "hljs-copy-alert", - innerHTML: "复制到剪贴板" - }); - el.parentElement.appendChild(alert); - - setTimeout(() => { - button.innerHTML = "Copy"; - // @ts-ignore - button.dataset.copied = false; - el.parentElement.removeChild(alert); - // @ts-ignore - alert = null; - }, 2000); - }) - .then(function() { - // @ts-ignore - // eslint-disable-next-line no-undef - if (typeof callback === "function") return callback(newText, el); - }); - }; - } -} - -/** - * @typedef {function} CopyCallback - * @param {string} text - The raw text copied to the clipboard. - * @param {HTMLElement} el - The code block element that was copied from. - * @returns {undefined} - */ -/** - * @typedef {function} Hook - * @param {string} text - The raw text copied to the clipboard. - * @param {HTMLElement} el - The code block element that was copied from. - * @returns {string|undefined} - */ diff --git a/jvue-front/plugins/lib/vue-hljs/main.js b/jvue-front/plugins/lib/vue-hljs/main.js deleted file mode 100644 index d971031..0000000 --- a/jvue-front/plugins/lib/vue-hljs/main.js +++ /dev/null @@ -1,80 +0,0 @@ -import Hljs from "highlight.js"; -import { CopyButtonPlugin } from "../codecopy"; -import "../codecopy/codecopy.css"; - -const vueHljs = {}; - -vueHljs.install = Vue => { - // 代码复制 - Hljs.addPlugin( - // @ts-ignore - new CopyButtonPlugin({ - // callback: (text:any, el:any) => console.log("Copied to clipboard", text), - }) - ); - - Vue.directive("highlight", el => { - const blocks = el.querySelectorAll("pre code"); - Array.prototype.forEach.call(blocks, Hljs.highlightBlock); - - // 代码选项卡 - // 代码块 - const codeGroups = el.querySelectorAll("code-group"); - // 处理每个代码块 - codeGroups.forEach(group => { - // 防止重复添加 - if (group.getElementsByTagName("ul").length === 0) { - const newNode = document.createElement("ul"); - newNode.setAttribute("class", "code-tab"); - - const codeBlocks = group.querySelectorAll("code-block"); - codeBlocks.forEach(block => { - const title = block.attributes.getNamedItem("title")?.value; - const active = block.attributes.getNamedItem("active")?.value; - const isActive = active !== undefined; - // console.log(block.attributes.length) - // console.log(title) - // console.log(isActive) - - const item = document.createElement("li"); - item.setAttribute( - "class", - isActive ? "code-tab-item current" : "code-tab-item" - ); - item.innerHTML = title || ""; - item.addEventListener("click", function(event) { - const targetElement = event.target; - // 选择状态 - // console.log(codeBlocks[0].innerHTML) - const allLis = targetElement.parentElement.querySelectorAll("li"); - allLis.forEach(li => { - li.setAttribute("class", "code-tab-item"); - }); - targetElement.setAttribute("class", "code-tab-item current"); - - // 设置tab - codeBlocks.forEach(cb => { - if ( - cb.attributes.getNamedItem("title")?.value === - targetElement.innerHTML - ) { - cb.setAttribute("active", ""); - } else { - cb.removeAttribute("active"); - } - }); - // console.log(targetElement.innerHTML); - }); - - newNode.append(item); - }); - - const firstBlock = codeBlocks[0]; - firstBlock?.parentNode?.insertBefore(newNode, firstBlock); - // console.log("tab") - } - }); - }); -}; - -export default vueHljs; diff --git a/jvue-front/plugins/lib/vue-hljs/vs.css b/jvue-front/plugins/lib/vue-hljs/vs.css deleted file mode 100644 index 50897d3..0000000 --- a/jvue-front/plugins/lib/vue-hljs/vs.css +++ /dev/null @@ -1,52 +0,0 @@ -code{ - font-family: "LXGW WenKai","Wenquanyi Micro Hei","Wenquanyi Micro Hei Mono","Microsoft YaHei", "PT Sans", "-apple-system", "Liberation Mono", monospace, dejavu sans mono,Fira Code,Microsoft Yahei,Consolas,Courier New,monospace,Menlo,Monaco !important; - font-size: 14px; color: red; -} -.hljs { - font-family: "LXGW WenKai","Wenquanyi Micro Hei","Wenquanyi Micro Hei Mono","Microsoft YaHei", "PT Sans", "-apple-system", "Liberation Mono", monospace, dejavu sans mono,Fira Code,Microsoft Yahei,Consolas,Courier New,monospace,Menlo,Monaco !important; - font-size: 14px; - display: block; - overflow-x: auto; - padding: .5em; - line-height: 1.6; - color: black; - background-color: #f5f5f5!important; - /*border: 1px solid #ccc!important;*/ - border-radius: 3px!important; -} - -.hljs-comment, .hljs-quote, .hljs-variable { - color: #008000 -} - -.hljs-keyword, .hljs-selector-tag, .hljs-built_in, .hljs-name, .hljs-tag { - color: #00f -} - -.hljs-string, .hljs-title, .hljs-section, .hljs-attribute, .hljs-literal, .hljs-template-tag, .hljs-template-variable, .hljs-type, .hljs-addition { - color: #a31515 -} - -.hljs-deletion, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-meta { - color: #2b91af -} - -.hljs-doctag { - color: #808080 -} - -.hljs-attr { - color: #f00 -} - -.hljs-symbol, .hljs-bullet, .hljs-link { - color: #00b0e8 -} - -.hljs-emphasis { - font-style: italic -} - -.hljs-strong { - font-weight: bold -} diff --git a/jvue-front/plugins/lib/vue-hljs/vs2015.css b/jvue-front/plugins/lib/vue-hljs/vs2015.css deleted file mode 100644 index f6a1f38..0000000 --- a/jvue-front/plugins/lib/vue-hljs/vs2015.css +++ /dev/null @@ -1,95 +0,0 @@ -code{ - font-family: "LXGW WenKai","Wenquanyi Micro Hei","Wenquanyi Micro Hei Mono","Microsoft YaHei", "PT Sans", "-apple-system", "Liberation Mono", monospace, dejavu sans mono,Fira Code,Microsoft Yahei,Consolas,Courier New,monospace,Menlo,Monaco !important; - color: #D69D85; - font-size: 14px; -} -.hljs { - font-family: "LXGW WenKai","Wenquanyi Micro Hei","Wenquanyi Micro Hei Mono","Microsoft YaHei", "PT Sans", "-apple-system", "Liberation Mono", monospace, dejavu sans mono,Fira Code,Microsoft Yahei,Consolas,Courier New,monospace,Menlo,Monaco !important; - font-size: 14px; - display: block; - overflow-x: auto; - padding: .5em; - background: #181818; - color: #DCDCDC; - border: solid 1px #181818; - border-radius: 5px; - line-height: 1.6; -} - -.hljs-keyword, .hljs-literal, .hljs-symbol, .hljs-name { - color: #569CD6 -} - -.hljs-link { - color: #569CD6; - text-decoration: underline -} - -.hljs-built_in, .hljs-type { - color: #4EC9B0 -} - -.hljs-number, .hljs-class { - color: #B8D7A3 -} - -.hljs-string, .hljs-meta-string { - color: #D69D85 -} - -.hljs-regexp, .hljs-template-tag { - color: #9A5334 -} - -.hljs-subst, .hljs-function, .hljs-title, .hljs-params, .hljs-formula { - color: #DCDCDC -} - -.hljs-comment, .hljs-quote { - color: #57A64A; - font-style: italic -} - -.hljs-doctag { - color: #608B4E -} - -.hljs-meta, .hljs-meta-keyword, .hljs-tag { - color: #9B9B9B -} - -.hljs-variable, .hljs-template-variable { - color: #BD63C5 -} - -.hljs-attr, .hljs-attribute, .hljs-builtin-name { - color: #9CDCFE -} - -.hljs-section { - color: gold -} - -.hljs-emphasis { - font-style: italic -} - -.hljs-strong { - font-weight: bold -} - -.hljs-bullet, .hljs-selector-tag, .hljs-selector-id, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo { - color: #D7BA7D -} - -.hljs-addition { - background-color: #144212; - display: inline-block; - width: 100% -} - -.hljs-deletion { - background-color: #600; - display: inline-block; - width: 100% -} diff --git a/jvue-front/plugins/vue-hljs.js b/jvue-front/plugins/vue-hljs.js deleted file mode 100644 index 90e4f6c..0000000 --- a/jvue-front/plugins/vue-hljs.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * vue-hljs - * - *@author Terwer - *@version 1.0 - *2019/3/21 12:02 - **/ -import Vue from "vue"; -import { getLogger } from "../util/logger"; -import vueHljs from "./lib/vue-hljs/main"; -const logger = getLogger("plugins/vue-hljs"); - -Vue.use(vueHljs); -logger.debug("Register vue-hljs success"); diff --git a/jvue-front/server/index.js b/jvue-front/server/index.js deleted file mode 100644 index 8986810..0000000 --- a/jvue-front/server/index.js +++ /dev/null @@ -1,34 +0,0 @@ -const express = require("express"); -const consola = require("consola"); -const { Nuxt, Builder } = require("nuxt"); -const app = express(); - -// Import and Set Nuxt.js options -const config = require("../nuxt.config.js"); -config.dev = !(process.env.NODE_ENV === "production"); - -async function start() { - // Init Nuxt.js - const nuxt = new Nuxt(config); - - const { host, port } = nuxt.options.server; - - // Build only in dev mode - if (config.dev) { - const builder = new Builder(nuxt); - await builder.build(); - } else { - await nuxt.ready(); - } - - // Give nuxt middleware to express - app.use(nuxt.render); - - // Listen the server - app.listen(port, host); - consola.ready({ - message: `Front module is running on http://${host}:${port} ...`, - badge: true - }); -} -start(); diff --git a/jvue-front/static/README.md b/jvue-front/static/README.md deleted file mode 100644 index cf00435..0000000 --- a/jvue-front/static/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# STATIC - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your static files. -Each file inside this directory is mapped to `/`. -Thus you'd want to delete this README.md before deploying to production. - -Example: `/static/robots.txt` is mapped as `/robots.txt`. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static). diff --git a/jvue-front/static/favicon.ico b/jvue-front/static/favicon.ico deleted file mode 100644 index a76ddd3a3bb7f08222fec3ab70d2c2559d2bab49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmeI0TTE0}6oyZm-fdFb^p-Yhcxp}h(Db26(>}BhHEGhPKG%o#q4uWsVyv1}R766d zw1S`*5w#;QfHnyve>Pe;db3r8Cr9BH-Ccxe_FMuspk(+Ni(K!a_hxSx_;L|&NeJU5y0 z;xOwW`(eSklkLn1bRRVlDD+TV5=VYj9JwtH3c4aVbR&fBXc-LAiV5b|Ku(L}VA9qx zYv~BE9<_`qzLqswDBq*cok0_o8$IkS@KJa$j+~|hvO8Vm-H0F%ZO35j7<_Y*&(<(b z4^FZUvj1d1xMX^aOxUvCV;wqb*19Oq_OWAE9C<$_@XeV7He7YFH5$bcwHKOxi!43G z+)BScqyKx{cxo?X!cBYRGxv@%3zcg;?8@`;T_tlrp2WtU1lEn&D2YWd!oK#I=g-Vn za%JCt%xGo}Zig-Blgqld7TT!z!b9n|aTEj+*xZ`Ly8Z<6CM{eRu@qy9wcf%WmuwkZ z=)oB4aJziz!<7aT2U+_P);_-~fo-7#%7;A+s5%TI2GtnFj5&p3FM%~==ab#bzE69Y z>FQ1j&P~RIhHGaHgqkh1owITFnuUwwCYqu;s>CRo^ftuw>zH7^VMf#(<&2ogoX_*o z=n=TQQlMuwUtgV@F_QxtLMKe@YhvGB@bUGCjm_!=g8C))-z2?`LDxGlF7_a%^{4hi zCb=icpKcHcuMn817l@n{XfM)H`MHULO%68i^|7JF$GScb8zKTVv0Jb>SBLa|v}-ju zCW5#a>*ao2_+C%zmFKfHB+yqXaCo_ny{{W6eb+?MY6sg3JY?7SSRbN>K^KjzPfu(H z{C8YTr*KRVj}ydK+bRsIRgUw!aB5AW-~{6aD6ZHenz0`QGvj-)Ub>mylP-NuY-@Ls&$)cM$3Wazxc{>DI`ucdqN4hK#v|15gusu_ zY1scFHM};bA?3pw2ghnG3=J44uXgeMe(DLh_~oPtlXD}Zy-)9l$^`0{s0fl@!?k*; zz@ew8fwhntD(J)RO6AJm%_wKqJFPM4a^7ts`)W8@3*$>UjITKD&bEY2u4LikW z|H*mR_J)dj`d`aB1gWErdX7G?qU$RG5ndejd>^#S0t0y}E`C5J`{C*j0<-7%HyF?3 h#mIX;JMDv9Q#{#M^hL&B@B9D#zu%Me{{imQ`UktJvi1M~ diff --git a/jvue-front/static/google66cd66cd747092f4.html b/jvue-front/static/google66cd66cd747092f4.html deleted file mode 100644 index 3139024..0000000 --- a/jvue-front/static/google66cd66cd747092f4.html +++ /dev/null @@ -1 +0,0 @@ -google-site-verification: google66cd66cd747092f4.html \ No newline at end of file diff --git a/jvue-front/store/README.md b/jvue-front/store/README.md deleted file mode 100644 index 1972d27..0000000 --- a/jvue-front/store/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# STORE - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your Vuex Store files. -Vuex Store option is implemented in the Nuxt.js framework. - -Creating a file in this directory automatically activates the option in the framework. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store). diff --git a/jvue-front/util/Calendar.js b/jvue-front/util/Calendar.js deleted file mode 100644 index 2926688..0000000 --- a/jvue-front/util/Calendar.js +++ /dev/null @@ -1,1027 +0,0 @@ -/** - * Calendar.js - * - *@author Terwer - *@version 1.0 - *2019/2/28 9:47 - **/ -/** - * @1900-2100区间内的公历、农历互转 - * @charset UTF-8 - * @Author Jea杨(JJonline@JJonline.Cn) - * @Time 2014-7-21 - * @Time 2016-8-13 Fixed 2033hex、Attribution Annals - * @Time 2016-9-25 Fixed lunar LeapMonth Param Bug - * @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year - * @Version 1.0.3 - * @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] - * @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] - */ -const calendar = { - /** - * 农历1900-2100的润大小信息表 - * @Array Of Property - * @return Hex - */ - lunarInfo: [ - 0x04bd8, - 0x04ae0, - 0x0a570, - 0x054d5, - 0x0d260, - 0x0d950, - 0x16554, - 0x056a0, - 0x09ad0, - 0x055d2, // 1900-1909 - 0x04ae0, - 0x0a5b6, - 0x0a4d0, - 0x0d250, - 0x1d255, - 0x0b540, - 0x0d6a0, - 0x0ada2, - 0x095b0, - 0x14977, // 1910-1919 - 0x04970, - 0x0a4b0, - 0x0b4b5, - 0x06a50, - 0x06d40, - 0x1ab54, - 0x02b60, - 0x09570, - 0x052f2, - 0x04970, // 1920-1929 - 0x06566, - 0x0d4a0, - 0x0ea50, - 0x06e95, - 0x05ad0, - 0x02b60, - 0x186e3, - 0x092e0, - 0x1c8d7, - 0x0c950, // 1930-1939 - 0x0d4a0, - 0x1d8a6, - 0x0b550, - 0x056a0, - 0x1a5b4, - 0x025d0, - 0x092d0, - 0x0d2b2, - 0x0a950, - 0x0b557, // 1940-1949 - 0x06ca0, - 0x0b550, - 0x15355, - 0x04da0, - 0x0a5b0, - 0x14573, - 0x052b0, - 0x0a9a8, - 0x0e950, - 0x06aa0, // 1950-1959 - 0x0aea6, - 0x0ab50, - 0x04b60, - 0x0aae4, - 0x0a570, - 0x05260, - 0x0f263, - 0x0d950, - 0x05b57, - 0x056a0, // 1960-1969 - 0x096d0, - 0x04dd5, - 0x04ad0, - 0x0a4d0, - 0x0d4d4, - 0x0d250, - 0x0d558, - 0x0b540, - 0x0b6a0, - 0x195a6, // 1970-1979 - 0x095b0, - 0x049b0, - 0x0a974, - 0x0a4b0, - 0x0b27a, - 0x06a50, - 0x06d40, - 0x0af46, - 0x0ab60, - 0x09570, // 1980-1989 - 0x04af5, - 0x04970, - 0x064b0, - 0x074a3, - 0x0ea50, - 0x06b58, - 0x05ac0, - 0x0ab60, - 0x096d5, - 0x092e0, // 1990-1999 - 0x0c960, - 0x0d954, - 0x0d4a0, - 0x0da50, - 0x07552, - 0x056a0, - 0x0abb7, - 0x025d0, - 0x092d0, - 0x0cab5, // 2000-2009 - 0x0a950, - 0x0b4a0, - 0x0baa4, - 0x0ad50, - 0x055d9, - 0x04ba0, - 0x0a5b0, - 0x15176, - 0x052b0, - 0x0a930, // 2010-2019 - 0x07954, - 0x06aa0, - 0x0ad50, - 0x05b52, - 0x04b60, - 0x0a6e6, - 0x0a4e0, - 0x0d260, - 0x0ea65, - 0x0d530, // 2020-2029 - 0x05aa0, - 0x076a3, - 0x096d0, - 0x04afb, - 0x04ad0, - 0x0a4d0, - 0x1d0b6, - 0x0d250, - 0x0d520, - 0x0dd45, // 2030-2039 - 0x0b5a0, - 0x056d0, - 0x055b2, - 0x049b0, - 0x0a577, - 0x0a4b0, - 0x0aa50, - 0x1b255, - 0x06d20, - 0x0ada0, // 2040-2049 - /** Add By JJonline@JJonline.Cn**/ - 0x14b63, - 0x09370, - 0x049f8, - 0x04970, - 0x064b0, - 0x168a6, - 0x0ea50, - 0x06b20, - 0x1a6c4, - 0x0aae0, // 2050-2059 - 0x0a2e0, - 0x0d2e3, - 0x0c960, - 0x0d557, - 0x0d4a0, - 0x0da50, - 0x05d55, - 0x056a0, - 0x0a6d0, - 0x055d4, // 2060-2069 - 0x052d0, - 0x0a9b8, - 0x0a950, - 0x0b4a0, - 0x0b6a6, - 0x0ad50, - 0x055a0, - 0x0aba4, - 0x0a5b0, - 0x052b0, // 2070-2079 - 0x0b273, - 0x06930, - 0x07337, - 0x06aa0, - 0x0ad50, - 0x14b55, - 0x04b60, - 0x0a570, - 0x054e4, - 0x0d160, // 2080-2089 - 0x0e968, - 0x0d520, - 0x0daa0, - 0x16aa6, - 0x056d0, - 0x04ae0, - 0x0a9d4, - 0x0a2d0, - 0x0d150, - 0x0f252, // 2090-2099 - 0x0d520 - ], // 2100 - - /** - * 公历每个月份的天数普通表 - * @Array Of Property - * @return Number - */ - solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], - - /** - * 天干地支之天干速查表 - * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] - * @return Cn string - */ - Gan: [ - "\u7532", - "\u4e59", - "\u4e19", - "\u4e01", - "\u620a", - "\u5df1", - "\u5e9a", - "\u8f9b", - "\u58ec", - "\u7678" - ], - - /** - * 天干地支之地支速查表 - * @Array Of Property - * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] - * @return Cn string - */ - Zhi: [ - "\u5b50", - "\u4e11", - "\u5bc5", - "\u536f", - "\u8fb0", - "\u5df3", - "\u5348", - "\u672a", - "\u7533", - "\u9149", - "\u620c", - "\u4ea5" - ], - - /** - * 天干地支之地支速查表<=>生肖 - * @Array Of Property - * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] - * @return Cn string - */ - Animals: [ - "\u9f20", - "\u725b", - "\u864e", - "\u5154", - "\u9f99", - "\u86c7", - "\u9a6c", - "\u7f8a", - "\u7334", - "\u9e21", - "\u72d7", - "\u732a" - ], - - /** - * 24节气速查表 - * @Array Of Property - * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] - * @return Cn string - */ - solarTerm: [ - "\u5c0f\u5bd2", - "\u5927\u5bd2", - "\u7acb\u6625", - "\u96e8\u6c34", - "\u60ca\u86f0", - "\u6625\u5206", - "\u6e05\u660e", - "\u8c37\u96e8", - "\u7acb\u590f", - "\u5c0f\u6ee1", - "\u8292\u79cd", - "\u590f\u81f3", - "\u5c0f\u6691", - "\u5927\u6691", - "\u7acb\u79cb", - "\u5904\u6691", - "\u767d\u9732", - "\u79cb\u5206", - "\u5bd2\u9732", - "\u971c\u964d", - "\u7acb\u51ac", - "\u5c0f\u96ea", - "\u5927\u96ea", - "\u51ac\u81f3" - ], - - /** - * 1900-2100各年的24节气日期速查表 - * @Array Of Property - * @return 0x string For splice - */ - sTermInfo: [ - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf97c3598082c95f8c965cc920f", - "97bd0b06bdb0722c965ce1cfcc920f", - "b027097bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf97c359801ec95f8c965cc920f", - "97bd0b06bdb0722c965ce1cfcc920f", - "b027097bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf97c359801ec95f8c965cc920f", - "97bd0b06bdb0722c965ce1cfcc920f", - "b027097bd097c36b0b6fc9274c91aa", - "9778397bd19801ec9210c965cc920e", - "97b6b97bd19801ec95f8c965cc920f", - "97bd09801d98082c95f8e1cfcc920f", - "97bd097bd097c36b0b6fc9210c8dc2", - "9778397bd197c36c9210c9274c91aa", - "97b6b97bd19801ec95f8c965cc920e", - "97bd09801d98082c95f8e1cfcc920f", - "97bd097bd097c36b0b6fc9210c8dc2", - "9778397bd097c36c9210c9274c91aa", - "97b6b97bd19801ec95f8c965cc920e", - "97bcf97c3598082c95f8e1cfcc920f", - "97bd097bd097c36b0b6fc9210c8dc2", - "9778397bd097c36c9210c9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf97c3598082c95f8c965cc920f", - "97bd097bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf97c3598082c95f8c965cc920f", - "97bd097bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf97c359801ec95f8c965cc920f", - "97bd097bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf97c359801ec95f8c965cc920f", - "97bd097bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf97c359801ec95f8c965cc920f", - "97bd097bd07f595b0b6fc920fb0722", - "9778397bd097c36b0b6fc9210c8dc2", - "9778397bd19801ec9210c9274c920e", - "97b6b97bd19801ec95f8c965cc920f", - "97bd07f5307f595b0b0bc920fb0722", - "7f0e397bd097c36b0b6fc9210c8dc2", - "9778397bd097c36c9210c9274c920e", - "97b6b97bd19801ec95f8c965cc920f", - "97bd07f5307f595b0b0bc920fb0722", - "7f0e397bd097c36b0b6fc9210c8dc2", - "9778397bd097c36c9210c9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bd07f1487f595b0b0bc920fb0722", - "7f0e397bd097c36b0b6fc9210c8dc2", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf7f1487f595b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf7f1487f595b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf7f1487f531b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c965cc920e", - "97bcf7f1487f531b0b0bb0b6fb0722", - "7f0e397bd07f595b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b97bd19801ec9210c9274c920e", - "97bcf7f0e47f531b0b0bb0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "9778397bd097c36b0b6fc9210c91aa", - "97b6b97bd197c36c9210c9274c920e", - "97bcf7f0e47f531b0b0bb0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "9778397bd097c36b0b6fc9210c8dc2", - "9778397bd097c36c9210c9274c920e", - "97b6b7f0e47f531b0723b0b6fb0722", - "7f0e37f5307f595b0b0bc920fb0722", - "7f0e397bd097c36b0b6fc9210c8dc2", - "9778397bd097c36b0b70c9274c91aa", - "97b6b7f0e47f531b0723b0b6fb0721", - "7f0e37f1487f595b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc9210c8dc2", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f595b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "9778397bd097c36b0b6fc9274c91aa", - "97b6b7f0e47f531b0723b0787b0721", - "7f0e27f0e47f531b0b0bb0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "9778397bd097c36b0b6fc9210c91aa", - "97b6b7f0e47f149b0723b0787b0721", - "7f0e27f0e47f531b0723b0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "9778397bd097c36b0b6fc9210c8dc2", - "977837f0e37f149b0723b0787b0721", - "7f07e7f0e47f531b0723b0b6fb0722", - "7f0e37f5307f595b0b0bc920fb0722", - "7f0e397bd097c35b0b6fc9210c8dc2", - "977837f0e37f14998082b0787b0721", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e37f1487f595b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc9210c8dc2", - "977837f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc920fb0722", - "977837f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e397bd097c35b0b6fc920fb0722", - "977837f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "977837f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "977837f0e37f14998082b0787b06bd", - "7f07e7f0e47f149b0723b0787b0721", - "7f0e27f0e47f531b0b0bb0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "977837f0e37f14998082b0723b06bd", - "7f07e7f0e37f149b0723b0787b0721", - "7f0e27f0e47f531b0723b0b6fb0722", - "7f0e397bd07f595b0b0bc920fb0722", - "977837f0e37f14898082b0723b02d5", - "7ec967f0e37f14998082b0787b0721", - "7f07e7f0e47f531b0723b0b6fb0722", - "7f0e37f1487f595b0b0bb0b6fb0722", - "7f0e37f0e37f14898082b0723b02d5", - "7ec967f0e37f14998082b0787b0721", - "7f07e7f0e47f531b0723b0b6fb0722", - "7f0e37f1487f531b0b0bb0b6fb0722", - "7f0e37f0e37f14898082b0723b02d5", - "7ec967f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e37f1487f531b0b0bb0b6fb0722", - "7f0e37f0e37f14898082b072297c35", - "7ec967f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e37f0e37f14898082b072297c35", - "7ec967f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e37f0e366aa89801eb072297c35", - "7ec967f0e37f14998082b0787b06bd", - "7f07e7f0e47f149b0723b0787b0721", - "7f0e27f1487f531b0b0bb0b6fb0722", - "7f0e37f0e366aa89801eb072297c35", - "7ec967f0e37f14998082b0723b06bd", - "7f07e7f0e47f149b0723b0787b0721", - "7f0e27f0e47f531b0723b0b6fb0722", - "7f0e37f0e366aa89801eb072297c35", - "7ec967f0e37f14998082b0723b06bd", - "7f07e7f0e37f14998083b0787b0721", - "7f0e27f0e47f531b0723b0b6fb0722", - "7f0e37f0e366aa89801eb072297c35", - "7ec967f0e37f14898082b0723b02d5", - "7f07e7f0e37f14998082b0787b0721", - "7f07e7f0e47f531b0723b0b6fb0722", - "7f0e36665b66aa89801e9808297c35", - "665f67f0e37f14898082b0723b02d5", - "7ec967f0e37f14998082b0787b0721", - "7f07e7f0e47f531b0723b0b6fb0722", - "7f0e36665b66a449801e9808297c35", - "665f67f0e37f14898082b0723b02d5", - "7ec967f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e36665b66a449801e9808297c35", - "665f67f0e37f14898082b072297c35", - "7ec967f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e26665b66a449801e9808297c35", - "665f67f0e37f1489801eb072297c35", - "7ec967f0e37f14998082b0787b06bd", - "7f07e7f0e47f531b0723b0b6fb0721", - "7f0e27f1487f531b0b0bb0b6fb0722" - ], - - /** - * 数字转中文速查表 - * @Array Of Property - * @trans ['日','一','二','三','四','五','六','七','八','九','十'] - * @return Cn string - */ - nStr1: [ - "\u65e5", - "\u4e00", - "\u4e8c", - "\u4e09", - "\u56db", - "\u4e94", - "\u516d", - "\u4e03", - "\u516b", - "\u4e5d", - "\u5341" - ], - - /** - * 日期转农历称呼速查表 - * @Array Of Property - * @trans ['初','十','廿','卅'] - * @return Cn string - */ - nStr2: ["\u521d", "\u5341", "\u5eff", "\u5345"], - - /** - * 月份转农历称呼速查表 - * @Array Of Property - * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] - * @return Cn string - */ - nStr3: [ - "\u6b63", - "\u4e8c", - "\u4e09", - "\u56db", - "\u4e94", - "\u516d", - "\u4e03", - "\u516b", - "\u4e5d", - "\u5341", - "\u51ac", - "\u814a" - ], - - /** - * 返回农历y年一整年的总天数 - * @param lunar Year - * @return Number - * @eg:var count = calendar.lYearDays(1987) ;//count=387 - */ - lYearDays: function(y) { - let i; - let sum = 348; - for (i = 0x8000; i > 0x8; i >>= 1) { - sum += this.lunarInfo[y - 1900] & i ? 1 : 0; - } - return sum + this.leapDays(y); - }, - - /** - * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 - * @param lunar Year - * @return Number (0-12) - * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 - */ - leapMonth: function(y) { - // 闰字编码 \u95f0 - return this.lunarInfo[y - 1900] & 0xf; - }, - - /** - * 返回农历y年闰月的天数 若该年没有闰月则返回0 - * @param lunar Year - * @return Number (0、29、30) - * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 - */ - leapDays: function(y) { - if (this.leapMonth(y)) { - return this.lunarInfo[y - 1900] & 0x10000 ? 30 : 29; - } - return 0; - }, - - /** - * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 - * @param lunar Year - * @return Number (-1、29、30) - * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 - */ - monthDays: function(y, m) { - if (m > 12 || m < 1) { - return -1; - } // 月份参数从1至12,参数错误返回-1 - return this.lunarInfo[y - 1900] & (0x10000 >> m) ? 30 : 29; - }, - - /** - * 返回公历(!)y年m月的天数 - * @param solar Year - * @return Number (-1、28、29、30、31) - * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 - */ - solarDays: function(y, m) { - if (m > 12 || m < 1) { - return -1; - } // 若参数错误 返回-1 - const ms = m - 1; - if (ms === 1) { - // 2月份的闰平规律测算后确认返回28或29 - return (y % 4 === 0 && y % 100 !== 0) || y % 400 === 0 ? 29 : 28; - } else { - return this.solarMonth[ms]; - } - }, - - /** - * 农历年份转换为干支纪年 - * @param lYear 农历年的年份数 - * @return Cn string - */ - toGanZhiYear: function(lYear) { - let ganKey = (lYear - 3) % 10; - let zhiKey = (lYear - 3) % 12; - if (ganKey === 0) ganKey = 10; // 如果余数为0则为最后一个天干 - if (zhiKey === 0) zhiKey = 12; // 如果余数为0则为最后一个地支 - return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]; - }, - - /** - * 公历月、日判断所属星座 - * @param cMonth [description] - * @param cDay [description] - * @return Cn string - */ - toAstro: function(cMonth, cDay) { - const s = - "\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf"; - const arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]; - return ( - s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + "\u5ea7" - ); // 座 - }, - - /** - * 传入offset偏移量返回干支 - * @param offset 相对甲子的偏移量 - * @return Cn string - */ - toGanZhi: function(offset) { - return this.Gan[offset % 10] + this.Zhi[offset % 12]; - }, - - /** - * 传入公历(!)y年获得该年第n个节气的公历日期 - * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 - * @return day Number - * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 - */ - getTerm: function(y, n) { - if (y < 1900 || y > 2100) { - return -1; - } - if (n < 1 || n > 24) { - return -1; - } - const _table = this.sTermInfo[y - 1900]; - const _info = [ - parseInt("0x" + _table.substr(0, 5)).toString(), - parseInt("0x" + _table.substr(5, 5)).toString(), - parseInt("0x" + _table.substr(10, 5)).toString(), - parseInt("0x" + _table.substr(15, 5)).toString(), - parseInt("0x" + _table.substr(20, 5)).toString(), - parseInt("0x" + _table.substr(25, 5)).toString() - ]; - const _calday = [ - _info[0].substr(0, 1), - _info[0].substr(1, 2), - _info[0].substr(3, 1), - _info[0].substr(4, 2), - - _info[1].substr(0, 1), - _info[1].substr(1, 2), - _info[1].substr(3, 1), - _info[1].substr(4, 2), - - _info[2].substr(0, 1), - _info[2].substr(1, 2), - _info[2].substr(3, 1), - _info[2].substr(4, 2), - - _info[3].substr(0, 1), - _info[3].substr(1, 2), - _info[3].substr(3, 1), - _info[3].substr(4, 2), - - _info[4].substr(0, 1), - _info[4].substr(1, 2), - _info[4].substr(3, 1), - _info[4].substr(4, 2), - - _info[5].substr(0, 1), - _info[5].substr(1, 2), - _info[5].substr(3, 1), - _info[5].substr(4, 2) - ]; - return parseInt(_calday[n - 1]); - }, - - /** - * 传入农历数字月份返回汉语通俗表示法 - * @param lunar month - * @return Cn string - * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' - */ - toChinaMonth: function(m) { - // 月 => \u6708 - if (m > 12 || m < 1) { - return -1; - } // 若参数错误 返回-1 - let s = this.nStr3[m - 1]; - s += "\u6708"; // 加上月字 - return s; - }, - - /** - * 传入农历日期数字返回汉字表示法 - * @param lunar day - * @return Cn string - * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' - */ - toChinaDay: function(d) { - // 日 => \u65e5 - let s; - switch (d) { - case 10: - s = "\u521d\u5341"; - break; - case 20: - s = "\u4e8c\u5341"; - break; - case 30: - s = "\u4e09\u5341"; - break; - default: - s = this.nStr2[Math.floor(d / 10)]; - s += this.nStr1[d % 10]; - } - return s; - }, - - /** - * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” - * @param y year - * @return Cn string - * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' - */ - getAnimal: function(y) { - return this.Animals[(y - 4) % 12]; - }, - - /** - * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON - * @param y solar year - * @param m solar month - * @param d solar day - * @return JSON object - * @eg:console.log(calendar.solar2lunar(1987,11,01)); - */ - solar2lunar: function(y, m, d) { - // 参数区间1900.1.31~2100.12.31 - // 年份限定、上限 - if (y < 1900 || y > 2100) { - return -1; // undefined转换为数字变为NaN - } - // 公历传参最下限 - if (y === 1900 && m === 1 && d < 31) { - return -1; - } - // 未传参 获得当天 - let objDate; - if (!y) { - objDate = new Date(); - } else { - objDate = new Date(y, parseInt(m) - 1, d); - } - let i; - let leap = 0; - let temp = 0; - // 修正ymd参数 - y = objDate.getFullYear(); - m = objDate.getMonth() + 1; - d = objDate.getDate(); - let offset = - (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - - Date.UTC(1900, 0, 31)) / - 86400000; - for (i = 1900; i < 2101 && offset > 0; i++) { - temp = this.lYearDays(i); - offset -= temp; - } - if (offset < 0) { - offset += temp; - i--; - } - - // 是否今天 - const isTodayObj = new Date(); - let isToday = false; - if ( - isTodayObj.getFullYear() === y && - isTodayObj.getMonth() + 1 === m && - isTodayObj.getDate() === d - ) { - isToday = true; - } - // 星期几 - let nWeek = objDate.getDay(); - const cWeek = this.nStr1[nWeek]; - // 数字表示周几顺应天朝周一开始的惯例 - if (nWeek === 0) { - nWeek = 7; - } - // 农历年 - const year = i; - leap = this.leapMonth(i); // 闰哪个月 - let isLeap = false; - - // 效验闰月 - for (i = 1; i < 13 && offset > 0; i++) { - // 闰月 - if (leap > 0 && i === leap + 1 && isLeap === false) { - --i; - isLeap = true; - temp = this.leapDays(year); // 计算农历闰月天数 - } else { - temp = this.monthDays(year, i); // 计算农历普通月天数 - } - // 解除闰月 - if (isLeap === true && i === leap + 1) { - isLeap = false; - } - offset -= temp; - } - // 闰月导致数组下标重叠取反 - if (offset === 0 && leap > 0 && i === leap + 1) { - if (isLeap) { - isLeap = false; - } else { - isLeap = true; - --i; - } - } - if (offset < 0) { - offset += temp; - --i; - } - // 农历月 - const month = i; - // 农历日 - const day = offset + 1; - // 天干地支处理 - const sm = m - 1; - const gzY = this.toGanZhiYear(year); - - // 当月的两个节气 - // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` - const firstNode = this.getTerm(y, m * 2 - 1); // 返回当月「节」为几日开始 - const secondNode = this.getTerm(y, m * 2); // 返回当月「节」为几日开始 - - // 依据12节气修正干支月 - let gzM = this.toGanZhi((y - 1900) * 12 + m + 11); - if (d >= firstNode) { - gzM = this.toGanZhi((y - 1900) * 12 + m + 12); - } - - // 传入的日期的节气与否 - let isTerm = false; - let Term = null; - if (firstNode === d) { - isTerm = true; - Term = this.solarTerm[m * 2 - 2]; - } - if (secondNode === d) { - isTerm = true; - Term = this.solarTerm[m * 2 - 1]; - } - // 日柱 当月一日与 1900/1/1 相差天数 - const dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10; - const gzD = this.toGanZhi(dayCyclical + d - 1); - // 该日期所属的星座 - const astro = this.toAstro(m, d); - - return { - lYear: year, - lMonth: month, - lDay: day, - Animal: this.getAnimal(year), - IMonthCn: (isLeap ? "\u95f0" : "") + this.toChinaMonth(month), - IDayCn: this.toChinaDay(day), - cYear: y, - cMonth: m, - cDay: d, - gzYear: gzY, - gzMonth: gzM, - gzDay: gzD, - isToday, - isLeap, - nWeek, - ncWeek: "\u661f\u671f" + cWeek, - isTerm, - Term, - astro - }; - }, - - /** - * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON - * @param y lunar year - * @param m lunar month - * @param d lunar day - * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] - * @return JSON object - * @eg:console.log(calendar.lunar2solar(1987,9,10)); - */ - lunar2solar: function(y, m, d, isLeapMonth) { - // 参数区间1900.1.31~2100.12.1 - isLeapMonth = !!isLeapMonth; - // var leapOffset = 0; - const leapMonth = this.leapMonth(y); - // var leapDay = this.leapDays(y); - if (isLeapMonth && leapMonth !== m) { - return -1; - } // 传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 - if ( - (y === 2100 && m === 12 && d > 1) || - (y === 1900 && m === 1 && d < 31) - ) { - return -1; - } // 超出了最大极限值 - const day = this.monthDays(y, m); - let _day = day; - // bugFix 2016-9-25 - // if month is leap, _day use leapDays method - if (isLeapMonth) { - _day = this.leapDays(y, m); - } - if (y < 1900 || y > 2100 || d > _day) { - return -1; - } // 参数合法性效验 - - // 计算农历的时间差 - let offset = 0; - for (let i = 1900; i < y; i++) { - offset += this.lYearDays(i); - } - let leap = 0; - let isAdd = false; - for (let i = 1; i < m; i++) { - leap = this.leapMonth(y); - if (!isAdd) { - // 处理闰月 - if (leap <= i && leap > 0) { - offset += this.leapDays(y); - isAdd = true; - } - } - offset += this.monthDays(y, i); - } - // 转换闰月农历 需补充该年闰月的前一个月的时差 - if (isLeapMonth) { - offset += day; - } - // 1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) - const stmap = Date.UTC(1900, 1, 30, 0, 0, 0); - const calObj = new Date((offset + d - 31) * 86400000 + stmap); - const cY = calObj.getUTCFullYear(); - const cM = calObj.getUTCMonth() + 1; - const cD = calObj.getUTCDate(); - - return this.solar2lunar(cY, cM, cD); - } -}; -export { calendar }; diff --git a/jvue-front/util/DateUtil.js b/jvue-front/util/DateUtil.js deleted file mode 100644 index 7d990cb..0000000 --- a/jvue-front/util/DateUtil.js +++ /dev/null @@ -1,88 +0,0 @@ -/** - * DateUtil.js - * - *@author Terwer - *@version 1.0 - *2019/2/28 9:47 - **/ -import { calendar } from "./Calendar"; - -const lunar = calendar.solar2lunar(); - -/** - * 根据日期获取星期几 - * @returns {string} 星期 - */ -const getWeekByDay = function() { - const day = new Date(); - const today = [ - "星期日", - "星期一", - "星期二", - "星期三", - "星期四", - "星期五", - "星期六" - ]; // 创建星期数组 - // console.log(today[day.getDay()]); - return today[day.getDay()]; // 返一个星期中的某一天,其中0为星期日 -}; - -/** - * 获取星期 - * @returns {string} - */ -const getClientTime = function() { - // 获取客户端时间 - const now = new Date(); - let currDatetime = ""; - // currDatetime += now.getFullYear() + "年"; - // currDatetime += - // now.getMonth() + 1 > 9 ? now.getMonth() + 1 : "0" + (now.getMonth() + 1); - // currDatetime += "月"; - // currDatetime += now.getDate() > 9 ? now.getDate() : "0" + now.getDate(); - // currDatetime += "日 "; - currDatetime += now.getHours() > 9 ? now.getHours() : "0" + now.getHours(); - currDatetime += ":"; - currDatetime += - now.getMinutes() > 9 ? now.getMinutes() : "0" + now.getMinutes(); - currDatetime += ":"; - currDatetime += - now.getSeconds() > 9 ? now.getSeconds() : "0" + now.getSeconds(); - return currDatetime; -}; - -const getPopTime = function() { - const popTime = - "阳历:" + - lunar.cYear + - "年" + - lunar.cMonth + - "月" + - lunar.cDay + - "日(" + - lunar.astro + - ")"; - return popTime; -}; - -const getTradTime = function() { - const tradTime = - "农历:" + lunar.lYear + "年" + lunar.IMonthCn + lunar.IDayCn; - return tradTime; -}; - -const getShengXiao = function() { - const shengxiao = - lunar.gzYear + - "年" + - lunar.gzMonth + - "月" + - lunar.gzDay + - "日(" + - lunar.Animal + - "年)"; - return shengxiao; -}; - -export { getClientTime, getPopTime, getTradTime, getShengXiao, getWeekByDay }; diff --git a/jvue-front/util/dom.js b/jvue-front/util/dom.js deleted file mode 100644 index 777ce22..0000000 --- a/jvue-front/util/dom.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * dom.js - * - * @author Terwer - * @version 1.0 - * 19-2-28 上午12:28 - **/ -export const inBrowser = typeof window !== "undefined"; diff --git a/jvue-front/util/logger.js b/jvue-front/util/logger.js deleted file mode 100644 index 439095b..0000000 --- a/jvue-front/util/logger.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * logger.js - * - *@author Terwer - *@version 1.0 - *2019/3/19 17:07 - **/ -const isDebugEnabled = process.env.NODE_ENV !== "production"; -const isInfoEnabled = true; -const isErrorEnabled = true; - -let loggerName = "default"; - -console.log( - "isDebugEnabled,isInfoEnabled,isErrorEnabled=>", - `${isDebugEnabled},${isInfoEnabled},${isErrorEnabled}` -); - -const debug = log => { - if (isDebugEnabled) { - console.warn("[", loggerName, "]", log); - } -}; - -const info = log => { - if (isInfoEnabled) { - console.log("[", loggerName, "]", log); - } -}; - -const error = log => { - if (isErrorEnabled) { - console.error("[", loggerName, "]", log); - } -}; - -const logger = { - debug, - info, - error -}; - -export const getLogger = name => { - if (name) { - loggerName = name; - } - return logger; -}; diff --git a/jvue-front/vercel.json b/jvue-front/vercel.json deleted file mode 100644 index 9d3e5ce..0000000 --- a/jvue-front/vercel.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "builds": [ - { - "src": "nuxt.config.js", - "use": "@nuxtjs/vercel-builder", - "config": {} - } - ] -}