update at 2026-02-08 23:38:19

This commit is contained in:
douboer
2026-02-08 23:38:19 +08:00
parent f078dd3261
commit 77a0c7b741
7 changed files with 306 additions and 124 deletions

View File

@@ -11,24 +11,29 @@
<image
class="font-size-icon"
src="{{icons.fontSizeDecrease}}"
mode="aspectFit"
bindtap="onDecreaseFontSize"
/>
<slider
class="font-slider"
min="24"
max="320"
step="1"
value="{{fontSize}}"
show-value="false"
activeColor="#9B6BC2"
backgroundColor="#E5E6EB"
block-size="18"
bindchanging="onFontSizeChanging"
bindchange="onFontSizeChange"
/>
<view class="font-slider-wrap">
<view class="font-size-value">{{fontSize}}</view>
<slider
class="font-slider"
min="20"
max="120"
step="1"
value="{{fontSize}}"
show-value="{{false}}"
activeColor="#9B6BC2"
backgroundColor="#E5E6EB"
block-size="18"
bindchanging="onFontSizeChanging"
bindchange="onFontSizeChange"
/>
</view>
<image
class="font-size-icon"
src="{{icons.fontSizeIncrease}}"
mode="aspectFit"
bindtap="onIncreaseFontSize"
/>
</view>
@@ -62,6 +67,7 @@
<image class="font-icon" src="{{icons.fontIcon}}" />
<view class="font-name-text">{{item.name}}</view>
<view class="export-btns-inline">
<image class="download-icon" src="{{icons.download}}" />
<view class="export-btn-sm export-svg-btn" bindtap="onExportSingleSvg" data-font-id="{{item.id}}">
<image class="export-icon-sm" src="{{icons.exportSvg}}" />
</view>
@@ -76,6 +82,7 @@
class="preview-image"
mode="widthFix"
src="{{item.previewSrc}}"
style="{{item.previewImageStyle}}"
/>
<view wx:elif="{{item.previewError}}" class="preview-error">{{item.previewError}}</view>
<view wx:else class="preview-loading">生成中...</view>
@@ -112,15 +119,17 @@
src="{{icons.expandIcon}}"
style="transform: rotate({{item.expanded ? '90deg' : '0deg'}})"
/>
<view class="category-name">{{item.category}}</view>
<view class="category-name">{{item.category}}{{item.fonts.length}}</view>
</view>
<view wx:if="{{item.expanded}}" class="font-list">
<view wx:if="{{item.expanded && item.fonts.length > 0}}" class="tree-vertical-line" />
<view wx:if="{{item.expanded}}" class="font-list select-font-list">
<view
wx:for="{{item.fonts}}"
wx:for-item="font"
wx:key="id"
class="font-item"
class="font-item select-font-item"
>
<view class="tree-horizontal-line" />
<image class="font-item-icon" src="{{icons.fontIcon}}" />
<view class="font-item-name">{{font.name}}</view>
<view class="font-item-actions">
@@ -146,39 +155,22 @@
<!-- 已收藏字体 -->
<view class="favorite-selection">
<view class="section-title">已收藏</view>
<scroll-view class="font-tree" scroll-y>
<view wx:for="{{favoriteCategories}}" wx:key="category" class="font-category">
<view class="category-header" bindtap="onToggleFavoriteCategory" data-category="{{item.category}}">
<image
class="expand-icon"
src="{{icons.expandIcon}}"
style="transform: rotate({{item.expanded ? '90deg' : '0deg'}})"
/>
<view class="category-name">{{item.category}}</view>
</view>
<view wx:if="{{item.expanded}}" class="font-list">
<view
wx:for="{{item.fonts}}"
wx:for-item="font"
wx:key="id"
class="font-item"
>
<image class="font-item-icon" src="{{icons.fontIcon}}" />
<view class="font-item-name">{{font.name}}</view>
<view class="font-item-actions">
<view class="font-checkbox" bindtap="onToggleFont" data-font-id="{{font.id}}">
<view class="checkbox-wrapper {{font.selected ? 'checked' : ''}}">
<image wx:if="{{font.selected}}" class="checkbox-icon-sm" src="{{icons.checkboxChecked}}" />
</view>
</view>
<view class="favorite-btn" bindtap="onToggleFavorite" data-font-id="{{font.id}}">
<image class="favorite-icon" src="{{icons.favoriteIcon}}" />
</view>
<scroll-view class="font-tree favorite-list" scroll-y>
<view wx:for="{{favoriteFonts}}" wx:key="id" class="font-item favorite-font-item">
<image class="font-item-icon" src="{{icons.fontIcon}}" />
<view class="font-item-name">{{item.name}}</view>
<view class="font-item-actions">
<view class="font-checkbox" bindtap="onToggleFont" data-font-id="{{item.id}}">
<view class="checkbox-wrapper {{item.selected ? 'checked' : ''}}">
<image wx:if="{{item.selected}}" class="checkbox-icon-sm" src="{{icons.checkboxChecked}}" />
</view>
</view>
<view class="favorite-btn" bindtap="onToggleFavorite" data-font-id="{{item.id}}">
<image class="favorite-icon" src="{{icons.favoriteIcon}}" />
</view>
</view>
</view>
<view wx:if="{{!favoriteCategories.length}}" class="empty-favorites">暂无收藏字体</view>
<view wx:if="{{!favoriteFonts.length}}" class="empty-favorites">暂无收藏字体</view>
</scroll-view>
</view>
</view>