/**
 * 该模块主要用于消息推送的设置和消息发送,只能在cmp壳里进行<br>:
 *  <strong>
 *          页面需要导入的文件
 *          <ul>
 *              <li>cmp-push.js</li>
 *          </ul>
 *      </strong>
 * @module Push
 * @subtitle 消息推送
 */
/**
 * 消息推送相关
 * @class push
 */

/**
 * 开启消息推送服务
 * @namespace cmp.push
 * @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.push
 * @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.push
 * @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.push
 * @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.push
 * @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>
 * ```
 */
    
Top