完善二维码池 OCR 配置与识别
This commit is contained in:
@@ -105,6 +105,23 @@ const listingGroupWelcomeConfig = computed(
|
||||
const renterRetentionConfig = computed(
|
||||
() => configs.value.find(item => item.key === 'chat.renter_retention_days_after_order_end') || null
|
||||
)
|
||||
const paddleOcrTokenConfig = computed(() =>
|
||||
systemConfigByKey(
|
||||
'integration.paddle_ocr_token',
|
||||
'',
|
||||
'PaddleOCR API Token,用于二维码群名自动识别'
|
||||
)
|
||||
)
|
||||
const paddleOcrJobUrlConfig = computed(() =>
|
||||
systemConfigByKey(
|
||||
'integration.paddle_ocr_job_url',
|
||||
'https://paddleocr.aistudio-app.com/api/v2/ocr/jobs',
|
||||
'PaddleOCR 异步任务接口地址'
|
||||
)
|
||||
)
|
||||
const paddleOcrModelConfig = computed(() =>
|
||||
systemConfigByKey('integration.paddle_ocr_model', 'PaddleOCR-VL-1.6', 'PaddleOCR 识别模型')
|
||||
)
|
||||
|
||||
const regularConfigs = computed(() =>
|
||||
configs.value.filter(
|
||||
@@ -118,7 +135,10 @@ const regularConfigs = computed(() =>
|
||||
item.key !== 'profile.post_rental_notice' &&
|
||||
item.key !== 'chat.auto_welcome_message' &&
|
||||
item.key !== 'chat.listing_group_welcome' &&
|
||||
item.key !== 'chat.renter_retention_days_after_order_end'
|
||||
item.key !== 'chat.renter_retention_days_after_order_end' &&
|
||||
item.key !== 'integration.paddle_ocr_token' &&
|
||||
item.key !== 'integration.paddle_ocr_job_url' &&
|
||||
item.key !== 'integration.paddle_ocr_model'
|
||||
)
|
||||
)
|
||||
|
||||
@@ -188,6 +208,19 @@ async function loadConfigs() {
|
||||
}
|
||||
}
|
||||
|
||||
function systemConfigByKey(key: string, fallbackValue: string, description: string): SystemConfig {
|
||||
const existing = configs.value.find(item => item.key === key)
|
||||
if (existing) return existing
|
||||
return {
|
||||
id: 0,
|
||||
key,
|
||||
value: fallbackValue,
|
||||
description,
|
||||
created_at: '',
|
||||
updated_at: '',
|
||||
}
|
||||
}
|
||||
|
||||
function openEdit(row: SystemConfig) {
|
||||
currentEditingConfig.value = row
|
||||
if (row.key === 'listing.publish_options') {
|
||||
@@ -309,6 +342,9 @@ function formatHomeConfigStatus(row: SystemConfig | null, fallback: string) {
|
||||
}
|
||||
|
||||
function formatConfigValue(row: SystemConfig) {
|
||||
if (row.key.includes('token')) {
|
||||
return row.value.trim() ? '已配置' : '未配置'
|
||||
}
|
||||
const trimmed = row.value.trim()
|
||||
if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
|
||||
return 'JSON 配置'
|
||||
@@ -599,6 +635,41 @@ function formatConfigValue(row: SystemConfig) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="publish-config-panel">
|
||||
<div class="publish-config-main">
|
||||
<div>
|
||||
<p class="eyebrow">PaddleOCR</p>
|
||||
<h2>二维码群名识别配置</h2>
|
||||
<span>配置企业微信群二维码上传时使用的 OCR 识别接口,保存后无需重新构建前端。</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="publish-stat-grid home-stat-grid">
|
||||
<div class="publish-stat">
|
||||
<strong>{{ paddleOcrTokenConfig.value.trim() ? '已配置' : '未配置' }}</strong>
|
||||
<span>API Token</span>
|
||||
<el-button size="small" @click="openEdit(paddleOcrTokenConfig)">编辑</el-button>
|
||||
</div>
|
||||
<div class="publish-stat">
|
||||
<strong>接口</strong>
|
||||
<span>{{ paddleOcrJobUrlConfig.value || '未配置' }}</span>
|
||||
<el-button size="small" @click="openEdit(paddleOcrJobUrlConfig)">编辑</el-button>
|
||||
</div>
|
||||
<div class="publish-stat">
|
||||
<strong>{{ paddleOcrModelConfig.value || '未配置' }}</strong>
|
||||
<span>识别模型</span>
|
||||
<el-button size="small" @click="openEdit(paddleOcrModelConfig)">编辑</el-button>
|
||||
</div>
|
||||
<div class="publish-stat">
|
||||
<strong>直连</strong>
|
||||
<span>二维码池上传时调用</span>
|
||||
</div>
|
||||
<div class="publish-stat">
|
||||
<strong>更新</strong>
|
||||
<span>{{ formatHomeConfigStatus(paddleOcrTokenConfig, '未初始化') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<el-table v-loading="loading" class="table-panel" :data="regularConfigs">
|
||||
<el-table-column prop="key" label="配置项" min-width="260" />
|
||||
<el-table-column label="当前值" min-width="180" show-overflow-tooltip>
|
||||
@@ -747,6 +818,7 @@ function formatConfigValue(row: SystemConfig) {
|
||||
.config-value {
|
||||
color: #4b5563;
|
||||
font-size: 13px;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
/* 按钮文字清晰度优化 */
|
||||
|
||||
Reference in New Issue
Block a user