完成添加商品和查看商品
This commit is contained in:
@@ -192,7 +192,7 @@ const formData = ref({
|
|||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await ensureSupabaseReady()
|
await ensureSupabaseReady()
|
||||||
const mId = supa.getSession().user?.id as string | null
|
const mId = supa.getSession().user?.getString('id') ?? null
|
||||||
if (!mId) {
|
if (!mId) {
|
||||||
uni.showToast({ title: '商家未获取到信息,请重新登录', icon: 'none' })
|
uni.showToast({ title: '商家未获取到信息,请重新登录', icon: 'none' })
|
||||||
return
|
return
|
||||||
@@ -376,7 +376,7 @@ async function doSaveProduct(targetStatus: number) {
|
|||||||
|
|
||||||
// 必须获取正确的 merchant_id,并且存在
|
// 必须获取正确的 merchant_id,并且存在
|
||||||
if (!formData.value.merchant_id || formData.value.merchant_id.startsWith('merchant_123')) {
|
if (!formData.value.merchant_id || formData.value.merchant_id.startsWith('merchant_123')) {
|
||||||
const mId = supa.getSession().user?.id as string | null
|
const mId = supa.getSession().user?.getString('id') ?? null
|
||||||
if (!mId) {
|
if (!mId) {
|
||||||
uni.showToast({ title: '未获取到商家信息,请重新登录', icon: 'none' })
|
uni.showToast({ title: '未获取到商家信息,请重新登录', icon: 'none' })
|
||||||
return
|
return
|
||||||
@@ -399,10 +399,10 @@ async function doSaveProduct(targetStatus: number) {
|
|||||||
formData.value.published_at = null
|
formData.value.published_at = null
|
||||||
}
|
}
|
||||||
|
|
||||||
const payload = {
|
const payload : UTSJSONObject = {
|
||||||
merchant_id: formData.value.merchant_id,
|
merchant_id: formData.value.merchant_id,
|
||||||
name: formData.value.name,
|
name: formData.value.name,
|
||||||
category_id: formData.value.category_id || null,
|
category_id: formData.value.category_id,
|
||||||
base_price: Number(formData.value.base_price),
|
base_price: Number(formData.value.base_price),
|
||||||
main_image_url: formData.value.image_urls.length > 0 ? formData.value.image_urls[0] : '', // 首图同步
|
main_image_url: formData.value.image_urls.length > 0 ? formData.value.image_urls[0] : '', // 首图同步
|
||||||
image_urls: formData.value.image_urls,
|
image_urls: formData.value.image_urls,
|
||||||
@@ -414,6 +414,11 @@ async function doSaveProduct(targetStatus: number) {
|
|||||||
attributes: formData.value.attributes,
|
attributes: formData.value.attributes,
|
||||||
published_at: formData.value.published_at
|
published_at: formData.value.published_at
|
||||||
}
|
}
|
||||||
|
// 新建商品时自动生成唯一的 product_code
|
||||||
|
if (!formData.value.id) {
|
||||||
|
const uid = Math.random().toString(36).substring(2, 10).toUpperCase()
|
||||||
|
payload['product_code'] = `P${Date.now()}${uid}`
|
||||||
|
}
|
||||||
|
|
||||||
let result;
|
let result;
|
||||||
if (formData.value.id) {
|
if (formData.value.id) {
|
||||||
@@ -422,8 +427,9 @@ async function doSaveProduct(targetStatus: number) {
|
|||||||
.update(payload)
|
.update(payload)
|
||||||
.eq('id', formData.value.id)
|
.eq('id', formData.value.id)
|
||||||
.eq('merchant_id', formData.value.merchant_id)
|
.eq('merchant_id', formData.value.merchant_id)
|
||||||
|
.execute()
|
||||||
} else {
|
} else {
|
||||||
result = await supa.from('ml_products').insert([payload])
|
result = await supa.from('ml_products').insert([payload]).execute()
|
||||||
}
|
}
|
||||||
|
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
|
|||||||
Reference in New Issue
Block a user