原生Android调用uniapp项目中的方法
最近遇到了这样一个需求,和安卓对接,暴露一个方法给安卓调用,我这边是使用的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 = util
return {
app
}
}
// 暴露方法供调用
// index.vue
import {onMounted,getCurrentInstance} from 'vue'
const {proxy} = getCurrentInstance();
onMounted(() => {
window.test = proxy.$util.test;
})
这样的话test方法就可以暴露给安卓调用了,欢迎有更好想法的评论区留言交流哦