Files
陈子默 9605384edc feat: 搭建微信小程序展示端
- 初始化小程序工程配置与类型声明

- 增加首页、律所、律师列表、详情与历史页面

- 补充公共组件、运行时配置与示例素材
2026-03-20 12:44:31 +08:00

80 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>
<scroll-view wx:if="{{bioScrollable}}" class="bio-scroll" scroll-y="true" show-scrollbar="true">
<view class="bio-text">{{lawyer.bio}}</view>
</scroll-view>
<view wx:else class="bio-text">{{lawyer.bio}}</view>
</view>
<view class="detail-bottom-space"></view>
</view>
</scroll-view>
<!-- Fixed Action Dock -->
<action-dock bind:action="handleDockAction"></action-dock>
</block>
</view>