uniapp 服务注册
服务注册的基本概念
在UniApp中,服务注册通常指将后端服务接口、全局功能或第三方服务集成到应用中。可通过全局变量、Vue插件或模块化方式实现,确保多端(H5、小程序、App等)兼容性。
全局变量注册
在main.js中定义全局变量,供所有页面调用:

// main.js
Vue.prototype.$api = {
baseURL: 'https://example.com/api',
fetchData: function() { /* 请求逻辑 */ }
};
// 页面中使用
this.$api.fetchData();
Vue插件注册
通过Vue插件形式封装服务,提升复用性:

// plugins/service.js
export default {
install(Vue) {
Vue.prototype.$service = {
login: () => { /* 登录逻辑 */ },
getInfo: () => { /* 获取信息 */ }
};
}
};
// main.js 引入
import service from './plugins/service';
Vue.use(service);
模块化封装
将服务拆分为独立模块,通过ES6导入导出管理:
// services/api.js
export const fetchUser = () => uni.request({ url: '/user' });
// 页面中调用
import { fetchUser } from '@/services/api';
fetchUser().then(res => console.log(res));
第三方服务集成
例如集成微信登录或支付,需在manifest.json配置:
// manifest.json (微信小程序部分)
"mp-weixin": {
"appid": "your-wechat-appid",
"requiredBackgroundModes": ["location"]
}
注意事项
- 多端适配时,需检查接口兼容性(如小程序需配置合法域名)。
- 全局变量避免过度使用,优先考虑模块化设计。
- 异步服务建议结合
uni.request或uniCloud处理。
通过以上方法,可实现灵活的服务注册与管理,适应UniApp的多端开发需求。






