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

相关推荐
Lei活在当下5 小时前
Codex 工程化实践指南:深入理解 AGENTS.md、SKILL.md 与 MCP
android·openai·ai编程
Jave21086 小时前
Vue 中 mixins 混合开发的主要使用场景有哪些?
前端·vue.js
JEECG低代码平台6 小时前
JeecgBoot低代码平台 Ant Design Vue 4.x 升级避坑指南
前端·vue.js·低代码
修炼者6 小时前
Toast的显示流程
android
北寻北爱7 小时前
面试题-vue篇
前端·vue.js
new code Boy9 小时前
Vue2转Vue3速查表
前端·javascript·vue.js
simplepeng9 小时前
Room 3.0 KMP Alpha-01
android·kotlin·android jetpack
Lei活在当下9 小时前
Windows 下 Codex 高效工作流最佳实践
android·openai·ai编程
fatiaozhang95279 小时前
基于slimBOXtv 9.19.0 v4(通刷晶晨S905L3A/L3AB芯片)ATV-安卓9-完美版线刷固件包
android·电视盒子·刷机固件·机顶盒刷机·晶晨s905l3ab·晶晨s905l3a
私房菜10 小时前
Selinux 及在Android 的使用详解
android·selinux·sepolicy