This commit is contained in:
2023-11-07 17:11:57 +08:00
commit 1358e52fdb
643 changed files with 84924 additions and 0 deletions
@@ -0,0 +1,25 @@
const install = Vue => {
const debug = process.env.NODE_ENV !== 'production';
let vk = Vue.prototype ? Vue.prototype.vk : Vue.config.globalProperties.vk;
if (debug && vk) {
const oldErrorHandler = Vue.config.errorHandler;
Vue.config.errorHandler = function errorHandler(err, vm, info) {
const route = vm.$page && vm.$page.route;
let date = new Date();
let log = {
err: err.toString(),
info,
route,
time: date.getTime(),
timeStr: date.toLocaleTimeString()
};
if(vk.vuex) vk.vuex.dispatch('$error/add', log);
return oldErrorHandler(err, vm, info);
}
}
}
export default {
install
}
@@ -0,0 +1,67 @@
export default {
beforeCreate() {
// 将vuex方法挂在到vk实例中 beforeCreate created
let { vk, $store } = this;
if (typeof $store !== "undefined" && typeof vk.getVuexStore === "undefined") {
vk.getVuexStore = function() {
return $store;
};
vk.vuex = (name, value) => {
$store.commit('updateStore', { name, value });
};
/**
* (推荐) 设置vuex
* vk.vuex.set('$user.userInfo.avatar', avatar);
*/
vk.vuex.set = (name, value) => {
$store.commit('updateStore', { name, value });
};
/**
* (推荐) 读取vuex(具有解除对象内存印射功能,且任意一层数据为undefined,不会报错)
* vk.vuex.get('$user.userInfo.avatar');
*/
vk.vuex.get = (name, defaultValue) => {
let value = vk.pubfn.getData($store.state, name);
if (typeof value === "undefined") return (typeof defaultValue !== "undefined") ? defaultValue : "";
return JSON.parse(JSON.stringify(value));
};
vk.vuex.getters = (name) => {
return $store.getters[name];
};
/**
* 触发vuex的指定actions(异步)
* $user是模块名,addFootprint是对应模块的action名称
* vk.vuex.dispatch('$user/addFootprint', data);
*/
vk.vuex.dispatch = $store.dispatch;
/**
* 触发vuex的指定mutations
* $user是模块名,setFootprint是对应模块的action名称
* vk.vuex.commit('$user/setFootprint', data);
*/
vk.vuex.commit = $store.commit;
/* 另一种方式 */
/**
* vk.setVuex('$user.userInfo.avatar', avatar);
*/
vk.setVuex = vk.vuex.set;
/**
* vk.getVuex('$user.userInfo.avatar');
*/
vk.getVuex = vk.vuex.get;
/* 兼容老版本 */
vk.state = vk.vuex.get;
try {
if (!vk.checkToken()) {
vk.callFunctionUtil.deleteUserInfo({
log: false
});
}
} catch (err) {}
}
},
computed: {
}
}