// 用户类型
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: "WX", // 微信
  ALI_PAY: "ALI", // 支付宝
  BANK: "BANK", // 银行卡
  BALANCE: "BALANCE", // 余额
  TM_WX: "TM_WX", // 太米微信
}

// 运营区状态
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 DeviceLockStatus = {
  LOCKED: "0", // 锁车
  UNLOCKED: "1", // 开锁
}

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

// 订单状态
export const OrderStatus = {
  WAIT_PAY: "WAIT_PAY", // 待支付
  PROCESSING: "PROCESSING", // 进行中
  FINISHED: "FINISHED", // 已结束
  CANCEL: "CANCEL", // 已取消
  WAIT_VERIFY: "WAIT_VERIFY", // 待审核

  // 允许支付的订单状态
  canPay() {
    return [this.WAIT_PAY];
  },

  // 正在使用中的订单状态
  inUse() {
    return [this.PROCESSING];
  },

  // 可以支付成功的订单状态
  canPaySuccess() {
    return [this.WAIT_PAY];
  },

  // 可以结束的订单状态
  canEnd() {
    return [this.PROCESSING];
  },

  // 可以退款的订单状态
  canRefund() {
    return [this.FINISHED];
  }
}