Merge branch 'dev-sws' into dev-yxl

v1.1.0
于肖磊 2024-10-24 18:05:42 +08:00
commit acb8a17acd
54 changed files with 23 additions and 9 deletions

View File

@ -43,6 +43,11 @@
### DIY图片展示
![DIY图片](https://shopxoserver.oss-cn-beijing.aliyuncs.com/demo/diy/diy.jpg "DIY图片")
### 当前DIY端对应ShopXO后端版本
| DIY端 | 后端 |
|----|----|
| v1.0.0 | v6.3.0 |
## 安装依赖包
```sh

View File

@ -1,4 +1,4 @@
## v6.3.02024-10-21
## v6.3.02024-10-22
1. 发布DIY装修可以自由设计手机模板
2. 内置基础组件【轮播、搜索、用户信息、导航组、公告、视频、选项卡、选项卡轮播、文章选项卡、文章列表、商品选项卡、商品列表、图片魔方、数据魔方、热区、自定义】
3. 内置插件组件【限时秒杀、优惠券】

Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 927 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 850 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

View File

@ -1,6 +1,6 @@
<template>
<div class="flex-col align-c jc-c w h bg-f" :style="container_style">
<img :style="style" :src="noData_image" />
<img :style="style" :src="no_data_image" />
<p class="cr-c mt-12" :style="text_style">{{ text }}</p>
</div>
</template>
@ -20,7 +20,7 @@ const props = withDefaults(defineProps<Props>(), {
size: '14px',
text: '暂无数据',
});
const noData_image = ref(common_store.common.config.attachment_host + `/static/diy/images/noData.png`);
const no_data_image = ref(common_store.common.config.attachment_host + `/static/diy/images/no-data.png`);
const style = computed(() => {
return {
width: props.imgWidth,

View File

@ -4,7 +4,7 @@
<div class="re pa-20" :style="style">
<div class="flex-row jc-sb align-c mb-20">
<div class="flex-1 flex-row align-c gap-12">
<img class="round" src="@/assets/images/components/model-user-info/avatar.png" :width="base_data.user_avatar_size" :height="base_data.user_avatar_size" />
<img class="round" :src="avatar_image" :width="base_data.user_avatar_size" :height="base_data.user_avatar_size" />
<div class="flex-col gap-8">
<div class="size-16 fw" :style="user_name_style">昵称</div>
<div v-if="id_bool" class="plr-6 ptb-1 radius-sm" :style="number_code_style">ID:88888888</div>
@ -31,6 +31,8 @@
</template>
<script setup lang="ts">
import { common_styles_computer, gradient_computer, common_img_computer } from '@/utils';
import { commonStore } from '@/store';
const common_store = commonStore();
/**
* @description: 用户信息渲染
* @param value{Object} 传过来的数据用于数据渲染
@ -57,6 +59,8 @@ interface icon_params {
icon: string;
link: pageLinkList;
}
const avatar_image = ref(common_store.common.config.attachment_host + `/static/diy/images/components/model-user-info/avatar.png`);
const config = ref<string[]>(['order_count', 'goods_favor_count', 'goods_browse_count', 'integral_number']);
const icon_setting = ref<icon_params[]>([
{ id: '1', img: [], icon: '', link: {} },

View File

@ -8,13 +8,15 @@
<template v-else>
<image-empty v-model="video_img" error-img-style="width:60px;height:60px;"></image-empty>
</template>
<img src="@/assets/images/components/model-video/video.png" class="middle box-shadow-sm round" width="60" height="60" />
<img :src="video_src" class="middle box-shadow-sm round" width="60" height="60" />
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { common_styles_computer, common_img_computer } from '@/utils';
import { commonStore } from '@/store';
const common_store = commonStore();
/**
* @description: 视频 渲染
* @param value{Object} 传过来的数据用于数据渲染
@ -25,7 +27,7 @@ const props = defineProps({
default: () => ({}),
},
});
const video_src = ref(common_store.common.config.attachment_host + `/static/diy/images/components/model-video/video.png`);
const style = ref('');
const style_container = ref('');
const style_img_container = ref('');
@ -51,7 +53,7 @@ watch(
}
style.value = video_ratio;
style_container.value = common_styles_computer(new_style.common_style);
style_img_container.value = common_img_computer(new_style.common_style);
style_img_container.value = common_img_computer(new_style.common_style);
},
{ immediate: true, deep: true }
);

View File

@ -6,10 +6,10 @@
<div class="w h" :style="up_slide_img_style"></div>
</div>
<div class="pt-15 pl-18 pr-22 w pb-6">
<img class="img" :style="`Filter: brightness(${new_style.function_buttons_type == '0' ? 0 : 100})`" src="@/assets/images/layout/main/main-top.png" />
<img class="img" :style="`Filter: brightness(${new_style.function_buttons_type == '0' ? 0 : 100})`" :src="main_top_img" />
</div>
<div class="model-head tc re mlr-12 mt-6">
<div class="flex-col" :style="`gap: ${ new_style.data_alone_row_space }px`">
<div class="flex-col" :style="`gap: ${new_style.data_alone_row_space}px`">
<div class="model-head-content flex-row align-c jc-sb gap-16 re">
<div v-if="['1', '2', '3'].includes(form.theme)" class="flex-1">
<div class="flex-1 flex-row align-c jc-c h gap-16" :class="position_class" :style="[{ 'justify-content': form?.indicator_location || 'center' }, text_style]">
@ -73,6 +73,8 @@
<script setup lang="ts">
import { background_computer, gradient_computer } from '@/utils';
import { isEmpty } from 'lodash';
import { commonStore } from '@/store';
const common_store = commonStore();
interface Props {
pageData: any;
@ -85,6 +87,7 @@ const props = withDefaults(defineProps<Props>(), {
scollTop: 0,
});
const emits = defineEmits(['page_settings']);
const main_top_img = ref(common_store.common.config.attachment_host + `/static/diy/images/layout/main/main-top.png`);
const page_settings = () => {
emits('page_settings');
};