原生Android调用uniapp项目中的方法

最近遇到了这样一个需求,和安卓对接,暴露一个方法给安卓调用,我这边是使用的uniapp+vue3开发的项目,可以打包成小程序、app,运行在浏览器,H5页面等。大概的思路是:在main.js中封装一个全局的方法。下面是在uniapp中实现的代码:

javascript 复制代码
// 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方法就可以暴露给安卓调用了,欢迎有更好想法的评论区留言交流哦

相关推荐
姜行运7 分钟前
C++【继承】
android·开发语言·c++
pq113_610 分钟前
OrangePi Zero 3学习笔记(Android篇)1 - 搭建环境
android·orangepi zero 3
志存高远665 小时前
kotlin 扩展函数
android·开发语言·kotlin
爱笑的眼睛116 小时前
uniapp 云开发全集 云数据库
javascript·数据库·oracle·uni-app
小镇敲码人7 小时前
【深入浅出MySQL】之数据类型介绍
android·数据库·mysql
柯南二号8 小时前
Android 实现一个隐私弹窗
android
阿珊和她的猫8 小时前
钩子函数和参数:Vue组件生命周期中的自定义逻辑
前端·javascript·vue.js
勘察加熊人8 小时前
vue展示graphviz和dot流程图
前端·vue.js·流程图
UzumakiHan10 小时前
flutter权限允许访问
android·flutter
武昌库里写JAVA12 小时前
Java 设计模式
java·vue.js·spring boot·课程设计·宠物管理