xiongzhu 4 лет назад
Родитель
Сommit
21321fb7f5

+ 1 - 1
src/main/java/com/izouma/jmrh/web/FileUploadController.java

@@ -31,7 +31,7 @@ public class FileUploadController {
 
     @PostMapping("/file")
     public String uploadFile(@RequestParam("file") MultipartFile file,
-                             @RequestParam(value = "   ", required = false) String path) {
+                             @RequestParam(value = "path", required = false) String path) {
         if (path == null) {
             String basePath = "application";
             try {

+ 1 - 0
src/main/jmrh/package.json

@@ -8,6 +8,7 @@
     "lint": "vue-cli-service lint"
   },
   "dependencies": {
+    "@chenfengyuan/vue-qrcode": "^1.0.2",
     "@tinymce/tinymce-vue": "^3.2.2",
     "axios": "^0.21.1",
     "babel-polyfill": "^6.26.0",

+ 8 - 0
src/main/jmrh/src/router/index.js

@@ -22,6 +22,14 @@ const routes = [
                     menu: 'home'
                 }
             },
+            {
+                path: '/app',
+                name: 'app',
+                component: () => import(/* webpackChunkName: "app_download" */ '@/views/app.vue'),
+                meta: {
+                    menu: 'app'
+                }
+            },
             {
                 path: '/news',
                 name: 'news',

+ 1 - 1
src/main/jmrh/src/styles/common.css

@@ -1,4 +1,4 @@
-.btn-round-large {
+\.btn-round-large {
   height: 44px;
   background: #f7931d;
   border-radius: 30px;

+ 7 - 16
src/main/jmrh/src/views/Index.vue

@@ -1,5 +1,5 @@
 <template>
-    <el-container style="background: #f5f7fa;">
+    <el-container style="background: #f5f7fa">
         <el-header class="header">
             <div class="head-title">
                 <img src="../assets/login_bg_01.png" class="bg-01" />
@@ -37,6 +37,7 @@
                                 <el-menu-item index="policy" :route="{ name: 'policy' }">政策法规</el-menu-item>
                                 <el-menu-item index="resource" :route="{ name: 'resource' }">资源供需</el-menu-item>
                                 <el-menu-item index="interact" :route="{ name: 'interact' }">政民互动</el-menu-item>
+                                <el-menu-item index="app" :route="{ name: 'app' }">APP下载</el-menu-item>
                             </el-menu>
 
                             <el-popover
@@ -109,27 +110,17 @@
                                     <div class="btn" @click="$router.push({ name: 'account' })">
                                         {{ userInfo.nickname }}
                                     </div>
-                                    <div class="btn" @click="$router.push({ name: 'editInfo' })">
-                                        编辑资料
-                                    </div>
-                                    <div class="btn" @click="$router.push({ name: 'myCollection' })">
-                                        我的收藏
-                                    </div>
-                                    <div class="btn" @click="$router.push({ name: 'release' })">
-                                        我的发布
-                                    </div>
-                                    <div class="btn" @click="$router.push({ name: 'docking' })">
-                                        我的需求
-                                    </div>
+                                    <div class="btn" @click="$router.push({ name: 'editInfo' })">编辑资料</div>
+                                    <div class="btn" @click="$router.push({ name: 'myCollection' })">我的收藏</div>
+                                    <div class="btn" @click="$router.push({ name: 'release' })">我的发布</div>
+                                    <div class="btn" @click="$router.push({ name: 'docking' })">我的需求</div>
                                     <div class="btn" @click="logout">退出登录</div>
                                 </div>
                             </el-popover>
                             <div class="login-info" v-else>
                                 <div class="btn" @click="$router.push({ name: 'login' })">登录</div>
                                 <div class="divider"></div>
-                                <div class="btn" @click="$router.push({ name: 'register' })">
-                                    注册
-                                </div>
+                                <div class="btn" @click="$router.push({ name: 'register' })">注册</div>
                             </div>
                         </div>
                     </div>

+ 37 - 0
src/main/jmrh/src/views/app.vue

@@ -0,0 +1,37 @@
+<template>
+    <div class="qrcode-container">
+        <qrcode :value="downloadUrl" :options="{ width: 300 }"></qrcode>
+        <div class="tip">
+            请用手机浏览器扫描上方二维码下载安装APP,<a download="jmrh.apk" :href="downloadUrl">或直接下载apk</a>
+        </div>
+    </div>
+</template>
+<script>
+import qrcode from '@chenfengyuan/vue-qrcode';
+import resolveUrl from 'resolve-url';
+export default {
+    components: { qrcode },
+    data() {
+        return {
+            downloadUrl: resolveUrl(this.$baseUrl, '/files/jmrh.apk')
+        };
+    }
+};
+</script>
+<style lang="less" scoped>
+.qrcode-container {
+    .flex-col();
+    align-items: center;
+    justify-content: center;
+    padding: 30px 0;
+    .qrcode {
+    }
+    .tip {
+        margin-top: 15px;
+        font-size: 14px;
+        a {
+            color: rgb(191, 22, 22);
+        }
+    }
+}
+</style>

+ 77 - 1
src/main/jmrh/yarn.lock

@@ -822,6 +822,13 @@
     lodash "^4.17.13"
     to-fast-properties "^2.0.0"
 
+"@chenfengyuan/vue-qrcode@^1.0.2":
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/@chenfengyuan/vue-qrcode/-/vue-qrcode-1.0.2.tgz#37d71902e166e1ae58176bd6cb9c40905c1b0949"
+  integrity sha512-hwy1d4YMJAyEh+V7dLPG8eAKACRvugzSB4ylwb6QNqo84KHTF50/5EJcBYdUhTRPfAqrxG0i6jDAXONWOGyQbQ==
+  dependencies:
+    qrcode "^1.4.4"
+
 "@hapi/address@2.x.x":
   version "2.1.4"
   resolved "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
@@ -1812,6 +1819,11 @@ base64-js@^1.0.2:
   resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
   integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=
 
+base64-js@^1.3.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
 base@^0.11.1:
   version "0.11.2"
   resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
@@ -2049,11 +2061,34 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5:
     node-releases "^1.1.53"
     pkg-up "^2.0.0"
 
+buffer-alloc-unsafe@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
+  integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
+
+buffer-alloc@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
+  integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
+  dependencies:
+    buffer-alloc-unsafe "^1.1.0"
+    buffer-fill "^1.0.0"
+
+buffer-fill@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
+  integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
+
 buffer-from@^1.0.0:
   version "1.1.1"
   resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
   integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=
 
+buffer-from@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+  integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
 buffer-indexof@^1.0.0:
   version "1.1.1"
   resolved "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
@@ -2078,6 +2113,14 @@ buffer@^4.3.0:
     ieee754 "^1.1.4"
     isarray "^1.0.0"
 
+buffer@^5.4.3:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+  integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+  dependencies:
+    base64-js "^1.3.1"
+    ieee754 "^1.1.13"
+
 builtin-status-codes@^3.0.0:
   version "3.0.0"
   resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
@@ -3215,6 +3258,11 @@ diffie-hellman@^5.0.0:
     miller-rabin "^4.0.0"
     randombytes "^2.0.0"
 
+dijkstrajs@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257"
+  integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==
+
 dir-glob@^2.0.0, dir-glob@^2.2.2:
   version "2.2.2"
   resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4"
@@ -4976,6 +5024,11 @@ icss-utils@^4.0.0, icss-utils@^4.1.1:
   dependencies:
     postcss "^7.0.14"
 
+ieee754@^1.1.13:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
 ieee754@^1.1.4:
   version "1.1.13"
   resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
@@ -5488,6 +5541,11 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
   resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
   integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
 
+isarray@^2.0.1:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
+  integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
 isexe@^2.0.0:
   version "2.0.0"
   resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -7342,6 +7400,11 @@ plugin-error@^0.1.2:
     arr-union "^2.0.1"
     extend-shallow "^1.1.2"
 
+pngjs@^3.3.0:
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
+  integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
+
 pnp-webpack-plugin@^1.6.4:
   version "1.6.4"
   resolved "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149"
@@ -7854,6 +7917,19 @@ q@^1.1.2:
   resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
   integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
 
+qrcode@^1.4.4:
+  version "1.4.4"
+  resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83"
+  integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==
+  dependencies:
+    buffer "^5.4.3"
+    buffer-alloc "^1.2.0"
+    buffer-from "^1.1.1"
+    dijkstrajs "^1.0.1"
+    isarray "^2.0.1"
+    pngjs "^3.3.0"
+    yargs "^13.2.4"
+
 qs@6.7.0:
   version "6.7.0"
   resolved "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
@@ -10125,7 +10201,7 @@ yargs-parser@^18.1.1:
     camelcase "^5.0.0"
     decamelize "^1.2.0"
 
-yargs@^13.3.2:
+yargs@^13.2.4, yargs@^13.3.2:
   version "13.3.2"
   resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
   integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=