feat:修改

This commit is contained in:
surenjun 2025-01-14 19:43:14 +08:00
parent ec42803348
commit 47a575a464
3 changed files with 207 additions and 186 deletions

View File

@ -8,7 +8,7 @@ let baseHost = globalThis.host;
// 下载模型 // 下载模型
export async function download() { export async function download() {
return request({ return await request({
host: baseHost, host: baseHost,
url: '/para/initEsModel.ws', url: '/para/initEsModel.ws',
method: 'post', method: 'post',
@ -21,6 +21,7 @@ interface WR{
code?:number code?:number
keystr?:string keystr?:string
} }
// 通用监管接口 // 通用监管接口
export async function writeObjectOut(params, filePath?:string): Promise<WR> { export async function writeObjectOut(params, filePath?:string): Promise<WR> {
const singlePlay = globalThis.singlePlay const singlePlay = globalThis.singlePlay
@ -55,8 +56,8 @@ export async function writeObjectOut(params,filePath?:string): Promise<WR> {
`<${key}>${drvexam[key]}</${key}>`)); `<${key}>${drvexam[key]}</${key}>`));
console.log('surenjun filePath=>',filePath); console.log('surenjun filePath=>',filePath);
if(filePath){
const fileUtil = new FileUtil(globalThis.context); const fileUtil = new FileUtil(globalThis.context);
if(filePath){
await fileUtil.initFolder(filePath); await fileUtil.initFolder(filePath);
fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify({ fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify({
xtlb,jkxlh,jkid,drvexam:{...drvexam,zp:''}, xtlb,jkxlh,jkid,drvexam:{...drvexam,zp:''},
@ -64,7 +65,9 @@ export async function writeObjectOut(params,filePath?:string): Promise<WR> {
} }
//对象转换成xml //对象转换成xml
const temp = request({ let temp = {}
try {
temp = await request({
host: globalThis.JGHOST, host: globalThis.JGHOST,
url: '/dems_ws/services/TmriOutAccess?wsdl', url: '/dems_ws/services/TmriOutAccess?wsdl',
data: `<?xml version="1.0"?> data: `<?xml version="1.0"?>
@ -94,17 +97,12 @@ export async function writeObjectOut(params,filePath?:string): Promise<WR> {
method: 'post', method: 'post',
xml: true xml: true
},) },)
} catch (e) {
temp =e
}
if(filePath){ if(filePath){
const fileUtil = new FileUtil(globalThis.context);
await fileUtil.initFolder(filePath);
fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify(temp) +`\n`); fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify(temp) +`\n`);
} }
// const {code} = temp;
// if(code == '2300007' || code == '2300028'){
// return await writeObjectOut(params,filePath)
// }else{
// return temp
// }
return temp return temp
} }
@ -115,7 +113,7 @@ export async function uploadExamProgressData(params) {
if (singlePlay) { if (singlePlay) {
return return
} }
return request({ return await request({
url: '/der2/services/exam/uploadExamDataFile.ws', url: '/der2/services/exam/uploadExamDataFile.ws',
data: `<?xml version="1.0" encoding="UTF-8"?> data: `<?xml version="1.0" encoding="UTF-8"?>
<uploadExamDataFileReq> <uploadExamDataFileReq>
@ -142,7 +140,7 @@ export async function uploadExamMileage(params) {
return return
} }
const time = await getCurrentTime() const time = await getCurrentTime()
return request({ return await request({
url: '/der2/services/exam/uploadExamMileage.ws', url: '/der2/services/exam/uploadExamMileage.ws',
data: `<?xml version="1.0" encoding="UTF-8"?> data: `<?xml version="1.0" encoding="UTF-8"?>
<uploadExamMileageReq> <uploadExamMileageReq>
@ -168,7 +166,7 @@ export async function uploadExamGrade(params) {
} }
const paramsArrs = Reflect.ownKeys(params).map((key: string) => (`<${key}>${params[key]}</${key}>`)) const paramsArrs = Reflect.ownKeys(params).map((key: string) => (`<${key}>${params[key]}</${key}>`))
const time = await getCurrentTime() const time = await getCurrentTime()
return request({ return await request({
url: '/der2/services/exam/uploadExamGrade.ws', url: '/der2/services/exam/uploadExamGrade.ws',
data: `<?xml version="1.0" encoding="UTF-8"?> data: `<?xml version="1.0" encoding="UTF-8"?>
<uploadExamGradeReq> <uploadExamGradeReq>
@ -190,9 +188,10 @@ function validateIP(path: string) {
// 上传运行时常 // 上传运行时常
export async function uploadHarmonyLiCheng(data) { export async function uploadHarmonyLiCheng(data) {
return request({ return await request({
url: '/der2/services/data/harmonyLiCheng.ws', url: '/der2/services/data/harmonyLiCheng.ws',
data, data,
method: 'post', method: 'post',
}) })
} }

View File

@ -35,10 +35,10 @@ export default async function writeObjectOutNew(data,filePath): Promise<WR> {
} }
// let connectTimeout = sjbs === '02-21-000014' ?60000:1 // let connectTimeout = sjbs === '02-21-000014' ?60000:1
console.info('surenjun','调用新监管') console.info('surenjun','调用新监管')
let temp
const temp = await request({ try {
temp = await request({
host: globalThis.JGHOST, host: globalThis.JGHOST,
method: 'post', method: 'post',
//是否是新中心 //是否是新中心
@ -64,17 +64,12 @@ export default async function writeObjectOutNew(data,filePath): Promise<WR> {
</SOAP-ENV:Body> </SOAP-ENV:Body>
</SOAP-ENV:Envelope>`, </SOAP-ENV:Envelope>`,
}) })
} catch (e) {
temp = e
}
if(filePath){ if(filePath){
const fileUtil = new FileUtil(globalThis.context);
await fileUtil.initFolder(filePath);
fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify(temp) +`\n`); fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify(temp) +`\n`);
} }
// const {code} = temp;
// if(code == '2300007' || code == '2300028'){
// return await writeObjectOutNew(params,filePath)
// }else{
// return temp
// }
return temp return temp
} }

View File

@ -1,10 +1,7 @@
import http from '@ohos.net.http'; import http from '@ohos.net.http';
import convertxml from '@ohos.convertxml'; import convertxml from '@ohos.convertxml';
import prompt from '@ohos.prompt' import prompt from '@ohos.prompt'
import { sendGreen } from '../../pages/judgeSDK/utils/judgeCommon';
import { GlobalConfig } from '../../config/index' import { GlobalConfig } from '../../config/index'
import FileUtil from '../../common/utils/File';
import { dateFormat } from '../utils/tools'
const config = { const config = {
host: GlobalConfig.host, host: GlobalConfig.host,
@ -22,35 +19,31 @@ const config = {
*/ */
// let httpRequest = http.createHttp(); // let httpRequest = http.createHttp();
export default async function request(req: any) { export default async function request(req: any): Promise<any> {
const {url,params = {},data = {},xml,method = 'get',host,isNewCenter = false} = req; return new Promise((reslove, reject) => {
let httpRequest = http.createHttp(); let httpRequest = http.createHttp();
const {url,params = {},data = {},xml,method = 'get',host,isNewCenter = false} = req;
try {
const options = { const options = {
method: http.RequestMethod[method.toUpperCase()], method: http.RequestMethod[method.toUpperCase()],
header: { header: {
'Content-Type': xml ? 'text/xml' : 'application/json' 'Content-Type': xml ? 'text/xml' : 'application/json'
}, },
extraData: xml ? data : JSON.stringify(data), extraData: xml ? data : JSON.stringify(data),
//15秒超时
connectTimeout:15 * 1000 connectTimeout:15 * 1000
} }
//params转url拼接参数
let paramsStr = Reflect.ownKeys(params).reduce((p: string, n: string) => (`${p}${n}=${params[n]}&`), '?') || ''; let paramsStr = Reflect.ownKeys(params).reduce((p: string, n: string) => (`${p}${n}=${params[n]}&`), '?') || '';
paramsStr = paramsStr.toString(); paramsStr = paramsStr.toString();
paramsStr = paramsStr.substring(0, paramsStr.length - 1) paramsStr = paramsStr.substring(0, paramsStr.length - 1)
try {
let baseUrl = host ? host : globalThis.host let baseUrl = host ? host : globalThis.host
// let baseUrl=host?config.csptHost:config.host' // let baseUrl=host?config.csptHost:config.host'
console.log('响应头地址1' + baseUrl, url, options.extraData.length) console.log('响应头地址1' + baseUrl, url, options.extraData.length)
const {result,responseCode} = await httpRequest.request(`${baseUrl}${url}${paramsStr}`, {...options}); // const {result,responseCode} = await
// fileUtil.editFile(`${folderPath}/request.txt`, JSON.stringify(arrList)) httpRequest.request(`${baseUrl}${url}${paramsStr}`, {
// writeLog({ ...options
// time:dateFormat(new Date()), })
// url, .then(async(data) => {
// result:JSON.stringify(result), const result = data.result
// extraData: JSON.stringify(data),
// state:'end'
// })
console.log('响应头地址' + JSON.stringify(result)) console.log('响应头地址' + JSON.stringify(result))
let res: any = xml ? xmlToJson(result, url) : result; let res: any = xml ? xmlToJson(result, url) : result;
console.log('响应头地址' + JSON.stringify(res)) console.log('响应头地址' + JSON.stringify(res))
@ -65,19 +58,25 @@ export default async function request(req: any) {
//Envelope.Body.writeObjectOutResponse.return //Envelope.Body.writeObjectOutResponse.return
const dd = handleCenterCode(msgXml, isNewCenter); const dd = handleCenterCode(msgXml, isNewCenter);
httpRequest.destroy(); httpRequest.destroy();
return dd // @ts-ignore
reslove(dd)
return
} }
if (!xml) { if (!xml) {
if (res.head.resultCode === '0') { if (res.head.resultCode === '0') {
return res // return res
httpRequest.destroy();
reslove(res)
return
} else { } else {
const resultMessage = res?.body?.resultMessage || res?.head?.resultMessage const resultMessage = res?.body?.resultMessage || res?.head?.resultMessage
prompt.showToast({ prompt.showToast({
message: decodeURIComponent(resultMessage), message: decodeURIComponent(resultMessage),
duration: 3000 duration: 3000
}); });
return false httpRequest.destroy();
reject(false)
} }
} }
for (let i in res) { for (let i in res) {
@ -86,54 +85,80 @@ export default async function request(req: any) {
console.info('jiangsong:res in request' + url + JSON.stringify(resObj)) console.info('jiangsong:res in request' + url + JSON.stringify(resObj))
if (resObj.resultCode === '0') { if (resObj.resultCode === '0') {
httpRequest.destroy(); httpRequest.destroy();
return res reslove(res)
return
} else { } else {
prompt.showToast({ prompt.showToast({
message: decodeURIComponent(resObj.resultMessage), message: decodeURIComponent(resObj.resultMessage),
duration: 3000 duration: 3000
}); });
httpRequest.destroy(); httpRequest.destroy();
return res reject(res)
} }
}).catch(Error=>{
console.info('test-error0' + url + ' error:resp: ' + JSON.stringify(Error.message))
prompt.showToast({
message: Error?.message,
duration: 5000
});
reject(Error)
})
// fileUtil.editFile(`${folderPath}/request.txt`, JSON.stringify(arrList))
// writeLog({
// time:dateFormat(new Date()),
// url,
// result:JSON.stringify(result),
// extraData: JSON.stringify(data),
// state:'end'
// })
} catch (e) { } catch (e) {
console.info('test-error' + url + ' error:resp: ' + JSON.stringify(e)) console.info('test-error' + url + ' error:resp: ' + JSON.stringify(e))
if (!e || !(e?.message)) { if (!e || !(e?.message)) {
httpRequest.destroy(); httpRequest.destroy();
return {code:-1} reject({
code: -1
})
// httpRequest.destroy();
// return {code:-1}
} }
const code = e?.code;
prompt.showToast({ prompt.showToast({
message: e?.message, message: e?.message,
duration: 5000 duration: 5000
}); });
httpRequest.destroy(); reject({
switch (code){ code: e.code
//断网 })
case 2300007: return {code:2300007} // return {code:e.code}
// 超时 // return {code:e.code}
case 2300028: return {code:2300028} // httpRequest.destroy();
default:
}
return {code:e.code}
}
} }
async function writeLog(param){ })
const fileUtil = new FileUtil(globalThis.context)
const folderPath = await fileUtil.initFolder(`/errorMsg/`);
fileUtil.editFile(`${folderPath}/request.txt`, JSON.stringify(param)+`\n`)
} }
//xml格式转JSON //xml格式转JSON
function xmlToJson(result, url) { function xmlToJson(result, url) {
console.log("xmlToJson begin", url); console.log("xmlToJson begin", url);
let xmlOptions = {trim : false, declarationKey:"_declaration", let xmlOptions = {
instructionKey : "_instruction", attributesKey : "_attributes", trim: false,
textKey : "_text", cdataKey:"_cdata", doctypeKey : "_doctype", declarationKey: "_declaration",
commentKey : "_comment", parentKey : "_parent", typeKey : "_type", instructionKey: "_instruction",
nameKey : "_name", elementsKey : "_elements", "skipPreprocess" : true} attributesKey: "_attributes",
textKey: "_text",
cdataKey: "_cdata",
doctypeKey: "_doctype",
commentKey: "_comment",
parentKey: "_parent",
typeKey: "_type",
nameKey: "_name",
elementsKey: "_elements",
"skipPreprocess": true
}
let strXml = result.toString(); let strXml = result.toString();
let conv = new convertxml.ConvertXML(); let conv = new convertxml.ConvertXML();
@ -229,7 +254,9 @@ const deeml = (elements,_name?)=>{
} else { } else {
json[ele._name] = obj json[ele._name] = obj
} }
}0 }
0
} else { } else {
//标签上有属性 //标签上有属性
if (ele._attributes) { if (ele._attributes) {