import http from '../libs/mobox.api.js'; import Base64 from '../components/js-base64/base64.js' import utils from "@/js/utils.js" import { login as loginOrg, userQuery } from "./org.js" import { areaList, dictGetInfo } from "./mobox.js" import { classAttrGetList, getUIStyleInfo, runCustomEvent, dataObjCreate, dataObjDel } from "./data.js" export const isMobox3Web = (server) => { const app = getApp() var isMobox3 = true server = server.toLowerCase(); var ser = server.split('/'); if (ser[ser.length - 1] != 'mobox3') { //判断地址是否是Mobox3 isMobox3 = false } app.globalData.isMobox3 = isMobox3 return isMobox3 } /** * mobox2 PDA/PDAArea * 获取新版本 * @param app_type //应用类型 * @returns */ export const getApkVersionInfo = (server) => { const app = getApp() return new Promise((resolve, reject) => { isMobox3Web(server) var openinfo = "http://" + server + "/"; if (server.includes("://")) { openinfo = server + "/" } if (app.globalData.isMobox3) { var url = openinfo + 'Program/version.txt'; uni.request({ url: url, // 指定JS文件的完整路径 method: 'GET', success(res) { if (res && res.statusCode === 200) { var ret = res.data //获取当前版本号 let verName = ret; //更新包名称 let versionInfo = ret.split('_'); let verNum = versionInfo[2].replace(".apk", ""); //版本编码 let verCode = versionInfo[2].replace(".apk", "").replace(".", "").replace( ".", ""); //服务端版本号 let dldUrl = openinfo + "/Program/" + verName; //app下载链接this. resolve({ verName, verCode, verNum, dldUrl }); } else { // return reject("访问失败,状态码:" + res.statusCode); resolve({}) } }, fail: (err) => { return reject(err); }, }) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = openinfo + "PDA/GetApkVersionInfo" uni.request({ url: url, data: {}, method: 'POST', dataType: "json", header: header, success(res) { if (res.statusCode == 404) { reject({ errMsg: "地址不对,请检查该地址:" + openinfo + ",方法:GetApkVersionInfo,是否正确" }); } else if (res.statusCode == 500) { reject({ errMsg: "未找到更新包所在目录!" }); } const ret = res.data if (ret.code == '00000') { //获取当前版本号 const verName = ret.data?.VersionName || ""; //更新包名称 const verCode = ret.data?.VersionCode || ""; //版本编码 const verNum = ret.data?.Version || ""; //服务端版本号 let dldUrl = openinfo + "/Program/" + verName; //app下载链接this. resolve({ verName, verCode, verNum, dldUrl }); } else { reject({ errMsg: ret.msg }); } }, fail: (err) => { return reject(err); }, }) } }) } /** * mobox3 api/user/ace/VerifyPassword * mobox2 PDA/SignIn * 验证密码 * @param {*} server 服务地址 * @param {*} id 用户账号 * @param {*} pwd 用户密码 * @returns */ export const login = (server, id, pwd) => { if (!server) { reject({ "errMsg": '服务器地址不能为空!' }); } if (!id || id.length < 2) { reject({ "errMsg": '账号最短为 2 个字符!' }); } if (!pwd || pwd.length < 1) { reject({ "errMsg": '密码最短为 1个字符!' }); } const app = getApp() var openinfo = "http://" + server + "/"; if (server.includes("://")) { openinfo = server + "/" } var ser = server.toLowerCase().split('/'); isMobox3Web(server) if (app.globalData.isMobox3) { //判断地址是否是Mobox3 const mobox3Ports = utils.session.getValue('mobox3_port'); const orgsport = mobox3Ports.org || 5101 const moboxsport = mobox3Ports.mobox || 5102 const datasport = mobox3Ports.data || 5103 var orgSApi = "http://" + ser[0].split(':')[0] + ":" + orgsport + "/"; var mobxoSApi = "http://" + ser[0].split(':')[0] + ":" + moboxsport + "/"; var dataSApi = "http://" + ser[0].split(':')[0] + ":" + datasport + "/"; if (server.includes("://")) { orgSApi = ser[0] + "//" + ser[2].split(':')[0] + ":" + orgsport + "/"; mobxoSApi = ser[0] + "//" + ser[2].split(':')[0] + ":" + moboxsport + "/"; dataSApi = ser[0] + "//" + ser[2].split(':')[0] + ":" + datasport + "/"; } app.globalData.mobox3ApiUrl = { org: orgSApi, data: dataSApi, mobox: mobxoSApi, } return loginOrg(id, pwd) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = openinfo + "PDA/SignIn"; var data = {} app.globalData.mobox2ApiUrl = openinfo data = { uname: id || "", pwd: pwd || "", cname: app.globalData.cname, type: "0" } return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/app/area/GetList * mobox2 PDA/PDAArea * 得到应用领域列表 * @param app_type //应用类型 * @param need_ace //是否需要进行权限判断 * @returns */ export const areaFunc = (app_type, need_ace) => { const app = getApp() if (app.globalData.isMobox3) { return areaList(app_type, need_ace) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "PDA/PDAArea"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } var data = { loginInfo: JSON.stringify(loginInfo), app_type: app_type || "MES", need_ace: need_ace } return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/class/attr/GetList * mobox2 PPDA/PDAAttrLis * 得到数据类属性列表 * @param {class_id, //数据类id class_name, //数据类名称 根据id或名称都可 group_name} //分组名称,如果未指定,则返回所有分组属性 * @returns */ export const classAttrList = (data) => { const app = getApp() if (app.globalData.isMobox3) { return classAttrGetList(data) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "PDA/PDAAttrList"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } data.loginInfo = JSON.stringify(loginInfo) return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/class/uistyle/GetInfo * mobox2 PPDA/PDAGridStyleGetInfo * 得到数据类界面样式信息 * @param * {class_id, //数据类id * ui_style_id, //界面样式id * ui_style_name, //界面样式名称 * ui_style_type}//界面样式类型 * @returns */ export const classGridStyleInfo = (data) => { const app = getApp() if (app.globalData.isMobox3) { return getUIStyleInfo(data) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "PDA/PDAGridStyleGetInfo"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } data.loginInfo = JSON.stringify(loginInfo) return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/dict/GetInfo2 * mobox2 PPDA/PDADicValueGetInfo * 得到数据类界面样式信息 * @param {dict_id, //字典id dict_name}//字典名称 * @returns */ export const dictValueInfo = (data) => { const app = getApp() if (app.globalData.isMobox3) { return dictGetInfo(data) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "PDA/PDAGridStyleGetInfo"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } data.loginInfo = JSON.stringify(loginInfo) return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/dataobj/RunCustomEvent * mobox2 PPDA/PDADataObjRunCustomEvent * 执行自定义脚本 * @param {*} * @returns */ export const dataObjRunCustomEvent = (data) => { const app = getApp() if (app.globalData.isMobox3) { return runCustomEvent(data) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "PDA/PDADataObjRunCustomEvent"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } data.loginInfo = JSON.stringify(loginInfo) return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/user/query/query * mobox2 selpsn/queryjson * 查询用户 * @param {} * @returns */ export const querySelPsn = (data) => { const app = getApp() if (app.globalData.isMobox3) { return runCustomEvent(data) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "selpsn/queryjson"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } data.loginInfo = JSON.stringify(loginInfo) return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/user/query/query * mobox2 bpm/ProjectGetAnalysisList * 获取项目信息 * @param {} * @returns */ export const projectGetAnalysisList = (data) => { const app = getApp() if (app.globalData.isMobox3) { return new Promise((resolve, reject) => { reject({ errMsg: "Mobox3暂时未支持选择项目接口!" }); }) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "bpm/ProjectGetAnalysisList"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } data.loginInfo = JSON.stringify(loginInfo) return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/dataobj/Create * mobox2 PDA/addclassattr * 获tianjia * @param {} * @returns */ export const dataObjAdd = (data) => { const app = getApp() if (app.globalData.isMobox3) { return dataObjCreate(data) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "PDA/addclassattr"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } data.loginInfo = JSON.stringify(loginInfo) return http.request2({ method: "POST", url, header, data, }) } } /** * mobox3 api/dataobj/Delete * mobox2 PDA/DelObj * 删除数据对象 * @param {} * @returns */ export const dataObjDelele = (data) => { const app = getApp() if (app.globalData.isMobox3) { return dataObjDel(data) } else { var header = { 'content-type': 'application/x-www-form-urlencoded' }; var url = app.globalData.mobox2ApiUrl + "PDA/DelObj"; let loginInfo = { uname: app.globalData.loginUser.id || "", pwd: app.globalData.loginUser.pwd || "", cname: app.globalData.cname, type: "0", } data.loginInfo = JSON.stringify(loginInfo) return http.request2({ method: "POST", url, header, data, }) } }