import common from '../common';

const MODULE_NAME = 'AppState';

export default {
  /**
   * 扩展加载完成回调
   * @param {Function} callback 回调函数
   */
  onLoad(callback) {
    return common.core.callEventSync(MODULE_NAME, 'onLoad', callback);
  },

  /**
   * @param {Function} callback 
   */
  onUnload(callback) {
    return common.core.callEventSync(MODULE_NAME, 'onUnload', callback);
  },

  /**
   * 注册App进入前台时回调
   * @param {Function} callback 
   */
  onEnterForeground(callback) {
    return common.core.callEventSync(MODULE_NAME, 'onEnterForeground', callback);
  },

  /**
   * 注册App进入后台时回调
   * @param {Function} callback 
   */
  onLeaveForeground(callback) {
    return common.core.callEventSync(MODULE_NAME, 'onLeaveForeground', callback);
  },

  /**
   * 小程序显示的生命周期
   * @param {Function} callback 
   */
  onAppear(callback) {
    return common.core.callEventSync(MODULE_NAME, 'onAppear', callback);
  },

  /**
   * 小程序隐藏的生命周期
   * @param {Function} callback 
   */
  onDisappear(callback) {
    return common.core.callEventSync(MODULE_NAME, 'onDisappear', callback);
  }
}
