// 房间
import Vue from 'vue';
import Vuex from 'vuex';
import _ from 'lodash';
Vue.use(Vuex);
const api = {
  roomInfo: `/api/onlive/room`,
  lookuserInfo: `/api/onlive/lookuser`,
  lookusercount: `/api/onlive/lookuser/roomcount`,
  lookuserswichrole: `/api/onlive/lookuser/swichrole`,
  lookrecord: `/api/onlive/lookrecord`,
};
const state = () => ({});
const mutations = {};

const actions = {
  async query({ commit }, { skip = 0, limit = 1000, ...info } = {}) {
    const res = await this.$axios.$get(api.roomInfo, {
      skip,
      limit,
      ...info,
    });
    return res;
  },
  async lookrecord({ commit }, payload) {
    const res = await this.$axios.$post(`${api.lookrecord}`, payload);
    return res;
  },
  async create({ commit }, payload) {
    const res = await this.$axios.$post(`${api.roomInfo}`, payload);
    return res;
  },
  // 记录观看
  async lookuserFetch({ commit }, payload) {
    const res = await this.$axios.$post(`${api.lookuserInfo}`, payload);
    return res;
  },
  async lookquery({ commit }, { skip = 0, limit = 10, ...info } = {}) {
    const res = await this.$axios.$get(api.lookuserInfo, {
      skip,
      limit,
      ...info,
    });
    return res;
  },
  async lookupdate({ commit }, { ...info } = {}) {
    const res = await this.$axios.$post(`${api.lookuserInfo}/updatexf`, {
      ...info,
    });
    return res;
  },
  async lookusercount({ commit }, { ...info } = {}) {
    const res = await this.$axios.$get(`${api.lookusercount}`, {
      ...info,
    });
    return res;
  },
  // 查询用户是否主播
  async lookuserswichrole({ commit }, { ...info } = {}) {
    const res = await this.$axios.$get(`${api.lookuserswichrole}`, {
      ...info,
    });
    return res;
  },
  // 名字查详情
  async roomfetch({ commit }, payload) {
    const res = await this.$axios.$get(`${api.roomInfo}/roomname`, payload);
    return res;
  },
  async fetch({ commit }, payload) {
    const res = await this.$axios.$get(`${api.roomInfo}/${payload}`);
    return res;
  },
  async update({ commit }, { id, ...info } = {}) {
    const res = await this.$axios.$post(`${api.roomInfo}/update/${id}`, {
      ...info,
    });
    return res;
  },
  async delete({ commit }, payload) {
    const res = await this.$axios.$delete(`${api.roomInfo}/${payload}`);
    return res;
  },
};

export default {
  namespaced: true,
  state,
  mutations,
  actions,
};
