import { action, computed, makeObservable, observable } from "mobx"; // 用户信息 import baseHttp from "@/service/base"; import BaseStore from "./baseStore"; import { UserDataType, UserInfos } from "@/model/userModel"; import { message } from "antd"; class UserConfig { static LOGINURI: string = "/v1/anth/login/pc" static LIST: string = "/v1/user/list" static ADD: string = "/v1/user" static DELETE: string = "/v1/user" static EDIT: string = "/v1/user" static pover: string = "/v1/user/userPower" static poverList: string = "/v1/user/poverList" static dropList: string = "/v1/sys/drop" static team: string = "/v1/team/list" static per: string = "/v1/persMgmt/list" static serch: string = "/v1/user/serch" static getPatrol: string = "/v1/user/getPatrol" static videoLogin: string = "/api/v1/login" static siteList: string = "/v1/user/site" static reSetPwd: string = "/v1/user/reSetPwd" } class UserStore extends BaseStore { _userinfo: UserInfos = {}; // 用户信息 userDetail = {} isNeedLogin: boolean = false; // 是否需要登录 poverDetail: boolean = false; // 是否展示民兵详情 poverList: any = [] dropList: any = [] constructor() { super(UserConfig) makeObservable(this, { logOut: action, login: action, getTeam: action, getPer: action, serchUser: action, setPoverDe: action, setUserDetaul: action, getPoverList: action, getPatrol: action, getSite: action, _userinfo: observable, dropList: observable, isNeedLogin: observable, poverDetail: observable, userDetail: observable, openLoginDilog: action, poverList: observable, userInfo: computed, }) } async getTeam() { return await baseHttp.get(UserConfig.team, null) } async getPer() { return await baseHttp.get(UserConfig.per, null) } async getPover() { return await baseHttp.get(UserConfig.pover, null) } async serchUser(params: any) { return await baseHttp.get(UserConfig.serch, { user_name: params }) } async getPatrol() { return await baseHttp.get(UserConfig.getPatrol, {}) } // 获取坐标点 async getSite(id) { return await baseHttp.put(UserConfig.siteList + "/" + id.id, id) } // 重置密码 async reSetPwd(id) { await baseHttp.put(UserConfig.reSetPwd + "/" + id, {}) message.success("密码重置成功") } // 获取 力量列表 async getPoverList(param) { let res = await baseHttp.get(UserConfig.poverList, param) this.poverList = res.data.record } async getDropList() { let res = await baseHttp.get(UserConfig.dropList, { "drop_type": 2 }) this.dropList = res.data.record } get userInfo(): UserInfos { if (!this._userinfo.token) { let token = window.localStorage.getItem("token") this._userinfo.token = token; } return this._userinfo; } logOut() { this._userinfo.token = ""; window.localStorage.clear(); this.item = ""; window.location.href = '#/login' } async login(params: UserInfos) { let param = { account: params.userName, password: params.passWord, genre: 1 } try { let data = await baseHttp.post(UserConfig.LOGINURI, param) if (data.code !== 200) { message.error(data.msg) return false } window.localStorage.setItem("token", data.data.token ?? ""); return true } catch (error) { console.log(error) return false } } async loginVideo() { try { let data = await baseHttp.get(UserConfig.videoLogin, { username: "easycvr", password: "4092c09db0af030641a977d76044de4f", }) window.localStorage.setItem("video-token", data.EasyDarwin.Body.Token ?? ""); return true } catch (error) { console.log(error) return false } } openLoginDilog() { this.isNeedLogin = true; } closeLoginDilog() { this.isNeedLogin = false; } setPoverDe(status: boolean) { this.poverDetail = status } setUserDetaul(data) { this.userDetail = data } } const userStore = new UserStore(); export default userStore;