Files
smartDriveEEUniApp/pages-subpackage/xixi/components/xixi-who-am-i.vue
2026-04-05 22:23:19 +08:00

106 lines
2.3 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<scroll-view class="panel-scroll" scroll-y>
<view class="card">
<text class="label">我是谁恋爱相关的自我描述</text>
<textarea
class="area"
v-model="local.selfIntro"
placeholder="例如:我的性格、价值观、在关系里看重什么…"
maxlength="2000"
:show-confirm-bar="false"
/>
</view>
<view class="card">
<text class="label">对另一半的要求</text>
<textarea
class="area"
v-model="local.partnerExpect"
placeholder="例如:希望对方具备的特质、相处方式、底线与期待…"
maxlength="2000"
:show-confirm-bar="false"
/>
</view>
<button class="btn-save" type="primary" @click="save">保存</button>
</scroll-view>
</template>
<script>
const KEY = 'xixi_who_am_i';
export default {
name: 'XixiWhoAmI',
data() {
return {
local: {
selfIntro: '',
partnerExpect: '',
},
};
},
mounted() {
this.load();
},
methods: {
load() {
try {
const raw = uni.getStorageSync(KEY);
if (raw && typeof raw === 'object') {
this.local.selfIntro = raw.selfIntro || '';
this.local.partnerExpect = raw.partnerExpect || '';
}
} catch (e) {
/* ignore */
}
},
save() {
try {
uni.setStorageSync(KEY, { ...this.local });
uni.showToast({ title: '已保存', icon: 'success' });
this.$emit('saved');
} catch (e) {
uni.showToast({ title: '保存失败', icon: 'none' });
}
},
},
};
</script>
<style scoped>
.panel-scroll {
height: 100%;
box-sizing: border-box;
padding: 24rpx 28rpx 32rpx;
}
.card {
background: #fff;
border-radius: 20rpx;
padding: 28rpx;
margin-bottom: 24rpx;
box-shadow: 0 4rpx 24rpx rgba(233, 30, 140, 0.06);
}
.label {
display: block;
font-size: 28rpx;
font-weight: 600;
color: #333;
margin-bottom: 16rpx;
}
.area {
width: 100%;
min-height: 220rpx;
font-size: 28rpx;
line-height: 1.6;
color: #333;
box-sizing: border-box;
padding: 16rpx;
background: #fff8fa;
border-radius: 12rpx;
}
.btn-save {
margin-top: 12rpx;
border-radius: 999rpx;
background: linear-gradient(135deg, #ff6b9d, #e91e8c);
border: none;
}
</style>