From 080e716420065d13b08e2b6f1e0ae8e53b2ebe39 Mon Sep 17 00:00:00 2001 From: awesomefamine Date: Fri, 9 Apr 2021 16:25:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E4=B8=BB?= =?UTF-8?q?=E9=A1=B5=E3=80=81=E7=94=A8=E6=88=B7=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/tip.js | 8 ++ src/api/user.js | 28 ++++++ src/components/Pagination/index.vue | 101 +++++++++++++++++++++ src/router/index.js | 30 +++++-- src/util/scroll-to.js | 58 ++++++++++++ src/view/Home.vue | 17 +++- src/view/card/CardBar.vue | 24 +++++ src/view/card/LoginWelcome.vue | 30 +++++++ src/view/card/Promotion.vue | 30 +++++++ src/view/card/Tip.vue | 41 +++++++++ src/view/post/Index.vue | 32 +++++++ src/view/user/Profile.vue | 135 ++++++++++++++++++++++++++++ src/view/user/Setting.vue | 118 ++++++++++++++++++++++++ 13 files changed, 642 insertions(+), 10 deletions(-) create mode 100644 src/api/tip.js create mode 100644 src/api/user.js create mode 100644 src/components/Pagination/index.vue create mode 100644 src/util/scroll-to.js create mode 100644 src/view/card/CardBar.vue create mode 100644 src/view/card/LoginWelcome.vue create mode 100644 src/view/card/Promotion.vue create mode 100644 src/view/card/Tip.vue create mode 100644 src/view/post/Index.vue create mode 100644 src/view/user/Profile.vue create mode 100644 src/view/user/Setting.vue diff --git a/src/api/tip.js b/src/api/tip.js new file mode 100644 index 0000000..8a83600 --- /dev/null +++ b/src/api/tip.js @@ -0,0 +1,8 @@ +import request from '@/util/request' + +export function getTodayTip() { + return request({ + url: '/tip/today', + method: 'get' + }) +} \ No newline at end of file diff --git a/src/api/user.js b/src/api/user.js new file mode 100644 index 0000000..0aec260 --- /dev/null +++ b/src/api/user.js @@ -0,0 +1,28 @@ +import request from '@/util/request' + +// 用户主页 +export function getInfoByName(username, page, size) { + return request({ + url: '/ums/user/' + username, + method: 'get', + params: { + pageNo: page, + size: size + } + }) +} +// 用户主页 +export function getInfo() { + return request({ + url: '/ums/user/info', + method: 'get' + }) +} +// 更新 +export function update(user) { + return request({ + url: '/ums/user/update', + method: 'post', + data: user + }) +} \ No newline at end of file diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue new file mode 100644 index 0000000..1b31c9f --- /dev/null +++ b/src/components/Pagination/index.vue @@ -0,0 +1,101 @@ + + + + + \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 3ee5ac6..2130049 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -3,13 +3,29 @@ import VueRouter from 'vue-router' Vue.use(VueRouter) -const routes = [{ - path: '/', - name: 'Home', - component: () => +const routes = [ + { + name: 'Home', + path: '/', + component: () => import ('@/view/Home') -}] + }, + //用户主页 + { + name:'user', + path:'/member/home', + component: () => import('@/view/user/Profile'), + meta: {title: '用户主页'} + } , + //用户设置 + { + name: 'user-setting', + path: '/member/Setting', + component: () => import('@/view/user/Setting'), + meta:{ title: '设置'} + } +]; -const router = new VueRouter({ routes }) +const router = new VueRouter({ routes }); -export default router \ No newline at end of file +export default router; \ No newline at end of file diff --git a/src/util/scroll-to.js b/src/util/scroll-to.js new file mode 100644 index 0000000..331ef47 --- /dev/null +++ b/src/util/scroll-to.js @@ -0,0 +1,58 @@ +Math.easeInOutQuad = function(t, b, c, d) { + t /= d / 2 + if (t < 1) { + return c / 2 * t * t + b + } + t-- + return -c / 2 * (t * (t - 2) - 1) + b + } + + // requestAnimationFrame for Smart Animating http://goo.gl/sx5sts + var requestAnimFrame = (function() { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) } + })() + + /** + * Because it's so fucking difficult to detect the scrolling element, just move them all + * @param {number} amount + */ + function move(amount) { + document.documentElement.scrollTop = amount + document.body.parentNode.scrollTop = amount + document.body.scrollTop = amount + } + + function position() { + return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop + } + + /** + * @param {number} to + * @param {number} duration + * @param {Function} callback + */ + export function scrollTo(to, duration, callback) { + const start = position() + const change = to - start + const increment = 20 + let currentTime = 0 + duration = (typeof (duration) === 'undefined') ? 500 : duration + var animateScroll = function() { + // increment the time + currentTime += increment + // find the value with the quadratic in-out easing function + var val = Math.easeInOutQuad(currentTime, start, change, duration) + // move the document.body + move(val) + // do the animation unless its over + if (currentTime < duration) { + requestAnimFrame(animateScroll) + } else { + if (callback && typeof (callback) === 'function') { + // the animation is done so lets callback + callback() + } + } + } + animateScroll() + } \ No newline at end of file diff --git a/src/view/Home.vue b/src/view/Home.vue index c0f7fa2..4a402eb 100644 --- a/src/view/Home.vue +++ b/src/view/Home.vue @@ -1,20 +1,31 @@ + + \ No newline at end of file diff --git a/src/view/card/LoginWelcome.vue b/src/view/card/LoginWelcome.vue new file mode 100644 index 0000000..499ef2d --- /dev/null +++ b/src/view/card/LoginWelcome.vue @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/src/view/card/Promotion.vue b/src/view/card/Promotion.vue new file mode 100644 index 0000000..6313947 --- /dev/null +++ b/src/view/card/Promotion.vue @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/src/view/card/Tip.vue b/src/view/card/Tip.vue new file mode 100644 index 0000000..ec8c434 --- /dev/null +++ b/src/view/card/Tip.vue @@ -0,0 +1,41 @@ + + + + + \ No newline at end of file diff --git a/src/view/post/Index.vue b/src/view/post/Index.vue new file mode 100644 index 0000000..d5f74a5 --- /dev/null +++ b/src/view/post/Index.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/view/user/Profile.vue b/src/view/user/Profile.vue new file mode 100644 index 0000000..f3bc143 --- /dev/null +++ b/src/view/user/Profile.vue @@ -0,0 +1,135 @@ + + + + + + diff --git a/src/view/user/Setting.vue b/src/view/user/Setting.vue new file mode 100644 index 0000000..e109e74 --- /dev/null +++ b/src/view/user/Setting.vue @@ -0,0 +1,118 @@ + + + + + \ No newline at end of file -- Gitee