// 用户类型
export const UserType = {
  ADMIN: '1', // 系统用户
  USER: '2', // 普通用户

  // 判断是否是管理员
  isAdminType(userType) {
    return userType === UserType.ADMIN;
  }
}

// 角色
export const RoleKeys = {
  ADMIN: "admin", // 超级管理员
  AGENT: "agent", // 代理商
  MCH: "mch", // 运营商
}

// 应用类型
export const AppType = {
  WECHAT: "1", // 微信
  ALI_PAY: "2", // 支付宝
}

// 渠道类型
export const ChannelType = {
  SYSTEM: "1", // 官方收款
  CUSTOM: "2", // 用户收款
}

// 渠道API类型
export const ChannelApiType = {
  WECHAT: "1", // 微信
  ALI_PAY: "2", // 支付宝
  BANK: "3", // 银行卡
  TL_WX: "5", // 通联微信
  TM_WX: "6", // 太米微信
  XY_WX: "7", // 国通星驿微信
}

// 运营区状态
export const AreaStatus = {
  OPEN: "0", // 运营
  CLOSE: "1", // 停运
}

// 子区域状态
export const AreaSubStatus = {
  NORMAL: "0", // 正常
  DISABLED: "1", // 禁用
}

// 子区域类型
export const AreaSubType = {
  PARKING: "1", // 停车区
  NO_PARKING: "2", // 禁停区
  NO_RIDE: "3", // 禁行区
}

// 套餐类型
export const SuitType = {
  SHARE: "1", // 共享
  RENTAL: "2", // 租赁
}

// 套餐状态
export const SuitStatus = {
  NORMAL: "0", // 正常
  DISABLED: "1", // 禁用
}

// 套餐租赁单位
export const SuitRentalUnit = {
  MINUTE: "minutes", // 分钟
  HOUR: "hours", // 小时
  DAY: "day", // 天
}

// 计费方式
export const SuitRidingRule = {
  START: "1", // 起步价
  INTERVAL: "2", // 区间计费
}

// 设备状态
export const DeviceStatus = {
  STORAGE: "0", // 仓库中
  AVAILABLE: "1", // 待骑行
  RESERVED: "2", // 预约中
  IN_USE: "3", // 骑行中
  TEMP_LOCKED: "4", // 临时锁车
  DISPATCHING: "6", // 调度中
  DISABLED: "8", // 禁用


  // 允许入仓的设备状态
  canIn() {
    return [this.AVAILABLE, this.DISPATCHING, this.DISABLED];
  },
  // 允许出仓的设备状态
  canOut() {
    return [this.STORAGE];
  },
  // 允许禁用的设备状态
  canDisable() {
    return [this.AVAILABLE, this.DISPATCHING, this.STORAGE];
  },
  // 允许启用的设备状态
  canEnable() {
    return [this.DISABLED];
  },
  // 允许管理员开锁的设备状态
  canAdminUnlock() {
    return [this.DISPATCHING, this.STORAGE, this.AVAILABLE, this.TEMP_LOCKED];
  },
  // 允许用户开锁的设备状态
  canUserUnlock() {
    return [this.IN_USE, this.AVAILABLE, this.TEMP_LOCKED];
  },
  // 允许锁车的设备状态
  canLock() {
    return [this.AVAILABLE, this.TEMP_LOCKED, this.DISPATCHING, this.IN_USE];
  },
}

// 加盟类型
export const AreaJoinType = {
  JOIN: "1", // 加盟
  COOPERATE: "2", // 合伙
}

