diff --git a/public/index.html b/public/index.html index 0c1ebba..6d7c22b 100644 --- a/public/index.html +++ b/public/index.html @@ -6,43 +6,9 @@ - 绍兴研学 - - + + + @@ -53,8 +19,6 @@
- - \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index 847312a..dc6fe4d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -17,28 +17,34 @@ export default { showSchool: false, } }, + watch: { + $route(to, from) { + console.log('zheliban 》》》 ', to, from) + this.$zwlogPvGlobal({ url: to.meta.pagePath, enterPageTime: new Date() }) + this.$zwlogPvGlobal({ + url: from.meta.pagePath, + leavePageTime: new Date(), + }) + }, + }, mounted() { // new vConsole() ZWJSBridge.onReady(() => { - console.log('初始化完成后,执行bridge方法') - }) - const isElder = localStorage.getItem('isElder') - if (isElder) { - this.isElder = true - } else { ZWJSBridge.getUiStyle({}) .then((result) => { console.log(result) if (result.uiStyle == 'elder') { this.isElder = true localStorage.setItem('isElder', 1) + } else { + localStorage.removeItem('isElder') } }) //浙里办APP 6.11.0 版本以下版本标准模式兼容 .catch((error) => { console.log(error) }) - } + }) }, methods: { setElder(e) { diff --git a/src/common/zwUtil.js b/src/common/zwUtil.js new file mode 100644 index 0000000..876b445 --- /dev/null +++ b/src/common/zwUtil.js @@ -0,0 +1,134 @@ + +// 埋点对象 +var zwlog; + +// 页面埋点数据 +var pageLogMap = {}; + +/* + * *******用户信息采集,同时声明 Zwlog 对象实例 + * uerId 用户 ID 没登录就非必填,登录了必填 + */ +export function initZwlog () { + zwlog = new ZwLog({ + _user_id: localStorage.getItem('centerNo'), + _user_nick: localStorage.getItem('_user_nick') + }); +} + +/* + * *******PV 日志参数- global_args + * url 页面路径 【选填】(未传参默认获取当前路由地址) + * enterPageTime 【必填】(默认在路由改变的时候自动获取时间) 进入页面的时间 new Date() + * leavePageTime 【必填】(默认在路由改变的时候自动获取时间) 离开页面的时间 new Date() + * loadTime【必填】(页面onShow中获取当前时间) 加载完的时间 new Date() + * responseTime 【必填】(页面onShow的nextTick中获取当前时间) 响应完的时间 new Date() + */ +export function zwlogPvGlobal ({ + url = null, + enterPageTime = null, + leavePageTime = null, + loadTime = null, + responseTime = null +} = {}) { + console.log('调用zwlogPvGlobal') + if (!zwlog) initZwlog(); + let path = url || getCurRoute(); + if (!pageLogMap.hasOwnProperty(path)) + pageLogMap[path] = { + enterPageTime: null, + leavePageTime: null, + loadTime: null, + responseTime: null, + }; + + if (enterPageTime) pageLogMap[path].enterPageTime = enterPageTime; + if (leavePageTime) pageLogMap[path].leavePageTime = leavePageTime; + if (loadTime) pageLogMap[path].loadTime = loadTime; + if (responseTime) pageLogMap[path].responseTime = responseTime; + + console.log("zheliban === " + path, pageLogMap[path]); + + if ( + pageLogMap[path].enterPageTime && + pageLogMap[path].leavePageTime && + pageLogMap[path].loadTime && + pageLogMap[path].responseTime + ) { + /* + * miniAppId 应用开发管理 平台 appId + * miniAppName 应用开发管理 平台应用名称 + * log_status 用户登录状态 (01:未登录/ 02:单点登录) + * Page_duration 浏览时长 用户从进入到离开当 前页面的时长 + * t2 页面加载时间 页面启动到加载完成 的时间 + * t0 页面响应时间 页面启动到页面响应 完成的时间 + * pageId 应用页面 ID + * pageName 应用页面名称 + */ + let Page_duration = + pageLogMap[path].leavePageTime.getTime() - + pageLogMap[path].enterPageTime.getTime(); + let t2 = + pageLogMap[path].loadTime.getTime() - + pageLogMap[path].enterPageTime.getTime(); + let t0 = + pageLogMap[path].responseTime.getTime() - + pageLogMap[path].enterPageTime.getTime(); + setTimeout(() => { + let pvParams = { + miniAppId: "2002281863", + miniAppName: "绍兴研学", + log_status: "2002281863", + Page_duration: Page_duration / 1000 + "秒", + t2: t2 / 1000 + "秒", + t0: t0 / 1000 + "秒", + pageId: path, + pageName: getNavigationBarTitleText(), + }; + zwlog.onReady(function () { + console.log('zwlog onReady') + zwlog.sendPV(pvParams); + delete pageLogMap[path]; + }); + }, 500); + } else { + let result = ""; + for (let k in pageLogMap[path]) { + if (!pageLogMap[path][k]) result += k + ","; + } + console.log("zheliban === 浙里办页面" + path + "埋点缺少参数=>>", result); + } +} +// 获取页面的导航title +function getNavigationBarTitleText () { + // let pages = getCurrentPages(); + // let page = pages[pages.length - 1]; + // let title = page.$holder.navigationBarTitleText; + // console.log("zheliban === getNavigationBarTitleText title=", title); + return document.title; +} + +// 点击事件的埋点 +export function zwlogRecord ({ code = "" } = {}) { + if (!zwlog) initZwlog(); + let path = getCurRoute(); + zwlog.onReady(function () { + zwlog.record({ + trackerEventCode: `${code}`, + eventType: "OTHER", + eventParams: { + pageId: path, //采用页面路径,也可以自己给每个页面设置一个pageId + pageName: getNavigationBarTitleText(), + }, + }); + }); +} + + +let getCurRoute = () => { + // let routes = getCurrentPages(); // 获取当前打开过的页面路由数组 + // let curRoute = routes[routes.length - 1].route; // 获取当前页面路由,也就是最后一个打开的页面路由 + // console.log("curRoute", curRoute); + + return '/'; +}; \ No newline at end of file diff --git a/src/main.js b/src/main.js index 082dd5a..32cb363 100644 --- a/src/main.js +++ b/src/main.js @@ -26,6 +26,9 @@ Vue.prototype.TestUnionId = 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU' //夏 Vue.prototype.projectCity = '绍兴市'; //地区 Vue.prototype.projectCityCode = '0575'; //地区编码 +import {zwlogPvGlobal} from './common/zwUtil.js' +Vue.prototype.$zwlogPvGlobal = zwlogPvGlobal; + Vue.use(Vant); Vue.use(ImagePreview); Vue.config.productionTip = false diff --git a/src/router/index.js b/src/router/index.js index 94ca081..7e479f6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -3,10 +3,10 @@ import VueRouter from 'vue-router' Vue.use(VueRouter) const [routerPush, routerReplace] = [VueRouter.prototype.push, VueRouter.prototype.replace]; -VueRouter.prototype.push = function push(to) { +VueRouter.prototype.push = function push (to) { return routerPush.call(this, to).catch(err => err) } -VueRouter.prototype.replace = function replace(location) { +VueRouter.prototype.replace = function replace (location) { return routerReplace.call(this, location).catch(error => error); }; const routes = [ @@ -14,7 +14,7 @@ const routes = [ path: '/502', name: '502', component: () => - import ('@/views/502.vue'), + import('@/views/502.vue'), meta: { title: '502', } @@ -23,7 +23,7 @@ const routes = [ path: '/', name: 'Home', component: () => - import ('@/views/Home.vue'), + import('@/views/Home.vue'), meta: { title: '绍兴研学' } @@ -32,7 +32,7 @@ const routes = [ path: '/Find', name: 'Find', component: () => - import ('@/views/Find.vue'), + import('@/views/Find.vue'), meta: { title: '发现' } @@ -40,7 +40,7 @@ const routes = [ path: '/Foot', name: 'Foot', component: () => - import ('@/views/Foot.vue'), + import('@/views/Foot.vue'), meta: { title: '足迹' } @@ -48,7 +48,7 @@ const routes = [ path: '/Authorize', name: 'Authorize', component: () => - import ('@/views/Authorize.vue'), + import('@/views/Authorize.vue'), meta: { title: '授权中...' } @@ -57,7 +57,7 @@ const routes = [ path: '/MyClassList', name: 'MyClassList', component: () => - import ('@/views/MyClassList.vue'), + import('@/views/MyClassList.vue'), meta: { title: '基地签到' } @@ -65,12 +65,12 @@ const routes = [ path: '/BaseDetail', name: 'BaseDetail', component: () => - import ('@/views/BaseDetail.vue') + import('@/views/BaseDetail.vue') }, { path: '/CourseDetail', name: 'CourseDetail', component: () => - import ('@/views/CourseDetail.vue'), + import('@/views/CourseDetail.vue'), meta: { title: '课程详情' } @@ -78,52 +78,52 @@ const routes = [ path: '/ReleaseStory', name: 'ReleaseStory', component: () => - import ('@/views/ReleaseStory.vue'), + import('@/views/ReleaseStory.vue'), }, { path: '/ReleaseEvaluate', name: 'ReleaseEvaluate', component: () => - import ('@/views/ReleaseEvaluate.vue'), + import('@/views/ReleaseEvaluate.vue'), }, { path: '/MyCollection', name: 'MyCollection', component: () => - import ('@/views/MyCollection.vue'), + import('@/views/MyCollection.vue'), }, { path: '/EvaluateDetail', name: 'EvaluateDetail', component: () => - import ('@/views/EvaluateDetail.vue'), + import('@/views/EvaluateDetail.vue'), }, { path: '/BannerDetail', name: 'BannerDetail', component: () => - import ('@/views/BannerDetail.vue'), + import('@/views/BannerDetail.vue'), }, { path: '/SearchDetail', name: 'SearchDetail', component: () => - import ('@/views/SearchDetail.vue'), + import('@/views/SearchDetail.vue'), }, { path: '/FeedBack', name: 'FeedBack', component: () => - import ('@/views/FeedBack.vue'), + import('@/views/FeedBack.vue'), }, { path: '/About', name: 'About', component: () => - import ('@/views/About.vue'), + import('@/views/About.vue'), }, { path: '/Tips', name: 'Tips', component: () => - import ('@/views/Tips.vue'), + import('@/views/Tips.vue'), }, { path: '/HomeYX', name: 'HomeYX', component: () => - import ('@/views/Home/HomeYX.vue'), + import('@/views/Home/HomeYX.vue'), meta: { title: '个人中心(绍兴研学)' } @@ -132,7 +132,7 @@ const routes = [ path: '/service_order', name: 'ServiceOrder', component: () => - import ('@/views/Home/ServiceOrder.vue'), + import('@/views/Home/ServiceOrder.vue'), meta: { title: '我的订单' } @@ -141,19 +141,19 @@ const routes = [ path: '/YanxueCode', name: 'YanxueCode', component: () => - import ('@/views/Home/YanxueCode.vue'), + import('@/views/Home/YanxueCode.vue'), }, { path: '/YanxueInfo', name: 'YanxueInfo', component: () => - import ('@/views/Home/YanxueInfo.vue'), + import('@/views/Home/YanxueInfo.vue'), }, { path: '/select_contact', name: 'SelectContact', component: () => - import ('@/views/Home/SelectContact.vue'), + import('@/views/Home/SelectContact.vue'), meta: { title: '选择联系人' } @@ -162,7 +162,7 @@ const routes = [ path: '/edit_contact', name: 'EditContact', component: () => - import ('@/views/Home/EditContact.vue'), + import('@/views/Home/EditContact.vue'), meta: { title: '修改联系人' } @@ -171,7 +171,7 @@ const routes = [ path: '/StudentDetail', name: 'StudentDetail', component: () => - import ('@/views/Home/StudentDetail.vue'), + import('@/views/Home/StudentDetail.vue'), meta: { title: '学生信息' } @@ -180,7 +180,7 @@ const routes = [ path: '/login_public', name: 'LoginPublic', component: () => - import ('@/views/Home/LoginPublic.vue'), + import('@/views/Home/LoginPublic.vue'), meta: { title: '绑定手机号' } @@ -189,7 +189,7 @@ const routes = [ path: '/evaluateCourse', name: 'evaluateCourse', component: () => - import ('@/views/Home/evaluateCourse.vue'), + import('@/views/Home/evaluateCourse.vue'), meta: { title: '评价' } @@ -198,7 +198,7 @@ const routes = [ path: '/evaluateBase', name: 'evaluateBase', component: () => - import ('@/views/Home/evaluateBase.vue'), + import('@/views/Home/evaluateBase.vue'), meta: { title: '基地评价' } @@ -207,7 +207,7 @@ const routes = [ path: '/evaluateDetail', name: 'evaluateDetail', component: () => - import ('@/views/Home/evaluateDetail.vue'), + import('@/views/Home/evaluateDetail.vue'), meta: { title: '评价详情' } @@ -216,7 +216,7 @@ const routes = [ path: '/schoolFollow', name: 'schoolFollow', component: () => - import ('@/views/Travel/schoolFollow.vue'), + import('@/views/Travel/schoolFollow.vue'), meta: { title: '关注学校' } @@ -225,7 +225,7 @@ const routes = [ path: '/schoolAttestation', name: 'schoolAttestation', component: () => - import ('@/views/Travel/schoolAttestation.vue'), + import('@/views/Travel/schoolAttestation.vue'), meta: { title: '已认证学校' } @@ -234,7 +234,7 @@ const routes = [ path: '/classAttestation', name: 'classAttestation', component: () => - import ('@/views/Travel/classAttestation.vue'), + import('@/views/Travel/classAttestation.vue'), meta: { title: '集团认领' } @@ -243,7 +243,7 @@ const routes = [ path: '/MyCollect', name: 'MyCollect', component: () => - import ('@/views/Home/MyCollect.vue'), + import('@/views/Home/MyCollect.vue'), meta: { title: '我的收藏' } @@ -252,7 +252,7 @@ const routes = [ path: '/SelectionCourse', name: 'SelectionCourse', component: () => - import ('@/views/Service/CourseBaseList/SelectionCourse.vue'), + import('@/views/Service/CourseBaseList/SelectionCourse.vue'), meta: { title: '精选课程', } @@ -261,7 +261,7 @@ const routes = [ path: '/SelectionBase', name: 'SelectionBase', component: () => - import ('@/views/Service/CourseBaseList/SelectionBase.vue'), + import('@/views/Service/CourseBaseList/SelectionBase.vue'), meta: { title: '研学基地', } @@ -270,7 +270,7 @@ const routes = [ path: '/SearchResult', name: 'SearchResult', component: () => - import ('@/views/Service/CourseBaseList/SearchResult.vue'), + import('@/views/Service/CourseBaseList/SearchResult.vue'), meta: { title: '搜索结果', } @@ -279,7 +279,7 @@ const routes = [ path: '/RankingList', name: 'RankingList', component: () => - import ('@/views/Service/CourseBaseList/RankingList.vue'), + import('@/views/Service/CourseBaseList/RankingList.vue'), meta: { title: '热门榜单', } @@ -288,7 +288,7 @@ const routes = [ path: '/base_detail', name: 'ServiceBaseDetail', component: () => - import ('@/views/Service/BaseDetail/BaseDetail.vue'), + import('@/views/Service/BaseDetail/BaseDetail.vue'), meta: { title: '基地详情' } @@ -297,7 +297,7 @@ const routes = [ path: '/abroad_detail', name: 'ServiceAbroadDetail', component: () => - import ('@/views/Service/AbroadDetail/AbroadDetail.vue'), + import('@/views/Service/AbroadDetail/AbroadDetail.vue'), meta: { title: '商品详情' } @@ -306,7 +306,7 @@ const routes = [ path: '/abroad_detail_next', name: 'ServiceAbroadDetailNext', component: () => - import ('@/views/Service/AbroadDetailNext/AbroadDetailNext.vue'), + import('@/views/Service/AbroadDetailNext/AbroadDetailNext.vue'), meta: { title: '商品详情' } @@ -315,7 +315,7 @@ const routes = [ path: '/talent_reserve', name: 'TalentReserve', component: () => - import ('@/views/Service/TalentReserve.vue'), + import('@/views/Service/TalentReserve.vue'), meta: { title: '预约' } @@ -324,7 +324,7 @@ const routes = [ path: '/check_order_reserve', name: 'ServiceCheckOrderReserve', component: () => - import ('@/views/Service/CheckOrderReserve.vue'), + import('@/views/Service/CheckOrderReserve.vue'), meta: { title: '提交信息' } @@ -333,7 +333,7 @@ const routes = [ path: '/article', name: 'Article', component: () => - import ('@/views/Article/Article.vue'), + import('@/views/Article/Article.vue'), meta: { title: '官方资讯' } @@ -342,7 +342,7 @@ const routes = [ path: '/article_detail', name: 'ArticleDetail', component: () => - import ('@/views/Article/ArticleDetail.vue'), + import('@/views/Article/ArticleDetail.vue'), meta: { title: '官方资讯' } @@ -352,7 +352,7 @@ const routes = [ path: '/teacher', name: 'Teacher', component: () => - import ('@/views/Teacher/Teacher.vue'), + import('@/views/Teacher/Teacher.vue'), meta: { title: '研学导师' } @@ -361,7 +361,7 @@ const routes = [ path: '/GrowUpRecord', name: 'GrowUpRecord', component: () => - import ('@/views/GrowUp/GrowUpRecord.vue'), + import('@/views/GrowUp/GrowUpRecord.vue'), meta: { title: '成长记录' @@ -371,7 +371,7 @@ const routes = [ path: '/MyAlbum', name: 'MyAlbum', component: () => - import ('@/views/GrowUp/MyAlbum.vue'), + import('@/views/GrowUp/MyAlbum.vue'), meta: { title: '我的相册', } @@ -380,7 +380,7 @@ const routes = [ path: '/StoryRelease', name: 'StoryRelease', component: () => - import ('@/views/GrowUp/StoryRelease.vue'), + import('@/views/GrowUp/StoryRelease.vue'), meta: { title: '我的游记', } @@ -389,7 +389,7 @@ const routes = [ path: '/StoryList', name: 'StoryList', component: () => - import ('@/views/GrowUp/StoryList.vue'), + import('@/views/GrowUp/StoryList.vue'), meta: { title: '研学游记', } @@ -398,7 +398,7 @@ const routes = [ path: '/StoryDetail', name: 'StoryDetail', component: () => - import ('@/views/GrowUp/StoryDetail.vue'), + import('@/views/GrowUp/StoryDetail.vue'), meta: { title: '研学游记', } @@ -407,7 +407,7 @@ const routes = [ path: '/MyStory', name: 'MyStory', component: () => - import ('@/views/GrowUp/MyStory.vue'), + import('@/views/GrowUp/MyStory.vue'), meta: { title: '我的游记', } @@ -416,7 +416,7 @@ const routes = [ path: '/FeedbookList', name: 'FeedbookList', component: () => - import ('@/views/Feedbook/FeedbookList.vue'), + import('@/views/Feedbook/FeedbookList.vue'), meta: { title: '意见反馈', } @@ -425,7 +425,7 @@ const routes = [ path: '/FeedbookReply', name: 'FeedbookReply', component: () => - import ('@/views/Feedbook/FeedbookReply.vue'), + import('@/views/Feedbook/FeedbookReply.vue'), meta: { title: '回复', } @@ -434,7 +434,7 @@ const routes = [ path: '/FeedbookEdit', name: 'FeedbookEdit', component: () => - import ('@/views/Feedbook/FeedbookEdit.vue'), + import('@/views/Feedbook/FeedbookEdit.vue'), meta: { title: '撰写意见', } @@ -450,7 +450,10 @@ router.beforeEach((to, from, next) => { /* 路由发生变化修改页面title */ if (to.meta.title) { // console.log(to) - document.title = to.meta.title + // document.title = to.meta.title + ZWJSBridge.setTitle({ + "title": to.meta.title + }) } next() }) diff --git a/src/views/Article/Article.vue b/src/views/Article/Article.vue index 62e4f5b..cfcde22 100644 --- a/src/views/Article/Article.vue +++ b/src/views/Article/Article.vue @@ -53,3 +53,12 @@ export default { } + diff --git a/src/views/Article/ArticleDetail.vue b/src/views/Article/ArticleDetail.vue index d67b966..9f1eaa7 100644 --- a/src/views/Article/ArticleDetail.vue +++ b/src/views/Article/ArticleDetail.vue @@ -122,3 +122,12 @@ export default { } } + diff --git a/src/views/BaseDetail.vue b/src/views/BaseDetail.vue index 76754de..35fcdb4 100644 --- a/src/views/BaseDetail.vue +++ b/src/views/BaseDetail.vue @@ -117,13 +117,12 @@
- {{ detailData.isCollect == 0 ? '加入收藏' : '已收藏' }} - 去登录
@@ -154,36 +153,11 @@ export default { var id = this.$route.query.id if (id) { this.id = id - localStorage.setItem('prePageQuery', JSON.stringify({ id: this.$route.query.id })) } - let openid = localStorage.getItem('openId') - let schoolNamesChoose = localStorage.getItem('schoolNamesChoose') - if (schoolNamesChoose) { - this.schoolNamesChoose = JSON.parse(schoolNamesChoose) - } - this.headImgUrl = localStorage.getItem('headImgUrl') - this.nicknameUser = localStorage.getItem('nicknameUser') - if (process.env.NODE_ENV === 'production' && this.common.isWeiXin()) { - if (!openid) { - this.$router.push({ name: 'Authorize' }) - } else { - this.getUserInfo() - } - } else { - localStorage.setItem('unionId', this.DevUnionId) - this.getUserInfo() - } - window.addEventListener('scroll', this.handleScroll) this.GetStudyBaseDetail() }, - beforeDestroy() { - window.removeEventListener('scroll', this.handleScroll) - }, methods: { - initPage() { - this.GetStudyBaseDetail() - }, goCourseDetail(id) { this.$router.push({ path: '/CourseDetail', query: { id: id } }) @@ -202,7 +176,6 @@ export default { } // } }, addCollect() { - this.checkLogin() if (this.detailData.isCollect == 0) { var that = this this.$toast.loading({ @@ -222,18 +195,6 @@ export default { }) } }, - // 判断是否已登录 - checkLogin() { - if (process.env.NODE_ENV != 'production') return true - const userInfo = JSON.parse(localStorage.getItem('userInfo')) - if (!userInfo?.phone) { - localStorage.setItem('prePage', 'BaseDetail') - localStorage.setItem('prePageQuery', JSON.stringify({ id: this.$route.query.id })) - this.$router.push({ name: 'LoginPublic' }) - return false - } - return true - }, tabClick(name, title) { // 找到锚点 let anchorElement = document.getElementById(name) @@ -289,38 +250,6 @@ export default { getNull(t) { return t ? t : '' }, - // 获取用户信息 - getUserInfo() { - this.$toast.loading({ - message: '加载中...', - duration: 0, - forbidClick: true, - }) - this.yxAxios - .get(`${this.baseUrl}/prod/api/wx/wx1305e88d2bc74073/getUserInfo?unionId=${localStorage.getItem('unionId')}`) - .then((res) => { - this.$toast.clear() - if (res.data.code == 200) { - let userInfo = res.data.data - this.userInfo = userInfo - localStorage.setItem('userInfo', JSON.stringify(userInfo)) - this.initPage() - if (res.data.data.schoolNames || res.data.data.schoolNames == [] || res.data.data.schoolNames == 'null') { - localStorage.setItem('schoolNames', JSON.stringify(res.data.data.schoolNames)) - this.$store.commit('changeSchool', res.data.data.schoolNames) - if (!localStorage.getItem('schoolNamesChoose')) { - localStorage.setItem('schoolNamesChoose', JSON.stringify(res.data.data.schoolNames[0])) - this.schoolNamesChoose = res.data.data.schoolNames[0] - } - } else { - localStorage.setItem('schoolNames', []) - this.$store.commit('changeSchool', []) - } - }else{ - this.initPage() - } - }) - }, }, } diff --git a/src/views/Feedbook/FeedbookList.vue b/src/views/Feedbook/FeedbookList.vue index 3c9b415..c1c9d52 100644 --- a/src/views/Feedbook/FeedbookList.vue +++ b/src/views/Feedbook/FeedbookList.vue @@ -106,3 +106,11 @@ export default { } } + diff --git a/src/views/Feedbook/FeedbookReply.vue b/src/views/Feedbook/FeedbookReply.vue index 92451dc..a664b00 100644 --- a/src/views/Feedbook/FeedbookReply.vue +++ b/src/views/Feedbook/FeedbookReply.vue @@ -106,3 +106,11 @@ export default { } } + diff --git a/src/views/Foot.vue b/src/views/Foot.vue index a0a5a21..848170f 100644 --- a/src/views/Foot.vue +++ b/src/views/Foot.vue @@ -1,6 +1,6 @@