commit
cc8b60a677
@ -8,7 +8,7 @@ _CUSTOMER_MODEL_COLUMNS = """
|
||||
id, llmid, provider, model_name, display_name, model_type,
|
||||
context_length, input_token_price, output_token_price,
|
||||
cache_hit_input_price, billing_method, billing_unit,
|
||||
capabilities, limitations, highlights, description, sort_order
|
||||
capabilities, limitations, highlights, description, sort_order,is_active, experience
|
||||
"""
|
||||
|
||||
|
||||
|
||||
@ -181,14 +181,6 @@ print(response.json())`
|
||||
return match ? match[0] : ''
|
||||
},
|
||||
goBack() {
|
||||
if (this.$route.query.from === 'tokenMarket') {
|
||||
if (this.$route.query.single === '1') {
|
||||
this.$router.push({ path: '/tokenMarket', query: { category: 'TOKEN市集', single: '1' } })
|
||||
return
|
||||
}
|
||||
this.$router.push({ path: '/product', query: { category: 'TOKEN市集' } })
|
||||
return
|
||||
}
|
||||
this.$router.back()
|
||||
}
|
||||
}
|
||||
@ -224,7 +216,8 @@ print(response.json())`
|
||||
}
|
||||
|
||||
.doc-container {
|
||||
width: 920px;
|
||||
width: 1180px;
|
||||
max-width: calc(100vw - 48px);
|
||||
margin: 28px auto 0;
|
||||
}
|
||||
|
||||
|
||||
@ -192,12 +192,8 @@ export default {
|
||||
this.clearStreamFlushTimer()
|
||||
},
|
||||
methods: {
|
||||
// 返回上一页;从 TOKEN 市集进入时固定回到 TOKEN 市集分类。
|
||||
// 返回浏览器历史记录中的上一页。
|
||||
goBack() {
|
||||
if (this.$route.query.from === 'tokenMarket') {
|
||||
this.$router.push({ path: '/product', query: { category: 'TOKEN市集' } })
|
||||
return
|
||||
}
|
||||
this.$router.back()
|
||||
},
|
||||
|
||||
|
||||
@ -41,7 +41,14 @@
|
||||
</div>
|
||||
<div class="version-actions">
|
||||
<el-button size="small" @click="goApiDocument">API文档</el-button>
|
||||
<el-button size="small" type="primary" @click="goExperience">体验</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
:type="canExperience ? 'primary' : 'info'"
|
||||
:disabled="!canExperience"
|
||||
@click="goExperience"
|
||||
>
|
||||
体验
|
||||
</el-button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@ -124,7 +131,8 @@ export default {
|
||||
inputPrice: '0.0021',
|
||||
outputPrice: '0.0084',
|
||||
cacheHitInputPrice: '',
|
||||
priceUnit: '元/千Tokens'
|
||||
priceUnit: '元/千Tokens',
|
||||
experience: 1
|
||||
},
|
||||
capabilityList: [
|
||||
{ label: '接口类型', value: '/v2/chat/completions' },
|
||||
@ -147,6 +155,11 @@ export default {
|
||||
]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
canExperience() {
|
||||
return Number(this.modelInfo.experience) === 1
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.loadModelDetail()
|
||||
},
|
||||
@ -180,7 +193,8 @@ export default {
|
||||
inputPrice: this.formatPrice(model.input_token_price),
|
||||
outputPrice: this.formatPrice(model.output_token_price),
|
||||
cacheHitInputPrice: this.formatPrice(model.cache_hit_input_price),
|
||||
priceUnit: this.getPriceUnit(model.billing_unit)
|
||||
priceUnit: this.getPriceUnit(model.billing_unit),
|
||||
experience: this.normalizeExperience(model.experience)
|
||||
}
|
||||
this.capabilityList = this.parseInfoList(model.capabilities, [
|
||||
{ label: '接口类型', value: '-' },
|
||||
@ -271,6 +285,9 @@ export default {
|
||||
hasValue(value) {
|
||||
return value !== undefined && value !== null && value !== '' && value !== '-'
|
||||
},
|
||||
normalizeExperience(value) {
|
||||
return Number(value) === 1 ? 1 : 0
|
||||
},
|
||||
goTokenMarket() {
|
||||
if (this.$route.query.single === '1') {
|
||||
this.$router.push({ path: '/tokenMarket', query: { category: 'TOKEN市集', single: '1' } })
|
||||
@ -279,10 +296,6 @@ export default {
|
||||
this.$router.push({ path: '/product', query: { category: 'TOKEN市集' } })
|
||||
},
|
||||
goBack() {
|
||||
if (this.$route.query.from === 'tokenMarket') {
|
||||
this.goTokenMarket()
|
||||
return
|
||||
}
|
||||
this.$router.back()
|
||||
},
|
||||
buildModelQuery() {
|
||||
@ -298,6 +311,7 @@ export default {
|
||||
this.$router.push({ name: 'modelApiDocument', query: this.buildModelQuery() })
|
||||
},
|
||||
goExperience() {
|
||||
if (!this.canExperience) return
|
||||
this.$router.push({ name: 'modelExperience', query: this.buildModelQuery() })
|
||||
}
|
||||
}
|
||||
@ -354,7 +368,8 @@ export default {
|
||||
}
|
||||
|
||||
.detail-container {
|
||||
width: 920px;
|
||||
width: 1180px;
|
||||
max-width: calc(100vw - 48px);
|
||||
margin: 28px auto 0;
|
||||
}
|
||||
|
||||
|
||||
@ -139,7 +139,12 @@
|
||||
<i class="el-icon-document"></i>
|
||||
API文档
|
||||
</button>
|
||||
<button v-if="index === 0" class="experience" @click.stop="goModelExperience(product)">
|
||||
<button
|
||||
class="experience"
|
||||
:class="{ disabled: !isModelExperienceEnabled(product) }"
|
||||
:disabled="!isModelExperienceEnabled(product)"
|
||||
@click.stop="goModelExperience(product)"
|
||||
>
|
||||
<i class="el-icon-video-play"></i>
|
||||
体验
|
||||
</button>
|
||||
@ -354,6 +359,11 @@ export default {
|
||||
return provider ? provider.slice(0, 1) : 'M';
|
||||
},
|
||||
|
||||
// experience 为 1 才允许模型体验,0 时按钮置灰禁用。
|
||||
isModelExperienceEnabled(model) {
|
||||
return Number(model && model.experience) === 1;
|
||||
},
|
||||
|
||||
// TOKEN 市集卡片点击:进入模型详情页。
|
||||
goModelDetail(model) {
|
||||
this.cacheTokenMarketModel(model);
|
||||
@ -387,6 +397,7 @@ export default {
|
||||
|
||||
// TOKEN 市集体验按钮:进入模型体验页。
|
||||
goModelExperience(model) {
|
||||
if (!this.isModelExperienceEnabled(model)) return;
|
||||
if (!this.loginState) {
|
||||
this.$message.warning('请先登录再进行体验哦')
|
||||
return;
|
||||
@ -1418,6 +1429,20 @@ export default {
|
||||
border-color: #a5b4fc;
|
||||
background: #eef2ff;
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&:disabled {
|
||||
color: #98a2b3;
|
||||
cursor: not-allowed;
|
||||
background: #f3f4f6;
|
||||
border-color: #e5e7eb;
|
||||
|
||||
&:hover {
|
||||
color: #98a2b3;
|
||||
background: #f3f4f6;
|
||||
border-color: #e5e7eb;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user