最近遇到了这样一个需求,和安卓对接,暴露一个方法给安卓调用,我这边是使用的uniapp+vue3开发的项目,可以打包成小程序、app,运行在浏览器,H5页面等。大概的思路是:在main.js中封装一个全局的方法。下面是在uniapp中实现的代码:
// utils.js
export const test = (str) => {uni.showToast({title: str,icon: 'none'})
}
// main.js
// 全局注册
import App from './App.vue'
import {createSSRApp} from 'vue'
import * as util from 'utils.js'
export function createApp() {const app = createSSRApp(App)app.config.globalProperties.$util = utilreturn {app}
}// 暴露方法供调用
// index.vue
import {onMounted,getCurrentInstance} from 'vue'
const {proxy} = getCurrentInstance();
onMounted(() => {window.test = proxy.$util.test;
})
这样的话test方法就可以暴露给安卓调用了,欢迎有更好想法的评论区留言交流哦