Files
shoot-miniprograms/src/components/Guide.vue

61 lines
1008 B
Vue
Raw Normal View History

2025-05-01 22:50:17 +08:00
<script setup>
defineProps({
2025-05-16 15:56:54 +08:00
noBg: {
type: Boolean,
default: false,
},
2025-06-24 13:18:03 +08:00
type: {
type: Number,
default: 0,
},
2025-05-01 22:50:17 +08:00
});
2025-06-24 13:18:03 +08:00
const bubbleTypes = [
"../static/long-bubble.png",
"../static/long-bubble-middle.png",
"../static/long-bubble-tall.png",
];
2025-05-01 22:50:17 +08:00
</script>
<template>
<view class="container">
<image src="../static/shooter.png" mode="widthFix" />
<view>
2025-05-10 16:57:36 +08:00
<image
2025-05-16 15:56:54 +08:00
v-if="!noBg"
2025-06-24 13:18:03 +08:00
:src="bubbleTypes[type]"
:style="{ top: type === 2 ? '-5%' : '-12%' }"
2025-05-10 16:57:36 +08:00
mode="widthFix"
/>
2025-05-08 22:05:53 +08:00
<slot />
2025-05-01 22:50:17 +08:00
</view>
</view>
</template>
<style scoped>
.container {
display: flex;
align-items: center;
padding: 0 15px;
2025-06-05 22:21:40 +08:00
width: clac(100% - 30px);
2025-05-01 22:50:17 +08:00
}
.container > image {
2025-05-08 22:05:53 +08:00
width: 20%;
2025-05-01 22:50:17 +08:00
}
.container > view {
position: relative;
2025-06-05 22:21:40 +08:00
width: 80%;
2025-05-08 22:05:53 +08:00
min-height: 55px;
2025-05-10 22:16:59 +08:00
display: flex;
flex-direction: column;
2025-05-01 22:50:17 +08:00
}
.container > view > image {
position: absolute;
left: -7%;
2025-06-05 22:21:40 +08:00
width: 108%;
2025-05-01 22:50:17 +08:00
}
2025-05-08 22:05:53 +08:00
.container > view {
2025-05-01 22:50:17 +08:00
color: #fff;
2025-05-08 22:05:53 +08:00
font-size: 14px;
2025-05-01 22:50:17 +08:00
}
</style>