- admin:OrdersHub/UsersHub、Commerce/Ops/Enterprise Hub、MpAnalytics、Feishu/小程序配置面板、鉴权存储 - api:Analytics、DataMigration、FeishuLeadWebhook、mp 事件迁移 SQL - 微信/抖音小程序:analytics 上报与相关页面调整 - 开发文档与 scripts 补充 Made-with: Cursor
164 lines
7.0 KiB
Plaintext
164 lines
7.0 KiB
Plaintext
<!--pages/profile/index.wxml-->
|
||
<view class="page">
|
||
|
||
<!-- 顶部栏 -->
|
||
<view class="topbar">
|
||
<text class="topbar-title">我的</text>
|
||
<view class="topbar-actions">
|
||
<!-- <view class="settings-btn" bindtap="goToSettings">
|
||
<text class="settings-icon">⚙️</text>
|
||
</view> -->
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 未登录 -->
|
||
<view class="user-card" wx:if="{{!hasLogin}}" bindtap="doLogin">
|
||
<view class="avatar-ring">
|
||
<view class="avatar-letter-wrap" style="background:{{avatarBgColor}}">
|
||
<text class="avatar-letter">{{avatarLetter}}</text>
|
||
</view>
|
||
</view>
|
||
<view class="user-meta">
|
||
<text class="user-name" wx:if="{{loginLoading}}">登录中...</text>
|
||
<text class="user-name" wx:elif="{{loginFailed}}">登录失败,点击重试</text>
|
||
<text class="user-name" wx:else>点击登录</text>
|
||
<text class="user-sub">登录后查看你的测试结果</text>
|
||
</view>
|
||
<text class="chevron">›</text>
|
||
</view>
|
||
|
||
<!-- 已登录:用户卡片(点击进入个人资料) -->
|
||
<view class="user-card" wx:if="{{hasLogin}}" bindtap="goToUserProfile">
|
||
<!-- 头像区 -->
|
||
<view class="avatar-wrap">
|
||
<view class="avatar-ring">
|
||
<image wx:if="{{userInfo && (userInfo.avatarUrl || userInfo.avatar)}}"
|
||
class="avatar-img"
|
||
src="{{userInfo.avatarUrl || userInfo.avatar}}"
|
||
mode="aspectFill"/>
|
||
<view wx:else class="avatar-letter-wrap" style="background:{{avatarBgColor}}">
|
||
<text class="avatar-letter">{{avatarLetter}}</text>
|
||
</view>
|
||
</view>
|
||
<view class="online-dot"></view>
|
||
</view>
|
||
|
||
<!-- 昵称 + 标签 -->
|
||
<view class="user-meta">
|
||
<text class="nickname-text">{{nicknameDisplay || '点击设置昵称'}}</text>
|
||
<!-- 类型标签 -->
|
||
<scroll-view scroll-x class="tags-scroll">
|
||
<view class="tags-row">
|
||
<view class="tag tag-purple" wx:if="{{mbtiType}}">
|
||
<text class="tag-text">{{mbtiType}}</text>
|
||
</view>
|
||
<view class="tag tag-blue" wx:if="{{discType}}">
|
||
<text class="tag-text">{{discType}}型</text>
|
||
</view>
|
||
<view class="tag tag-orange" wx:if="{{pdpType}}">
|
||
<text class="tag-text">{{pdpType}}</text>
|
||
</view>
|
||
<view class="tag tag-gray" wx:if="{{!mbtiType && !discType && !pdpType}}">
|
||
<text class="tag-text">暂无测试记录</text>
|
||
</view>
|
||
</view>
|
||
</scroll-view>
|
||
</view>
|
||
|
||
<text class="chevron">›</text>
|
||
</view>
|
||
|
||
<!-- 深度解析:四字标题下整合「最新测试 + 查看全部/历史」与深度服务入口(单面板) -->
|
||
<view class="section px-section" wx:if="{{hasLogin}}">
|
||
<text class="section-title depth-parse-title">深度解析</text>
|
||
<view class="depth-unified-card">
|
||
<view class="depth-unified-header">
|
||
<text class="depth-unified-subtitle">最新测试</text>
|
||
<view class="depth-header-link" bindtap="goToHistory">
|
||
<text class="depth-header-link-text">查看全部<text wx:if="{{testCount > 0}}"> · {{testCount}}条</text></text>
|
||
<text class="depth-header-chevron">›</text>
|
||
</view>
|
||
</view>
|
||
<block wx:if="{{hasResults}}">
|
||
<scroll-view scroll-x class="cards-scroll cards-scroll--in-card" enhanced show-scrollbar="{{false}}">
|
||
<view class="cards-row cards-row--in-card">
|
||
<view class="result-card card-purple" wx:if="{{mbtiType}}" bindtap="viewMBTI">
|
||
<view class="card-deco"></view>
|
||
<view class="card-icon-wrap card-icon-purple">
|
||
<text class="card-icon">🧠</text>
|
||
</view>
|
||
<text class="card-label">MBTI性格</text>
|
||
<text class="card-value">{{mbtiType}}</text>
|
||
<text class="card-time">{{mbtiTime}}</text>
|
||
</view>
|
||
<view class="result-card card-blue" wx:if="{{discType}}" bindtap="viewDISC">
|
||
<view class="card-deco"></view>
|
||
<view class="card-icon-wrap card-icon-blue">
|
||
<text class="card-icon">📊</text>
|
||
</view>
|
||
<text class="card-label">DISC测评</text>
|
||
<text class="card-value">{{discType}}型</text>
|
||
<text class="card-time">{{discTime}}</text>
|
||
</view>
|
||
<view class="result-card card-orange" wx:if="{{pdpType}}" bindtap="viewPDP">
|
||
<view class="card-deco"></view>
|
||
<view class="card-icon-wrap card-icon-orange">
|
||
<text class="card-icon">🦁</text>
|
||
</view>
|
||
<text class="card-label">PDP行为</text>
|
||
<text class="card-value">{{pdpType}}</text>
|
||
<text class="card-time">{{pdpTime}}</text>
|
||
</view>
|
||
<view class="result-card card-rose" wx:if="{{aiType && !reviewMode}}" bindtap="viewAI">
|
||
<view class="card-deco"></view>
|
||
<view class="card-icon-wrap card-icon-rose">
|
||
<text class="card-icon">👁️</text>
|
||
</view>
|
||
<text class="card-label">面相分析</text>
|
||
<text class="card-value">{{aiType}}</text>
|
||
<text class="card-time">{{aiTime}}</text>
|
||
</view>
|
||
</view>
|
||
</scroll-view>
|
||
</block>
|
||
<view wx:else class="depth-empty-hint">
|
||
<text>完成任一测评后,此处展示最近一次结果;右上角可查看全部历史。</text>
|
||
</view>
|
||
<view class="depth-inner-divider"></view>
|
||
<view class="menu-item menu-item--flat" bindtap="goToDeepService">
|
||
<view class="menu-icon-wrap menu-icon-purple">
|
||
<text class="menu-icon">✨</text>
|
||
</view>
|
||
<view class="menu-content">
|
||
<text class="menu-title">深度解读与方案</text>
|
||
<text class="menu-sub">个人报告与团队/企业服务,进入后按需选择</text>
|
||
</view>
|
||
<text class="menu-chevron">›</text>
|
||
</view>
|
||
<view class="menu-divider menu-divider--in-card" wx:if="{{hasEnterprise}}"></view>
|
||
<view class="menu-item menu-item--flat" wx:if="{{hasEnterprise}}" bindtap="goToMyResume">
|
||
<view class="menu-icon-wrap menu-icon-indigo">
|
||
<text class="menu-icon">📋</text>
|
||
</view>
|
||
<view class="menu-content">
|
||
<text class="menu-title">我的简历</text>
|
||
<text class="menu-sub">查看与设置默认简历</text>
|
||
</view>
|
||
<text class="menu-chevron">›</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 推广入口:置底弱化,避免与主服务抢注意力(开关与标题仍来自管理端) -->
|
||
<view class="promo-section-subtle" wx:if="{{hasLogin && promoDistributionEnabled}}">
|
||
<view class="promo-row-subtle" bindtap="goToPromo">
|
||
<text class="promo-row-label">{{promoCenterTitle}}</text>
|
||
<text class="promo-row-meta">邀请{{promoTotalInvite}} · 可提¥{{promoWithdrawable}}</text>
|
||
<text class="promo-row-chevron">›</text>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="bottom-safe"></view>
|
||
<custom-tab-bar />
|
||
</view>
|