mtl-js-sdk
Version:
136 lines (110 loc) • 4.36 kB
JavaScript
;
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
define(['../upesn/methods.js', '../../common/environment.js'], function (methods, environment) {
function loginOrLogout(object) {
var data = {
userToken: object.data.userToken,
isLogin: object.data.isLogin,
success: function success(res) {
object.success && object.success(res);
object.complete && object.complete({
code: 200,
res: res
});
},
fail: function fail(err) {
console.log("handleResponse:fail", err);
object.fail && object.fail(err);
object.complete && object.complete(err);
}
};
YYEsnBridge["do"]("loginOrLogout", data);
}
function getAppInfo(object) {
var _obj = object || {};
var params = _objectSpread({}, _obj, {
pluginMethodName: 'getAppInfo'
});
execEsnBridge(params);
}
function openSchema(object) {
var _obj = object || {};
var params = _objectSpread({}, _obj, {
pluginMethodName: 'openSchema'
});
execEsnBridge(params);
}
function getConfig(object) {
var _obj = object || {};
var params = _objectSpread({}, _obj, {
pluginMethodName: 'getConfigFile'
});
execEsnBridge(params);
}
function openMapToNavi(object) {
var _object$type = object.type,
type = _object$type === void 0 ? 1 : _object$type,
latitude = object.latitude,
longitude = object.longitude;
var url = '';
switch (type) {
case 1:
url = 'iosamap://navi?sourceApplication=mtl&backScheme=mtl&lat=' + latitude + '&lon=' + longitude + '&dev=0&style=2';
break;
case 2:
url = 'baidumap://map/direction?origin={{我的位置}}&destination=latlng:' + latitude + ',' + longitude + '|name=目的地&mode=driving&coord_type=gcj02';
break;
case 3:
url = 'qqmap://map/routeplan?from=我的位置&type=drive&tocoord=' + latitude + ',' + longitude + '&to=终点&coord_type=1&policy=0';
break;
default:
break;
}
mtl.openSchema({
url: url
});
}
function execEsnBridge(source) {
var data = _objectSpread({}, source, {
pluginClassKey: 'MTLTabbar',
success: function success(res) {
var resObj;
try {
resObj = JSON.parse(res);
} catch (error) {
resObj = res;
}
source.success && source.success(resObj);
source.complete && source.complete({
code: 200,
res: res
});
},
fail: function fail(err) {
var esnError = {
code: err.errCode,
message: err.errDescription
};
source.fail && source.fail(esnError);
source.complete && source.complete(err);
}
});
console.log("data: ", data);
YYEsnBridge["do"]("customPlugin", data);
}
var exports = _objectSpread({}, methods, {
login: environment.login,
changeTenant: environment.changeTenant,
sendValidateCode: environment.sendValidateCode,
validateCodeLogin: environment.validateCodeLogin,
getAppList: environment.getAppList,
loginOrLogout: loginOrLogout,
getAppInfo: getAppInfo,
openSchema: openSchema,
getConfig: getConfig,
openMapToNavi: openMapToNavi
});
return exports;
});