小程序初始化

This commit is contained in:
2026-02-27 11:32:50 +08:00
parent 93574dbb45
commit 97e1ea2706
252 changed files with 32427 additions and 12363 deletions
+148
View File
@@ -0,0 +1,148 @@
/**
* 实现路径服务
* 处理路径的增删改查
*/
import { get, post, put, del } from './request.js'
export const getPathList = async () => {
const response = await get('/lifePath/listAll')
return response
}
export const getPathPage = async ({ pageNum = 1, pageSize = 10 }) => {
const response = await get('/lifePath/page', { pageNum, pageSize })
return response
}
export const getPathByScriptId = async (scriptId) => {
const response = await get('/lifePath/byScript', { scriptId })
return response
}
export const getPathById = async (id) => {
const response = await get('/lifePath/detail', { id })
return response
}
export const createPath = async (pathData) => {
const requestData = transformToBackendFormat(pathData)
const response = await post('/lifePath/create', requestData)
return response
}
export const updatePath = async (pathData) => {
const requestData = transformToBackendFormat(pathData)
const response = await put('/lifePath/update', requestData)
return response
}
export const deletePath = async (id) => {
const response = await del('/lifePath/delete', { id })
return response
}
const transformToBackendFormat = (frontendData) => {
const {
id,
scriptId,
title,
description,
content,
status = 'active',
progress = 0
} = frontendData
let steps = []
if (content) {
const stepMatches = content.match(/(\d+)\.\s*([^:]+)[:]\s*([^\n]+)/g)
if (stepMatches) {
steps = stepMatches.map((match, index) => {
const parts = match.match(/(\d+)\.\s*([^:]+)[:]\s*(.+)/)
return {
phase: `阶段${index + 1}`,
time: parts?.[2]?.trim() || '',
content: parts?.[3]?.trim() || match,
action: '',
resources: '',
habit: ''
}
})
} else {
const lines = content.split('\n').filter(line => line.trim())
steps = lines.map((line, index) => ({
phase: `阶段${index + 1}`,
time: '',
content: line.trim(),
action: '',
resources: '',
habit: ''
}))
}
}
return {
id,
scriptId,
title: title || '实现路径',
description,
steps,
status,
progress
}
}
export const transformToFrontendFormat = (backendData) => {
if (!backendData) return null
const {
id,
userId,
scriptId,
title,
description,
steps,
status,
progress,
createTime
} = backendData
let content = ''
if (Array.isArray(steps) && steps.length > 0) {
content = steps.map((step, index) => {
const phase = step.phase || `阶段${index + 1}`
const time = step.time ? `${step.time}` : ''
return `${index + 1}. ${phase}${time}${step.content || ''}`
}).join('\n')
}
return {
id,
userId,
scriptId,
title: title || '实现路径',
description: description || '',
content,
steps: steps || [],
status: status || 'active',
progress: progress || 0,
createTime
}
}
export const transformListToFrontend = (backendList) => {
if (!Array.isArray(backendList)) return []
return backendList.map(transformToFrontendFormat)
}
export default {
getPathList,
getPathPage,
getPathByScriptId,
getPathById,
createPath,
updatePath,
deletePath,
transformToFrontendFormat,
transformListToFrontend
}