fix(mobile): replace emoji glyphs with uni-icons and flex centering app-wide

- ChatComposer panel contract: callers now pass uni-icons type names
  (image/sound/list/help/checkmark) instead of emoji
- voice playback buttons: sound icon + pulse animation, no more 🔊/◼ chars
- practice recent list: rare symbols ⌕⌁◉ (tofu risk) -> wallet/gear/chatbubble
- sop resource icon ▶/文 -> 视/文 character badges
- back arrows: 22 char-based ← -> uni-icons back across 21 pages
- line-height centering -> flex in 8 spots (back buttons, media-remove,
  turn-voice capsule, option-marker, text-button, play-question)
This commit is contained in:
2026-07-19 20:16:05 +08:00
parent 925b48e436
commit c47bf748cb
25 changed files with 101 additions and 56 deletions
@@ -1,7 +1,7 @@
<template>
<view class="page candidate-subpage interview-page">
<view class="subpage-header">
<button class="subpage-back-button" aria-label="返回候选首页" title="返回候选首页" @click="goBack">←</button>
<button class="subpage-back-button" aria-label="返回候选首页" title="返回候选首页" @click="goBack"><uni-icons type="back" size="20" color="#25282d" /></button>
<view class="subpage-heading">
<text class="page-title">面试任务</text>
<text class="page-subtitle">生活顾问结构化面试</text>
@@ -1,7 +1,7 @@
<template>
<view class="page candidate-subpage materials-page">
<view class="subpage-header">
<button class="subpage-back-button" aria-label="返回候选首页" title="返回候选首页" @click="goBack">←</button>
<button class="subpage-back-button" aria-label="返回候选首页" title="返回候选首页" @click="goBack"><uni-icons type="back" size="20" color="#25282d" /></button>
<view class="subpage-heading">
<text class="page-title">补充资料</text>
<text class="page-subtitle">提交简历、证书或相关图片</text>
@@ -1,7 +1,7 @@
<template>
<view class="page candidate-record-page">
<view class="record-header">
<button class="back-button" aria-label="返回候选首页" @click="goBack">←</button>
<button class="back-button" aria-label="返回候选首页" @click="goBack"><uni-icons type="back" size="22" color="#111111" /></button>
<view>
<text class="page-title">面试记录</text>
<text class="page-subtitle">{{ latestRecord ? `${latestRecord.time} · ${latestRecord.position}` : '面试与资料审核状态' }}</text>
@@ -155,15 +155,17 @@ onShow(() => {
}
.back-button {
display: flex;
width: 28px;
min-width: 28px;
height: 28px;
align-items: center;
justify-content: center;
padding: 0;
border: 0;
background: transparent;
color: #111;
font-size: 24px;
line-height: 28px;
line-height: 1;
}
.page-subtitle {
@@ -1,7 +1,7 @@
<template>
<view class="page candidate-subpage study-page">
<view class="subpage-header">
<button class="subpage-back-button" aria-label="返回候选首页" title="返回候选首页" @click="goBack">←</button>
<button class="subpage-back-button" aria-label="返回候选首页" title="返回候选首页" @click="goBack"><uni-icons type="back" size="20" color="#25282d" /></button>
<view class="subpage-heading">
<text class="page-title">岗前预习</text>
<text class="page-subtitle">从正式知识库生成岗位要点</text>