]*>(.*?)<\/p>/gi, '$1\n\n') + .replace(/
]*>(.*?)<\/p>/gi, "$1\n\n")
// 处理换行
- .replace(/
/gi, '\n')
+ .replace(/
/gi, "\n")
// 处理粗体
- .replace(/]*>(.*?)<\/strong>/gi, '**$1**')
- .replace(/]*>(.*?)<\/b>/gi, '**$1**')
+ .replace(/]*>(.*?)<\/strong>/gi, "**$1**")
+ .replace(/]*>(.*?)<\/b>/gi, "**$1**")
// 处理斜体
- .replace(/]*>(.*?)<\/em>/gi, '*$1*')
- .replace(/]*>(.*?)<\/i>/gi, '*$1*')
+ .replace(/]*>(.*?)<\/em>/gi, "*$1*")
+ .replace(/]*>(.*?)<\/i>/gi, "*$1*")
// 处理下划线
- .replace(/]*>(.*?)<\/u>/gi, '__$1__')
+ .replace(/]*>(.*?)<\/u>/gi, "__$1__")
// 处理链接
- .replace(/]*href=["']([^"']*)["'][^>]*>(.*?)<\/a>/gi, '[$2]($1)')
+ .replace(/]*href=["']([^"']*)["'][^>]*>(.*?)<\/a>/gi, "[$2]($1)")
// 处理图片 - 更全面的图片处理
.replace(/]*src=["']([^"']*)["'][^>]*alt=["']([^"']*)["'][^>]*>/gi, (match, src, alt) => {
// 直接使用原始URL,不添加额外前缀
- console.log('HTML图片转换 - 原始:', match)
- console.log('HTML图片转换 - src:', src)
- console.log('HTML图片转换 - alt:', alt)
- return ``
+ console.log("HTML图片转换 - 原始:", match)
+ console.log("HTML图片转换 - src:", src)
+ console.log("HTML图片转换 - alt:", alt)
+ return ``
})
.replace(/
]*src=["']([^"']*)["'][^>]*>/gi, (match, src) => {
// 直接使用原始URL,不添加额外前缀
- console.log('HTML图片转换 - 原始:', match)
- console.log('HTML图片转换 - src:', src)
+ console.log("HTML图片转换 - 原始:", match)
+ console.log("HTML图片转换 - src:", src)
return ``
})
// 处理列表
.replace(/
]*>(.*?)<\/ul>/gis, (match, content) => {
- return content.replace(/
]*>(.*?)<\/ol>/gis, (match, content) => {
let index = 1
@@ -309,30 +313,30 @@ const convertHtmlToMarkdown = (html: string): string => {
})
// 处理引用
.replace(/
]*>(.*?)<\/blockquote>/gis, (match, content) => {
- return content.replace(/\n/g, '\n> ') + '\n'
+ return content.replace(/\n/g, "\n> ") + "\n"
})
// 处理代码
- .replace(/
]*>(.*?)<\/code>/gi, '`$1`')
- .replace(/]*>(.*?)<\/pre>/gis, '```\n$1\n```')
+ .replace(/
]*>(.*?)<\/code>/gi, "`$1`")
+ .replace(/]*>(.*?)<\/pre>/gis, "```\n$1\n```")
// 处理分割线
- .replace(/
]*>/gi, '---\n')
+ .replace(/
]*>/gi, "---\n")
// 处理表格(简单处理)
.replace(/]*>(.*?)<\/table>/gis, (match, content) => {
// 这里可以添加更复杂的表格处理逻辑
return content.replace(/
]*>(.*?)<\/tr>/gi, (trMatch, trContent) => {
const cells = trContent.match(/ $1
')
- .replace(/^## (.*$)/gim, '$1
')
- .replace(/^### (.*$)/gim, '$1
')
- .replace(/^#### (.*$)/gim, '$1
')
- .replace(/^##### (.*$)/gim, '$1
')
- .replace(/^###### (.*$)/gim, '$1
')
+ .replace(/^# (.*$)/gim, "$1
")
+ .replace(/^## (.*$)/gim, "$1
")
+ .replace(/^### (.*$)/gim, "$1
")
+ .replace(/^#### (.*$)/gim, "$1
")
+ .replace(/^##### (.*$)/gim, "$1
")
+ .replace(/^###### (.*$)/gim, "$1
")
// 处理粗体
- .replace(/\*\*(.*?)\*\*/g, '$1')
+ .replace(/\*\*(.*?)\*\*/g, "$1")
// 处理斜体
- .replace(/\*(.*?)\*/g, '$1')
+ .replace(/\*(.*?)\*/g, "$1")
// 处理链接
.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '$1')
// 处理图片
.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, '')
// 处理段落
- .replace(/^(?!<[h1-6]|
$1')
+ .replace(/^(?!<[h1-6]|
$1")
// 处理换行
- .replace(/\n/g, '
')
-
+ .replace(/\n/g, "
")
+
return html
}
// 保存
const onsubmit = async (evt: TM.FORM_SUBMIT_RESULT) => {
// console.log("校验结果:", evt)
-
+
// 将Markdown格式的description转换为HTML
const htmlDescription = convertMarkdownToHtml(form.description)
console.log("原始Markdown:", form.description)
console.log("转换后HTML:", htmlDescription)
-
- const submitData = {
- ...form,
+
+ const submitData = {
+ ...form,
description: htmlDescription, // 使用转换后的HTML
- coverImage: JSON.parse(form.coverImage[0].response).data.url
+ coverImage: JSON.parse(form.coverImage[0].response).data.url,
}
console.log("提交的数据:", submitData)
-
+
if (!evt.isPass) return
if (form.priceType == "1") {
@@ -437,10 +441,18 @@ const onsubmit = async (evt: TM.FORM_SUBMIT_RESULT) => {
}
try {
- const params = {
- ...form,
+ const params = {
+ ...form,
+ spuPrice: storePrice(form.spuPrice),
+ originalPrice: storePrice(form.originalPrice),
+ skuList: form.skuList.map((item) => {
+ return {
+ ...item,
+ price: storePrice(item.price),
+ }
+ }),
description: htmlDescription, // 使用转换后的HTML
- coverImage: JSON.parse(form.coverImage[0].response).data.url
+ coverImage: JSON.parse(form.coverImage[0].response).data.url,
}
uni.showLoading({ title: "提交中..." })
const { code, msg } = await (form.id ? prosperityShopApi.editGoods(params) : prosperityShopApi.addGoods(params))
diff --git a/src/pages/prosperity-shop/goods-manage.vue b/src/pages/prosperity-shop/goods-manage.vue
index 12b4310..00ec454 100644
--- a/src/pages/prosperity-shop/goods-manage.vue
+++ b/src/pages/prosperity-shop/goods-manage.vue
@@ -70,15 +70,24 @@