// import { getUserList, allOfMember, listGroup } from "@/API";
import { observable, runInAction } from "mobx";
/**
 * 组员公众号选中的数据
 * */
type WxGroupStore = {
  data: {
    actionWX?: any; //当前选中的微信
    mpAccounts?: any[]; //选中的组数据
    actionArr?: any[]; //多选的勾中的微信
    allWx?: any; //自己微信列表过滤重复
    tabsKey?: "自己" | "组员";
    groupAllWx: any[]; //组员微信列表过滤重复
    filterWxs: any[]; //合并组员和自己的微信号
    groupActionWx: any[]; //当前组员的微信号
    selectWx?: any[]; //多选关联公众号
    versionsOpen?: boolean; //版本通知
    allOfMember: any[]; //所有投手原始数据--->监控
    myallOfUser: any[]; //自己的公众号数据--->监控
    scUserList?: any,//审查的所有公众号
  };
  //初始
  wxGroupInit(): void;
  // getAllOfCheckUser(): Promise<void>;
  // getAllOfMember(): Promise<void>;
  // getAllOfUserByGroup(): Promise<void>;
  // getUserWx(): Promise<void>;
  // actionGroupWx(userId: number): void;
};
const wxGroupStore: WxGroupStore = {
  data: {
    tabsKey: "自己",
    actionArr: [],
    groupAllWx: [],
    filterWxs: [],
    groupActionWx: [],
    selectWx: [],
    allWx: [],
    scUserList: [],
    allOfMember: [],
    myallOfUser: []
  },
  wxGroupInit() {
    // this.getAllOfCheckUser();
    // this.getUserWx();
  },
  // 获取审查所有公众号
  // async getAllOfCheckUser() {
  //   await getUserList().then((res) => {
  //     if (res?.data?.length > 0) {
  //       this.data.scUserList = res?.data
  //     }
  //   });
  // },
  // // 获取所有组员和其下的公众号信息
  // async getAllOfMember() {
  //   return await allOfMember().then((res) => {
  //     return res?.data;
  //   });
  // },
  // // 获取属于自己的公众号
  // async getAllOfUserByGroup() {
  //   return await listGroup().then((res) => {
  //     return res?.data;
  //   });
  // },
  // 获取公众号
  // async getUserWx() {
  //   let ok = true;
  //   // 获取组员所有
  //   let AllOfMember: any = await this.getAllOfMember();
  //   // 获取自己
  //   let AllOfUserByGroup: any = await this.getAllOfUserByGroup();
  //   // 处理自己
  //   if (AllOfUserByGroup?.length > 0) {
  //     let allWx: any[] = [];
  //     let ok = true;
  //     AllOfUserByGroup?.forEach((item: any, index: number) => {
  //       if (ok && item?.mpAccounts?.length > 0) {
  //         //默认选中公众号
  //         ok = false;
  //         this.data.actionWX = item?.mpAccounts[0];
  //       }
  //       item?.mpAccounts?.forEach((list: any) => {
  //         if (allWx.every((wx: { id: number }) => wx.id !== list.id)) {
  //           allWx.push(list);
  //         }
  //       });
  //     });
  //     //自己的公众号数据--->监控
  //     this.data.myallOfUser = [
  //       {
  //         key: AllOfUserByGroup[0]?.operUserInfo,
  //         value: AllOfUserByGroup[0]?.mpAccounts,
  //       },
  //     ];
  //     //自己微信列表过滤重复
  //     this.data.allWx = allWx;
  //   }
  //   // 处理组员
  //   if (AllOfMember?.length > 0) {
  //     let groupAllWx: any[] = [];
  //     AllOfMember?.forEach((item: any) => {
  //       if (ok && item?.value?.length > 0) {
  //         //假如自己没有绑定公众号，那就从组员中寻找
  //         ok = false;
  //         this.data.actionWX = item?.value[0];
  //         this.data.tabsKey = "组员";
  //       }
  //       item?.value
  //         ?.filter((v: any) => !!v)
  //         ?.forEach((list: any) => {
  //           if (groupAllWx?.every((wx: { id: number }) => wx.id !== list.id)) {
  //             groupAllWx.push(list);
  //           }
  //         });
  //     });
  //     this.data.allOfMember = AllOfMember;
  //     this.data.groupAllWx = groupAllWx;
  //   }

  //   // 合并自己和组员的公众号
  //   if (this.data?.allWx || this.data?.groupAllWx) {
  //     let wxArr: any = [...this.data?.groupAllWx];
  //     if (this?.data?.allWx.length > 0) {
  //       this.data?.allWx?.forEach((item: any) => {
  //         if (wxArr.every((wx: { id: number }) => wx.id !== item.id)) {
  //           wxArr.push(item);
  //         }
  //       });
  //     }
  //     this.data.filterWxs = wxArr;
  //   }
  // },
  // // 选中公众号
  // actionGroupWx(userId: number) {
  //   if (this.data.tabsKey === '自己') {
  //     this.data.groupActionWx = this.data.allWx
  //   } else {
  //     if (this.data.allOfMember && userId) {
  //       this.data.allOfMember?.map((item: { key: { userId: number }; value: any[] }) => {
  //         if (userId == item?.key?.userId) {
  //           this.data.groupActionWx = item?.value
  //         }
  //       });
  //     }
  //   }
  // }
};

export default observable(wxGroupStore);
