- Added checks for audit mode in VIP navigation and member detail pages, preventing access and displaying appropriate messages. - Updated UI elements to conditionally render based on audit mode, enhancing user experience by hiding VIP-related options when in audit mode. - Introduced loading indicators on the VIP page to manage user expectations during content validation. - Enhanced error handling for image uploads in the article editor, ensuring a smoother content creation process. This update aims to improve the overall user experience by enforcing access restrictions and providing clear feedback in audit mode.
176 lines
8.3 KiB
Plaintext
176 lines
8.3 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 && !auditMode}}" 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 && !auditMode}}">
|
|
<view class="vip-btn" bindtap="goToVip">
|
|
<text>成为超级个体</text>
|
|
<icon name="chevron-right" size="32" color="#0f172a"></icon>
|
|
</view>
|
|
</view>
|
|
</view>
|