# 检测用户是否登录
很多时候我们需要检测用户是否登录, 如果登录, 才能做接下来的操作, 如果用户没有登录, 则弹框提示。比如加入购物车, 收藏商品等, 基于这个需求, 封装了一个通用方法, 如果需要根据业务定制, 则需要再做二次封装, 该方法需要配合本地存储一起使用。
# 检测用户是否登录
checkLogin(key, next, item = null, title = '检测到您未登录', content = '是否立即跳转到登录页面', loginPath, cancel, confirmColor, cancelColor, confirmText, cancelText)
key: 本地存储用户信息的键名 。
next: 用户已登录执行的回调, 该参数为一个函数。
item: next函数需要传的参数, 如果next函数没有参数则为null。
title: 弹框的标题, 默认为检测到您未登录。
content: 弹框的提示内容, 是否立即跳转到登录页面。
loginPath: 未登录时, 用户点击确认按钮需要跳转的登录路径, 需要在pages.json里配置。
cancel: 用户点击取消按钮执行的回调函数。
confirmText: 确认按钮的文字。
confirmColor: 确认按钮的文字颜色。
cancelText: 取消按钮的文字。
cancelColor: 取消按钮的文字颜色。
<cc-button @click='add'>加入购物车<cc-button>
export default {
methods: {
// 需要先定义加入购物车的函数 传入到next参数里
addCart(item) {
// 模拟加入购物车请求
this.$cc.http({
url: '/api/addCart',
data: item
})
},
add() {
this.$cc.checkLogin({
key: 'user',
next: this.addCart,
item: {
price: '3',
id: 1,
name: '可乐'
},
loginPath: '/pages/login/login'
})
}
}
}