ai-clone/frontend-ai/unpackage/dist/build/mp-weixin/pages/revival/revival.wxml
2026-03-06 18:05:51 +08:00

1 line
9.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<view class="memorial-bg data-v-41b5703e"><view class="memorial-content data-v-41b5703e"><view class="header data-v-41b5703e"><text class="logo data-v-41b5703e">AI声音克隆</text><text class="tagline data-v-41b5703e">克隆亲人声音 · 语音合成 · 实时对话</text></view><view wx:if="{{a}}" class="{{['data-v-41b5703e', 'message', c]}}">{{b}}</view><view class="create-voice-btn-wrapper data-v-41b5703e"><button class="create-voice-btn data-v-41b5703e" bindtap="{{d}}"> 📤 创建音色 </button></view><view class="tabs data-v-41b5703e"><view class="{{['data-v-41b5703e', 'tab-item', e]}}" bindtap="{{f}}"> 🔊 合成 </view><view class="{{['data-v-41b5703e', 'tab-item', g]}}" bindtap="{{h}}"> 💬 对话 </view><view class="{{['data-v-41b5703e', 'tab-item', i]}}" bindtap="{{j}}"> 📋 列表 </view></view></view><scroll-view scroll-y class="content data-v-41b5703e"><view wx:if="{{k}}" class="tab-content data-v-41b5703e"><view class="section-title data-v-41b5703e">🎵 语音合成</view><view class="form-section data-v-41b5703e"><view class="form-label-with-help data-v-41b5703e"><text class="form-label data-v-41b5703e">选择音色类型</text><text class="help-icon data-v-41b5703e" bindtap="{{l}}">❓</text></view><picker class="data-v-41b5703e" mode="selector" range="{{n}}" range-key="label" bindchange="{{o}}"><view class="picker-large data-v-41b5703e">{{m}}</view></picker><picker class="data-v-41b5703e" mode="selector" range="{{q}}" range-key="voice_name" bindchange="{{r}}"><view class="picker-large data-v-41b5703e">{{p}}</view></picker><view class="hint-text data-v-41b5703e">💡 请先在"声音克隆"页面创建音色</view></view><view wx:if="{{s}}" class="form-section data-v-41b5703e"><view class="form-label data-v-41b5703e">方言</view><picker class="data-v-41b5703e" mode="selector" range="{{v}}" bindchange="{{w}}"><view class="picker-large data-v-41b5703e">{{t}}</view></picker></view><view wx:if="{{x}}" class="form-section data-v-41b5703e"><view class="form-label data-v-41b5703e">语言提示(可选)</view><picker class="data-v-41b5703e" mode="selector" range="{{z}}" bindchange="{{A}}"><view class="picker-large data-v-41b5703e">{{y}}</view></picker><view class="hint-text data-v-41b5703e">💡 仅处理第一个值;不设置不生效</view></view><view class="form-section data-v-41b5703e"><view class="form-label data-v-41b5703e"> 文案模板</view><view wx:if="{{B}}" class="empty-template data-v-41b5703e"><text class="data-v-41b5703e">⏳ 加载中...</text></view><view wx:else class="template-categories data-v-41b5703e"><view class="category-group data-v-41b5703e"><view class="category-header data-v-41b5703e" bindtap="{{D}}"><text class="category-name data-v-41b5703e">💭 缅怀类</text><text class="{{['category-arrow', 'data-v-41b5703e', C && 'arrow-open']}}">▼</text></view><view wx:if="{{E}}" class="category-content data-v-41b5703e"><view wx:for="{{F}}" wx:for-item="template" wx:key="c" class="template-item data-v-41b5703e" bindtap="{{template.d}}"><text class="template-title data-v-41b5703e">{{template.a}}</text><text class="template-preview data-v-41b5703e">{{template.b}}</text></view></view></view><view class="category-group data-v-41b5703e"><view class="category-header data-v-41b5703e" bindtap="{{H}}"><text class="category-name data-v-41b5703e">👋 问候类</text><text class="{{['category-arrow', 'data-v-41b5703e', G && 'arrow-open']}}">▼</text></view><view wx:if="{{I}}" class="category-content data-v-41b5703e"><view wx:for="{{J}}" wx:for-item="template" wx:key="c" class="template-item data-v-41b5703e" bindtap="{{template.d}}"><text class="template-title data-v-41b5703e">{{template.a}}</text><text class="template-preview data-v-41b5703e">{{template.b}}</text></view></view></view><view class="category-group data-v-41b5703e"><view class="category-header data-v-41b5703e" bindtap="{{L}}"><text class="category-name data-v-41b5703e">📖 回忆类</text><text class="{{['category-arrow', 'data-v-41b5703e', K && 'arrow-open']}}">▼</text></view><view wx:if="{{M}}" class="category-content data-v-41b5703e"><view wx:for="{{N}}" wx:for-item="template" wx:key="c" class="template-item data-v-41b5703e" bindtap="{{template.d}}"><text class="template-title data-v-41b5703e">{{template.a}}</text><text class="template-preview data-v-41b5703e">{{template.b}}</text></view></view></view></view></view><view class="form-section data-v-41b5703e"><view class="form-label data-v-41b5703e">输入文本最多100字</view><block wx:if="{{r0}}"><textarea class="textarea data-v-41b5703e" placeholder="请输入要合成的文本..." maxlength="100" value="{{O}}" bindinput="{{P}}"/></block><view class="{{['char-count', 'data-v-41b5703e', R && 'char-warning']}}">{{Q}} / 100 </view></view><button class="primary-btn data-v-41b5703e" disabled="{{T}}" bindtap="{{U}}">{{S}}</button><text class="ai-disclaimer data-v-41b5703e">本服务为AI生成内容结果仅供参考</text><view wx:if="{{V}}" class="audio-result data-v-41b5703e"><view class="result-title data-v-41b5703e">✅ 合成成功!</view><audio class="data-v-41b5703e" src="{{W}}" controls style="width:100%"></audio></view></view><view wx:if="{{X}}" class="tab-content data-v-41b5703e"><view class="section-title data-v-41b5703e">💬 实时语音对话</view><view class="memory-card data-v-41b5703e"><view class="card-header data-v-41b5703e"><text class="card-title data-v-41b5703e">💭 记忆设定</text><text class="card-hint data-v-41b5703e">填写越详细AI模拟越真实</text></view><view class="memory-form data-v-41b5703e"><view class="form-item data-v-41b5703e"><view class="item-label data-v-41b5703e"><text class="label-text data-v-41b5703e">身份</text><text class="label-required data-v-41b5703e">*</text></view><input class="form-input data-v-41b5703e" placeholder="例如:我的母亲" maxlength="50" value="{{Y}}" bindinput="{{Z}}"/></view><view class="form-item data-v-41b5703e"><view class="item-label data-v-41b5703e"><text class="label-text data-v-41b5703e">基础信息</text></view><block wx:if="{{r0}}"><textarea class="form-textarea data-v-41b5703e" placeholder="例如:退休教师,喜欢养花,做饭很拿手..." maxlength="200" value="{{aa}}" bindinput="{{ab}}"/></block><text class="form-count data-v-41b5703e">{{ac}}/200</text></view><button class="apply-btn data-v-41b5703e" bindtap="{{ad}}"><text class="btn-icon data-v-41b5703e">✓</text><text class="data-v-41b5703e">应用设定</text></button></view></view><view class="form-section data-v-41b5703e"><view class="form-label data-v-41b5703e">选择回复音色</view><picker class="data-v-41b5703e" mode="selector" range="{{af}}" range-key="label" bindchange="{{ag}}"><view class="picker-large data-v-41b5703e">{{ae}}</view></picker><picker class="data-v-41b5703e" mode="selector" range="{{ai}}" range-key="voice_name" bindchange="{{aj}}"><view class="picker-large data-v-41b5703e">{{ah}}</view></picker></view><view wx:if="{{ak}}" class="form-section data-v-41b5703e"><view class="form-label data-v-41b5703e">方言</view><picker class="data-v-41b5703e" mode="selector" range="{{am}}" bindchange="{{an}}"><view class="picker-large data-v-41b5703e">{{al}}</view></picker></view><view wx:if="{{ao}}" class="form-section data-v-41b5703e"><view class="form-label data-v-41b5703e">语言提示(可选)</view><picker class="data-v-41b5703e" mode="selector" range="{{aq}}" bindchange="{{ar}}"><view class="picker-large data-v-41b5703e">{{ap}}</view></picker><view class="hint-text data-v-41b5703e">💡 仅处理第一个值;不设置不生效</view></view><view class="record-buttons data-v-41b5703e"><view wx:if="{{as}}" class="record-btn start data-v-41b5703e" bindtap="{{at}}"> 🎤 开始说话 </view><view wx:if="{{av}}" class="record-btn stop data-v-41b5703e" bindtap="{{aw}}"> ⏹️ 停止录音 </view><view wx:if="{{ax}}" class="record-btn processing data-v-41b5703e"> ⏳ 处理中... </view><view class="{{['small-btn', 'data-v-41b5703e', az && 'disabled']}}" bindtap="{{aA}}"><image src="{{ay}}" class="delete-icon data-v-41b5703e" mode="aspectFit" style="width:44upx;height:44upx"></image></view></view><view wx:if="{{aB}}" class="result-box user data-v-41b5703e"><view class="result-label data-v-41b5703e">🎤 您说:</view><text class="data-v-41b5703e">{{aC}}</text></view><view wx:if="{{aD}}" class="result-box ai data-v-41b5703e"><view class="result-label data-v-41b5703e">💬 AI回复</view><text class="data-v-41b5703e">{{aE}}</text></view><view wx:if="{{aF}}" class="result-box audio data-v-41b5703e"><view class="result-label data-v-41b5703e">🔊 语音回复:</view><audio class="data-v-41b5703e" src="{{aG}}" controls style="width:100%"></audio></view></view><view wx:if="{{aH}}" class="tab-content data-v-41b5703e"><view class="list-header data-v-41b5703e"><view class="section-title data-v-41b5703e">我的音色</view><button class="small-btn refresh-btn data-v-41b5703e" disabled="{{aJ}}" bindtap="{{aK}}">{{aI}}</button></view><view wx:if="{{aL}}" class="loading data-v-41b5703e">⏳ 加载中...</view><view wx:elif="{{aM}}" class="empty data-v-41b5703e">🎤 暂无音色</view><view wx:else class="data-v-41b5703e"><view wx:for="{{aN}}" wx:for-item="voice" wx:key="g" class="voice-item data-v-41b5703e"><view class="voice-info data-v-41b5703e"><text class="voice-name data-v-41b5703e">{{voice.a}} <text wx:if="{{voice.b}}" class="public-badge data-v-41b5703e">公共</text></text><text class="voice-detail data-v-41b5703e">{{voice.c}}</text></view><button wx:if="{{voice.d}}" class="delete-btn data-v-41b5703e" bindtap="{{voice.f}}"><image src="{{voice.e}}" class="delete-icon data-v-41b5703e" mode="aspectFit"></image></button></view></view></view></scroll-view><payment-modal wx:if="{{aR}}" class="r data-v-41b5703e" u-r="paymentModal" bindclose="{{aP}}" bindconfirm="{{aQ}}" u-i="41b5703e-0" bind:__l="__l" u-p="{{aR}}"/></view>