如何在离子2开发中使用IBM MFP 8.0功能(WL,WLResourceRequest)

时间:2017-07-18 11:06:26

标签: cordova ibm-mobilefirst mobilefirst-cli

我是IBM MobileFirst 8.0的新手。如何在离子2项目中使用IBM MFP功能(WL,WLResourceRequest)?

我创建了一个Ionic Project并添加了MFP插件,我将以下行添加到Home Component TS文件中。

WL.Client.setSharedToken({key: "name", value: "Karhik"});
    let str: String = WL.Client.getSharedToken({key: "name"});
    console.log(str);

但我收到以下错误。如何解决这个问题。或者给出Ionic 2 + IBM MFP 8.0的任何参考文档

enter image description here

我试着在下面这样想。但是返回了同样的错误,

Home.ts

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Device } from '@ionic-native/device';

declare var wlCommonInit: () => {

};

declare var WL;

@Component({
  selector: 'page-home',
  templateUrl: 'home.html',
  providers: [ Device ]
})
export class HomePage {

  constructor(public navCtrl: NavController, private device: Device) {
    console.log("device platform " + device.platform);

    WL.Client.setSharedToken({key: "name", value: "Karhik"});
    let str: String = WL.Client.getSharedToken({key: "name"});
    console.log(str);
  }

  wlCommonInit() {
    console.log("wlCommonInit TRIGGERED");

  }

}

但它不起作用。我需要知道如何在 IONIC 2 中使用 IBM MFP 8.0

将代码添加到Main.ts后,在控制台中返回错误。

enter image description here

2 个答案:

答案 0 :(得分:3)

WL必须在其他javascript文件之前加载,以便WL函数在这些文件中可用。 WL的初始化发生在wlcommoninit()中(可以找到here的使用情况)。建议的方法是确保在此函数中加载其他js文件。

克服此问题的另一种方法是确保在html中的其他js脚本之前包含以下3个脚本。

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/platform.js"></script>
<script type="text/javascript" src="js/main.js"></script>

答案 1 :(得分:1)

在导入语句之前添加以下行,而不是声明WLwlCommonInit

/// <reference path="../../../plugins/cordova-plugin-mfp/typings/worklight.d.ts" />

这应解决您所面临的问题。