/**
* 该模块是和原生部分有强交互的行为,需要了解一定的android ios开发调用此模块的API
* @module native
*/
/** 网络类,包括对当前网络的判断和网络信息
* @class connection
*/
/**
* 获取当前网络类型
* @namespace cmp
* @method getNetworkType
* @param {Object} options 配置参数
* @param {Function} options.success 获取成功后的回调
* @example
* ```
* <script>
* cmp.connection.getNetworkType({
* success:function(networkState){
* //do something with networkState
* }
* });
* </script>
* ```
* @returns {String} networkState 类型有:<br>
* <ul>
* <li>Unknown:未知网络</li>
* <li>Ethernet:以太网</li>
* <li>wifi:wifi</li>
* <li>2g:2g网络</li>
* <li>3g:3g网络</li>
* <li>4g:4g网络</li>
* <li>generic:未受保护的通用网络</li>
* <li>NONE:没有网络</li>
* </ul>
*/
/**
* 获取当前网络详情
* @namespace cmp
* @method getNetworkDetail
* @param {Object} options 配置参数
* @param {Function} options.success 获取成功后的回调
* @example
* ```
* <script>
* cmp.connection.getNetworkDetail({
* success:function(networkDetail){
* //do something with networkDetail
* }
* });
* </script>
* ```
*
*
*/
/**
* @class data
*/
/**
* 数据压缩
* @namespace cmp
* @method compressData
* @param {Object} options 配置参数
* @param {String} options.data 待压缩的数据
* @param {Function} options.success 压缩成功后的回调
* @param {Function} options.error 压缩失败后的回调
* @example
* ```
* <script>
* cmp.compressData({
* data:"{" UserName ":" LiYang "," Password ":" 123 "," errorCode ":"0"}"
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*
*/
/**
* 数据解压
* @namespace cmp
* @method decompressData
* @param {Object} options 配置参数
* @param {String} options.data 待解压的数据
* @param {Function} options.success 解压成功后的回调
* @param {Function} options.error 解压失败后的回调
* @example
* ```
* <script>
* cmp.decompressData({
* data:""
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*/
/**
* 一键桌面应用相关
* @class desktop
*/
/**
* 创建桌面一键应用
* @namespace cmp
* @method createDesktopAppLink
* @param {Object} options 配置参数
* @param {String} options.displayName 桌面应用显示的名称
* @param {String} options.iconBase64Data 桌面应用显示图标
* @param {Object} options.options 应用配置参数
* @param {String} options.options.appId 应用id
* @param {String} options.options.version 应用版本
* @param {Function} options.success 成功后的回调
* @param {Function} options.error 失败后的回调
* @example
* ```
* <script>
* cmp.createDesktopAppLink({
* displayName:"M3",
* iconBase64Data:"data:image/png;base64:ajdkasjdask",
* options:{
* appId:"112312",
* version:"1.0.1"
* }
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*/
/**
* 获取桌面应用的信息
* @namespace cmp
* @method getOpenDesktopAppOptions
* @param {Object} options 配置参数
* @param {Function} options.success 成功后的回调
* @param {Function} options.error 失败后的回调
* @example
* ```
* <script>
* cmp.getOpenDesktopAppOptions({
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*/
/**
* 杀进程退出app
* @namespace cmp
* @method exitApp
* @param {Object} options 配置参数
* @param {Function} options.success 成功后的回调
* @param {Function} options.error 失败后的回调
* @example
* ```
* <script>
* cmp.exitApp({
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*/
/**
* 消息推送相关
* @class push
*/
/**
* 开启消息推送服务
* @namespace cmp
* @method startPush
* @param {Object} options 配置参数
* @param {Function} options.success 成功后的回调
* @param {Function} options.error 失败后的回调
* @example
* ```
* <script>
* cmp.push.startPush({
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*/
/**
* 设置消息推送参数(是否接收消息,是否声音提醒等)
* @namespace cmp
* @method setPushConfig
* @param {Object} options 配置参数
* @param {String} options.userKey 用来存储消息设置的唯一的key
* @param {Boolean} options.showContent 是否通知显示消息详情 默认true
* @param {Boolean} options.soundRemind 是否有声音 默认true
* @param {Boolean} options.vibrationRemind 是否震动 默认true
* @param {Array} options.platforms android使用,进行推送的消息平台"baidu","xiaomi","huawei"
* @param {Function} options.success 成功后的回调
* @param {Function} options.error 失败后的回调
* @example
* ```
* <script>
* cmp.push.setPushConfig({
* userKey:"xxasd",
* showContent:true,
* soundRemind:true,
* vibrationRemind:true,
* platforms:["baidu","xiaomi","huawei"],
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*/
/**
* 停止消息推送服务
* @namespace cmp
* @method stopPush
* @param {Object} options 配置参数
* @param {Function} options.success 成功后的回调
* @param {Function} options.error 失败后的回调
* @example
* ```
* <script>
* cmp.push.stopPush({
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*/
/**
* 获取离线消息推送配置
* @namespace cmp
* @method getRemoteNotificationToken
* @param {Object} options 配置参数
* @param {String} options.userId 用户id
* @param {String} options.serverIdentifier 服务器唯一标识
* @param {Boolean} options.showContent 是否通知显示消息详情 默认true
* @param {Boolean} options.soundRemind 是否有声音 默认true
* @param {Boolean} options.vibrationRemind 是否震动 默认true
* @param {Array} options.platforms android使用,进行推送的消息平台"baidu","xiaomi","huawei"
* @param {Function} options.success 成功后的回调
* @param {Function} options.error 失败后的回调
* @example
* ```
* <script>
* cmp.push.getRemoteNotificationToken({
* userId:"xxasd",
* serverIdentifier:"123333",
* showContent:true,
* soundRemind:true,
* vibrationRemind:true,
* platforms:["baidu","xiaomi","huawei"],
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
* @returns {Object}
* <ul>
* <li>clientProtocolType = iPhoneInHouse; //设备类型 android、iPad、iPadInHouse、iPhone、iPhoneInHouse</li>
* <li>tokens = {"baidu":"612021290303441655", "xiaomi":"23423456"}; // 用户注册id/li>
* <li>platforms = ["baidu", "xiaomi"];// 消息推送平台 baidu、 xiaomi 、huawei</li>
* </ul>
*/
/**
* 获取离线消息推送服务
* @namespace cmp
* @method getRemoteNotification
* @param {Object} options 配置参数
* @param {Function} options.success 成功后的回调
* @param {Function} options.error 失败后的回调
* @example
* ```
* <script>
* cmp.push.getRemoteNotification({
* success:function(result){
* //do something with result
* },
* error:function(error){
* }
* });
* </script>
* ```
*/