You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.2 KiB
109 lines
4.2 KiB
<view class="page-wrapper">
|
|
<form catchsubmit="formSubmit">
|
|
<!-- 标题卡片-->
|
|
<view class="form-card">
|
|
<view class="card-header">
|
|
<text class="header-icon">📝</text>
|
|
<text class="header-title">文章标题</text>
|
|
<text class="required-badge">必填</text>
|
|
</view>
|
|
<view class="card-content no-padding">
|
|
<view class="input-wrapper">
|
|
<input type="text" placeholder="请输入吸引人的标题(最多50字)"
|
|
name="title" maxlength="50" value="{{formData.title}}"
|
|
bindinput="onInput" data-field="title"
|
|
placeholder-class="placeholder-style" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 摘要卡片 -->
|
|
<view class="form-card">
|
|
<view class="card-header">
|
|
<text class="header-icon">📋</text>
|
|
<text class="header-title">文章摘要</text>
|
|
<text class="optional-badge">选填</text>
|
|
</view>
|
|
<view class="card-content no-padding">
|
|
<view class="textarea-wrapper">
|
|
<textarea placeholder="简单描述文章要点,让读者快速了解内容(最多200字)"
|
|
name="summary" maxlength="200" auto-height
|
|
value="{{formData.summary}}" bindinput="onInput"
|
|
data-field="summary" placeholder-class="placeholder-style" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 分类卡片 -->
|
|
<view class="form-card">
|
|
<view class="card-header">
|
|
<text class="header-icon">📂</text>
|
|
<text class="header-title">文章分类</text>
|
|
<text class="required-badge">必填</text>
|
|
</view>
|
|
<view class="card-content">
|
|
<picker mode="selector" range="{{categoryList}}" range-key="dictLabel"
|
|
bindchange="onCategoryChange" value="{{categoryIndex}}">
|
|
<view class="picker-trigger {{categoryIndex > -1 ? 'selected' : ''}}">
|
|
<text>{{categoryIndex > -1 ? categoryList[categoryIndex].dictLabel : '请选择文章分类'}}</text>
|
|
<text class="picker-arrow">▼</text>
|
|
</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 标签卡片 -->
|
|
<view class="form-card">
|
|
<view class="card-header">
|
|
<text class="header-icon">🏷️</text>
|
|
<text class="header-title">文章标签</text>
|
|
<text class="required-badge">必填</text>
|
|
</view>
|
|
<view class="card-content">
|
|
<view class="tag-group">
|
|
<block wx:for="{{tagList}}" wx:key="dictValue">
|
|
<view class="tag-item {{selectedTags.includes(item) ? 'active' : ''}}"
|
|
bindtap="toggleTag" data-item="{{item}}">
|
|
{{item.dictLabel}}
|
|
</view>
|
|
</block>
|
|
</view>
|
|
<view class="selected-tags" wx:if="{{selectedTags.length}}">
|
|
<text class="selected-label">已选标签:</text>
|
|
<view class="selected-tag-list">
|
|
<view class="selected-tag-item" wx:for="{{selectedTags}}" wx:key="index">
|
|
{{item.dictLabel}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 内容卡片 -->
|
|
<view class="form-card content-card">
|
|
<view class="card-header">
|
|
<text class="header-icon">📄</text>
|
|
<text class="header-title">文章内容</text>
|
|
<text class="required-badge">必填</text>
|
|
</view>
|
|
<view class="card-content no-padding">
|
|
<view class="textarea-wrapper">
|
|
<textarea placeholder="开始撰写您的文章吧...(支持最多5000字)"
|
|
name="content" maxlength="5000" auto-height
|
|
value="{{formData.content}}" bindinput="onInput"
|
|
data-field="content" placeholder-class="placeholder-style"
|
|
class="content-textarea" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 提交按钮区域 -->
|
|
<view class="submit-area">
|
|
<button form-type="submit" class="submit-btn" loading="{{submitting}}" disabled="{{submitting}}">
|
|
<text wx:if="{{!submitting}}">✨ 发布文章</text>
|
|
<text wx:else>发布中...</text>
|
|
</button>
|
|
<view class="tip-text">好的内容值得被更多人看见</view>
|
|
</view>
|
|
</form>
|
|
</view>
|