feat(mobile): redesign today home and switch mentor persona to female

- today: immersive community hero + hold-to-talk voice card, numbered
  schedule rows, common-functions grid (learning/report/question-board)
- login: female mentor bust; sop: female mentor chat avatars
- speech: raise browser-fallback mentor pitch to match female voice
This commit is contained in:
2026-07-19 02:38:18 +08:00
parent a8460bbaed
commit 4c2b5deb00
8 changed files with 451 additions and 531 deletions
+6 -5
View File
@@ -17,7 +17,7 @@
<scroll-view scroll-y class="chat-thread" :scroll-top="threadScrollTop" :scroll-with-animation="true">
<view class="thread-inner">
<view class="bubble-row left">
<view class="avatar master-avatar">师</view>
<image class="avatar master-avatar" src="/static/mentor-female-avatar.png" mode="aspectFill" />
<view class="bubble master">
<text class="bubble-text">你好,我是老师傅。工作里的 SOP、话术、流程直接问我,答案都带引用依据;也可以按住下面的按钮说话。</text>
</view>
@@ -37,14 +37,14 @@
</view>
<view v-else-if="msg.role === 'pending'" class="bubble-row left">
<view class="avatar master-avatar">师</view>
<image class="avatar master-avatar" src="/static/mentor-female-avatar.png" mode="aspectFill" />
<view class="bubble master pending-bubble">
<text class="bubble-text">师傅思考中…</text>
</view>
</view>
<view v-else class="bubble-row left">
<view class="avatar master-avatar">师</view>
<image class="avatar master-avatar" src="/static/mentor-female-avatar.png" mode="aspectFill" />
<view class="master-col">
<view v-if="msg.voiceStatus !== 'unavailable'" class="voice-line">
<view
@@ -154,7 +154,7 @@
</template>
<view v-if="!loggedIn" class="bubble-row left">
<view class="avatar master-avatar">师</view>
<image class="avatar master-avatar" src="/static/mentor-female-avatar.png" mode="aspectFill" />
<view class="bubble master">
<text class="bubble-text">登录后才能查询 SOP、生成总结卡并反馈答案。</text>
<view class="bubble-actions">
@@ -2066,7 +2066,8 @@ onUnload(() => {
}
.master-avatar {
background: #e70014;
overflow: hidden;
background: #f3f4f6;
color: #ffffff;
}
File diff suppressed because it is too large Load Diff