mtl-js-sdk
Version:
ynf-fw-mtl-api
84 lines (76 loc) • 1.9 kB
JavaScript
;
function Plugin(options, exports = {}) {
const { platform } = options || { platform: window.mtl.platform };
function successCallBack(object = {}) {
object.success && object.success({});
object.complete && object.complete({});
}
function currentWifi(obj = {}) {
if (platform === "APIAndroid" || platform === "APIIos") {
execApiBridge('currentWifi', obj)
} else {
successCallBack(obj)
}
}
function openWifi(obj = {}) {
if (platform === "APIAndroid") {
execApiBridge('openWifi', obj)
} else {
successCallBack(obj)
}
}
function closeWifi(obj = {}) {
if (platform === "APIAndroid") {
execApiBridge('closeWifi', obj)
} else {
successCallBack(obj)
}
}
function getWifiState(obj = {}) {
if (platform === "APIAndroid") {
execApiBridge('getWifiState', obj)
} else {
successCallBack(obj)
}
}
function scanWifiList(obj = {}) {
if (platform === "APIAndroid") {
execApiBridge('scanWifiList', obj)
} else {
successCallBack(obj)
}
}
function getConfiguredNetworks(obj = {}) {
if (platform === "APIAndroid") {
execApiBridge('getConfiguredNetworks', obj)
} else {
successCallBack(obj)
}
}
// 内部方法
function execApiBridge(method, object) {
mtl.requestPermission({
list: ["location"],
success: function() {
mtl.execPluginBridge({ ...object, method, requireName: "wifi" });
},
fail: function(err) {
object.fail && object.fail(err)
object.complete && object.complete(err)
},
});
}
let apiMethods = {
currentWifi,
openWifi,
closeWifi,
getWifiState,
scanWifiList,
getConfiguredNetworks,
};
const methods = apiMethods;
exports.module = methods;
exports.symbolPath = "wifi";
return exports;
}
export default Plugin;