123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- /**
- * vk-unicloud框架客户端(前端)
- * author VK
- */
- import userCenter from './libs/vk-unicloud/vk-unicloud-user-center'
- import callFunctionUtil from './libs/vk-unicloud/vk-unicloud-callFunctionUtil'
- import pubfn from './libs/function/index'
- import modal from './libs/function/modal'
- import navigate from './libs/function/vk.navigate'
- import localStorage from './libs/function/vk.localStorage'
- import aliyunOSSUtil from './libs/function/aliyunOSSUtil'
- import openapi from './libs/openapi/index'
- import requestUtil from './libs/function/vk.request'
- import importObject from './libs/function/vk.importObject'
- import filters from './libs/function/vk.filters'
- import mixin from './libs/mixin/mixin.js'
- import initPermission from './libs/function/permission'
- import storeMixin from './libs/store/mixin/mixin'
- import initGlobalError from './libs/store/libs/error'
- import consoleLog from './libs/install/console.log'
- import updateManager from './libs/function/updateManager.js'
- // #ifdef H5
- import h5 from './libs/function/vk.h5'
- // #endif
- var vk = {
- userCenter,
- callFunctionUtil,
- /**
- * 发起一个云函数请求
- */
- callFunction : callFunctionUtil.callFunction,
- checkToken : callFunctionUtil.checkToken,
- pubfn,
- // #ifdef H5
- h5,
- // #endif
- alert : modal.alert,
- toast : modal.toast,
- confirm : modal.confirm,
- prompt : modal.prompt,
- showActionSheet : modal.showActionSheet,
- showLoading : modal.showLoading,
- hideLoading : modal.hideLoading,
- setLoading : modal.setLoading,
- navigate,
- // 保留当前页面,并进行页面跳转
- navigateTo : navigate.navigateTo,
- // 关闭当前页面,并进行页面跳转
- redirectTo : navigate.redirectTo,
- // 并关闭所有页面,并进行页面跳转
- reLaunch : navigate.reLaunch,
- // 并关闭所有非tab页面,并进行tab面跳转
- switchTab : navigate.switchTab,
- // 页面返回
- navigateBack : navigate.navigateBack,
- // 跳转到首页
- navigateToHome : navigate.navigateToHome,
- // 跳转到登录页
- navigateToLogin : navigate.navigateToLogin,
- // 跳转到小程序
- navigateToMiniProgram : navigate.navigateToMiniProgram,
- // 本地缓存
- localStorage : localStorage,
- // 获取应用语言列表
- getLocaleList : pubfn.getLocaleList,
- // 获取应用当前语言
- getLocale : pubfn.getLocale,
- // 获取应用当前语言对象
- getLocaleObject : pubfn.getLocaleObject,
- // 设置应用当前语言
- setLocale : pubfn.setLocale,
- // 本地缓存
- ...localStorage,
- // 阿里云oss
- aliyunOSSUtil,
- // 更新管理器
- updateManager,
- // 开放API
- openapi,
- // 请求库
- requestUtil,
- // 发起URL请求
- request: requestUtil.request,
- // 导出云对象
- importObject,
- };
- // vk实例初始化
- vk.init = function(obj={}){
- let {
- Vue, // Vue实例
- config, // 配置
- store, // vuex简写法则(新版本无需传store)
- } = obj;
- if(typeof store !== "undefined"){
- // 兼容旧版本
- Vue.use(store);
- }else{
- // 新版本无需传store
- Vue.mixin(storeMixin);
- if(config.globalError){
- Vue.use(initGlobalError);
- }
- }
- // 自定义云函数路由配置
- vk.callFunctionUtil.setConfig(config);
- // 重写 console.log
- Vue.use(consoleLog);
- };
- vk.getGlobalObject = function(){
- if (typeof globalThis === "object") return globalThis;
- if (typeof self === "object") return self;
- if (typeof window === "object") return window;
- if (typeof global === "object") return global;
- };
- // 加载拓展功能
- vk.use = function(obj, util){
- for(let name in obj){
- if(obj[name] && typeof obj[name].init === "function"){
- obj[name].init(util);
- }
- vk[name] = obj[name];
- }
- };
- const install = Vue => {
- // 全局混入
- Vue.mixin(mixin);
- // #ifndef VUE3
- // 加载全局过滤器开始
- for(let i in filters){
- Vue.filter(i, filters[i]);
- }
- Vue.prototype.vk = vk;
- Vue.prototype.$fn = vk.pubfn;
- // #endif
- // #ifdef VUE3
- // 将vk挂载到Vue实例
- Vue.config.globalProperties.vk = vk;
- Vue.config.globalProperties.$fn = vk.pubfn;
- // #endif
- // 将vk挂载到uni对象
- if (typeof uni == "object") uni.vk = vk;
- // 将vk挂载到全局
- let vkGlobalThis = vk.getGlobalObject();
- if (typeof vkGlobalThis == "object") vkGlobalThis.vk = vk;
- let util = { vk };
- // 加载插件
- vk.use({
- callFunctionUtil : vk.callFunctionUtil,
- openapi : vk.openapi
- }, util);
- initPermission(Vue);
- }
- export default {
- install
- }
|