Files
EasyCard/frontend_miniprogram/miniprogram/pages/lawyer-detail/index.wxml
陈子默 f39fcd05aa feat: 优化名片分享海报与详情交互
- 为律师详情页增加分享海报生成与分享封面图

- 新增律所简介入口并调整个人简介为页面整体滚动
2026-03-21 22:01:33 +08:00

86 lines
2.8 KiB
Plaintext

<view class="container-page detail-page">
<app-header title="名片详情" back="{{true}}" background="transparent"></app-header>
<block wx:if="{{notFound}}">
<view class="page-content">
<empty-state text="未找到律师信息"></empty-state>
<view class="not-found-action">
<button class="back-btn" bindtap="goLawyerList">返回律师列表</button>
</view>
</view>
</block>
<block wx:else>
<scroll-view class="page-content" scroll-y="true" type="list">
<!-- Top Background -->
<view class="detail-bg" style="{{detailBgStyle}}"></view>
<!-- Profile Card (Overlapping) -->
<view class="profile-card">
<image class="avatar" src="{{lawyer.avatar}}" mode="aspectFill"></image>
<view class="profile-info">
<view class="name-row">
<text class="name">{{lawyer.name}}</text>
<text class="title">{{lawyer.title}}</text>
</view>
<text class="firm-name">{{firm.name}} | {{lawyer.office}}</text>
</view>
<view class="qr-btn" bindtap="previewWechatQr">
<!-- Replaced icon with text for simplicity if icon missing -->
<text class="qr-icon-text">⚲</text>
<text>二维码</text>
</view>
</view>
<!-- Content Sections -->
<view class="content-body">
<!-- Contact Section -->
<view class="section-card">
<view class="section-header">联系方式</view>
<view class="contact-item" bindtap="callPhone">
<text class="contact-label">电话</text>
<text class="contact-value">{{lawyer.phone}}</text>
<view class="action-icon phone">📞</view>
</view>
<view class="divider"></view>
<view class="contact-item">
<text class="contact-label">邮箱</text>
<text class="contact-value">{{lawyer.email}}</text>
</view>
</view>
<!-- Practise Areas -->
<view class="section-card">
<view class="section-header">执业领域</view>
<view class="tags-row">
<text class="tag" wx:for="{{lawyer.specialties}}" wx:key="*this">{{item}}</text>
</view>
</view>
<!-- Bio -->
<view class="section-card">
<view class="section-header">个人简介</view>
<view class="bio-text">{{lawyer.bio}}</view>
</view>
<view class="detail-bottom-space"></view>
</view>
</scroll-view>
<canvas
id="sharePosterCanvas"
class="share-poster-canvas"
canvas-id="sharePosterCanvas"
disable-scroll="true"
type="2d"
style="width: 500px; height: 400px;"
></canvas>
<!-- Fixed Action Dock -->
<action-dock bind:action="handleDockAction"></action-dock>
</block>
</view>