chore: 合并前端修复并调整 Docker 镜像源

This commit is contained in:
yml2213
2026-05-21 12:26:45 +08:00
parent 5474d77799
commit e3518c791f
27 changed files with 54 additions and 72 deletions
@@ -1,4 +1,4 @@
import type { AdminFulfillmentBindingConfigItem, AdminObservedProductItem } from '@/types/admin'
import type { AdminObservedProductItem } from '@/types/admin'
export type EditableBinding = {
id: string
@@ -3,7 +3,6 @@ import { reactive, ref } from 'vue'
import { lookupAdminFulfillmentBindingOrder } from '@/services/admin'
import type { AdminFulfillmentLookupItem, AdminFulfillmentLookupResult } from '@/types/admin'
import type { ImportableProductCandidate } from './types'
import type { useFulfillmentBindings } from './useFulfillmentBindings'
export function useFulfillmentBindingsLookup(
@@ -68,7 +68,7 @@ const emit = defineEmits<{
</div>
<div class="section-action-group">
<el-button round @click="emit('expandAll')">全部展开</el-button>
<el-checkbox :model-value="enabled" @update:model-value="emit('update:enabled', $event)"
<el-checkbox :model-value="enabled" @update:model-value="emit('update:enabled', Boolean($event))"
>启用整条配置</el-checkbox
>
<el-button round @click="emit('collapseReady')">收起已完成</el-button>
@@ -528,6 +528,7 @@ export function useKuaishouCloudConfig() {
// consume shops
getKuaishouConsumeShopOptions,
findKuaishouConsumeShop,
getDefaultKuaishouConsumeShop,
formatKuaishouConsumeShopOption,
handleKuaishouConsumeShopSelected,
// collapse
@@ -1,6 +1,6 @@
import { computed, nextTick, reactive, ref } from 'vue'
import { computed, reactive, ref } from 'vue'
import { showError, showSuccess } from '@/lib/feedback'
import { showSuccess } from '@/lib/feedback'
import { fetchAdminNinetyoneOrders } from '@/services/admin'
import type { AdminNinetyoneOrderItem } from '@/types/admin'
@@ -39,7 +39,7 @@ export function useKuaishouCloudNinetyone(
function createItemFromNinetyoneOrder(item: AdminNinetyoneOrderItem): EditableItem {
const productNo = String(item.productNo || '').trim()
const productName = String(item.productName || productNo).trim()
const defaultShop = config.getDefaultKuaishouConsumeShop ? config.findKuaishouConsumeShop() : null
const defaultShop = config.getDefaultKuaishouConsumeShop()
const shopOpts = config.getKuaishouConsumeShopOptions()
const shop = defaultShop || (shopOpts.length > 0 ? shopOpts[0] : null)
return {
@@ -32,7 +32,6 @@ const {
singleDisplayValue,
bulkText,
skuSuggestionsLoading,
inventorySkuSuggestions,
entrySkuSuggestions,
// actions
loadInventoryItems,
@@ -50,7 +49,6 @@ const {
formatInventoryStatus,
getGroupSuggestion,
// utils
hasAdminRole,
formatAdminDateTime,
} = useAdminInventory()
</script>
@@ -6,8 +6,6 @@ import {
fetchAdminInventoryItems,
fetchAdminInventorySkuSuggestions,
importAdminInventoryItems,
invalidateAdminInventoryItem,
releaseAdminInventoryItem,
} from '@/services/admin'
import type {
AdminInventoryItemListItem,
@@ -190,6 +190,7 @@ const taskDetailLink = computed(() =>
:copy-screenshot="copyScreenshot"
:download-screenshot="downloadScreenshot"
:open-preview="() => (screenshotPreviewVisible = true)"
:screenshot-empty-title="screenshotEmptyTitle"
/>
<TencentResultPanel
@@ -9,6 +9,7 @@ type Props = {
copyScreenshot: () => void
downloadScreenshot: () => void
openPreview: () => void
screenshotEmptyTitle?: string
}
defineProps<Props>()
@@ -1,7 +1,7 @@
<script setup lang="ts">
type TaskDetail = {
taskNo?: string
taskId?: string
taskId?: string | number
status?: string
}
@@ -1,5 +1,5 @@
<script setup lang="ts">
import type { EditableKuaishouEticketShop } from '../composables/types'
import type { EditableKuaishouEticketShop } from '../../composables/types'
import type {
AdminKuaishouEticketConsumeResult,
AdminKuaishouEticketDetailResult,
@@ -195,7 +195,7 @@ function mapEditableShop(item: AdminAgisoShopConfigItem): EditableShop {
id: crypto.randomUUID(),
shopId: item.shopId,
shopName: item.shopName,
accessToken: item.accessToken,
accessToken: item.AccessToken,
enabled: item.enabled !== false,
messageTemplate: item.messageTemplate,
autoDeliveryMessageTemplate: item.autoDeliveryMessageTemplate,
@@ -1,4 +1,4 @@
import { ref, computed, type Ref } from 'vue'
import { ref, computed } from 'vue'
import { showError, showSuccess } from '@/lib/feedback'
import {
consumeAdminKuaishouEticket,
@@ -10,6 +10,7 @@ import type {
AdminKuaishouEticketConsumeResult,
AdminKuaishouEticketDetailResult,
AdminKuaishouEticketShopInfoResult,
AdminKuaishouEticketShopConfigItem,
AdminKuaishouEticketSourceConfig,
} from '@/types/admin'
import type { EditableKuaishouEticketShop } from './types'
@@ -68,11 +69,11 @@ export function useAdminKuaishouEticketPlatform() {
filePath: string
source: {
baseUrl?: string
shops: AdminKuaishouEticketShopInfoResult['shop'][]
shops: AdminKuaishouEticketShopConfigItem[]
}
}) {
kuaishouEticketFilePath.value = data.filePath
shopManager.setShopsFromConfig(data.source.shops as any)
shopManager.setShopsFromConfig(data.source.shops)
kuaishouEticketForm.value = {
baseUrl: data.source.baseUrl || 'https://s.kwaixiaodian.com',
selectedShopId: '',
@@ -106,7 +107,7 @@ export function useAdminKuaishouEticketPlatform() {
}
function addKuaishouEticketShop() {
const { newSelectedId } = shopManager.addKuaishouEticketShop(kuaishouEticketForm.value.selectedShopId)
const { newSelectedId } = shopManager.addKuaishouEticketShop()
setKuaishouEticketDebugShop(newSelectedId)
}
@@ -1,12 +1,12 @@
import { ref } from 'vue'
import type { EditableKuaishouEticketShop } from '../types'
import type { EditableKuaishouEticketShop } from './types'
import type { AdminKuaishouEticketShopConfigItem } from '@/types/admin'
export function useKuaishouEticketShopManager() {
const kuaishouEticketShops = ref<EditableKuaishouEticketShop[]>([])
const expandedKuaishouEticketShopIds = ref<string[]>([])
function addKuaishouEticketShop(selectedShopId: string) {
function addKuaishouEticketShop() {
const shop = createEmptyKuaishouEticketShop()
kuaishouEticketShops.value.unshift(shop)
return { shop, newSelectedId: shop.id }
@@ -1,18 +1,11 @@
import { computed, onBeforeUnmount, ref } from 'vue'
import { useRoute } from 'vue-router'
import { showError, showSuccess } from '@/lib/feedback'
import { showConfirm, showError, showSuccess } from '@/lib/feedback'
import {
closeAdminTask,
completeAdminTaskManualDispatch,
fetchAdminTaskScreenshot,
fetchAdminTaskDetail,
markAdminTaskManualReview,
redeemAdminTaskAssisted,
regenerateAdminTaskClaimLink,
releaseAdminTaskInventoryBinding,
retryAdminTask,
confirmAdminTaskAssistedRole,
} from '@/services/admin'
import type { AdminTaskActionResponse, AdminTaskDetail } from '@/types/admin'
import { hasAdminRole } from '@/utils/admin-auth'
@@ -52,7 +45,7 @@ export function useAdminTaskDetail() {
const claimLinkInvalid = computed(() => {
const tokenStatus = String(detail.value?.claimToken?.status || '').trim()
return Boolean(detail.value?.claimToken?.claimUrl) && tokenStatus && tokenStatus !== 'active'
return Boolean(detail.value?.claimToken?.claimUrl) && tokenStatus !== '' && tokenStatus !== 'active'
})
const screenshotSectionTitle = computed(() => {