import http from './request.js'; import { session, } from "@/comm/utils.js" const addLog = (item) => { const list = session.getValue("request_log") || [] list.unshift(item) session.setValue("request_log", list) } // 判断ip是否可以连接上 export const checkIpLinkSuccess = (ip) => { var url = `http://${ip}:4405/api/mt/battery`; console.log("url", url) return new Promise((resolve, reject) => { uni.request({ url: url, method: "GET", header: { "Content-Type": "application/json;charset=UTF-8" }, timeout: 5000, success: (result) => { //console.log("result", result) if (result.statusCode != 200) { if (result.statusCode == 404) { return reject({ errMsg: "地址不对,请检查该地址:" + url }); } resolve({ code: -1, msg: "访问失败,状态码:" + result.statusCode }); } var ret = result.data if (typeof ret == 'string') { try { try { try { ret = JSON.parse(ret.replace(/\\"/g, '"')); } catch (ex) { ret = JSON.parse(ret.replace(/\\/g, '\\\\')) } } catch (ex) { ret = JSON.parse(ret.replace(/\\"/g, "'").replace( /[\r\n]/g, '
').replace(/[\t]/g, ' ')); } } catch (ex) { resolve({ code: -1, msg: '将【json string】转换为【json object】失败' }); } } if (ret.code == 0) { resolve({ code: 0, data: ret.data }); } else { resolve({ code: ret.code, msg: ret.msg || "" }); } }, fail: (err) => { console.log("err", err) return reject(err); } }) }) } /** * GET 5000/api/get_agv_state * 查询车辆信息 * @param * @returns */ export const getAgvState = (ip) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/get_agv_state`; return http.request({ method: "GET", url, header, }) } /** * GET 4405/api/mt/batter * // 查询车辆信息 * @param * @returns */ export const mtBattery = (ip) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:4405/api/mt/battery`; return http.request({ method: "GET", url, header, }) } /** * GET 4405/api/shell/version * 查询shell版本 * @param * @returns */ export const shellVersion = (ip) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:4405/api/shell/version`; return http.request({ method: "GET", url, header, }) } /** * POST 5000/api/add_station * 获取车辆地图列表 * @param * stationID, //站台ID * name, //站台名 * @returns */ export const mapInfo = (ip) => { // var header = { // "Content-Type": "application/json;charset=UTF-8" // }; // var url = `http://${ip}:4405/api/shell/version`; // return http.request({ // method: "GET", // url, // header, // }) return new Promise((resolve, reject) => { return resolve( [{ name: "地图1", img: 'static/map.png', }] ) }) } /** * POST 5000/api/add_station * 添加站台 * @param * stationID, //站台ID * name, //站台名 * @returns */ export const addStation = (ip, param) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; const { stationID, name } = param var url = `http://${ip}:5000/api/add_station/`; return http.request({ method: "POST", url, header, data: { stationID, name, }, }) } /** * GET 5000/api/update_station * 查询站点 * @param * @returns */ export const stations = (ip) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/stations`; return http.request({ method: "GET", url, header, }) } /** * POST 5000/api/update_station * 修改站点信息 * @param * @returns */ export const updateStation = (ip, param) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; const { stationID, name, x, y, angle } = param var url = `http://${ip}:5000/api/update_station/`; return http.request({ method: "POST", url, header, data: { stationID, name, x: Number(x), y: Number(y), angle } }) } /** * POST 5000/api/delete_station * 删除站点信息 * @param * stationID 站点id集合 * @returns */ export const delStation = (ip, stationID = []) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/delete_station/`; return http.request({ method: "POST", url, header, data: { stationID } }) } /** * POST 5000/api/add_task * 添加任务 * @param * taskGroupID #任务组ID * taskGroupName #任务组名 * cycleTime #循环次数 * taskButton #绑定按钮 * taskList [{ * stationID * actionType 任务状态1取货,2卸货,3导航 * wait 等待时间 }] * taskGroupNameID #任务组名 * @returns */ export const addTask = (ip, param) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; const { taskGroupID, taskGroupName, cycleTime, taskButton, tasktype, taskList } = param var url = `http://${ip}:5000/api/add_task/`; return http.request({ method: "POST", url, data: { taskGroupID, taskGroupName, cycleTime, taskButton, tasktype, taskList } }) } /** * GET 5000/api/tasks * 查询任务 * @param * @returns */ export const tasks = (ip) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/tasks`; return http.request({ method: "GET", url, header, }) } /** * POST 5000/api/update_task * 修改任务 * @param * taskGroupID #任务组ID * taskGroupName #任务组名 * cycleTime #循环次数 * taskButton #绑定按钮 * taskList [{ * actionType 任务状态1取货,2卸货,3导航 "dest": { "angle": 1, "name": "Work1212", "stationID": 6, "x": 2, "y": 2, "_checked": false }, "taskID": 1, "wait": 10 }] * taskGroupNameID #任务组名 * @returns */ export const updateTask = (ip, param) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; const { taskGroupID, taskGroupName, cycleTime, taskButton, tasktype, taskList } = param var url = `http://${ip}:5000/api/update_task/`; return http.request({ method: "POST", url, header, data: { taskGroupID, taskGroupName, cycleTime, tasktype, taskButton, taskList } }) } /** * POST 5000/api/delete_station * 删除任务 * @param * [{ * taskGroupID 任务组ID * taskID 任务ID }] * @returns */ export const delTask = (ip, list = []) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/delete_task/`; return http.request({ method: "POST", url, header, data: { data: list } }) } /** * POST 5000/api/add_taskGroupCmd * 开始任务 * @param * taskGroupID * taskGroupCmdID由于前端生成uuid,创建后需要存储起来,后续在查询当前任务时候做判断使用 * taskGroupCmd 1 # 1.开始任务 2.结束任务 * @returns */ export const addTaskGroupCmd = (ip, taskGroupID, taskGroupCmdID, taskGroupCmd = 1) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/add_taskGroupCmd/`; return http.request({ method: "POST", url, header, data: { taskGroupID, taskGroupCmd, taskGroupCmdID, } }) } /** * POST 5000/api/cancel_task * 取消任务 * @param * taskGroupID * taskGroupCmdID 正在执行任务的cmdId * taskList[{ * taskID, * is_cancel }] * @returns */ export const cancelTask = (ip, taskGroupID, taskGroupCmdID, taskList = []) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/cancel_task/`; return http.request({ method: "POST", url, header, data: { taskGroupID, taskGroupCmdID, taskList } }) } /** * GET 5000/api/taskGroupStatus * 查询任务状态 * @param * @returns */ export const taskGroupStatus = (ip) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/taskGroupStatus/`; return http.request({ method: "GET", url, header, }) } /** * GET 5000/api/getAllScene * 获取场景列表 * @param * @returns */ export const getAllScene = (ip) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/getAllScene/`; return http.request({ method: "GET", url, header, }) } /** * POST 5000/api/getMapUrl * 通过场景获取地图文件地址 * @param * @returns */ export const getMapUrl = (ip, id) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/getMapUrl/`; return http.request({ method: "POST", url, header, data: { sceneId: id, }, }) } /** * POST 5000/api/get_task_log * 获取任务记录 * @param * start_time #开始时间时间戳 * end_time #结束时间时间戳 * @returns */ export const getTaskLog = (ip, start_time = "", end_time = "") => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/get_task_log/`; return http.request({ method: "POST", url, header, data: { start_time, end_time } }) } /** * GET 5000/api/teaching_mode * 示教查询 * @param * @returns */ export const getTeachingMode = (ip) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/teaching_mode/`; return http.request({ method: "GET", url, header, }) } /** * POST 5000/api/teaching_mode_flag * 开始/停止示教 * @param * mode # 公共示教类型: Public, 站台示教类型Stations * src_dst 如果mode为站台示教才有值否则为空字符串, 传入起点 + _ + 终点的格式 例如 "loc1_loc2" * name 示教名称 * teaching_flag # 1 开始示教, 0 停止示教 * main_road 1,# 1主路,0支路 * @returns */ export const teachingModeFlag = (ip, param) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; const { mode, src_dst, name, teaching_flag, main_road, } = param var url = `http://${ip}:5000/api/teaching_mode_flag/`; return http.request({ method: "POST", url, header, data: { mode, src_dst, name, teaching_flag, main_road } }) } /** * POST 5000/api/delete_teaching_mode * 删除示教 * @param * 数组[] * mode: 公共示教类型: Public, 站台示教类型Stations *name: #示教名称, * src_dst: #起点终点, * @returns */ export const delTeachingMode = (ip, list) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/delete_teaching_mode/`; return http.request({ method: "POST", url, header, data: { data: list } }) } /** * POST 5000/api/check_agv_location_distance_error * 判断库位和车距离是否过大 * @param * location_name 库位 * @returns */ export const checkAgvLocationDistanceError = (ip, location_name) => { var header = { "Content-Type": "application/json;charset=UTF-8" }; var url = `http://${ip}:5000/api/check_agv_location_distance_error/`; return http.request({ method: "POST", url, header, data: { location_name } }) }