- 超级个体:去掉首位特例;列表仅展示有头像且非微信默认昵称(vip.go) - 个人资料:居中头像、低调联系方式、点头像优先走存客宝 lead(ckbLeadToken) - 阅读页分享朋友圈复制与 toast 去重 - soul-api: miniprogram users 带 ckbLeadToken;其它 handler 与路由调整 - 脚本:content_upload、miniprogram 上传辅助等 Made-with: Cursor
176 lines
8.2 KiB
Plaintext
176 lines
8.2 KiB
Plaintext
<!-- 卡若创业派对 - 个人资料展示页(与 member-detail 同一视觉) -->
|
|
<view class="page">
|
|
<view class="nav-bar" style="padding-top: {{statusBarHeight}}px;">
|
|
<view class="nav-back" bindtap="goBack">
|
|
<icon name="chevron-left" size="44" color="#5EEAD4" customClass="nav-icon"></icon>
|
|
</view>
|
|
<text class="nav-title">个人资料</text>
|
|
<view class="nav-edit" bindtap="goToEdit">
|
|
<icon name="edit" size="32" color="#5EEAD4"></icon>
|
|
</view>
|
|
</view>
|
|
<view style="height: {{statusBarHeight + 44}}px;"></view>
|
|
|
|
<view class="state-wrap" wx:if="{{loading}}">
|
|
<view class="loading-dot"></view>
|
|
<text class="state-txt">加载中...</text>
|
|
</view>
|
|
|
|
<scroll-view scroll-y class="scroll-wrap" style="height: calc(100vh - {{statusBarHeight + 44}}px - 120rpx);" wx:if="{{!loading && profile}}">
|
|
<!-- 首屏壳:头像 + 联系方式 -->
|
|
<view class="shell">
|
|
<view class="shell-glow"></view>
|
|
<view class="hero-row">
|
|
<view class="avatar-outer">
|
|
<view class="avatar-wrap">
|
|
<image class="avatar-img" wx:if="{{profile.avatar}}" src="{{profile.avatar}}" mode="aspectFill"/>
|
|
<view class="avatar-ph" wx:else><text>{{profile.nickname ? profile.nickname[0] : '?'}}</text></view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="link-column">
|
|
<text class="link-column-title">我的联系方式</text>
|
|
|
|
<view class="link-chip" wx:if="{{profile.phone}}" bindtap="copyPhone">
|
|
<view class="link-chip-icon link-chip-icon-phone">
|
|
<icon name="smartphone" size="34" color="#5EEAD4" customClass="lc-ic"></icon>
|
|
</view>
|
|
<view class="link-chip-main">
|
|
<text class="link-chip-label">手机号</text>
|
|
<text class="link-chip-val mono">{{profile.phone}}</text>
|
|
</view>
|
|
<view class="link-chip-action"><text>复制</text></view>
|
|
</view>
|
|
|
|
<view class="link-chip" wx:if="{{profile.wechat}}" bindtap="copyWechat">
|
|
<view class="link-chip-icon link-chip-icon-wx">
|
|
<icon name="message-circle" size="34" color="#34D399" customClass="lc-ic"></icon>
|
|
</view>
|
|
<view class="link-chip-main">
|
|
<text class="link-chip-label">微信号</text>
|
|
<text class="link-chip-val mono">{{profile.wechat}}</text>
|
|
</view>
|
|
<view class="link-chip-action"><text>复制</text></view>
|
|
</view>
|
|
|
|
<view class="link-empty" wx:if="{{!profile.phone && !profile.wechat}}">
|
|
<text class="link-empty-txt">未填写联系方式</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<text class="profile-name">{{profile.nickname || '未设置昵称'}}</text>
|
|
<view class="profile-tags" wx:if="{{profile.mbti || profile.region}}">
|
|
<text class="tag tag-mbti" wx:if="{{profile.mbti}}">{{profile.mbti}}</text>
|
|
<view class="tag tag-region" wx:if="{{profile.region}}">
|
|
<icon name="map-pin" size="24" color="currentColor" customClass="pin-icon"></icon>
|
|
<text>{{profile.region}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 一体化信息卡 -->
|
|
<view class="mono-card" wx:if="{{profile.industry || profile.position || profile.businessScale || profile.skills || profile.storyBestMonth || profile.storyAchievement || profile.storyTurning || profile.helpOffer || profile.helpNeed || profile.projectIntro}}">
|
|
|
|
<!-- 职业画像 -->
|
|
<view class="mono-sec" wx:if="{{profile.industry || profile.position || profile.businessScale}}">
|
|
<view class="mono-sec-head">
|
|
<text class="mono-sec-title">职业画像</text>
|
|
</view>
|
|
<view class="kv" wx:if="{{profile.industry}}">
|
|
<text class="kv-k">行业</text>
|
|
<text class="kv-v">{{profile.industry}}</text>
|
|
</view>
|
|
<view class="kv" wx:if="{{profile.position}}">
|
|
<text class="kv-k">职位</text>
|
|
<text class="kv-v">{{profile.position}}</text>
|
|
</view>
|
|
<view class="kv" wx:if="{{profile.businessScale}}">
|
|
<text class="kv-k">业务体量</text>
|
|
<text class="kv-v">{{profile.businessScale}}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="mono-divider" wx:if="{{(profile.industry || profile.position || profile.businessScale) && profile.skills}}"></view>
|
|
|
|
<!-- 我擅长 -->
|
|
<view class="mono-sec skills-showcase" wx:if="{{profile.skills}}">
|
|
<view class="mono-sec-head">
|
|
<text class="mono-sec-title">我擅长</text>
|
|
</view>
|
|
<view class="skills-quote">
|
|
<text class="skills-quote-text">{{profile.skills}}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="mono-divider" wx:if="{{profile.skills && (profile.storyBestMonth || profile.storyAchievement || profile.storyTurning)}}"></view>
|
|
|
|
<!-- 个人故事 -->
|
|
<view class="mono-sec" wx:if="{{profile.storyBestMonth || profile.storyAchievement || profile.storyTurning}}">
|
|
<view class="mono-sec-head">
|
|
<text class="mono-sec-title">个人故事</text>
|
|
</view>
|
|
<view class="story" wx:if="{{profile.storyBestMonth}}">
|
|
<view class="story-head"><icon name="trophy" size="28" color="#FBBF24" customClass="story-icon"></icon><text class="story-q">最赚钱的一个月</text></view>
|
|
<text class="story-a">{{profile.storyBestMonth}}</text>
|
|
</view>
|
|
<view class="story-gap" wx:if="{{profile.storyBestMonth && (profile.storyAchievement || profile.storyTurning)}}"></view>
|
|
<view class="story" wx:if="{{profile.storyAchievement}}">
|
|
<view class="story-head"><icon name="star" size="28" color="#FBBF24" customClass="story-icon"></icon><text class="story-q">最有成就感的事</text></view>
|
|
<text class="story-a">{{profile.storyAchievement}}</text>
|
|
</view>
|
|
<view class="story-gap" wx:if="{{profile.storyAchievement && profile.storyTurning}}"></view>
|
|
<view class="story" wx:if="{{profile.storyTurning}}">
|
|
<view class="story-head"><icon name="refresh-cw" size="28" color="#FBBF24" customClass="story-icon"></icon><text class="story-q">人生的转折点</text></view>
|
|
<text class="story-a">{{profile.storyTurning}}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="mono-divider" wx:if="{{(profile.storyBestMonth || profile.storyAchievement || profile.storyTurning) && (profile.helpOffer || profile.helpNeed)}}"></view>
|
|
|
|
<!-- 互助需求 -->
|
|
<view class="mono-sec" wx:if="{{profile.helpOffer || profile.helpNeed}}">
|
|
<view class="mono-sec-head">
|
|
<text class="mono-sec-title">互助需求</text>
|
|
</view>
|
|
<view class="help-grid">
|
|
<view class="help-tile help-give" wx:if="{{profile.helpOffer}}">
|
|
<text class="help-tile-tag">我能帮你</text>
|
|
<text class="help-tile-txt">{{profile.helpOffer}}</text>
|
|
</view>
|
|
<view class="help-tile help-need" wx:if="{{profile.helpNeed}}">
|
|
<text class="help-tile-tag need">我需要</text>
|
|
<text class="help-tile-txt">{{profile.helpNeed}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="mono-divider" wx:if="{{(profile.helpOffer || profile.helpNeed) && profile.projectIntro}}"></view>
|
|
|
|
<!-- 项目介绍 -->
|
|
<view class="mono-sec" wx:if="{{profile.projectIntro}}">
|
|
<view class="mono-sec-head">
|
|
<text class="mono-sec-title">项目介绍</text>
|
|
</view>
|
|
<text class="proj-body">{{profile.projectIntro}}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 空态 -->
|
|
<view class="empty-hint" wx:if="{{!profile.industry && !profile.position && !profile.businessScale && !profile.skills && !profile.storyBestMonth && !profile.storyAchievement && !profile.storyTurning && !profile.helpOffer && !profile.helpNeed && !profile.projectIntro}}">
|
|
<icon name="edit" size="48" color="#334155"></icon>
|
|
<text class="empty-hint-txt">资料尚未完善,点击右上角编辑</text>
|
|
</view>
|
|
|
|
<view class="scroll-pad"></view>
|
|
</scroll-view>
|
|
|
|
<!-- 底部按钮 -->
|
|
<view class="bottom-bar" wx:if="{{!loading}}">
|
|
<view class="vip-btn" bindtap="goToVip">
|
|
<text>成为超级个体</text>
|
|
<icon name="chevron-right" size="32" color="#0f172a"></icon>
|
|
</view>
|
|
</view>
|
|
</view>
|