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

相关推荐
雪芽蓝域zzs30 分钟前
第3节:el-select 弹窗定位、滚动穿透与挂载容器(popper-append-to-body /teleported)
vue.js·elementui
星间都市山脉1 小时前
RecoveryUI 圆角屏安全边距配置及代码调用链
android·java·linux·windows·ubuntu
打工仔折腾 AI2 小时前
DiPlay 实测:iPhone 绕过硬件盒子直连 BYD 车机的思路拆解
android·人工智能·后端·python·gradle·iphone·ai agent 实战
hengdonghui2 小时前
Writeup 4 NUAA 2017 robots
android·ctf·re
雪芽蓝域zzs10 小时前
第 2 节:基础扩展 - 下拉弹窗常用原生属性
vue.js·elementui
96245614 小时前
从“一键创建 ECS”到完整恢复状态机:ACK 抢占式节点恢复 Android 工具升级复盘
android
LCD液晶屏17 小时前
京瓷液晶屏停产替代:杭州立煌科技工业 LCD 解决方案
android·科技
2501_9327502619 小时前
Android 自定义 View 入门
android
事圆则缓21 小时前
Android 开启线程的几种方式:Thread、线程池、HandlerThread 与协程
android