feat: migrate static pages to native tabbar

This commit is contained in:
2026-04-23 21:25:24 +08:00
parent f3cd0c3a98
commit cd30f57f2c
116 changed files with 7143 additions and 311 deletions

107
pages/ai/index.wxml Normal file
View File

@@ -0,0 +1,107 @@
<view class="ai-page">
<view class="ai-page__nav">
<text class="ai-page__title">{{title}}</text>
<view class="ai-page__history" bindtap="handleHistoryTap">{{historyText}}</view>
</view>
<view class="ai-page__tabs">
<view
class="ai-page__tab {{activeTabKey === item.key ? 'ai-page__tab--active' : ''}}"
wx:for="{{tabs}}"
wx:key="key"
data-tab-key="{{item.key}}"
bindtap="handleTabTap"
>
<text class="ai-page__tab-label">{{item.label}}</text>
</view>
</view>
<view class="ai-page__secondary-list">
<view
class="ai-page__secondary-item"
wx:for="{{secondaryEntries}}"
wx:key="key"
data-route="{{item.route}}"
bindtap="handleSecondaryEntryTap"
>
<text class="ai-page__secondary-title">{{item.title}}</text>
<text class="ai-page__secondary-subtitle">{{item.subtitle}}</text>
</view>
</view>
<view class="panel-card">
<view class="panel-card__badge">{{currentPanel.badge}}</view>
<text class="panel-card__heading">{{currentPanel.heading}}</text>
<text class="panel-card__subheading">{{currentPanel.subheading}}</text>
<view class="panel-card__highlights">
<view class="panel-card__highlight" wx:for="{{currentPanel.highlights}}" wx:key="index">
<text class="panel-card__highlight-dot">·</text>
<text class="panel-card__highlight-text">{{item}}</text>
</view>
</view>
<view class="panel-card__examples">
<view class="example-chip" wx:for="{{currentPanel.examples}}" wx:key="index">
<text class="example-chip__text">{{item}}</text>
</view>
</view>
<view class="panel-card__notice">
<text class="panel-card__notice-icon">⚠</text>
<text class="panel-card__notice-text">{{disclaimerText}}</text>
</view>
</view>
<view class="action-card" wx:if="{{currentPanel.formType === 'qa'}}">
<text class="action-card__title">{{currentPanel.actionTitle}}</text>
<input
class="action-card__input action-card__input--single"
placeholder="{{currentPanel.inputPlaceholder}}"
disabled="{{true}}"
/>
<view class="action-card__button" bindtap="handleActionTap">
{{currentPanel.actionButtonText}}
</view>
</view>
<view class="action-card" wx:if="{{currentPanel.formType === 'analysis'}}">
<text class="action-card__title">{{currentPanel.actionTitle}}</text>
<text class="action-card__label">{{currentPanel.primaryField.label}}</text>
<input
class="action-card__input action-card__input--single"
placeholder="{{currentPanel.primaryField.placeholder}}"
disabled="{{true}}"
/>
<view class="action-card__grid">
<view class="action-card__grid-item" wx:for="{{currentPanel.secondaryFields}}" wx:key="key">
<input
class="action-card__input action-card__input--half"
placeholder="{{item.placeholder}}"
disabled="{{true}}"
/>
</view>
</view>
<text class="action-card__label">{{currentPanel.noteField.label}}</text>
<textarea
class="action-card__textarea"
placeholder="{{currentPanel.noteField.placeholder}}"
auto-height="{{true}}"
disabled="{{true}}"
></textarea>
<view class="action-card__button" bindtap="handleActionTap">
{{currentPanel.actionButtonText}}
</view>
</view>
<view class="action-card" wx:if="{{currentPanel.formType === 'constitution'}}">
<text class="action-card__title">{{currentPanel.actionTitle}}</text>
<text class="action-card__description">{{currentPanel.actionDescription}}</text>
<view class="action-card__button action-card__button--full" bindtap="handleActionTap">
{{currentPanel.actionButtonText}}
</view>
</view>
</view>