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

相关推荐
小亮学前端9 小时前
在1Panel中部署Nuxt项目
前端·vue.js
用户841794814569 小时前
vxe-table 虚拟滚动下自定义行高:支持每行独立高度与自适应
vue.js
如果超人不会飞10 小时前
TinyVue 组件库实战指南:从安装到上手一篇就够了
vue.js
开飞机的舒克_10 小时前
vue3+router动态权限路由
前端·vue.js
于先生吖10 小时前
前后端分离二手商城开发,质检登记、回收回款整套业务源码部署教程
java·开发语言·uni-app
dy171711 小时前
二维码打印
前端·javascript·vue.js
智商不够_熬夜来凑11 小时前
【Radio & Checkbox】
前端·javascript·vue.js
贺今宵11 小时前
Vue 3 + Capacitor 使用jeep-sqlite,web端使用本地sqlite数据库
前端·数据库·vue.js·sqlite·web
plainGeekDev12 小时前
文件读写(Java IO)→ Kotlin 扩展函数
android·java·kotlin
s_nshine12 小时前
释放C盘,迁移studio相关数据到其他盘
android·windows·android studio·内存·c盘