43 lines
2.0 KiB
Plaintext
43 lines
2.0 KiB
Plaintext
<view class="container">
|
|
<view class="page-header">
|
|
<view class="page-title">通用工具</view>
|
|
<view class="page-subtitle">动态参数与执行结果预览</view>
|
|
</view>
|
|
<view class="card">
|
|
<view class="card-title">{{moduleTitle}}</view>
|
|
<picker mode="selector" range="{{ops}}" range-key="name" value="{{opIndex}}" bindchange="onOpChange">
|
|
<view class="input">{{ops[opIndex].name}}</view>
|
|
</picker>
|
|
</view>
|
|
|
|
<view class="card" wx:if="{{ops.length}}">
|
|
<view class="card-title">参数</view>
|
|
<block wx:for="{{ops[opIndex].fields}}" wx:key="key">
|
|
<view class="section-title">{{item.label}}</view>
|
|
<textarea wx:if="{{item.type === 'textarea' || item.type === 'json'}}" class="textarea" data-key="{{item.key}}" bindinput="onInput" placeholder="请输入{{item.label}}" value="{{formData[item.key]}}"></textarea>
|
|
<input wx:elif="{{item.type === 'number'}}" class="input" data-key="{{item.key}}" bindinput="onInput" type="number" placeholder="请输入{{item.label}}" value="{{formData[item.key]}}" />
|
|
<input wx:elif="{{item.type === 'text'}}" class="input" data-key="{{item.key}}" bindinput="onInput" placeholder="请输入{{item.label}}" value="{{formData[item.key]}}" />
|
|
</block>
|
|
<view class="row action-row">
|
|
<button class="btn" bindtap="runOp">执行</button>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card result-card" wx:if="{{resultText}}">
|
|
<view class="result-header">
|
|
<view class="result-title">执行结果</view>
|
|
<view class="badge">原始数据</view>
|
|
</view>
|
|
<view class="result-hint">已为你保留完整响应</view>
|
|
<view wx:if="{{resultTextCards.length}}" class="list">
|
|
<view wx:for="{{resultTextCards}}" wx:key="label" class="card card--inner list-item">
|
|
<view class="row" style="justify-content: space-between;">
|
|
<view class="module-title">{{item.label}}</view>
|
|
<view class="badge">{{item.value}}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="result">{{resultText}}</view>
|
|
</view>
|
|
</view>
|