vue 商城浏览足迹_vue实现用户获取浏览记录功能

在路由配置文件设置一个属性用来判断当前路由是否须要记录,如要记录当前路由设置为turejavascript

memoryRouter: false //是否记忆当前路由为经常使用工具

{

path: '/helloWorld',

name: 'HelloWorld',

component: HelloWorld,

meta: {

requireAuth: false // 是否须要登陆访问 true是 false否

, navBar: false // 是否显示顶头nav标题栏

, tabBar: true // 是否显示底部tab导航栏

, keepAlive: true // 是否使用 keep-alive 缓存页面

, memoryRouter: false //是否记忆当前路由为经常使用工具

}

},

在main.js文件中,路由守卫里添加本地缓存保存路由浏览记录;java

// 全局路由守卫

router.beforeEach((to, from, next) => {

if (to.meta.requireAuth === true && !getToken()) {

next({

name: 'Login'

})

} else {

// 记忆最近访问过的经常使用功能====================

const commonTools = localStorage.getItem("commonTools") ? JSON.parse(localStorage.getItem("commonTools")) : new Array();

const routerData = new Object();

routerData.router = new Object();

routerData.router.name = to.name;

routerData.router.params = to.params;

routerData.router.query = to.query;

routerData.title = to.meta.pageTitle;

routerData.name = to.name;

let flag = false;

for(let key in commonTools){

if(commonTools[key].name === to.name && key < 3){

flag = true;

}

}

if(!flag && routerData.title && to.meta.memoryRouter) {

commonTools.splice(0, 0, routerData);

}

store.commit('COMMON_TOOLS', commonTools);

// 记忆最近访问过的经常使用功能====================end

/*记忆当前路由信息,用于token失效后,从新登陆时回到当前页面*/

// 缓存当前路由名称,登陆成功后自动跳转到该路由页面

if(to.name !== "Login") {

let memoryRouter = new Object();

memoryRouter.name = to.name;

memoryRouter.params = to.params;

memoryRouter.query = to.query;

SetAutoJumpRouteName(memoryRouter);

}else{

sessionStorage.removeItem("autoJumpRouteName");

}

//实时更新用户信息

sendGetUserInfo(()=>{})

next()

}

});

因为项目须要,这里须要配合状态管理一块儿使用缓存

在store文件夹里有一个Getters.js文件,在这里加上session

//获取最近访问的经常使用工具

getCommonTools: state => {

let commonTools = localStorage.getItem("commonTools") ? JSON.parse(localStorage.getItem("commonTools")) : new Array()

if(commonTools.length > 0){

state.commonTools = commonTools;

}

return state.commonTools

}

在Moutations.js文件里工具

const COMMON_TOOLS = 'COMMON_TOOLS' // 更新最近访问的经常使用工具

// 更新最近访问的经常使用工具

[COMMON_TOOLS](state, ary) {

localStorage.setItem("commonTools", JSON.stringify(ary));

state.commonTools = ary;

}

在组件页面获取记录ui

//获取最近访问的经常使用工具

getCommonTools() {

return this.$store.getters.getCommonTools

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现浏览记录功能,可以考虑使用 Vue.js 的路由守卫功能。具体实现步骤如下: 1. 在 Vue.js 的路由中定义一个名为 `history` 的路由,用于展示用户浏览记录。 2. 在 Vue.js 中使用 `Vue-router` 的 `beforeEach` 路由守卫函数,在每次路由切换前记录用户浏览记录。 ```javascript router.beforeEach((to, from, next) => { const record = { path: from.fullPath, title: document.title, time: new Date().getTime() } const history = JSON.parse(localStorage.getItem('history') || '[]') history.push(record) localStorage.setItem('history', JSON.stringify(history)) next() }) ``` 3. 在 `history` 路由中读取本地存储中的浏览记录数据,将其展示在页面上。 ```javascript <template> <div> <h2>浏览记录</h2> <ul> <li v-for="record in history" :key="record.time"> <p>页面标题:{{ record.title }}</p> <p>浏览时间:{{ new Date(record.time).toLocaleString() }}</p> </li> </ul> </div> </template> <script> export default { data() { return { history: [] } }, created() { this.history = JSON.parse(localStorage.getItem('history') || '[]') } } </script> ``` 4. 在需要展示浏览记录的地方添加一个链接,指向 `history` 路由。 ```javascript <router-link to="/history">查看浏览记录</router-link> ``` 这样就可以实现简单的浏览记录功能了。当用户访问不同的页面时,记录数据会存储在本地存储中,用户可以通过链接查看自己的浏览记录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值