import $http from '../script/http'; import code from './code'; import { Message } from "element-ui"; import cookieStorage from 'js-cookie'; //统一处理 const res = (res) => { const { retBody = {}, retHead = {} } = res.data, codeFun = code[retHead.errCode]; typeof codeFun == "function" ? codeFun(retHead.errMsg) : Message.error(retHead.errMsg || '未知错误'); if (!(retHead.errCode == 0 ? 0 : 1)) { return retBody || {}; } else { return { code: 1 }; } }; //统一处理默认数据 const resD = (res) => { const { msg, errCode, data } = res.data, codeFun = code[errCode]; typeof codeFun == "function" ? codeFun(msg) : Message.error(msg || '未知错误'); if (!(errCode == 0 ? 0 : 1)) { return data || {}; } else { return { code: 1 }; } }; export default { res, resD, //登录 login(data) { return $http.post('/htdata/user/pcLogin', data).then(this.res); }, //大屏框架 findMapTemplate(data) { return $http.get('/htdata/map/findMapTemplate').then(this.res); }, //新增大屏 addMap(data) { return $http.post('/htdata/map', data).then(this.res); }, //删除大屏 delMap(data) { return $http.delete('/htdata/map', { data }).then(this.res); }, //发布大屏 releaseMap(data) { return $http.post('/htdata/map/updateState', { id: data.id, state: 1 }).then(this.res); }, //获取大屏列表 getMap(data) { return $http.get('/htdata/map/findMapAll', { params: { pageNum: 1, pageSize: 10, ...data } }).then(this.res); }, //保存组件数据 参数( 大屏ID、组件ID ) //删除大屏时通过ID清空组件数据 //通过大屏ID 查询 发布状态 控制大屏展示数据是否返回 addModuleData(data) { /** * data 对象 * id 大屏ID * moduleCode 组件ID * dataType 数据类型 1-API 2-数据库 3-CSV数据表 4-静态数据 * sourceName 数据源名称,当静态数据时,此字段为空 * content 组件数据 */ return $http.post('/htdata/map/addModuleData', data).then(this.res); }, //统一上传接口 upIuccess(data) { return new Promise(r => { r(this.res({ data })); }); }, //获取token getMonitorToken() { //过期验证 const atName = "accessToken", at = cookieStorage.get(atName); if (!at) { let body = new FormData(); body.append("appKey", "519cce9165e94f56a6f30c927a1699f7"); body.append("appSecret", "bbfaacaf9ffebb0210f866c035fe81fb"); //取得监控token return fetch('https://open.ys7.com/api/lapp/token/get', { method: 'post', body }).then(res => res.json()).then(res => { if (res.code == 200) { const accessToken = (res.data || {}).accessToken || ''; cookieStorage.set(atName, accessToken, { expires: 6 }) return { accessToken } } else { return { code: 200 } } }); } return new Promise(r => { r({ accessToken: at }); }); }, //海康监控列表 getMonitorList() { return this.getMonitorToken().then(res => { //获取列表 let body = new FormData(), accessToken = res.accessToken || ""; body.append("accessToken", res.accessToken); body.append("pageStart", 0); body.append("pageSize", 50); //获取摄像头监控列表 return fetch("https://open.ys7.com/api/lapp/camera/list", { method: 'post', body }).then(res => res.json()).then(res => { //组装监控地址 return Array.isArray(res.data) ? res.data.map(x => { return { ...x, //wss播放模式 //“ezopen://open.ys7.com/440912260/1.hd.live”,可以播放序列号为“440912260”设备“1通道”“高清”的“实时视频” url: `ezopen://open.ys7.com/${x.deviceSerial}/${x.channelNo}.hd.live`, accessToken } }) : []; }) /*.then(res => { //筛选掉不能用的摄像头 return res.filter(x => { return !!x.status; }); });*/ }); }, /*********系统管理->用户列表接口**********/ getUserList(data) { return $http.get('/htdata/user/findAll', { params: { ...data } }).then(this.res); }, /*********系统管理->获取用户角色**********/ getRolesList() { return $http.get('/htdata/role/getAll').then(this.res); }, /*********系统管理->获取组织机构*********/ getBranchidList() { return $http.get('/htdata/branch/findAll').then(this.res); }, /*********系统管理->用户查看*********/ viewUser(data) { return $http.get('/htdata/user/findById', { params: { ...data } }).then(this.res); }, /*********系统管理->添加用户*********/ addUser(data) { return $http.post('/htdata/user/', data).then(this.res); }, /*********系统管理->删除用户*********/ delUser(data) { return $http.delete('/htdata/user/', { params: { ...data } }).then(this.res); }, /*********系统管理->更新用户*********/ updateUser(data) { return $http.put('/htdata/user/', data).then(this.res); }, /*********系统管理->重置密码*********/ resetDefaultPwd(data) { return $http.put('/htdata/user/resetPwd/', data).then(this.res); }, /*********系统管理->角色添加*********/ addRole(data) { return $http.post('/htdata/role/', data).then(this.res); }, /*********系统管理->角色列表*********/ getRoleList(data) { return $http.get('/htdata/role/getAll').then(this.res); }, /*********系统管理->角色修改*********/ updateRoleItem(data) { return $http.put('/htdata/role', data).then(this.res); }, /*********系统管理->角色删除*********/ delRole(data) { return $http.delete('/htdata/role/', { params: { ...data } }).then(this.res); }, /*********系统管理->角色菜单获取*********/ getRoleMenu(data) { return $http.get('/htdata/menu/getMenuByRole', { params: { ...data } }).then(this.res); }, /*********系统管理->角色菜单获取*********/ saveRoleMenu(data) { return $http.post('/htdata/menu/saveRoleMenu', data).then(this.res); }, /*********系统管理->账号退出*********/ loginOut(data) { return $http.delete('/htdata/user/pcLogout', { params: { ...data } }).then(this.res); }, /*********园区管理->园区列表*********/ getExpertList(data) { return $http.get('/htdata/orchard/findAll', { params: { ...data } }).then(this.res); }, /*********园区管理->园区删除*********/ delExpert(data) { return $http.delete('/htdata/orchard/', { data }).then(this.res); }, /*********园区管理->新增**********/ addOrchard(data){ return $http.post('/htdata/orchard', data).then(this.res); }, /*********园区管理->更新**********/ updateOrchard(data){ return $http.put('/htdata/orchard', data).then(this.res); }, /*********园区管理->园区详情查询**********/ getOrchard(data){ return $http.get('/htdata/orchard/findById',{ params:{ ...data } }).then(this.res) }, /*********园区管理->查询产出物*********/ getProtypeList(data) { return $http.get('/htdata/orchard/findProdType', { params: { ...data } }).then(this.res); }, /*********园区管理->涉及农业*********/ getAgriTypeList(data) { return $http.get('/htdata/orchard/findAgriType', { params: { ...data } }).then(this.res); }, /*********专家团队管理->坝区信息查询*********/ getDamList() { return $http.get('/htdata/dam/findAll').then(this.res); }, /*********专家团队管理->坝区信息查询*********/ addExpert(data) { return $http.post('/htdata/expert', data).then(this.res); }, /*********专家团队管理->专家详情*********/ getExpertDetail(data) { return $http.get('/htdata/expert/findById', { params: { ...data } }).then(this.res); }, /*********专家团队管理->更新专家详情*********/ updateExpert(data) { return $http.put('/htdata/expert', data).then(this.res); }, /*********系统全局->跳转至益农社*********/ goYlAdmin(data) { return $http.post('/htdata/yinongshe/login').then(this.res); }, /*********坝区信息管理->信息列表*********/ getDamList(data) { return $http.get('/htdata/dam/findAll', { params: { ...data } }).then(this.res); }, /*********坝区信息管理->新增*********/ addDam(data) { return $http.post('/htdata/dam', data).then(this.res); }, /*********坝区信息管理->删除*********/ delDam(data) { return $http.delete('/htdata/dam', { data }).then(this.res); }, /*********坝区信息管理->是否启用*********/ damUpdateState(data) { return $http.post('/htdata/dam/updateState', data).then(this.res); }, /*********坝区信息管理->获取详情*********/ getDamInfo(params) { return $http.get('/htdata/dam/findById ', { params }).then(this.res); }, /*********坝区信息管理->更新详情*********/ updateDam(data) { return $http.put('/htdata/dam', data).then(this.res); }, /*********区域数据管理->获取列表*********/ getAreaListx(data) { return $http.get('/htdata/areaData/findAll', { params: { ...data } }).then(this.res); }, /*********区域数据管理->查询详情*********/ getAreaManageInfo(data) { return $http.get('/htdata/areaData/findById', { params: { ...data } }).then(this.res); }, /*********区域数据管理->大屏应用状态修改*********/ areaDataUpdate(data) { return $http.post('/htdata/areaData/updateState', data).then(this.res); }, /*********区域数据管理->大屏删除*********/ delareaData(data) { return $http.delete('/htdata/areaData', { data }).then(this.res); }, /*********区域数据管理->数据类型*********/ getAreaDataTypeList(data) { return $http.get('/htdata/dict/findValueByCode', { params: { ...data } }).then(this.res); }, /*********获取系统菜单权限 new add**********/ getUserMenuTree() { return $http.get('/htdata/menu/userMenuTree').then(this.res); }, /*********大屏模板组件默认数据及数据字典接口**********/ getDefaultModuleData(params) { return $http.get('/defdata/default/data', { params }).then(this.resD); }, /*********查询口令列表**********/ getPwdList(params) { return $http.get('/htdata/map/findPwd', { params }).then(this.res); }, /*********更新口令信息**********/ upPwdInfo(data) { return $http.post('/htdata/map/updatePwd', data).then(this.res); }, /*********组件城市联动->获取省**********/ getProvince() { return $http.get('/htdata/depart/findProvince').then(this.res); }, /*********组件城市联动->获取市**********/ getCity(data) { return $http.get('/htdata/depart/findCity',{ params: { ...data } }).then(this.res); }, /*********组件城市联动->获取区**********/ getCounty(data){ return $http.get('/htdata/depart/findCounty',{ params: { ...data } }).then(this.res); }, /*********组件城市联动->获取镇**********/ getTown(data){ return $http.get('/htdata/depart/findTown',{ params: { ...data } }).then(this.res); }, //地图检索 serachAmap(data){ return $http.get('/amapData/v3/place/text',{ params:{ ...data } }).then() }, /*********专题列表->获取分布点数据源**********/ getTopIcData(data) { return $http.get('/htdata/topic/findTopicDbField', { params: { ...data } }).then(this.res); }, /*********专题列表->专题新增**********/ addTopic(data) { return $http.post('/htdata/topic', data).then(this.res); }, /*********专题列表->获取专题列表**********/ getTopIcList(data){ return $http.get('/htdata/topic/findTopicInfo', { params: { ...data } }).then(this.res); }, /*********专题列表->删除专题**********/ delTopic(data){ return $http.delete('/htdata/topic', { data }).then(this.res); }, /*********专题列表->修改专题**********/ updateTopic(data){ return $http.put('/htdata/topic', data).then(this.res); }, /*********专题列表->产业扶贫列表**********/ getNoticeList(data) { return $http.get('/htdata/notice/findAll', { params: { ...data } }).then(this.res); }, /*********专题列表->产业扶贫新增**********/ addNotice(data) { return $http.post('/htdata/notice', data).then(this.res); }, /*********专题列表->产业扶贫删除**********/ delNotice(data) { return $http.delete('/htdata/notice', { data }).then(this.res); }, /*********专题列表->获取产业扶贫详情**********/ getNotice(data){ return $http.get('/htdata/notice/findById', { params: { ...data } }).then(this.res); }, /*********专题列表->产业扶贫更新**********/ updateNotice(data) { return $http.put('/htdata/notice', data).then(this.res); }, }