From d84283821bb08d81d887f20a7118caf25b8b2714 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期二, 27 八月 2024 18:29:10 +0800 Subject: [PATCH] 判断接口返回值是否是字符串,然后解析 --- pages/modal/3037_2.vue | 104 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 90 insertions(+), 14 deletions(-) diff --git a/pages/modal/3037_2.vue b/pages/modal/3037_2.vue index de4968a..ad6c857 100644 --- a/pages/modal/3037_2.vue +++ b/pages/modal/3037_2.vue @@ -323,6 +323,7 @@ //浼犲叆鍙傛暟鍊� if (paramValue) { const attrs = paramValue.attrs || []; + (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => { if (ele.name != "Layout") { attrs.forEach(async (ele2, index2) => { @@ -366,13 +367,14 @@ } $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {}; // console.log($this.$data.head_styledef); - $this.head_styledef.form.items.forEach(async (ele, index) => { - ele.show = true; - if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, index, 'mast'); - } - }); - + if ($this.head_styledef.form?.items) { + $this.head_styledef.form.items.forEach(async (ele, index) => { + ele.show = true; + if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + await this.DictGetInfo(ele.bind.dict, index, 'mast'); + } + }); + } if ($this.head_styledef.event?.length > 0) { $this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 if (a.event_id == "initial") { @@ -418,11 +420,13 @@ } $this.$data.detail1_styledef = ret.result.style_def ? JSON.parse(styledef) : {}; $this.$data.detail1_styledef.SelBut_Checked = true; - $this.detail1_styledef.form.items.forEach(async (ele, index) => { - if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, index, 'sub'); - } - }); + if ($this.detail1_styledef.form?.items) { + $this.detail1_styledef.form.items.forEach(async (ele, index) => { + if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + await this.DictGetInfo(ele.bind.dict, index, 'sub'); + } + }); + } if ($this.detail1_styledef.event?.length > 0) { $detail1_styledefforEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢 if (a.event_id == "initial") { @@ -513,12 +517,84 @@ dataType: "json", success: (_res) => { // console.log(_res); - const ret = _res.data + var ret = _res.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, + '<br>').replace(/[\t]/g, ' ')); + } + } catch (ex) { + console.log(ret) + return reject('灏唃etDictInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } if (ret.err_code == 0) { resolve(ret); } else { reject({ "errMsg": ret.err_msg + }); + } + + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg + }); + } + }, + fail: (err) => { + // console.log(err); + reject(err); + } + }) + + }) + + }, + getUIStyleInfo(info) { //Mobox3鏁版嵁绫荤晫闈㈡牱寮�+ const loginInfo = this.$store.getters.loginid + const dataSApi = this.$store.getters.getDataSApi + return new Promise((resolve, reject) => { + uni.request({ + url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result + .session_id, + data: info, + method: 'POST', + dataType: "json", + success: (_res) => { + // console.log(_res); + var ret = _res.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, + '<br>').replace(/[\t]/g, ' ')); + } + } catch (ex) { + console.log(ret) + return reject('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg || ret.errMsg }); } }, @@ -1948,7 +2024,7 @@ showCancel: false, confirmText: this.translateSys("cancel") }); - this.saving =false + this.saving = false return false } else { var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join( -- Gitblit v1.9.1