import Vue from 'vue' import Vuex from 'vuex' import Base64 from '../components/js-base64/base64.js' Vue.use(Vuex) import app from './modules/app' const store = new Vuex.Store({ modules:{ app, Base64, }, state: { hasLogin: false, apkVersionInfo: "", loginProvider: "", areaFunc:'', thisareaFuncID:'', thisareaFuncSubID:'', thisEditName:'', thisEditSubName:'', thisDictName:'', _classAttrList:{}, _classGridStyleInfo:{}, _subClassAttrList:{}, _subClassGridStyleInfo:{}, _dicValueInfo:{}, DataObjRunCustomEventInfo:'', querySelpsn:'', ProjectGetAnalysisList:'', addclassattr:'', DelObj:'', username:"sa", userpwd:"0000", url:"115.29.185.26:5000/mobox", //192.168.1.184:5200 36.33.24.94:5200 OIOrgSAPI: '', //115.29.185.26:5101 OIMoboxSAPI: '', //115.29.185.26:5102 OIDataSAPI: '', //115.29.185.26:5103 OIMongodbSvr: '' //115.29.185.26:5201 }, mutations: { setUrl(state, url) { state.url = url; }, setOrgSApi(state, url) { state.OIOrgSAPI = url; }, setMobxoSApi(state, url) { state.OIMoboxSAPI = url; }, setDataSApi(state, url) { state.OIDataSAPI = url; }, setMongodbSvr(state, url) { state.OIMongodbSvr = url; }, setApkVersionInfo(state, ret) { state.apkVersionInfo = ret; }, login(state, provider) { state.hasLogin = true; state.loginProvider = provider; }, areaFunc(state, ret) { state.areaFunc = ret; }, setareaFuncid(state,id){ state.thisareaFuncID=id; }, setareaFunSubcid(state,id){ state.thisareaFuncSubID=id; }, seteditName(state,editName){ state.thisEditName=editName; }, seteditSubName(state,editName){ state.thisEditSubName=editName; }, setDictName(state,dictName){ state.thisDictName=dictName; }, classAttrList(state, ret) { // state._classAttrList[state.thisareaFuncID] = ret; Vue.set(state._classAttrList,state.thisareaFuncID,ret); }, classGridStyleInfo(state, ret) { // state._classGridStyleInfo[state.thisareaFuncID] = ret; var data = {}; if(state._classGridStyleInfo[state.thisareaFuncID]) data = state._classGridStyleInfo[state.thisareaFuncID]; Vue.set(data,state.thisEditName,ret); Vue.set(state._classGridStyleInfo,state.thisareaFuncID,data); }, subClassAttrList(state, ret) { Vue.set(state._subClassAttrList,state.thisareaFuncSubID,ret); }, subClassGridStyleInfo(state, ret) { var data = {}; if(state._subClassGridStyleInfo[state.thisareaFuncSubID]) data = state._subClassGridStyleInfo[state.thisareaFuncSubID]; Vue.set(data,state.thisEditSubName,ret); Vue.set(state._subClassGridStyleInfo,state.thisareaFuncSubID,data); }, dicValueInfo(state, ret) { // state._dicValueInfo[state.thisareaFuncID] = ret; Vue.set(state._dicValueInfo,state.thisDictName,ret); }, DataObjRunCustomEventInfo(state, ret) { state.DataObjRunCustomEventInfo = ret; }, querySelpsn(state, ret) { state.querySelpsn = ret; }, ProjectGetAnalysisList(state, ret) { state.ProjectGetAnalysisList = ret; }, addclassattr(state, ret) { state.addclassattr = ret; }, DelObj(state, ret) { state.DelObj = ret; }, logout(state) { state.hasLogin = false }, }, getters: { GetApkServionInfo(state) { return state.apkVersionInfo }, loginid(state) { return state.loginProvider.loginid }, getUrl(state) { return state.url }, getOrgSApi(state, url) { return state.OIOrgSAPI; }, getMobxoSApi(state, url) { return state.OIMoboxSAPI; }, getDataSApi(state, url) { return state.OIDataSAPI; }, getMongodbSvr(state, url) { return state.OIMongodbSvr; }, getclassAttrList(state){ return state._classAttrList[state.thisareaFuncID]; }, getclassGridStyleInfo(state){ if(state._classGridStyleInfo[state.thisareaFuncID]) return state._classGridStyleInfo[state.thisareaFuncID][state.thisEditName]; else return ""; }, getSubClassAttrList(state){ return state._subClassAttrList[state.thisareaFuncSubID]; }, getSubClassGridStyleInfo(state){ if(state._subClassGridStyleInfo[state.thisareaFuncSubID]) return state._subClassGridStyleInfo[state.thisareaFuncSubID][state.thisEditSubName]; else return ""; }, getdicValueInfo(state){ return state._dicValueInfo[state.thisDictName]; } }, actions: { //{commit} 解构, //univerifyInfo 自定义参数 GetApkVersionInfo: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { univerifyInfo = univerifyInfo || {}; univerifyInfo.server = univerifyInfo.server || ''; if (univerifyInfo.server.length == 0) { reject({"errMsg":'服务器地址不能为空!'}); } var openinfo = "http://" + univerifyInfo.server + "/"; //+"/OrgWebS" //设置全局参数:url-服务器地址 commit("setUrl",openinfo); var ser = univerifyInfo.server.split('/'); if(ser[1] == 'mobox3'){ // reject({"errMsg":"Mobox3暂时未支持自动更新!"}); resolve({code:'00000',data:"",msg:""}); return; } uni.request({ url: openinfo + "PDA/GetApkVersionInfo", data: {}, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { console.log(res); if(res.statusCode==404){ reject({"errMsg":"地址不对,请检查该地址:"+ openinfo +",方法:GetApkVersionInfo,是否正确"}); } else if(res.statusCode==500){ reject({"errMsg":"未找到更新包所在目录!"}); } const ret = res.data if (ret.code=='00000') { commit("setApkVersionInfo",ret); resolve(ret); } else { reject({"errMsg":ret.msg}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, login: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { univerifyInfo = univerifyInfo || {}; univerifyInfo.server = univerifyInfo.server || ''; univerifyInfo.uname = univerifyInfo.uname || ''; univerifyInfo.pwd = univerifyInfo.pwd || ''; if (univerifyInfo.server.length == 0) { reject({"errMsg":'服务器地址不能为空!'}); } if (univerifyInfo.uname.length < 2) { reject({"errMsg":'账号最短为 2 个字符!'}); } if (univerifyInfo.pwd.length < 1) { reject({"errMsg":'密码最短为 1个字符!'}); } var openinfo = "http://" + univerifyInfo.server + "/"; //设置全局参数:url-服务器地址 commit("setUrl",openinfo); var ser = univerifyInfo.server.split('/'); var url = openinfo + "PDA/SignIn"; var header = {'content-type': 'application/x-www-form-urlencoded'}; commit("setOrgSApi",''); commit("setMobxoSApi",''); commit("setDataSApi",''); commit("setMongodbSvr",''); if(ser[1] == 'mobox3'){ //判断地址是否是Mobox3 var orgSApi = "http://" + ser[0].split(':')[0] + ":5101/"; var mobxoSApi = "http://" + ser[0].split(':')[0] + ":5102/"; var dataSApi = "http://" + ser[0].split(':')[0] + ":5103/"; var mongodbSvr = "http://" + ser[0].split(':')[0] + ":5201/"; commit("setOrgSApi",orgSApi); commit("setMobxoSApi",mobxoSApi); commit("setDataSApi",dataSApi); commit("setMongodbSvr",mongodbSvr); url = orgSApi+'api/user/ace/VerifyPassword'; univerifyInfo = { app_type: "mobox", user_login: Base64.encode(univerifyInfo.uname), user_psw: Base64.encode(univerifyInfo.pwd), }; header={}; } uni.request({ url: url, data: univerifyInfo, method: 'POST', dataType:"json", header: header, success: (res) => { // console.log(res); const ret = res.data if (ret.code=='00000' || ret.err_code == 0) { commit("login",ret); resolve(ret); } else { reject({"errMsg":ret.msg?ret.msg:ret.err_msg}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, areaFunc: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.loginProvider.loginid.result.session_id); var url = state.url + "PDA/PDAArea"; var header = {'content-type': 'application/x-www-form-urlencoded'}; if(state.OIMoboxSAPI){ //判断是否是Mobox3 url = state.OIMoboxSAPI+'api/app/area/GetList?sessionid='+state.loginProvider.loginid.result.session_id; univerifyInfo = { app_type: "MES", }; header={}; } uni.request({ url: url, data: univerifyInfo, method: 'POST', dataType:"json", header: header, success: (res) => { console.log(res); if(res.statusCode==404){ reject({"errMsg":"地址不对,请检查该地址:"+ openinfo}); } const ret = res.data if (ret.code=='00000' || ret.err_code == 0) { commit("areaFunc",ret); resolve(ret); } else { reject({"errMsg":ret.msg?ret.msg:ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, // Mobox3获取应用领域下的功能点 GetFuncTree: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.loginProvider.loginid.result.session_id); uni.request({ url: state.OIMoboxSAPI+'api/app/GetFuncTree?sessionid='+state.loginProvider.loginid.result.session_id, data: univerifyInfo, method: 'POST', dataType:"json", success: (_res) => { // console.log(_res); const ret = _res.data if (ret.err_code == 0) { // commit("areaFunc",ret); resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, classAttrList: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.url + "PDA/PDAAttrList", data: univerifyInfo, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { console.log(res); const ret = res.data if (ret.code=='00000') { commit("classAttrList",ret); resolve(ret); } else { reject({"errMsg":ret.msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, classGridStyleInfo: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.url + "PDA/PDAGridStyleGetInfo", data: univerifyInfo, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { console.log(res); const ret = res.data if (ret.code=='00000') { // var data ={}; // Vue.set(data,univerifyInfo.name,ret); commit("classGridStyleInfo",ret); resolve(ret); } else { reject({"errMsg":ret.msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, subClassAttrList: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.url + "PDA/PDAAttrList", data: univerifyInfo, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { console.log(res); const ret = res.data if (ret.code=='00000') { commit("subClassAttrList",ret); resolve(ret); } else { reject({"errMsg":ret.msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, subClassGridStyleInfo: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.url + "PDA/PDAGridStyleGetInfo", data: univerifyInfo, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { console.log(res); const ret = res.data if (ret.code=='00000') { // var data ={}; // Vue.set(data,univerifyInfo.name,ret); commit("subClassGridStyleInfo",ret); resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, dicValueInfo: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.url + "PDA/PDADicValueGetInfo", data: univerifyInfo, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { // console.log(res); const ret = res.data if (ret.code=='00000') { state.thisDictName = univerifyInfo.dic_name commit("dicValueInfo",ret); resolve(ret); } else { reject({"errMsg":ret.msg}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, DataObjRunCustomEventInfo: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.url + "PDA/PDADataObjRunCustomEvent", data: univerifyInfo, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { // console.log(res); const ret = res.data if (ret.code=='00000') { commit("DataObjRunCustomEventInfo",ret); resolve(ret); } else { reject({"errMsg":ret.msg}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, querySelpsn: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); var url = state.url + "selpsn/queryjson"; var datajson = univerifyInfo; var header = {'content-type': 'application/x-www-form-urlencoded'}; if(state.OIOrgSAPI){ //判断是否是Mobox3 url = state.OIOrgSAPI+'api/user/query/query?sessionid='+state.loginProvider.loginid.result.session_id; datajson = { query_str: univerifyInfo.jp, }; header={}; } uni.request({ url: url, data: datajson, method: 'POST', dataType:"json", header: header, success: (res) => { // console.log(res); try{ res = JSON.parse(res.data); }catch(e){ res = res.data; } if (res.code=='00000' || res.err_code == 0) { commit("querySelpsn",res); resolve(res); } else { reject({"errMsg":res.msg?res.msg:res.err_msg}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, ProjectGetAnalysisList: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); var url = state.url + "bpm/ProjectGetAnalysisList"; var header = {'content-type': 'application/x-www-form-urlencoded'}; if(state.OIMoboxSAPI){ //判断是否是Mobox3 // url = state.OIMoboxSAPI+'api/app/area/GetList?sessionid='+state.loginProvider.loginid.result.session_id; // univerifyInfo = { // app_type: "MES", // }; // header={}; reject({"errMsg":"Mobox3暂时未支持选择项目接口!"}); // resolve({code:'00000',data:"",msg:""}); return; } uni.request({ url: url, data: univerifyInfo, method: 'POST', dataType:"json", header: header, success: (res) => { console.log(res); const ret = res.data; if (ret.code=='00000') { commit("ProjectGetAnalysisList",ret); resolve(ret); } else { reject({"errMsg":ret.msg}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, addclassattr: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.url + "workspace/addclassattr", data: univerifyInfo, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { console.log(res); const ret = res.data; if (ret.code=='00000') { commit("addclassattr",ret); resolve(ret); } else { reject({"errMsg":JSON.stringify(ret)}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, DelObj: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.url + "PDA/DelObj", data: univerifyInfo, method: 'POST', dataType:"json", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) => { console.log(res); const ret = res.data; if (ret.code=='00000') { commit("DelObj",ret); resolve(ret); } else { reject({"errMsg":JSON.stringify(ret)}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, // api/class/attr/GetList?sessionid=SESSION_ID // Mobox3得到数据类属性 classAttrGetList: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.OIDataSAPI+'api/class/attr/GetList?sessionid='+state.loginProvider.loginid.result.session_id, data: univerifyInfo, method: 'POST', dataType:"json", success: (_res) => { // console.log(_res); const ret = _res.data if (ret.err_code == 0) { commit("classAttrList",ret); resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, // api/class/attr/GetList?sessionid=SESSION_ID // Mobox3得到数据类属性 subClassAttrGetList: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.OIDataSAPI+'api/class/attr/GetList?sessionid='+state.loginProvider.loginid.result.session_id, data: univerifyInfo, method: 'POST', dataType:"json", success: (_res) => { // console.log(_res); const ret = _res.data if (ret.err_code == 0) { commit("subClassAttrList",ret); resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, // api/dict/item/GetInfo?sessionid=SESSION_ID // Mobox3得到字典项列表 DictItemGetList: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.OIMoboxSAPI+'api/dict/item/GetInfo?sessionid='+state.loginProvider.loginid.result.session_id, data: univerifyInfo, method: 'POST', dataType:"json", success: (_res) => { // console.log(_res); const ret = _res.data if (ret.err_code == 0) { resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, // api/dataobj/Create?sessionid=SESSION_ID // Mobox3创建数据对象 createDataObj: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.url); uni.request({ url: state.OIDataSAPI+'api/dataobj/Create?sessionid='+state.loginProvider.loginid.result.session_id, data: univerifyInfo, method: 'POST', dataType:"json", success: (_res) => { // console.log(_res); const ret = _res.data if (ret.err_code == 0) { resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { console.log(err); reject(err); } }) }) }, // api/class/uistyle/GetInfo?sessionid=SESSION_ID // Mobox3得到数据类显示样式信息 UIStyleGetInfo: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.loginProvider.loginid.result.session_id); uni.request({ url: state.OIDataSAPI+'api/class/uistyle/GetInfo?sessionid='+state.loginProvider.loginid.result.session_id, data: univerifyInfo, method: 'POST', dataType:"json", success: (_res) => { // console.log(_res); const ret = _res.data if (ret.err_code == 0) { // commit("areaFunc",ret); resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, // api/dataobj/RunCustomEvent?sessionid=SESSION_ID // Mobox3执行自定义脚本 runCustomEvent: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.loginProvider.loginid.result.session_id); uni.request({ url: state.OIDataSAPI+'api/dataobj/RunCustomEvent?sessionid='+state.loginProvider.loginid.result.session_id, data: univerifyInfo, method: 'POST', dataType:"json", success: (_res) => { // console.log(_res); const ret = _res.data if (ret.err_code == 0) { // commit("areaFunc",ret); resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, // api/dataobj/Delete?sessionid=SESSION_ID // Mobox3删除数据对象 dataObjDel: function({ commit, state }, univerifyInfo) { return new Promise((resolve, reject) => { // console.log(state.loginProvider.loginid.result.session_id); uni.request({ url: state.OIDataSAPI+'api/dataobj/Delete?sessionid='+state.loginProvider.loginid.result.session_id, data: univerifyInfo, method: 'POST', dataType:"json", success: (_res) => { // console.log(_res); const ret = _res.data if (ret.err_code == 0) { // commit("areaFunc",ret); resolve(ret); } else { reject({"errMsg":ret.err_msg}); } }, fail: (err) => { // console.log(err); reject(err); } }) }) }, } }) export default store