import request from '@/utils/http'
|
|
export function buildUserListParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.username !== undefined ? { username: params.username } : {}),
|
...(params.nickname !== undefined ? { nickname: params.nickname } : {}),
|
...(params.phone !== undefined ? { phone: params.phone } : {}),
|
...(params.email !== undefined ? { email: params.email } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.deptId !== undefined ? { deptId: params.deptId } : {})
|
}
|
}
|
|
export function buildRoleListParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.name !== undefined ? { name: params.name } : {}),
|
...(params.code !== undefined ? { code: params.code } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {}),
|
...(params.status !== undefined ? { status: params.status } : {})
|
}
|
}
|
|
export function buildOperationRecordPageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.namespace !== undefined ? { namespace: params.namespace } : {}),
|
...(params.url !== undefined ? { url: params.url } : {}),
|
...(params.appkey !== undefined ? { appkey: params.appkey } : {}),
|
...(params.clientIp !== undefined ? { clientIp: params.clientIp } : {}),
|
...(params.request !== undefined ? { request: params.request } : {}),
|
...(params.response !== undefined ? { response: params.response } : {}),
|
...(params.spendTime !== undefined ? { spendTime: params.spendTime } : {}),
|
...(params.result !== undefined ? { result: params.result } : {}),
|
...(params.userId !== undefined ? { userId: params.userId } : {}),
|
...(params.timeStart !== undefined ? { timeStart: params.timeStart } : {}),
|
...(params.timeEnd !== undefined ? { timeEnd: params.timeEnd } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildConfigPageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.uuid !== undefined ? { uuid: params.uuid } : {}),
|
...(params.name !== undefined ? { name: params.name } : {}),
|
...(params.flag !== undefined ? { flag: params.flag } : {}),
|
...(params.type !== undefined ? { type: params.type } : {}),
|
...(params.val !== undefined ? { val: params.val } : {}),
|
...(params.content !== undefined ? { content: params.content } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.timeStart !== undefined ? { timeStart: params.timeStart } : {}),
|
...(params.timeEnd !== undefined ? { timeEnd: params.timeEnd } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildSerialRulePageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.code !== undefined ? { code: params.code } : {}),
|
...(params.name !== undefined ? { name: params.name } : {}),
|
...(params.delimit !== undefined ? { delimit: params.delimit } : {}),
|
...(params.reset !== undefined ? { reset: params.reset } : {}),
|
...(params.resetDep !== undefined ? { resetDep: params.resetDep } : {}),
|
...(params.currValue !== undefined ? { currValue: params.currValue } : {}),
|
...(params.lastCode !== undefined ? { lastCode: params.lastCode } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.timeStart !== undefined ? { timeStart: params.timeStart } : {}),
|
...(params.timeEnd !== undefined ? { timeEnd: params.timeEnd } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildDictTypePageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.code !== undefined ? { code: params.code } : {}),
|
...(params.name !== undefined ? { name: params.name } : {}),
|
...(params.description !== undefined ? { description: params.description } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.timeStart !== undefined ? { timeStart: params.timeStart } : {}),
|
...(params.timeEnd !== undefined ? { timeEnd: params.timeEnd } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildDictDataPageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.dictTypeId !== undefined ? { dictTypeId: params.dictTypeId } : {}),
|
...(params.dictTypeCode !== undefined ? { dictTypeCode: params.dictTypeCode } : {}),
|
...(params.value !== undefined ? { value: params.value } : {}),
|
...(params.label !== undefined ? { label: params.label } : {}),
|
...(params.sort !== undefined ? { sort: params.sort } : {}),
|
...(params.group !== undefined ? { group: params.group } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildWaveRulePageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.code !== undefined ? { code: params.code } : {}),
|
...(params.type !== undefined ? { type: params.type } : {}),
|
...(params.name !== undefined ? { name: params.name } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.timeStart !== undefined ? { timeStart: params.timeStart } : {}),
|
...(params.timeEnd !== undefined ? { timeEnd: params.timeEnd } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildFieldsPageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.fields !== undefined ? { fields: params.fields } : {}),
|
...(params.fieldsAlise !== undefined ? { fieldsAlise: params.fieldsAlise } : {}),
|
...(params.unique !== undefined ? { unique: params.unique } : {}),
|
...(params.flagEnable !== undefined ? { flagEnable: params.flagEnable } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildFieldsItemPageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.uuid !== undefined ? { uuid: params.uuid } : {}),
|
...(params.fieldsId !== undefined ? { fieldsId: params.fieldsId } : {}),
|
...(params.value !== undefined ? { value: params.value } : {}),
|
...(params.matnrId !== undefined ? { matnrId: params.matnrId } : {}),
|
...(params.shiperId !== undefined ? { shiperId: params.shiperId } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildTenantPageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.name !== undefined ? { name: params.name } : {}),
|
...(params.flag !== undefined ? { flag: params.flag } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
export function buildHostPageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.condition !== undefined ? { condition: params.condition } : {}),
|
...(params.name !== undefined ? { name: params.name } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {})
|
}
|
}
|
|
function fetchGetUserList(params) {
|
return request.post({ url: '/user/page', params: buildUserListParams(params) })
|
}
|
|
function fetchSaveUser(params) {
|
return request.post({ url: '/user/save', params })
|
}
|
|
function fetchUpdateUser(params) {
|
return request.post({ url: '/user/update', params })
|
}
|
|
function fetchDeleteUser(id) {
|
return request.post({ url: `/user/remove/${id}` })
|
}
|
|
function fetchResetUserPassword(params) {
|
const normalizedParams = normalizeAdminPasswordUpdateParams(params)
|
return request.post({ url: '/user/update', params: normalizedParams })
|
}
|
|
function fetchUpdateUserStatus(params) {
|
return request.post({ url: '/user/update', params })
|
}
|
|
function fetchGetUserDetail(id) {
|
return request.get({ url: `/user/${id}` })
|
}
|
|
function fetchGetRoleList(params) {
|
return request.post({ url: '/role/page', params: buildRoleListParams(params) })
|
}
|
|
function fetchOperationRecordPage(params = {}) {
|
return request.post({
|
url: '/operationRecord/page',
|
params: buildOperationRecordPageParams(params)
|
})
|
}
|
|
function fetchConfigPage(params = {}) {
|
return request.post({ url: '/config/page', params: buildConfigPageParams(params) })
|
}
|
|
function fetchSerialRulePage(params = {}) {
|
return request.post({ url: '/serialRule/page', params: buildSerialRulePageParams(params) })
|
}
|
|
function fetchDictTypePage(params = {}) {
|
return request.post({ url: '/dictType/page', params: buildDictTypePageParams(params) })
|
}
|
|
function fetchDictDataPage(params = {}) {
|
return request.post({ url: '/dictData/page', params: buildDictDataPageParams(params) })
|
}
|
|
function fetchGetDictTypeDetail(id) {
|
return request.get({ url: `/dictType/${id}` })
|
}
|
|
function fetchSaveDictType(params) {
|
return request.post({ url: '/dictType/save', params })
|
}
|
|
function fetchUpdateDictType(params) {
|
return request.post({ url: '/dictType/update', params })
|
}
|
|
function fetchDeleteDictType(id) {
|
return request.post({ url: `/dictType/remove/${id}` })
|
}
|
|
function fetchWaveRulePage(params = {}) {
|
return request.post({ url: '/waveRule/page', params: buildWaveRulePageParams(params) })
|
}
|
|
function fetchGetWaveRuleDetail(id) {
|
return request.get({ url: `/waveRule/${id}` })
|
}
|
|
function fetchSaveWaveRule(params) {
|
return request.post({ url: '/waveRule/save', params })
|
}
|
|
function fetchUpdateWaveRule(params) {
|
return request.post({ url: '/waveRule/update', params })
|
}
|
|
function fetchDeleteWaveRule(id) {
|
return request.post({ url: `/waveRule/remove/${id}` })
|
}
|
|
function fetchFieldsPage(params = {}) {
|
return request.post({ url: '/fields/page', params: buildFieldsPageParams(params) })
|
}
|
|
function fetchGetFieldsDetail(id) {
|
return request.get({ url: `/fields/${id}` })
|
}
|
|
function fetchSaveFields(params) {
|
return request.post({ url: '/fields/save', params })
|
}
|
|
function fetchUpdateFields(params) {
|
return request.post({ url: '/fields/update', params })
|
}
|
|
function fetchDeleteFields(id) {
|
return request.post({ url: `/fields/remove/${id}` })
|
}
|
|
function fetchFieldsItemPage(params = {}) {
|
return request.post({ url: '/fieldsItem/page', params: buildFieldsItemPageParams(params) })
|
}
|
|
function fetchGetFieldsItemDetail(id) {
|
return request.get({ url: `/fieldsItem/${id}` })
|
}
|
|
function fetchSaveFieldsItem(params) {
|
return request.post({ url: '/fieldsItem/save', params })
|
}
|
|
function fetchUpdateFieldsItem(params) {
|
return request.post({ url: '/fieldsItem/update', params })
|
}
|
|
function fetchDeleteFieldsItem(id) {
|
return request.post({ url: `/fieldsItem/remove/${id}` })
|
}
|
|
function fetchTenantPage(params = {}) {
|
return request.post({ url: '/tenant/page', params: buildTenantPageParams(params) })
|
}
|
|
function fetchGetTenantDetail(id) {
|
return request.get({ url: `/tenant/${id}` })
|
}
|
|
function fetchInitTenant(params) {
|
return request.post({ url: '/tenant/init', params })
|
}
|
|
function fetchUpdateTenant(params) {
|
return request.post({ url: '/tenant/update', params })
|
}
|
|
function fetchDeleteTenant(id) {
|
return request.post({ url: `/tenant/remove/${id}` })
|
}
|
|
function fetchHostPage(params = {}) {
|
return request.post({ url: '/host/page', params: buildHostPageParams(params) })
|
}
|
|
function fetchGetHostDetail(id) {
|
return request.get({ url: `/host/${id}` })
|
}
|
|
function fetchSaveHost(params) {
|
return request.post({ url: '/host/save', params })
|
}
|
|
function fetchUpdateHost(params) {
|
return request.post({ url: '/host/update', params })
|
}
|
|
function fetchDeleteHost(id) {
|
return request.post({ url: `/host/remove/${id}` })
|
}
|
|
function fetchGetSerialRuleDetail(id) {
|
return request.get({ url: `/serialRule/${id}` })
|
}
|
|
function fetchSaveSerialRule(params) {
|
return request.post({ url: '/serialRule/save', params })
|
}
|
|
function fetchUpdateSerialRule(params) {
|
return request.post({ url: '/serialRule/update', params })
|
}
|
|
function fetchDeleteSerialRule(id) {
|
return request.post({ url: `/serialRule/remove/${id}` })
|
}
|
|
function fetchGetConfigDetail(id) {
|
return request.get({ url: `/config/${id}` })
|
}
|
|
function fetchSaveConfig(params) {
|
return request.post({ url: '/config/save', params })
|
}
|
|
function fetchUpdateConfig(params) {
|
return request.post({ url: '/config/update', params })
|
}
|
|
function fetchDeleteConfig(id) {
|
return request.post({ url: `/config/remove/${id}` })
|
}
|
|
function fetchGetOperationRecordDetail(id) {
|
return request.get({ url: `/operationRecord/${id}` })
|
}
|
|
function fetchDeleteOperationRecord(id) {
|
return request.post({ url: `/operationRecord/remove/${id}` })
|
}
|
|
function normalizeOperationRecordManyIds(ids) {
|
if (Array.isArray(ids)) {
|
return ids
|
.map((id) => normalizeLegacyId(id))
|
.filter((id) => id !== '')
|
.join(',')
|
}
|
return normalizeLegacyId(ids)
|
}
|
|
function fetchGetOperationRecordMany(ids) {
|
const normalizedIds = normalizeOperationRecordManyIds(ids)
|
return request.post({ url: `/operationRecord/many/${normalizedIds}` })
|
}
|
|
async function fetchExportOperationRecordReport(payload = {}, options = {}) {
|
return fetch(`${import.meta.env.VITE_API_URL}/operationRecord/export`, {
|
method: 'POST',
|
headers: {
|
'Content-Type': 'application/json',
|
...(options.headers || {})
|
},
|
body: JSON.stringify(payload)
|
})
|
}
|
|
function fetchSaveRole(params) {
|
return request.post({ url: '/role/save', params })
|
}
|
|
function fetchUpdateRole(params) {
|
return request.post({ url: '/role/update', params })
|
}
|
|
function fetchDeleteRole(id) {
|
return request.post({ url: `/role/remove/${id}` })
|
}
|
|
function fetchGetRoleOptions(params) {
|
return request.post({ url: '/role/list', params })
|
}
|
|
function buildRolePageParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...(params.name !== undefined ? { name: params.name } : {}),
|
...(params.code !== undefined ? { code: params.code } : {}),
|
...(params.memo !== undefined ? { memo: params.memo } : {}),
|
...(params.status !== undefined ? { status: params.status } : {}),
|
...(params.condition !== undefined ? { condition: params.condition } : {})
|
}
|
}
|
|
function fetchRolePage(params = {}) {
|
return request.post({ url: '/role/page', params: buildRolePageParams(params) })
|
}
|
|
const fetchRolePrintPage = fetchRolePage
|
|
function normalizeRoleManyIds(ids) {
|
if (Array.isArray(ids)) {
|
return ids
|
.map((id) => normalizeLegacyId(id))
|
.filter((id) => id !== '')
|
.join(',')
|
}
|
return normalizeLegacyId(ids)
|
}
|
|
function fetchGetRoleMany(ids) {
|
const normalizedIds = normalizeRoleManyIds(ids)
|
return request.post({ url: `/role/many/${normalizedIds}` })
|
}
|
|
async function fetchExportRoleReport(payload = {}, options = {}) {
|
return fetch(`${import.meta.env.VITE_API_URL}/role/export`, {
|
method: 'POST',
|
headers: {
|
'Content-Type': 'application/json',
|
...(options.headers || {})
|
},
|
body: JSON.stringify(payload)
|
})
|
}
|
|
function fetchGetDeptTree(params) {
|
return request.post({ url: '/dept/tree', params })
|
}
|
|
function fetchGetDeptDetail(id) {
|
return request.get({ url: `/dept/${id}` })
|
}
|
|
function fetchSaveDept(params) {
|
return request.post({ url: '/dept/save', params })
|
}
|
|
function fetchUpdateDept(params) {
|
return request.post({ url: '/dept/update', params })
|
}
|
|
function fetchDeleteDept(id) {
|
return request.post({ url: `/dept/remove/${id}` })
|
}
|
|
function fetchGetMenuTree(params = {}) {
|
return request.post({ url: '/menu/tree', params })
|
}
|
|
function fetchSaveMenu(params) {
|
return request.post({ url: '/menu/save', params })
|
}
|
|
function fetchUpdateMenu(params) {
|
return request.post({ url: '/menu/update', params })
|
}
|
|
function fetchDeleteMenu(id) {
|
return request.post({ url: `/menu/remove/${id}` })
|
}
|
|
function fetchGetMenuPdaTree(params = {}) {
|
return request.post({ url: '/menuPda/tree', params })
|
}
|
|
function fetchSaveMenuPda(params) {
|
return request.post({ url: '/menuPda/save', params })
|
}
|
|
function fetchUpdateMenuPda(params) {
|
return request.post({ url: '/menuPda/update', params })
|
}
|
|
function fetchDeleteMenuPda(id) {
|
return request.post({ url: `/menuPda/remove/${id}` })
|
}
|
|
function assertAdminPasswordUpdatePayload(params) {
|
if (!isPlainObject(params)) {
|
throw new Error('fetchResetUserPassword requires an object payload')
|
}
|
if (params.id === undefined || params.id === null || params.id === '') {
|
throw new Error('fetchResetUserPassword requires a user id')
|
}
|
}
|
|
function normalizeAdminPasswordUpdateParams(params) {
|
assertAdminPasswordUpdatePayload(params)
|
if (params.password !== undefined) {
|
return params
|
}
|
if (params.newPassword !== undefined) {
|
return {
|
...params,
|
password: params.newPassword
|
}
|
}
|
throw new Error('fetchResetUserPassword requires a password payload')
|
}
|
|
function getScopeListUrl(scopeType) {
|
const urlMap = {
|
menu: '/role/scope/list',
|
pda: '/rolePda/scope/list',
|
matnr: '/roleMatnr/scope/list',
|
warehouse: '/roleWarehouse/scope/list'
|
}
|
const url = urlMap[scopeType]
|
if (!url) {
|
throw new Error(`Unsupported scope type: ${scopeType}`)
|
}
|
return url
|
}
|
|
function getScopeUpdateUrl(scopeType) {
|
const urlMap = {
|
menu: '/role/scope/update',
|
pda: '/rolePda/scope/update',
|
matnr: '/roleMatnr/scope/update',
|
warehouse: '/roleWarehouse/scope/update'
|
}
|
const url = urlMap[scopeType]
|
if (!url) {
|
throw new Error(`Unsupported scope type: ${scopeType}`)
|
}
|
return url
|
}
|
|
function getScopeTreeUrl(scopeType) {
|
const urlMap = {
|
menu: '/menu/tree',
|
pda: '/menuPda/tree',
|
matnr: '/menuMatnrGroup/tree',
|
warehouse: '/menuWarehouse/tree'
|
}
|
const url = urlMap[scopeType]
|
if (!url) {
|
throw new Error(`Unsupported scope type: ${scopeType}`)
|
}
|
return url
|
}
|
|
function fetchGetRoleScopeList(scopeType, roleId) {
|
return request.get({ url: getScopeListUrl(scopeType), params: { roleId } })
|
}
|
|
function fetchUpdateRoleScope(scopeType, params) {
|
return request.post({ url: getScopeUpdateUrl(scopeType), params })
|
}
|
|
function fetchGetRoleScopeTree(scopeType, params = {}) {
|
return request.post({ url: getScopeTreeUrl(scopeType), params })
|
}
|
|
function fetchGetUserLoginList(params) {
|
return request.post({
|
url: '/userLogin/page',
|
params
|
})
|
}
|
|
function fetchGetMenuList(params = {}) {
|
return request
|
.post({ url: '/menu/list', params })
|
.then((menuList) => adaptLegacyMenuTree(buildLegacyMenuTree(menuList)))
|
}
|
|
function adaptLegacyMenuTree(menuTree) {
|
if (!Array.isArray(menuTree)) {
|
return []
|
}
|
|
return menuTree.map((node) => adaptLegacyMenuNode(node)).filter(Boolean)
|
}
|
|
function buildLegacyMenuTree(menuList) {
|
if (!Array.isArray(menuList)) {
|
return []
|
}
|
|
const nodeMap = new Map()
|
const roots = []
|
|
menuList.forEach((node) => {
|
if (!node || typeof node !== 'object') {
|
return
|
}
|
nodeMap.set(normalizeLegacyId(node.id), {
|
...node,
|
children: []
|
})
|
})
|
|
nodeMap.forEach((node) => {
|
const parentId = normalizeLegacyId(node.parentId ?? 0)
|
if (parentId && parentId !== '0' && nodeMap.has(parentId)) {
|
nodeMap.get(parentId).children.push(node)
|
return
|
}
|
roots.push(node)
|
})
|
|
return sortLegacyMenuTree(roots)
|
}
|
|
function sortLegacyMenuTree(nodes) {
|
return nodes
|
.sort((left, right) => {
|
const leftSort = Number(left?.sort ?? 0)
|
const rightSort = Number(right?.sort ?? 0)
|
if (leftSort !== rightSort) {
|
return leftSort - rightSort
|
}
|
return normalizeLegacyId(left?.id).localeCompare(normalizeLegacyId(right?.id))
|
})
|
.map((node) => ({
|
...node,
|
children: Array.isArray(node.children) ? sortLegacyMenuTree(node.children) : []
|
}))
|
}
|
|
function adaptLegacyMenuNode(node) {
|
if (!node || typeof node !== 'object' || node.type === 1) {
|
return null
|
}
|
|
const menuChildren = []
|
const authList = []
|
const rawChildren = Array.isArray(node.children) ? node.children : []
|
|
rawChildren.forEach((child) => {
|
if (!child || typeof child !== 'object') {
|
return
|
}
|
if (child.type === 1) {
|
authList.push(buildLegacyAuthItem(child))
|
return
|
}
|
const adaptedChild = adaptLegacyMenuNode(child)
|
if (adaptedChild) {
|
menuChildren.push(adaptedChild)
|
}
|
})
|
|
const adapted = {
|
id: normalizeLegacyId(node.id),
|
parentId: normalizeLegacyId(node.parentId ?? 0),
|
parentName: node.parentName || '',
|
name: buildLegacyRouteName(node),
|
route: typeof node.route === 'string' ? node.route : '',
|
path: buildLegacyMenuPath(node),
|
component: buildLegacyMenuComponent(node),
|
authority: node.authority || '',
|
icon: node.icon || '',
|
sort: node.sort ?? 0,
|
status: node.status ?? 1,
|
memo: node.memo || '',
|
type: node.type ?? 0,
|
meta: buildLegacyMenuMeta(node),
|
children: menuChildren
|
}
|
if (authList.length > 0) {
|
adapted.meta.authList = authList
|
}
|
|
return adapted
|
}
|
|
function buildLegacyMenuMeta(node) {
|
const metaSource = node.meta && typeof node.meta === 'object' ? node.meta : node
|
const meta = {
|
title: normalizeLegacyTitle(node.name || metaSource.title || '')
|
}
|
|
const supportedKeys = [
|
'icon',
|
'sort',
|
'keepAlive',
|
'isHide',
|
'isHideTab',
|
'fixedTab',
|
'link',
|
'isIframe',
|
'roles',
|
'showBadge',
|
'showTextBadge',
|
'activePath',
|
'isFullPage'
|
]
|
|
supportedKeys.forEach((key) => {
|
if (metaSource[key] !== undefined) {
|
meta[key] = metaSource[key]
|
}
|
})
|
meta.isEnable = normalizeLegacyEnableState(metaSource)
|
|
return meta
|
}
|
|
function buildLegacyAuthItem(node) {
|
const metaSource = node.meta && typeof node.meta === 'object' ? node.meta : node
|
return {
|
id: normalizeLegacyId(node.id),
|
parentId: normalizeLegacyId(node.parentId ?? 0),
|
parentName: node.parentName || '',
|
name: node.name || metaSource.title || '',
|
title: normalizeLegacyTitle(node.name || metaSource.title || ''),
|
route: typeof node.route === 'string' ? node.route : '',
|
component: buildLegacyMenuComponent(node),
|
authMark: metaSource.authMark || metaSource.authority || metaSource.code || '',
|
authority: metaSource.authority || metaSource.authMark || metaSource.code || '',
|
icon: metaSource.icon || '',
|
sort: metaSource.sort ?? 0,
|
status: metaSource.status ?? 1,
|
memo: metaSource.memo || '',
|
type: node.type ?? 1
|
}
|
}
|
|
function buildLegacyMenuPath(node) {
|
const rawPath =
|
typeof node.route === 'string' && node.route.trim()
|
? node.route
|
: typeof node.path === 'string'
|
? node.path
|
: ''
|
return normalizeLegacyPath(rawPath)
|
}
|
|
function buildLegacyMenuComponent(node) {
|
if (typeof node.component === 'string') {
|
return node.component
|
}
|
return ''
|
}
|
|
function buildLegacyRouteName(node) {
|
if (typeof node.name === 'string' && node.name.trim()) {
|
return node.name.trim()
|
}
|
if (typeof node.component === 'string' && node.component.trim()) {
|
return node.component.trim()
|
}
|
const path = buildLegacyMenuPath(node)
|
if (path) {
|
return path
|
.split('/')
|
.filter(Boolean)
|
.map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))
|
.join('')
|
}
|
return `Menu${normalizeLegacyId(node.id)}`
|
}
|
|
function normalizeLegacyTitle(title) {
|
if (typeof title !== 'string') {
|
return ''
|
}
|
const trimmedTitle = title.trim()
|
if (trimmedTitle.startsWith('menu.')) {
|
return `menus.${trimmedTitle.slice('menu.'.length)}`
|
}
|
return trimmedTitle
|
}
|
|
function normalizeLegacyPath(path) {
|
if (typeof path !== 'string') {
|
return ''
|
}
|
return path.replace(/^\/+/, '').replace(/\/+$/, '')
|
}
|
|
function normalizeLegacyId(id) {
|
if (id === null || id === undefined || id === '') {
|
return ''
|
}
|
return String(id)
|
}
|
|
function normalizeLegacyEnableState(metaSource) {
|
if (metaSource.isEnable !== undefined) {
|
return Boolean(metaSource.isEnable)
|
}
|
if (metaSource.enabled !== undefined) {
|
return Boolean(metaSource.enabled)
|
}
|
if (metaSource.statusBool !== undefined) {
|
return Boolean(metaSource.statusBool)
|
}
|
if (metaSource.status !== undefined) {
|
return Number(metaSource.status) === 1
|
}
|
return true
|
}
|
|
function isPlainObject(value) {
|
return Boolean(value) && typeof value === 'object' && !Array.isArray(value)
|
}
|
|
export {
|
fetchGetUserList,
|
fetchSaveUser,
|
fetchUpdateUser,
|
fetchDeleteUser,
|
fetchResetUserPassword,
|
fetchUpdateUserStatus,
|
fetchGetUserDetail,
|
fetchGetRoleList,
|
fetchOperationRecordPage,
|
fetchGetOperationRecordDetail,
|
fetchDeleteOperationRecord,
|
fetchGetOperationRecordMany,
|
fetchExportOperationRecordReport,
|
fetchConfigPage,
|
fetchGetConfigDetail,
|
fetchSaveConfig,
|
fetchUpdateConfig,
|
fetchDeleteConfig,
|
fetchSerialRulePage,
|
fetchGetSerialRuleDetail,
|
fetchSaveSerialRule,
|
fetchUpdateSerialRule,
|
fetchDeleteSerialRule,
|
fetchDictTypePage,
|
fetchGetDictTypeDetail,
|
fetchSaveDictType,
|
fetchUpdateDictType,
|
fetchDeleteDictType,
|
fetchDictDataPage,
|
fetchWaveRulePage,
|
fetchGetWaveRuleDetail,
|
fetchSaveWaveRule,
|
fetchUpdateWaveRule,
|
fetchDeleteWaveRule,
|
fetchFieldsPage,
|
fetchGetFieldsDetail,
|
fetchSaveFields,
|
fetchUpdateFields,
|
fetchDeleteFields,
|
fetchFieldsItemPage,
|
fetchGetFieldsItemDetail,
|
fetchSaveFieldsItem,
|
fetchUpdateFieldsItem,
|
fetchDeleteFieldsItem,
|
fetchTenantPage,
|
fetchGetTenantDetail,
|
fetchInitTenant,
|
fetchUpdateTenant,
|
fetchDeleteTenant,
|
fetchHostPage,
|
fetchGetHostDetail,
|
fetchSaveHost,
|
fetchUpdateHost,
|
fetchDeleteHost,
|
fetchSaveRole,
|
fetchUpdateRole,
|
fetchDeleteRole,
|
fetchGetRoleOptions,
|
fetchRolePrintPage,
|
fetchRolePage,
|
fetchExportRoleReport,
|
fetchGetRoleMany,
|
fetchGetDeptTree,
|
fetchGetDeptDetail,
|
fetchSaveDept,
|
fetchUpdateDept,
|
fetchDeleteDept,
|
fetchGetMenuTree,
|
fetchGetMenuPdaTree,
|
fetchSaveMenu,
|
fetchSaveMenuPda,
|
fetchUpdateMenu,
|
fetchUpdateMenuPda,
|
fetchDeleteMenu,
|
fetchDeleteMenuPda,
|
fetchGetRoleScopeList,
|
fetchGetRoleScopeTree,
|
fetchUpdateRoleScope,
|
fetchGetUserLoginList,
|
fetchGetMenuList
|
}
|