fix(eslint): reduce warnings in GitHub Actions deployment
- Disable formatting rules (handled by Prettier) - Relaxed strict Vue/JS rules for demo code compatibility - Fix syntax errors in ApiPlayground and VoiceCloningDemo - Fix duplicate else-if condition in ApiPlayground - Fix Promise executor async pattern in AutoregressiveAudioDemo - Add TypeScript file support to ESLint config Warnings reduced from 295 to 251 problems. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
+36
-9
@@ -18,15 +18,26 @@
|
||||
:class="{ active: selectedLang === lang.name }"
|
||||
@click="selectedLang = lang.name"
|
||||
>
|
||||
<div class="lang-icon">{{ lang.icon }}</div>
|
||||
<div class="lang-name">{{ lang.name }}</div>
|
||||
<div class="lang-metaphor">{{ lang.metaphor }}</div>
|
||||
<div class="lang-description">{{ lang.description }}</div>
|
||||
<div class="lang-icon">
|
||||
{{ lang.icon }}
|
||||
</div>
|
||||
<div class="lang-name">
|
||||
{{ lang.name }}
|
||||
</div>
|
||||
<div class="lang-metaphor">
|
||||
{{ lang.metaphor }}
|
||||
</div>
|
||||
<div class="lang-description">
|
||||
{{ lang.description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Transition name="fade">
|
||||
<div v-if="selectedLang" class="lang-detail">
|
||||
<div
|
||||
v-if="selectedLang"
|
||||
class="lang-detail"
|
||||
>
|
||||
<div class="detail-header">
|
||||
<span class="detail-icon">{{ getCurrentLang().icon }}</span>
|
||||
<span class="detail-title">{{ getCurrentLang().name }}</span>
|
||||
@@ -36,7 +47,10 @@
|
||||
<div class="detail-section">
|
||||
<h6>🎯 适用场景</h6>
|
||||
<ul>
|
||||
<li v-for="scenario in getCurrentLang().scenarios" :key="scenario">
|
||||
<li
|
||||
v-for="scenario in getCurrentLang().scenarios"
|
||||
:key="scenario"
|
||||
>
|
||||
{{ scenario }}
|
||||
</li>
|
||||
</ul>
|
||||
@@ -45,21 +59,34 @@
|
||||
<div class="detail-section">
|
||||
<h6>✅ 优势</h6>
|
||||
<ul>
|
||||
<li v-for="pro in getCurrentLang().pros" :key="pro">{{ pro }}</li>
|
||||
<li
|
||||
v-for="pro in getCurrentLang().pros"
|
||||
:key="pro"
|
||||
>
|
||||
{{ pro }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="detail-section">
|
||||
<h6>❌ 劣势</h6>
|
||||
<ul>
|
||||
<li v-for="con in getCurrentLang().cons" :key="con">{{ con }}</li>
|
||||
<li
|
||||
v-for="con in getCurrentLang().cons"
|
||||
:key="con"
|
||||
>
|
||||
{{ con }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Transition>
|
||||
|
||||
<div v-if="!selectedLang" class="hint-text">
|
||||
<div
|
||||
v-if="!selectedLang"
|
||||
class="hint-text"
|
||||
>
|
||||
👆 点击上方任意语言,查看详细说明
|
||||
</div>
|
||||
|
||||
|
||||
+41
-10
@@ -18,15 +18,30 @@
|
||||
:class="{ active: selectedModel === model.name }"
|
||||
@click="selectedModel = model.name"
|
||||
>
|
||||
<div class="model-icon">{{ model.icon }}</div>
|
||||
<div class="model-name">{{ model.name }}</div>
|
||||
<div class="model-lang">{{ model.language }}</div>
|
||||
<div class="model-desc">{{ model.description }}</div>
|
||||
<div class="model-icon">
|
||||
{{ model.icon }}
|
||||
</div>
|
||||
<div class="model-name">
|
||||
{{ model.name }}
|
||||
</div>
|
||||
<div class="model-lang">
|
||||
{{ model.language }}
|
||||
</div>
|
||||
<div class="model-desc">
|
||||
{{ model.description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Transition name="fade" mode="out-in">
|
||||
<div v-if="selectedModel" :key="selectedModel" class="model-detail">
|
||||
<Transition
|
||||
name="fade"
|
||||
mode="out-in"
|
||||
>
|
||||
<div
|
||||
v-if="selectedModel"
|
||||
:key="selectedModel"
|
||||
class="model-detail"
|
||||
>
|
||||
<div class="detail-header">
|
||||
<h6>{{ getModelInfo().title }}</h6>
|
||||
</div>
|
||||
@@ -35,13 +50,19 @@
|
||||
<div class="stat-item">
|
||||
<span class="stat-label">并发能力</span>
|
||||
<div class="stat-bar">
|
||||
<div class="stat-fill" :style="{ width: getModelInfo().concurrency + '%' }"></div>
|
||||
<div
|
||||
class="stat-fill"
|
||||
:style="{ width: getModelInfo().concurrency + '%' }"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-label">内存开销</span>
|
||||
<div class="stat-bar">
|
||||
<div class="stat-fill memory" :style="{ width: getModelInfo().memory + '%' }"></div>
|
||||
<div
|
||||
class="stat-fill memory"
|
||||
:style="{ width: getModelInfo().memory + '%' }"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -54,13 +75,23 @@
|
||||
<div class="pros">
|
||||
<strong>✅ 优势</strong>
|
||||
<ul>
|
||||
<li v-for="pro in getModelInfo().pros" :key="pro">{{ pro }}</li>
|
||||
<li
|
||||
v-for="pro in getModelInfo().pros"
|
||||
:key="pro"
|
||||
>
|
||||
{{ pro }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="cons">
|
||||
<strong>❌ 劣势</strong>
|
||||
<ul>
|
||||
<li v-for="con in getModelInfo().cons" :key="con">{{ con }}</li>
|
||||
<li
|
||||
v-for="con in getModelInfo().cons"
|
||||
:key="con"
|
||||
>
|
||||
{{ con }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+12
-4
@@ -13,9 +13,15 @@
|
||||
<div class="task-selector">
|
||||
<label>选择任务:</label>
|
||||
<select v-model="selectedTask">
|
||||
<option value="rest">REST API</option>
|
||||
<option value="web">Web 应用</option>
|
||||
<option value="script">数据处理脚本</option>
|
||||
<option value="rest">
|
||||
REST API
|
||||
</option>
|
||||
<option value="web">
|
||||
Web 应用
|
||||
</option>
|
||||
<option value="script">
|
||||
数据处理脚本
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -29,7 +35,9 @@
|
||||
:key="lang.name"
|
||||
class="bar-wrapper"
|
||||
>
|
||||
<div class="bar-label">{{ lang.name }}</div>
|
||||
<div class="bar-label">
|
||||
{{ lang.name }}
|
||||
</div>
|
||||
<div class="bar-track">
|
||||
<div
|
||||
class="bar-fill"
|
||||
|
||||
+6
-2
@@ -11,7 +11,9 @@
|
||||
</div>
|
||||
|
||||
<div class="dimension-selector">
|
||||
<div class="dimension-label">选择比较维度:</div>
|
||||
<div class="dimension-label">
|
||||
选择比较维度:
|
||||
</div>
|
||||
<div class="dimension-buttons">
|
||||
<button
|
||||
v-for="dim in dimensions"
|
||||
@@ -37,7 +39,9 @@
|
||||
:key="lang.name"
|
||||
class="bar-wrapper"
|
||||
>
|
||||
<div class="bar-label">{{ lang.name }}</div>
|
||||
<div class="bar-label">
|
||||
{{ lang.name }}
|
||||
</div>
|
||||
<div class="bar-track">
|
||||
<div
|
||||
class="bar-fill"
|
||||
|
||||
+9
-3
@@ -16,9 +16,15 @@
|
||||
:key="eco.name"
|
||||
class="eco-card"
|
||||
>
|
||||
<div class="eco-icon">{{ eco.icon }}</div>
|
||||
<div class="eco-name">{{ eco.name }}</div>
|
||||
<div class="eco-lang">{{ eco.language }}</div>
|
||||
<div class="eco-icon">
|
||||
{{ eco.icon }}
|
||||
</div>
|
||||
<div class="eco-name">
|
||||
{{ eco.name }}
|
||||
</div>
|
||||
<div class="eco-lang">
|
||||
{{ eco.language }}
|
||||
</div>
|
||||
<div class="eco-stats">
|
||||
<div class="stat">
|
||||
<span class="stat-label">包数量</span>
|
||||
|
||||
+16
-4
@@ -17,7 +17,9 @@
|
||||
class="question-card"
|
||||
:class="{ active: currentQuestion === index }"
|
||||
>
|
||||
<div class="question-number">{{ index + 1 }}</div>
|
||||
<div class="question-number">
|
||||
{{ index + 1 }}
|
||||
</div>
|
||||
<div class="question-content">
|
||||
<h6>{{ question.text }}</h6>
|
||||
<div class="options">
|
||||
@@ -36,19 +38,29 @@
|
||||
</div>
|
||||
|
||||
<Transition name="fade">
|
||||
<div v-if="recommendation" class="recommendation-panel">
|
||||
<div
|
||||
v-if="recommendation"
|
||||
class="recommendation-panel"
|
||||
>
|
||||
<div class="rec-header">
|
||||
<span class="rec-icon">{{ recommendation.icon }}</span>
|
||||
<div class="rec-title">
|
||||
<h6>推荐语言</h6>
|
||||
<div class="rec-name">{{ recommendation.language }}</div>
|
||||
<div class="rec-name">
|
||||
{{ recommendation.language }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rec-reason">
|
||||
<strong>选择理由:</strong>
|
||||
<p>{{ recommendation.reason }}</p>
|
||||
</div>
|
||||
<button class="reset-btn" @click="reset">🔄 重新选择</button>
|
||||
<button
|
||||
class="reset-btn"
|
||||
@click="reset"
|
||||
>
|
||||
🔄 重新选择
|
||||
</button>
|
||||
</div>
|
||||
</Transition>
|
||||
|
||||
|
||||
+9
-3
@@ -16,9 +16,15 @@
|
||||
:key="model.name"
|
||||
class="model-card"
|
||||
>
|
||||
<div class="model-icon">{{ model.icon }}</div>
|
||||
<div class="model-name">{{ model.name }}</div>
|
||||
<div class="model-desc">{{ model.description }}</div>
|
||||
<div class="model-icon">
|
||||
{{ model.icon }}
|
||||
</div>
|
||||
<div class="model-name">
|
||||
{{ model.name }}
|
||||
</div>
|
||||
<div class="model-desc">
|
||||
{{ model.description }}
|
||||
</div>
|
||||
<div class="model-languages">
|
||||
<span
|
||||
v-for="lang in model.languages"
|
||||
|
||||
+17
-4
@@ -13,13 +13,24 @@
|
||||
<div class="control-panel">
|
||||
<div class="scenario-selector">
|
||||
<label>选择赛道:</label>
|
||||
<select v-model="selectedScenario" @change="runBenchmark">
|
||||
<option v-for="scenario in scenarios" :key="scenario.id" :value="scenario.id">
|
||||
<select
|
||||
v-model="selectedScenario"
|
||||
@change="runBenchmark"
|
||||
>
|
||||
<option
|
||||
v-for="scenario in scenarios"
|
||||
:key="scenario.id"
|
||||
:value="scenario.id"
|
||||
>
|
||||
{{ scenario.label }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<button class="run-btn" @click="runBenchmark" :disabled="isRunning">
|
||||
<button
|
||||
class="run-btn"
|
||||
:disabled="isRunning"
|
||||
@click="runBenchmark"
|
||||
>
|
||||
{{ isRunning ? '测试中...' : '▶ 开始测试' }}
|
||||
</button>
|
||||
</div>
|
||||
@@ -34,7 +45,9 @@
|
||||
:key="result.language"
|
||||
class="bar-wrapper"
|
||||
>
|
||||
<div class="bar-label">{{ result.language }}</div>
|
||||
<div class="bar-label">
|
||||
{{ result.language }}
|
||||
</div>
|
||||
<div class="bar-track">
|
||||
<div
|
||||
class="bar-fill"
|
||||
|
||||
+14
-6
@@ -23,16 +23,24 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<Transition name="fade" mode="out-in">
|
||||
<div :key="selectedLang" class="code-display">
|
||||
<Transition
|
||||
name="fade"
|
||||
mode="out-in"
|
||||
>
|
||||
<div
|
||||
:key="selectedLang"
|
||||
class="code-display"
|
||||
>
|
||||
<div class="code-window">
|
||||
<div class="window-header">
|
||||
<div class="window-controls">
|
||||
<span class="control red"></span>
|
||||
<span class="control yellow"></span>
|
||||
<span class="control green"></span>
|
||||
<span class="control red" />
|
||||
<span class="control yellow" />
|
||||
<span class="control green" />
|
||||
</div>
|
||||
<div class="file-name">
|
||||
{{ getCode(selectedLang).filename }}
|
||||
</div>
|
||||
<div class="file-name">{{ getCode(selectedLang).filename }}</div>
|
||||
</div>
|
||||
<pre class="code-content">{{ getCode(selectedLang).code }}</pre>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user