UNIAPP检测是否有打包push模块

 这个图片大家都很熟悉,在UNIAPP打包时没有勾选push模块,调用push相关功能就会进行提示

那么有没有方法可以在运行时知道是否有打包push模块呢

有的,下面就是一个通过plus.runtime.getProperty判断是否有打包push模块的例子

if (window.plus && window.plus.push) {
    window.plus.runtime.getProperty( window.plus.runtime.appid, function ( info ) {
    if (!info.features.includes('push')) return;
    window.plus.push.getClientInfoAsync((c) => {
        console.log(c)
    })
})

另外可以使用 HBuilderX 的一些特定模块来获取打包配置信息。

在 Uni-app 中,可以使用 plus.runtime.getProperty() 方法获取打包配置信息,该函数可以获取应用的配置参数。官方文档可以参考下面链接

HTML5+ API Reference

例如通过如下代码获取当前应用的应用ID和应用版本:

var id = plus.runtime.getProperty("appid");
var version = plus.runtime.getProperty("version");

其中,获取的参数名称需要与 manifest.json 文件中 plus -> runtime 节点下配置的参数名称保持一致。

需要注意的是,plus.runtime.getProperty() 方法需要在 H5+ 环境中使用,所以最好先判断一下是否处于 H5+ 环境中。例如:

if (window.plus) {
  var id = plus.runtime.getProperty("appid");
  var version = plus.runtime.getProperty("version");
  console.log("应用ID为:" + id);
  console.log("应用版本为:" + version);
} else {
  console.log("当前不在 H5+ 环境中");
}

另外,获取打包配置信息还可以使用 plus.runtime.arg 属性,该属性可以获取应用启动时,传入的参数信息。可以在应用启动时传入一些自定义的参数,例如:

// 在打开应用时传入参数
mapp = plus.runtime.createShortcut({
  name: "Uni-app H5+ 示例",
  icon: "_www/build/logo.png",
  url: "http://www.example.com/?id=001&name=Jay"
});

然后可以使用 plus.runtime.arg 获取这些参数:

var arg = plus.runtime.arg;
console.log(arg.id); // 输出:001
console.log(arg.name); // 输出:Jay

需要注意的是,plus.runtime.arg 属性在生命周期中只能获取一次,如果需要多次获取,则需要将获取到的参数保存起来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值