快应用海外不支持一些接口,比如 service.share ,怎么在代码里判断并屏蔽,又不影响国内版本的使用呢?

 

解决方法:

可以先判断下当前快应用中心华为帐号的countryCode(如何获取详见:https://developer.huawei.com/consumer/cn/doc/development/quickApp-References/quickapp-api-device#h2-1589360178560-0,如果是CN,则可以正常使用service.share。具体实现参考以下代码:

app.ux代码片段如下:

data: {
      localeObject: ''
    },
    test() {
      device.getServiceCountryCode({
        success: function (ret) {
          this.localeObject = ret.serviceCountryCode
          console.log(ret.serviceCountryCode);
        },
        fail: function (erromsg, errocode) {
          this.localeObject = 'errocode:' + errocode + ',erromsg:' + erromsg
          console.log(erromsg, errocode);
        },
        complete: function () {
        }
      })
      return this.localeObject
    }

页面ux中调用service.share

fastAppShare() {
      if (this.$app.$def.test()==='CN') {
        share.share({
          //此处为三方分享内容
        })
      }
    }


原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201411988307210395?fid=18

原作者:Mayism