营销:接入 APP 装修页面

This commit is contained in:
owen
2024-01-11 11:55:24 +08:00
parent 1694a6f554
commit aa30c2659c
3 changed files with 37 additions and 34 deletions
+18 -21
View File
@@ -1,35 +1,32 @@
<!-- 自定义页面支持装修 -->
<template>
<s-layout
:title="page.name"
:title="state.name"
navbar="custom"
:bgStyle="page.style?.background"
:navbarStyle="page.style?.navbar"
:bgStyle="state.page"
:navbarStyle="state.navigationBar"
onShareAppMessage
showLeftButton
>
<s-block v-for="(item, index) in page.list" :key="index" :styles="item.style">
<s-block-item :type="item.type" :data="item.data" :styles="item.style" />
<s-block v-for="(item, index) in state.components" :key="index" :styles="item.property.style">
<s-block-item :type="item.id" :data="item.property" :styles="item.property.style" />
</s-block>
</s-layout>
</template>
<script setup>
import { computed, reactive } from 'vue';
import sheep from '@/sheep';
import { reactive } from 'vue';
import { onLoad, onPageScroll } from '@dcloudio/uni-app';
import DiyPageApi from "@/sheep/api/promotion/diy/page";
const page = reactive({
const state = reactive({
name: '',
list: [],
style: {},
components: [],
navigationBar: {},
page: {},
});
onLoad(async (options) => {
let id;
if (options.id) {
id = options.id;
}
let id = options.id
// #ifdef MP
// 小程序预览自定义页面
@@ -39,12 +36,12 @@
}
// #endif
// TODO @疯狂:貌似这里还没接上哈
const { error, data } = await sheep.$api.app.page(id);
if (error === 0) {
page.name = data.name;
page.list = data.diypage?.page?.data;
page.style = data.diypage?.page?.style;
const { code, data } = await DiyPageApi.getDiyPage(id);
if (code === 0) {
state.name = data.name;
state.components = data.property?.components;
state.navigationBar = data.property?.navigationBar;
state.page = data.property?.page;
}
});
+15
View File
@@ -0,0 +1,15 @@
import request from '@/sheep/request';
const DiyPageApi = {
getDiyPage: (id) => {
return request({
url: '/app-api/promotion/diy-page/get',
method: 'GET',
params: {
id
}
});
},
};
export default DiyPageApi;
@@ -307,26 +307,17 @@
type: [Array, Object],
default() {
return {
// TODO @疯狂:旧的要不剔除掉,后续都用新的
// 商品名称(旧)
title: { show: true },
// 商品介绍(旧)
subtitle: { show: true },
// 商品价格
price: { show: true },
// 市场价(旧)
original_price: { show: true },
// 销量(旧)
sales: { show: true },
// 库存
stock: { show: true },
// 商品名称(新)
// 商品名称
name: { show: true },
// 商品介绍(新)
// 商品介绍
introduction: { show: true },
// 市场价(新)
// 市场价
marketPrice: { show: true },
// 销量(新)
// 销量
salesCount: { show: true },
};
},