This commit is contained in:
ylj20011123 2025-12-07 09:16:09 +08:00
parent 4b17ea4c90
commit f2fa634ea4
15 changed files with 3065 additions and 2440 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "ant-design-pro", "name": "ant-design-pro",
"version": "4.5.73", "version": "4.5.75",
"private": true, "private": true,
"description": "An out-of-box UI solution for enterprise applications", "description": "An out-of-box UI solution for enterprise applications",
"scripts": { "scripts": {

View File

@ -84,7 +84,7 @@
const tableName = getreqstr('tablename'); const tableName = getreqstr('tablename');
const tableType = getreqstr('tabletype'); const tableType = getreqstr('tabletype');
const readonly = getreqstr('readonly') ? true : false; const readonly = getreqstr('readonly') ? true : false;
const actions = 'https://api.eshangtech.com/EShangApiMain' const actions = 'https://eshangtech.com:18900/EShangApiMain'
let uploadRef = ref(null) let uploadRef = ref(null)
let showPreviewRef = ref(null) let showPreviewRef = ref(null)
let filename = ref('') let filename = ref('')

View File

@ -24,6 +24,7 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
const [selectedModalOrderRowKeys, setSelectedModalOrderRowKeys] = useState<any>() const [selectedModalOrderRowKeys, setSelectedModalOrderRowKeys] = useState<any>()
// 勾选的行的详情数据 // 勾选的行的详情数据
const [selectModalRowList, setSelectModalRowList] = useState<any>() const [selectModalRowList, setSelectModalRowList] = useState<any>()
const [childRowKeys, setChildRowKeys] = useState<any>()
const columns: any = [ const columns: any = [
{ {
@ -31,25 +32,15 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
dataIndex: 'title', dataIndex: 'title',
readonly: true, readonly: true,
}, },
{
title: '字段类型',
dataIndex: 'dataType',
readonly: true,
},
{ {
title: '字段说明', title: '字段说明',
dataIndex: 'content', dataIndex: 'content',
}, },
// {
// title: '操作',
// valueType: 'option',
// width: 200,
// render: (text, record, _, action) => {
// return <a
// key="editable"
// onClick={() => {
// action?.startEditable?.(record.id);
// }}
// >
// 编辑
// </a>
// }
// }
] ]
useEffect(() => { useEffect(() => {
@ -62,89 +53,101 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
if (configType === 1) { if (configType === 1) {
let list: any = obj && obj.req && obj.req.length > 0 ? obj.req : [] let list: any = obj && obj.req && obj.req.length > 0 ? obj.req : []
let keyList: any = []
let disableList: any = [] let uniqueIdCounter = 0;
let disableDetail: any = [] const listWithIds = list.map((item: any) => {
const id = `${item.title}-${uniqueIdCounter++}`;
return { ...item, id: id };
});
let keyList: any = [] // Will store IDs for editableKeys
let disableList: any = [] // Will store IDs for selected items
let disableDetail: any = [] // Will store actual item objects for selected items
let defaultObj: any = formDetail?.PARAM_FIELD ? JSON.parse(formDetail?.PARAM_FIELD) : '' let defaultObj: any = formDetail?.PARAM_FIELD ? JSON.parse(formDetail?.PARAM_FIELD) : ''
console.log('defaultObj', defaultObj); console.log('defaultObj', defaultObj);
// disableList 为默认勾选起来的字段 // Populate keyList, initial disableList based on isRequired
// 有两种 一种是必填项 那么默认勾选好的 一种是之前的勾选记录 if (listWithIds && listWithIds.length > 0) {
if (list && list.length > 0) { listWithIds.forEach((item: any) => {
list.forEach((item: any) => { keyList.push(item.id) // Use item.id for editableKeys
keyList.push(item.title)
if (item.isRequired) { if (item.isRequired) {
disableList.push(item.title) disableList.push(item.id) // Use item.id for selection
disableDetail.push(item) disableDetail.push(item)
} }
}) })
} }
console.log('disableList', disableList); console.log('disableList', disableList);
// Handle default selections from formDetail
if (defaultObj) { if (defaultObj) {
for (let key in defaultObj) { listWithIds.forEach((item: any) => {
list.forEach((item: any) => { if (defaultObj[item.title]) { // Check if this item's title exists in defaultObj
if (item.title === key) { item.content = defaultObj[item.title]; // Update content
item.content = defaultObj[key]
} // If not already in disableList (e.g., from isRequired), add it
}) if (disableList.indexOf(item.id) === -1) {
if (disableList.indexOf(key) === -1) { disableList.push(item.id);
list.forEach((item: any) => { disableDetail.push(item);
if (item.title === key) { }
disableList.push(item.title) }
disableDetail.push(item) });
} }
}) setSelectedModalOrderRowKeys(disableList) // disableList now contains IDs
} setSelectModalRowList(disableDetail) // disableDetail now contains objects with IDs
} setEditableKeys(keyList) // keyList now contains IDs
} setTableData(listWithIds) // tableData now contains objects with IDs
setSelectedModalOrderRowKeys(disableList)
setSelectModalRowList(disableDetail)
setEditableKeys(keyList)
setTableData(list)
} else if (configType === 2) { } else if (configType === 2) {
let list: any = obj && obj.data && obj.data.length > 0 ? obj.data : '' let list: any = obj?.data && obj.data.length > 0 ? obj.data : [];
let keyList: any = []
let uniqueIdCounter = 0;
const listWithIds = list.map((item: any) => {
const parentId = `${item.title}-${uniqueIdCounter++}`;
const newItem = { ...item, id: parentId };
if (newItem.children) {
newItem.children = newItem.children.map((child: any) => {
const childId = `${child.title}-${uniqueIdCounter++}`;
return { ...child, id: childId };
});
}
return newItem;
});
let disableList: any = [] let disableList: any = []
let disableDetail: any = [] let disableDetail: any = []
let defaultObj: any = formDetail?.RESPONSE_FIELD ? JSON.parse(formDetail?.RESPONSE_FIELD) : '' let defaultObj: any = formDetail?.RESPONSE_FIELD ? JSON.parse(formDetail?.RESPONSE_FIELD) : ''
console.log('defaultObj', defaultObj); console.log('defaultObj', defaultObj);
const childrenKeys: any[] = [];
if (list && list.length > 0) { if (listWithIds && listWithIds.length > 0) {
list.forEach((item: any) => { listWithIds.forEach((item: any) => {
keyList.push(item.title) if (item.children && item.children.length > 0) {
if (item.isRequired) { item.children.forEach((child: any) => {
disableList.push(item.title) childrenKeys.push(child.id);
disableDetail.push(item) });
} }
}) })
} }
setChildRowKeys(childrenKeys);
if (defaultObj) { if (defaultObj) {
for (let key in defaultObj) { const allRowsWithIds = listWithIds.flatMap((item: any) => [item, ...(item.children || [])]);
list.forEach((item: any) => { for (const key in defaultObj) {
if (item.title === key) { const matchingRows = allRowsWithIds.filter((row: any) => row.title === key);
item.content = defaultObj[key] matchingRows.forEach((row: any) => {
row.content = defaultObj[key];
if (disableList.indexOf(row.id) === -1) {
disableList.push(row.id);
disableDetail.push(row);
} }
}) });
if (disableList.indexOf(key) === -1) {
list.forEach((item: any) => {
if (item.title === key) {
disableList.push(item.title)
disableDetail.push(item)
}
})
}
} }
} }
setSelectedModalOrderRowKeys(disableList) setSelectedModalOrderRowKeys(disableList)
setSelectModalRowList(disableDetail) setSelectModalRowList(disableDetail)
setEditableKeys(keyList) setEditableKeys(listWithIds.map((item: any) => item.id))
setTableData(list) setTableData(listWithIds)
} }
} }
}, []) }, [])
@ -156,9 +159,7 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
return ( return (
<div> <div>
<EditableProTable <EditableProTable
rowKey={(record: any) => { rowKey={'id'}
return `${record?.title}`
}}
className={"configAiModalTable"} className={"configAiModalTable"}
actionRef={actionRef} actionRef={actionRef}
formRef={formRef} formRef={formRef}
@ -181,7 +182,7 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
let detailList: any = [] let detailList: any = []
if (recordList && recordList.length > 0 && selectedModalOrderRowKeys && selectedModalOrderRowKeys.length > 0) { if (recordList && recordList.length > 0 && selectedModalOrderRowKeys && selectedModalOrderRowKeys.length > 0) {
recordList.forEach((item: any) => { recordList.forEach((item: any) => {
if (selectedModalOrderRowKeys.indexOf(item.title) !== -1) { if (selectedModalOrderRowKeys.indexOf(item.id) !== -1) { // Changed item.title to item.id
detailList.push(item) detailList.push(item)
} }
}) })
@ -194,13 +195,48 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
type: 'checkbox', type: 'checkbox',
selectedRowKeys: selectedModalOrderRowKeys, selectedRowKeys: selectedModalOrderRowKeys,
onChange: (selectedRowKeys: any, selectedRows: any) => { onChange: (selectedRowKeys: any, selectedRows: any) => {
console.log('selectedRowKeys', selectedRowKeys); const newSelectedKeys = new Set(selectedRowKeys);
console.log('selectedRows', selectedRows); const oldSelectedKeys = new Set(selectedModalOrderRowKeys || []);
setSelectModalRowList(selectedRows)
setSelectedModalOrderRowKeys(selectedRowKeys) // Only apply parent-child logic for configType === 2
if (configType === 2) {
tableData.forEach((parent: any) => {
if (parent.children) {
const parentKey = parent.id;
const childKeys = parent.children.map((child: any) => child.id);
// if parent was just selected
if (newSelectedKeys.has(parentKey) && !oldSelectedKeys.has(parentKey)) {
childKeys.forEach((key: any) => newSelectedKeys.add(key));
}
// if parent was just deselected
if (!newSelectedKeys.has(parentKey) && oldSelectedKeys.has(parentKey)) {
childKeys.forEach((key: any) => newSelectedKeys.delete(key));
}
}
});
}
const finalKeys = Array.from(newSelectedKeys);
const allRowsForSelection: any[] = [];
if (tableData) {
tableData.forEach((item: any) => {
allRowsForSelection.push(item);
if (item.children) {
allRowsForSelection.push(...item.children);
}
});
}
const finalRows = allRowsForSelection.filter((row: any) => newSelectedKeys.has(row.id));
setSelectModalRowList(finalRows);
setSelectedModalOrderRowKeys(finalKeys);
}, },
getCheckboxProps: (record: any) => ({ getCheckboxProps: (record: any) => ({
disabled: record.isRequired, disabled: (configType === 2 && childRowKeys && childRowKeys.includes(record.id)), // Only disable children for configType 2
}), }),
}} }}
recordCreatorProps={false} recordCreatorProps={false}

View File

@ -644,7 +644,7 @@ export const handleSetPublicLog = (obj: any) => {
let browserVersion = session.get("browserVersion") let browserVersion = session.get("browserVersion")
if (obj.desc && obj.desc.length > 0) { if (obj.desc && obj.desc.length > 0) {
obj.desc.forEach((item: any) => { obj.desc.forEach((item: any) => {
item.url = 'https://api.eshangtech.com' + item.url item.url = 'https://eshangtech.com:18900' + item.url
}) })
} }

View File

@ -59,7 +59,7 @@ const errorHandler = (error: { response: Response }): Response => {
const request = extend({ const request = extend({
errorHandler, // default error handling errorHandler, // default error handling
// prefix: '/EShangApiMain',// 开发 // prefix: '/EShangApiMain',// 开发
prefix: 'https://api.eshangtech.com/EShangApiMain', // 正式 prefix: 'https://eshangtech.com:18900/EShangApiMain', // 正式
headers: { headers: {
token: '', token: '',
ProvinceCode: '', ProvinceCode: '',
@ -189,7 +189,7 @@ request.interceptors.response.use((response, option) => {
// USER_ID: userbeHaviObj.currentUser.ID, // USER_ID: userbeHaviObj.currentUser.ID,
// USER_NAME: userbeHaviObj.currentUser.Name, // USER_NAME: userbeHaviObj.currentUser.Name,
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录 // BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`, // BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://eshangtech.com:18900')[1]}`,
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'), // BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
// BEHAVIORRECORD_ROUT: nowMenu.pathname, // BEHAVIORRECORD_ROUT: nowMenu.pathname,
// BEHAVIORRECORD_ROUTNAME: nowMenu.name, // BEHAVIORRECORD_ROUTNAME: nowMenu.name,
@ -207,7 +207,7 @@ request.interceptors.response.use((response, option) => {
// OPERATING_SYSTEM: systemBasin // OPERATING_SYSTEM: systemBasin
// } // }
// console.log('reqreqreqreqreq', req); // console.log('reqreqreqreqreq', req);
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', { // // fetch('https://eshangtech.com:18900/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
// // method: 'POST', // // method: 'POST',
// // headers: { // // headers: {
// // 'Content-Type': 'application/json', // // 'Content-Type': 'application/json',

View File

@ -189,7 +189,7 @@ request.interceptors.response.use((response, option) => {
// USER_ID: userbeHaviObj.currentUser.ID, // USER_ID: userbeHaviObj.currentUser.ID,
// USER_NAME: userbeHaviObj.currentUser.Name, // USER_NAME: userbeHaviObj.currentUser.Name,
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录 // BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`, // BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://eshangtech.com:18900')[1]}`,
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'), // BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
// BEHAVIORRECORD_ROUT: nowMenu.pathname, // BEHAVIORRECORD_ROUT: nowMenu.pathname,
// BEHAVIORRECORD_ROUTNAME: nowMenu.name, // BEHAVIORRECORD_ROUTNAME: nowMenu.name,
@ -207,7 +207,7 @@ request.interceptors.response.use((response, option) => {
// OPERATING_SYSTEM: systemBasin // OPERATING_SYSTEM: systemBasin
// } // }
// console.log('reqreqreqreqreq', req); // console.log('reqreqreqreqreq', req);
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', { // // fetch('https://eshangtech.com:18900/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
// // method: 'POST', // // method: 'POST',
// // headers: { // // headers: {
// // 'Content-Type': 'application/json', // // 'Content-Type': 'application/json',

View File

@ -57,7 +57,7 @@ const errorHandler = (error: { response: Response }): Response => {
const request = extend({ const request = extend({
errorHandler, // default error handling errorHandler, // default error handling
// prefix: '/EShangApiMain',// 开发 // prefix: '/EShangApiMain',// 开发
prefix: 'https://api.eshangtech.com/CommercialApi', // 正式 prefix: 'https://eshangtech.com:18900/CommercialApi', // 正式
headers: { headers: {
token: '', token: '',
ProvinceCode: '', ProvinceCode: '',

View File

@ -57,7 +57,7 @@ const errorHandler = (error: { response: Response }): Response => {
const request = extend({ const request = extend({
errorHandler, // default error handling errorHandler, // default error handling
// prefix: '/EShangApiMain',// 开发 // prefix: '/EShangApiMain',// 开发
prefix: 'https://api.eshangtech.com/EshangApiDashboard', // 正式 prefix: 'https://eshangtech.com:18900/EshangApiDashboard', // 正式
headers: { headers: {
token: '', token: '',
ProvinceCode: '', ProvinceCode: '',
@ -85,18 +85,18 @@ request.interceptors.request.use((url, opt) => {
} }
} }
if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) && if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) &&
url.indexOf('Picture/SaveImgFile') === -1 ) { url.indexOf('Picture/SaveImgFile') === -1) {
// 添加操作人和业主单位信息 // 添加操作人和业主单位信息
options.data = { options.data = {
...options.data, ...options.data,
STAFF_ID: currentUser.ID, STAFF_ID: currentUser.ID,
STAFF_NAME: currentUser.Name, STAFF_NAME: currentUser.Name,
OWNERUNIT_ID: options.data.OWNERUNIT_ID || currentUser.OwnerUnitId, OWNERUNIT_ID: options.data.OWNERUNIT_ID || currentUser.OwnerUnitId,
OWNERUNIT_NAME: options.data.OWNERUNIT_NAME || currentUser.ProvinceUnit, OWNERUNIT_NAME: options.data.OWNERUNIT_NAME || currentUser.ProvinceUnit,
PROVINCE_CODE: options.data.PROVINCE_CODE || currentUser.ProvinceCode, PROVINCE_CODE: options.data.PROVINCE_CODE || currentUser.ProvinceCode,
OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss') OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss')
} }
if (currentUser?.UserPattern === 2000) { if (currentUser?.UserPattern === 2000) {
options.data = { options.data = {
...options.data, ...options.data,

View File

@ -52,7 +52,7 @@ const errorHandler = (error: { response: Response }): Response => {
const requestEncryption = extend({ const requestEncryption = extend({
errorHandler, // default error handling errorHandler, // default error handling
// prefix: '/EShangApiMain',// 开发 // prefix: '/EShangApiMain',// 开发
prefix: 'https://api.eshangtech.com/MemberApi', // 正式 prefix: 'https://eshangtech.com:18900/MemberApi', // 正式
headers: { headers: {
token: '', token: '',
ProvinceCode: '', ProvinceCode: '',

View File

@ -183,7 +183,7 @@ request.interceptors.response.use((response, option) => {
// USER_ID: userbeHaviObj.currentUser.ID, // USER_ID: userbeHaviObj.currentUser.ID,
// USER_NAME: userbeHaviObj.currentUser.Name, // USER_NAME: userbeHaviObj.currentUser.Name,
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录 // BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`, // BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://eshangtech.com:18900')[1]}`,
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'), // BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
// BEHAVIORRECORD_ROUT: nowMenu.pathname, // BEHAVIORRECORD_ROUT: nowMenu.pathname,
// BEHAVIORRECORD_ROUTNAME: nowMenu.name, // BEHAVIORRECORD_ROUTNAME: nowMenu.name,
@ -201,7 +201,7 @@ request.interceptors.response.use((response, option) => {
// OPERATING_SYSTEM: systemBasin // OPERATING_SYSTEM: systemBasin
// } // }
// console.log('reqreqreqreqreq', req); // console.log('reqreqreqreqreq', req);
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', { // // fetch('https://eshangtech.com:18900/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
// // method: 'POST', // // method: 'POST',
// // headers: { // // headers: {
// // 'Content-Type': 'application/json', // // 'Content-Type': 'application/json',

View File

@ -183,7 +183,7 @@ request.interceptors.response.use((response, option) => {
// USER_ID: userbeHaviObj.currentUser.ID, // USER_ID: userbeHaviObj.currentUser.ID,
// USER_NAME: userbeHaviObj.currentUser.Name, // USER_NAME: userbeHaviObj.currentUser.Name,
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录 // BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`, // BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://eshangtech.com:18900')[1]}`,
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'), // BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
// BEHAVIORRECORD_ROUT: nowMenu.pathname, // BEHAVIORRECORD_ROUT: nowMenu.pathname,
// BEHAVIORRECORD_ROUTNAME: nowMenu.name, // BEHAVIORRECORD_ROUTNAME: nowMenu.name,
@ -201,7 +201,7 @@ request.interceptors.response.use((response, option) => {
// OPERATING_SYSTEM: systemBasin // OPERATING_SYSTEM: systemBasin
// } // }
// console.log('reqreqreqreqreq', req); // console.log('reqreqreqreqreq', req);
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', { // // fetch('https://eshangtech.com:18900/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
// // method: 'POST', // // method: 'POST',
// // headers: { // // headers: {
// // 'Content-Type': 'application/json', // // 'Content-Type': 'application/json',

View File

@ -59,9 +59,9 @@ const requestTest = extend({
// prefix: '/EShangApiMain',// 开发 // prefix: '/EShangApiMain',// 开发
// 'http://192.168.56.1/EShangApiMain' // 'http://192.168.56.1/EShangApiMain'
// "https://api.eshangtech.com/EShangApiMain" // 正式 // "https://eshangtech.com:18900/EShangApiMain" // 正式
// "http://192.168.56.1/EShangApiMain" // "http://192.168.56.1/EShangApiMain"
prefix: "https://api.eshangtech.com/EShangApiMain", // 正式 prefix: "https://eshangtech.com:18900/EShangApiMain", // 正式
// prefix: "http://10.104.1.186:8080", // 正式 // prefix: "http://10.104.1.186:8080", // 正式
headers: { headers: {
token: '', token: '',

View File

@ -57,7 +57,7 @@ const errorHandler = (error: { response: Response }): Response => {
const request = extend({ const request = extend({
errorHandler, // default error handling errorHandler, // default error handling
// prefix: '/EShangApiMain',// 开发 // prefix: '/EShangApiMain',// 开发
prefix: 'https://api.eshangtech.com/', // 正式 prefix: 'https://eshangtech.com:18900/', // 正式
headers: { headers: {
token: '', token: '',
ProvinceCode: '', ProvinceCode: '',

View File

@ -1,4 +1,4 @@
// 由 scripts/writeVersion.js 自动生成 // 由 scripts/writeVersion.js 自动生成
export const VERSION = "4.5.73"; export const VERSION = "4.5.75";
export const GIT_HASH = "dde90fb"; export const GIT_HASH = "4b17ea4";
export const BUILD_TIME = "2025-12-03T10:27:22.507Z"; export const BUILD_TIME = "2025-12-05T03:57:31.975Z";