You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

317 lines
6.5 KiB

4 weeks ago
<template>
3 weeks ago
<view class="records-page">
<view class="glow glow-a"></view>
4 weeks ago
<view class="nav" :style="{ paddingTop: menuButtonInfo.top + 'px' }">
<view class="back" @tap="back"></view>
3 weeks ago
<view class="title">感受记录</view>
<view class="filter">仅自己可见</view>
4 weeks ago
</view>
<view class="summary-card">
<view>
3 weeks ago
<view class="summary-label">Tonight Archive</view>
<view class="summary-title">今晚被轻轻接住了 2 </view>
<view class="summary-sub">这里不保存完整聊天只留下当时的情绪温度</view>
4 weeks ago
</view>
3 weeks ago
<view class="moon"></view>
4 weeks ago
</view>
3 weeks ago
<view class="feeling-picker">
<view class="section-title">结束后你现在感觉</view>
<view class="feeling-row">
<view class="feeling-chip" v-for="item in feelings" :key="item"
:class="{ active: currentFeeling === item }" @tap="currentFeeling = item">
{{ item }}
</view>
</view>
4 weeks ago
</view>
3 weeks ago
<view class="record-card" v-for="item in records" :key="item.time">
<view class="record-top">
<view class="record-orb" :class="item.type">{{ item.type }}</view>
<view>
<view class="record-name">{{ item.name }}</view>
<view class="record-meta">{{ item.time }} · {{ item.duration }}</view>
4 weeks ago
</view>
</view>
3 weeks ago
<view class="record-text">{{ item.feeling }}</view>
<view class="record-tags">
<text v-for="tag in item.tags" :key="tag">{{ tag }}</text>
</view>
</view>
<view class="empty-note">
不是消息列表也不是社交关系只是给夜晚留一点柔软的痕迹
4 weeks ago
</view>
</view>
</template>
<script>
export default {
data() {
return {
menuButtonInfo: {
top: 24
},
3 weeks ago
currentFeeling: '轻了一点',
feelings: ['轻了一点', '还是安静', '被听见了', '想睡了'],
records: [{
4 weeks ago
type: 'i',
3 weeks ago
name: '月台旁的影子',
time: '23:18',
duration: '15 分钟',
feeling: '对方没有催我讲话,沉默变得没那么尴尬。',
tags: ['安静陪伴', '想安静', '半匿名']
}, {
type: 'e',
name: '便利店灯光',
time: '21:42',
duration: '12 分钟',
feeling: '聊了一个很小的夜宵话题,心情被拉亮了一点。',
tags: ['轻轻热闹', '想说话', '限时']
4 weeks ago
}, {
type: 'i',
3 weeks ago
name: '耳机里的风',
4 weeks ago
time: '昨天',
3 weeks ago
duration: '15 分钟',
feeling: '像有人坐在旁边,不需要解释为什么低落。',
tags: ['慢回复', '听着呢', '低压力']
4 weeks ago
}]
}
},
onLoad() {
if (uni.getMenuButtonBoundingClientRect) {
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
}
},
methods: {
back() {
3 weeks ago
uni.redirectTo({ url: '/package1/ieBrowser/index' })
4 weeks ago
}
}
}
</script>
<style lang="scss" scoped>
page {
3 weeks ago
background: #f7f9ff;
4 weeks ago
}
3 weeks ago
.records-page {
4 weeks ago
min-height: 100vh;
3 weeks ago
padding: 0 28rpx 56rpx;
4 weeks ago
box-sizing: border-box;
3 weeks ago
color: #161b2e;
background:
radial-gradient(circle at 14% 8%, rgba(139, 124, 255, 0.2), rgba(139, 124, 255, 0) 280rpx),
radial-gradient(circle at 86% 18%, rgba(169, 255, 231, 0.38), rgba(169, 255, 231, 0) 320rpx),
linear-gradient(180deg, #fbfdff 0%, #eef4ff 62%, #fff4e8 100%);
position: relative;
overflow: hidden;
}
.glow {
position: absolute;
right: -120rpx;
top: 240rpx;
width: 320rpx;
height: 320rpx;
border-radius: 50%;
background: rgba(255, 184, 209, 0.26);
filter: blur(10rpx);
4 weeks ago
}
.nav {
3 weeks ago
position: relative;
z-index: 1;
height: 92rpx;
4 weeks ago
display: flex;
align-items: center;
}
.back {
width: 58rpx;
3 weeks ago
color: rgba(22, 27, 46, 0.62);
4 weeks ago
font-size: 56rpx;
line-height: 56rpx;
}
.title {
flex: 1;
font-size: 34rpx;
3 weeks ago
font-weight: 800;
4 weeks ago
}
.filter {
height: 54rpx;
line-height: 54rpx;
padding: 0 22rpx;
border-radius: 999rpx;
3 weeks ago
color: #09101f;
background: #a9ffe7;
font-size: 22rpx;
font-weight: 700;
}
.summary-card,
.feeling-picker,
.record-card {
position: relative;
z-index: 1;
border: 1rpx solid rgba(255, 255, 255, 0.78);
background: rgba(255, 255, 255, 0.62);
backdrop-filter: blur(24rpx);
box-shadow: 0 20rpx 64rpx rgba(96, 112, 160, 0.12);
4 weeks ago
}
.summary-card {
display: flex;
justify-content: space-between;
padding: 34rpx;
3 weeks ago
border-radius: 42rpx;
}
.summary-label {
color: #6c69d8;
font-size: 21rpx;
letter-spacing: 3rpx;
4 weeks ago
}
.summary-title {
3 weeks ago
margin-top: 14rpx;
font-size: 40rpx;
line-height: 52rpx;
font-weight: 800;
4 weeks ago
}
.summary-sub {
3 weeks ago
width: 460rpx;
margin-top: 12rpx;
color: rgba(22, 27, 46, 0.52);
4 weeks ago
font-size: 24rpx;
3 weeks ago
line-height: 38rpx;
4 weeks ago
}
3 weeks ago
.moon {
width: 104rpx;
height: 104rpx;
border-radius: 50%;
4 weeks ago
text-align: center;
3 weeks ago
line-height: 104rpx;
color: #09101f;
background: linear-gradient(145deg, #effffb, #a9ffe7);
font-size: 34rpx;
font-weight: 800;
}
.feeling-picker {
margin-top: 28rpx;
padding: 28rpx;
border-radius: 34rpx;
}
.section-title {
margin-bottom: 20rpx;
font-size: 28rpx;
font-weight: 800;
4 weeks ago
}
3 weeks ago
.feeling-row {
4 weeks ago
display: flex;
3 weeks ago
flex-wrap: wrap;
4 weeks ago
}
3 weeks ago
.feeling-chip {
4 weeks ago
height: 58rpx;
line-height: 58rpx;
3 weeks ago
padding: 0 22rpx;
margin: 0 14rpx 14rpx 0;
4 weeks ago
border-radius: 999rpx;
3 weeks ago
color: rgba(22, 27, 46, 0.55);
background: rgba(255, 255, 255, 0.58);
font-size: 23rpx;
4 weeks ago
}
3 weeks ago
.feeling-chip.active {
color: #09101f;
background: #a9ffe7;
4 weeks ago
}
3 weeks ago
.record-card {
margin-top: 22rpx;
padding: 28rpx;
border-radius: 34rpx;
}
.record-top {
4 weeks ago
display: flex;
align-items: center;
}
3 weeks ago
.record-orb {
width: 78rpx;
height: 78rpx;
margin-right: 18rpx;
4 weeks ago
border-radius: 50%;
text-align: center;
3 weeks ago
line-height: 78rpx;
font-size: 30rpx;
font-weight: 800;
4 weeks ago
}
3 weeks ago
.record-orb.i {
color: #f7f4ff;
background: linear-gradient(145deg, #8b7cff, #dde7ff);
4 weeks ago
}
3 weeks ago
.record-orb.e {
color: #07101e;
background: linear-gradient(145deg, #a9ffe7, #fff0b8);
4 weeks ago
}
3 weeks ago
.record-name {
font-size: 29rpx;
font-weight: 800;
4 weeks ago
}
3 weeks ago
.record-meta {
margin-top: 8rpx;
color: rgba(22, 27, 46, 0.44);
4 weeks ago
font-size: 22rpx;
}
3 weeks ago
.record-text {
margin-top: 22rpx;
color: rgba(22, 27, 46, 0.72);
font-size: 26rpx;
line-height: 42rpx;
4 weeks ago
}
3 weeks ago
.record-tags {
margin-top: 20rpx;
4 weeks ago
}
3 weeks ago
.record-tags text {
display: inline-block;
height: 42rpx;
line-height: 42rpx;
padding: 0 16rpx;
margin: 0 10rpx 10rpx 0;
4 weeks ago
border-radius: 999rpx;
3 weeks ago
color: #6c69d8;
background: rgba(139, 124, 255, 0.1);
4 weeks ago
font-size: 20rpx;
}
3 weeks ago
.empty-note {
position: relative;
z-index: 1;
width: 560rpx;
margin: 34rpx auto 0;
4 weeks ago
text-align: center;
3 weeks ago
color: rgba(22, 27, 46, 0.36);
font-size: 23rpx;
line-height: 38rpx;
4 weeks ago
}
</style>