营销:接入 APP 装修页面
parent
1694a6f554
commit
aa30c2659c
|
@ -1,35 +1,32 @@
|
||||||
<!-- 自定义页面:支持装修 -->
|
<!-- 自定义页面:支持装修 -->
|
||||||
<template>
|
<template>
|
||||||
<s-layout
|
<s-layout
|
||||||
:title="page.name"
|
:title="state.name"
|
||||||
navbar="custom"
|
navbar="custom"
|
||||||
:bgStyle="page.style?.background"
|
:bgStyle="state.page"
|
||||||
:navbarStyle="page.style?.navbar"
|
:navbarStyle="state.navigationBar"
|
||||||
onShareAppMessage
|
onShareAppMessage
|
||||||
showLeftButton
|
showLeftButton
|
||||||
>
|
>
|
||||||
<s-block v-for="(item, index) in page.list" :key="index" :styles="item.style">
|
<s-block v-for="(item, index) in state.components" :key="index" :styles="item.property.style">
|
||||||
<s-block-item :type="item.type" :data="item.data" :styles="item.style" />
|
<s-block-item :type="item.id" :data="item.property" :styles="item.property.style" />
|
||||||
</s-block>
|
</s-block>
|
||||||
</s-layout>
|
</s-layout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, reactive } from 'vue';
|
import { reactive } from 'vue';
|
||||||
import sheep from '@/sheep';
|
|
||||||
import { onLoad, onPageScroll } from '@dcloudio/uni-app';
|
import { onLoad, onPageScroll } from '@dcloudio/uni-app';
|
||||||
|
import DiyPageApi from "@/sheep/api/promotion/diy/page";
|
||||||
|
|
||||||
const page = reactive({
|
const state = reactive({
|
||||||
name: '',
|
name: '',
|
||||||
list: [],
|
components: [],
|
||||||
style: {},
|
navigationBar: {},
|
||||||
|
page: {},
|
||||||
});
|
});
|
||||||
onLoad(async (options) => {
|
onLoad(async (options) => {
|
||||||
let id;
|
let id = options.id
|
||||||
|
|
||||||
if (options.id) {
|
|
||||||
id = options.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
// #ifdef MP
|
// #ifdef MP
|
||||||
// 小程序预览自定义页面
|
// 小程序预览自定义页面
|
||||||
|
@ -39,12 +36,12 @@
|
||||||
}
|
}
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
// TODO @疯狂:貌似这里还没接上哈
|
const { code, data } = await DiyPageApi.getDiyPage(id);
|
||||||
const { error, data } = await sheep.$api.app.page(id);
|
if (code === 0) {
|
||||||
if (error === 0) {
|
state.name = data.name;
|
||||||
page.name = data.name;
|
state.components = data.property?.components;
|
||||||
page.list = data.diypage?.page?.data;
|
state.navigationBar = data.property?.navigationBar;
|
||||||
page.style = data.diypage?.page?.style;
|
state.page = data.property?.page;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -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],
|
type: [Array, Object],
|
||||||
default() {
|
default() {
|
||||||
return {
|
return {
|
||||||
// TODO @疯狂:旧的要不剔除掉,后续都用新的
|
|
||||||
// 商品名称(旧)
|
|
||||||
title: { show: true },
|
|
||||||
// 商品介绍(旧)
|
|
||||||
subtitle: { show: true },
|
|
||||||
// 商品价格
|
// 商品价格
|
||||||
price: { show: true },
|
price: { show: true },
|
||||||
// 市场价(旧)
|
|
||||||
original_price: { show: true },
|
|
||||||
// 销量(旧)
|
|
||||||
sales: { show: true },
|
|
||||||
// 库存
|
// 库存
|
||||||
stock: { show: true },
|
stock: { show: true },
|
||||||
// 商品名称(新)
|
// 商品名称
|
||||||
name: { show: true },
|
name: { show: true },
|
||||||
// 商品介绍(新)
|
// 商品介绍
|
||||||
introduction: { show: true },
|
introduction: { show: true },
|
||||||
// 市场价(新)
|
// 市场价
|
||||||
marketPrice: { show: true },
|
marketPrice: { show: true },
|
||||||
// 销量(新)
|
// 销量
|
||||||
salesCount: { show: true },
|
salesCount: { show: true },
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue