diff --git a/package.json b/package.json index 2ef344b..72f160e 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "screenfull": "5.0.2", "sortablejs": "1.10.2", "splitpanes": "2.4.1", + "vant": "^2.13.9", "vue": "2.6.12", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", diff --git a/src/api/app/index.js b/src/api/app/index.js new file mode 100644 index 0000000..70138cc --- /dev/null +++ b/src/api/app/index.js @@ -0,0 +1,19 @@ +import request from '@/utils/request' + +// 查询首页菜单 +export function getMenuApp(query) { + return request({ + url: '/system/menuapp/menus', + method: 'get', + params: query + }) +} + +// 新增公告 +export function addNotice(data) { + return request({ + url: '/system/notice', + method: 'post', + data: data + }) +} diff --git a/src/assets/images/app/banner.png b/src/assets/images/app/banner.png new file mode 100644 index 0000000..ac93f15 Binary files /dev/null and b/src/assets/images/app/banner.png differ diff --git a/src/assets/images/app/index_bg.png b/src/assets/images/app/index_bg.png new file mode 100644 index 0000000..0637025 Binary files /dev/null and b/src/assets/images/app/index_bg.png differ diff --git a/src/assets/images/app/login_bg.png b/src/assets/images/app/login_bg.png new file mode 100644 index 0000000..ae938e7 Binary files /dev/null and b/src/assets/images/app/login_bg.png differ diff --git a/src/assets/images/app/note_bg.png b/src/assets/images/app/note_bg.png new file mode 100644 index 0000000..0db752c Binary files /dev/null and b/src/assets/images/app/note_bg.png differ diff --git a/src/assets/images/app/title_bg.png b/src/assets/images/app/title_bg.png new file mode 100644 index 0000000..97b57ca Binary files /dev/null and b/src/assets/images/app/title_bg.png differ diff --git a/src/assets/images/app/user_bg.png b/src/assets/images/app/user_bg.png new file mode 100644 index 0000000..0e5972b Binary files /dev/null and b/src/assets/images/app/user_bg.png differ diff --git a/src/assets/images/app/user_header.png b/src/assets/images/app/user_header.png new file mode 100644 index 0000000..0d192d0 Binary files /dev/null and b/src/assets/images/app/user_header.png differ diff --git a/src/assets/images/app/user_icon_01.png b/src/assets/images/app/user_icon_01.png new file mode 100644 index 0000000..f792cae Binary files /dev/null and b/src/assets/images/app/user_icon_01.png differ diff --git a/src/assets/images/app/user_icon_02.png b/src/assets/images/app/user_icon_02.png new file mode 100644 index 0000000..b0a6fc6 Binary files /dev/null and b/src/assets/images/app/user_icon_02.png differ diff --git a/src/assets/images/app/user_icon_03.png b/src/assets/images/app/user_icon_03.png new file mode 100644 index 0000000..3a86266 Binary files /dev/null and b/src/assets/images/app/user_icon_03.png differ diff --git a/src/main.js b/src/main.js index 9b49f07..5e620fd 100644 --- a/src/main.js +++ b/src/main.js @@ -35,6 +35,9 @@ import ImagePreview from "@/components/ImagePreview" import DictTag from '@/components/DictTag' // 字典数据组件 import DictData from '@/components/DictData' +// Vant 引用 +import Vant from 'vant'; +import 'vant/lib/index.css'; // 全局方法挂载 Vue.prototype.getDicts = getDicts @@ -57,6 +60,7 @@ Vue.component('FileUpload', FileUpload) Vue.component('ImageUpload', ImageUpload) Vue.component('ImagePreview', ImagePreview) +Vue.use(Vant) Vue.use(directive) Vue.use(plugins) DictData.install() diff --git a/src/permission.js b/src/permission.js index e12c93f..8934d9c 100644 --- a/src/permission.js +++ b/src/permission.js @@ -9,7 +9,7 @@ import { isRelogin } from '@/utils/request' NProgress.configure({ showSpinner: false }) -const whiteList = ['/login', '/register'] +const whiteList = ['/login', '/register', '/app/login', '/app/list'] const isWhiteList = (path) => { return whiteList.some(pattern => isPathMatch(pattern, path)) @@ -55,11 +55,16 @@ router.beforeEach((to, from, next) => { } } else { // 没有token + console.log(to.fullPath) if (isWhiteList(to.path)) { // 在免登录白名单,直接进入 next() } else { - next(`/login?redirect=${encodeURIComponent(to.fullPath)}`) // 否则全部重定向到登录页 + if (to.path.indexOf('/app/') > -1){ + next(`/app/login?redirect=${encodeURIComponent(to.fullPath)}`) // 否则全部重定向到登录页 + }else{ + next(`/login?redirect=${encodeURIComponent(to.fullPath)}`) // 否则全部重定向到登录页 + } NProgress.done() } } diff --git a/src/router/index.js b/src/router/index.js index 97dbaae..8b91c61 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -87,7 +87,43 @@ export const constantRoutes = [ meta: { title: '个人中心', icon: 'user' } } ] - } + }, + { //登录页 + path: '/app/login', + name: 'appLogin', + meta: { + title: '登录', + hidden: true, + }, + component: (resolve) => require(['@/views/app/login'], resolve) + }, + { //首页 + path: '/app/index', + name: 'appIndex', + meta: { + title: '首页', + hidden: true, + }, + component: (resolve) => require(['@/views/app/index'], resolve) + }, + { //用户页 + path: '/app/user', + name: 'appUser', + meta: { + title: '首页', + hidden: true, + }, + component: (resolve) => require(['@/views/app/user'], resolve) + }, + { //用户页 + path: '/app/list', + name: 'appList', + meta: { + title: '列表', + hidden: true, + }, + component: (resolve) => require(['@/views/app/list'], resolve) + }, ] // 动态路由,基于用户权限动态去加载 diff --git a/src/utils/request.js b/src/utils/request.js index 7150ecb..811b5ba 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -81,13 +81,18 @@ service.interceptors.response.use(res => { if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { return res.data } + console.log(location) if (code === 401) { if (!isRelogin.show) { isRelogin.show = true MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { isRelogin.show = false store.dispatch('LogOut').then(() => { - location.href = '/index' + if (location.pathname.indexOf('/app/') > -1){ + location.href = '/app/index' + }else{ + location.href = '/index' + } }) }).catch(() => { isRelogin.show = false diff --git a/src/views/app/index.vue b/src/views/app/index.vue new file mode 100644 index 0000000..e34dbbf --- /dev/null +++ b/src/views/app/index.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/src/views/app/list.vue b/src/views/app/list.vue new file mode 100644 index 0000000..c044bea --- /dev/null +++ b/src/views/app/list.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/src/views/app/login.vue b/src/views/app/login.vue new file mode 100644 index 0000000..e1b640b --- /dev/null +++ b/src/views/app/login.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/src/views/app/user.vue b/src/views/app/user.vue new file mode 100644 index 0000000..208f60d --- /dev/null +++ b/src/views/app/user.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/vue.config.js b/vue.config.js index 46985a1..588c1d4 100644 --- a/vue.config.js +++ b/vue.config.js @@ -9,8 +9,8 @@ const CompressionPlugin = require('compression-webpack-plugin') const name = process.env.VUE_APP_TITLE -const baseUrl = 'http://localhost:8080' // 后端接口 -//const baseUrl = 'http://192.168.0.108:8080' // 后端接口 zzl +//const baseUrl = 'http://localhost:8080' // 后端接口 +const baseUrl = 'http://192.168.0.108:8080' // 后端接口 zzl const port = process.env.port || process.env.npm_config_port || 80 // 端口