在实际应用中经常要将功能代码封装成插件,模块化后导入使用,全局可调用,简单举例
// 封装验证登录,未登录跳转登录页面模块
// 使用vuex数据,路由跳转,导包
import Vue from 'vue'
import store from 'store'
import router from 'router'
import { Toast } from 'vant'
Vue.use(Toast)
let loginPlugs = {}
// 创建一个对象,然后添加install方法
// 第一个参数Vue构造器
loginPlugs.install = function (Vue) {
Vue.prototype.$login = function () {
// 得到用户信息
let user = store.state.user
if (!user) {
// 没有登录,返回false值,调用可以通过返回值,知道用户是否登录
Toast.fail('对不起,请先完成登录再操作')
setTimeout(() => {
router.push('/login/nologin')
}, 1500)
return false
}
// 若已登录,返回true
return true
}
}
export default loginPlugs