修改完成

This commit is contained in:
2026-07-21 07:53:03 +08:00
parent 01d246c47b
commit ff60119277
172 changed files with 7982 additions and 2999 deletions
+40 -112
View File
@@ -6,11 +6,6 @@
<view class="search-page__content">
<view class="search-title-strip">
<image
class="search-title-strip__skin"
src="/static/assets/modules/genealogy/opaque/g06-search-title-strip.png"
mode="scaleToFill"
/>
<image
class="search-title-strip__seal"
src="/static/assets/foundation/transparent/brand-seal.png"
@@ -37,11 +32,6 @@
<template v-if="mode === 'search'">
<view class="search-controls">
<view class="search-field">
<image
class="search-field__skin"
src="/static/assets/modules/genealogy/opaque/g06-search-input-wide.png"
mode="scaleToFill"
/>
<input
v-model.trim="keyword"
class="search-input"
@@ -54,11 +44,6 @@
>
</view>
<view class="search-action" @click="search">
<image
class="search-action__skin"
src="/static/assets/modules/genealogy/opaque/g06-search-button.png"
mode="scaleToFill"
/>
<text class="search-action__label">搜索</text>
</view>
</view>
@@ -110,11 +95,6 @@
class="result-card genealogy-card"
@click="openPreview(item)"
>
<image
class="result-card__skin"
src="/static/assets/modules/genealogy/transparent/list-slip-frame.png"
mode="scaleToFill"
/>
<view class="result-card__content">
<view class="result-card__head">
<view>
@@ -169,10 +149,6 @@
>当前仅展示失败样式请稍后重新搜索</text
>
<view class="status-retry" @click="search">
<image
src="/static/assets/foundation/transparent/a01-scroll-primary-v3.png"
mode="aspectFit"
/>
<text>重新搜索</text>
</view>
</view>
@@ -186,11 +162,6 @@
>
<view class="invite-controls">
<view class="invite-field">
<image
class="search-field__skin"
src="/static/assets/modules/genealogy/opaque/g06-search-input-wide.png"
mode="scaleToFill"
/>
<input
v-model.trim="inviteCode"
class="invite-input"
@@ -200,11 +171,6 @@
/>
</view>
<view class="search-action" @click="verifyInvite">
<image
class="search-action__skin"
src="/static/assets/modules/genealogy/opaque/g06-search-button.png"
mode="scaleToFill"
/>
<text class="search-action__label">验证</text>
</view>
</view>
@@ -237,11 +203,6 @@
<view v-else class="invite-result">
<text class="invite-result__label">已定位目标家谱</text>
<view class="result-card genealogy-card">
<image
class="result-card__skin"
src="/static/assets/modules/genealogy/transparent/list-slip-frame.png"
mode="scaleToFill"
/>
<view class="result-card__content">
<text class="result-card__name">{{ inviteTarget.name }}</text>
<view class="result-card__facts">
@@ -444,7 +405,7 @@ const clearSearch = () => {
const openPreview = (item) => {
if (item.relation === "available") {
uni.navigateTo({
url: `/pages/genealogy/g05-genealogy-overview?mode=public&genealogyId=${item.id}`,
url: `/pages/genealogy/g05-genealogy-overview?mode=public&genealogyId=${item.id}&genealogyName=${encodeURIComponent(item.name)}`,
});
}
};
@@ -452,7 +413,7 @@ const openPreview = (item) => {
const handleResultAction = (item) => {
if (item.relation === "available")
return uni.navigateTo({
url: `/pages/genealogy/g08-join-application?source=search&genealogyId=${item.id}`,
url: `/pages/genealogy/g08-join-application?source=search&genealogyId=${item.id}&genealogyName=${encodeURIComponent(item.name)}`,
});
if (item.relation === "pending")
return uni.navigateTo({
@@ -460,7 +421,7 @@ const handleResultAction = (item) => {
});
if (item.relation === "rejected" || item.relation === "removed")
return uni.navigateTo({
url: `/pages/genealogy/g08-join-application?source=search&previous=${item.relation}&genealogyId=${item.id}`,
url: `/pages/genealogy/g08-join-application?source=search&previous=${item.relation}&genealogyId=${item.id}&genealogyName=${encodeURIComponent(item.name)}`,
});
return uni.reLaunch({
url: `/pages/genealogy/g01-my-genealogies?genealogyId=${item.id}`,
@@ -473,51 +434,42 @@ const verifyInvite = () => {
};
const confirmInvite = () =>
uni.navigateTo({
url: `/pages/genealogy/g08-join-application?source=invite&genealogyId=${inviteTarget.value.id}`,
url: `/pages/genealogy/g08-join-application?source=invite&genealogyId=${inviteTarget.value.id}&genealogyName=${encodeURIComponent(inviteTarget.value.name)}`,
});
</script>
<style scoped lang="scss">
.search-page {
position: relative;
display: flex;
min-height: 100vh;
overflow-x: hidden;
flex-direction: column;
background: $paper;
}
.search-page__header {
position: relative;
z-index: 2;
}
.search-page__content {
position: relative;
z-index: 3;
min-height: calc(100vh - 104rpx);
padding: 30rpx 24rpx calc(58rpx + env(safe-area-inset-bottom));
box-sizing: border-box;
}
.search-title-strip {
position: relative;
display: grid;
width: 100%;
height: 138rpx;
}
.search-title-strip__skin {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
pointer-events: none;
grid-template-columns: 156rpx 1fr 170rpx;
align-items: center;
background: url("/static/assets/modules/genealogy/opaque/g06-search-title-strip.png")
center / 100% 100% no-repeat;
}
.search-title-strip__seal {
position: absolute;
top: 27rpx;
left: 52rpx;
z-index: 1;
width: 72rpx;
height: 84rpx;
margin-left: 52rpx;
}
.search-title-strip__text {
position: absolute;
inset: 0 170rpx 0 156rpx;
z-index: 1;
display: flex;
align-items: center;
@@ -535,7 +487,6 @@ const confirmInvite = () =>
border-bottom: 1rpx solid rgba(181, 138, 75, 0.45);
}
.mode-tab {
position: relative;
display: flex;
flex: 1;
align-items: center;
@@ -546,18 +497,12 @@ const confirmInvite = () =>
font-size: 28rpx;
}
.mode-tab--active {
margin-bottom: -2rpx;
background: linear-gradient($brand-red, $brand-red) center bottom /
calc(100% - 84rpx) 4rpx no-repeat;
color: $brand-red;
font-weight: 700;
}
.mode-tab--active::after {
position: absolute;
right: 42rpx;
bottom: -2rpx;
left: 42rpx;
height: 4rpx;
background: $brand-red;
content: "";
}
.search-controls {
display: flex;
align-items: center;
@@ -571,21 +516,15 @@ const confirmInvite = () =>
margin-top: 32rpx;
}
.search-field {
position: relative;
display: grid;
width: 430rpx;
height: 95rpx;
}
.search-field__skin,
.search-action__skin {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
pointer-events: none;
min-height: 95rpx;
background: url("/static/assets/modules/genealogy/opaque/g06-search-input-wide.png")
center / 100% 100% no-repeat;
}
.search-input {
position: relative;
z-index: 1;
grid-area: 1 / 1;
width: 100%;
height: 100%;
padding: 0 82rpx 0 30rpx;
@@ -597,26 +536,26 @@ const confirmInvite = () =>
color: #ab9c83;
}
.search-clear {
position: absolute;
z-index: 2;
top: 0;
right: 20rpx;
display: flex;
grid-area: 1 / 1;
justify-self: end;
height: 100%;
align-items: center;
margin-right: 20rpx;
color: $brand-red;
font-size: 21rpx;
}
.search-action {
position: relative;
display: flex;
width: 200rpx;
height: 88rpx;
min-height: 88rpx;
align-items: center;
justify-content: center;
background: url("/static/assets/modules/genealogy/opaque/g06-search-button.png")
center / 100% 100% no-repeat;
}
.search-action__label {
position: relative;
z-index: 1;
color: #fff4dc;
font-family: "STKaiti", "KaiTi", serif;
@@ -690,23 +629,16 @@ const confirmInvite = () =>
filter: grayscale(1);
}
.status-retry {
position: relative;
display: flex;
width: 300rpx;
height: 76rpx;
min-height: 76rpx;
align-items: center;
justify-content: center;
margin-top: 24rpx;
overflow: hidden;
}
.status-retry image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
background: url("/static/assets/foundation/transparent/a01-scroll-primary-v3.png")
center / contain no-repeat;
}
.status-retry text {
position: relative;
z-index: 1;
color: #fff9ed;
font-size: 25rpx;
@@ -733,20 +665,13 @@ const confirmInvite = () =>
font-weight: 700;
}
.result-card {
position: relative;
min-height: 314rpx;
box-sizing: border-box;
padding: 28rpx 30rpx;
overflow: hidden;
}
.result-card__skin {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
background: url("/static/assets/modules/genealogy/transparent/list-slip-frame.png")
center / 100% 100% no-repeat;
}
.result-card__content {
position: relative;
z-index: 1;
}
.result-card__head {
@@ -823,13 +748,15 @@ const confirmInvite = () =>
line-height: 35rpx;
}
.invite-field {
position: relative;
display: grid;
flex: 1;
height: 95rpx;
min-height: 95rpx;
background: url("/static/assets/modules/genealogy/opaque/g06-search-input-wide.png")
center / 100% 100% no-repeat;
}
.invite-input {
position: relative;
z-index: 1;
grid-area: 1 / 1;
width: 100%;
height: 100%;
padding: 0 30rpx;
@@ -866,11 +793,12 @@ const confirmInvite = () =>
padding-left: 20rpx;
}
.search-title-strip__seal {
left: 44rpx;
margin-left: 44rpx;
}
.search-title-strip {
grid-template-columns: 138rpx 1fr 148rpx;
}
.search-title-strip__text {
right: 148rpx;
left: 138rpx;
font-size: 37rpx;
}
.search-field {