feat(cloudtentacles): 前端多账号支持 - 类型/API/组件改造, el-select 账号切换

This commit is contained in:
yml
2026-05-20 00:38:17 +08:00
parent e812ea2cc4
commit 32cfb62aa1
10 changed files with 385 additions and 72 deletions
@@ -1,29 +1,37 @@
import { apiGet, apiPost } from '@/lib/http'
import { apiDelete, apiGet, apiPost } from '@/lib/http'
import type {
AdminCloudtentaclesLoginTestResult,
AdminCloudtentaclesPersistedSession,
AdminCloudtentaclesSessionsMap,
AdminCloudtentaclesSkuListResult,
AdminCloudtentaclesSendSmsResult,
AdminCloudtentaclesSourceConfig,
AdminCloudtentaclesSourceConfigResponse,
AdminCloudtentaclesSourceItem,
AdminCloudtentaclesSourcesConfig,
AdminCloudtentaclesValidateSessionResult,
} from '@/types/admin'
export function fetchAdminCloudtentaclesSourceConfig() {
return apiGet<{
filePath: string
sessionFilePath: string
source: AdminCloudtentaclesSourceConfig
session: AdminCloudtentaclesPersistedSession
}>('/api/v1/admin/platform-config/cloudtentacles-source')
return apiGet<AdminCloudtentaclesSourceConfigResponse>(
'/api/v1/admin/platform-config/cloudtentacles-source',
)
}
export function saveAdminCloudtentaclesSourceConfig(payload: AdminCloudtentaclesSourceConfig) {
return apiPost<{
filePath: string
sessionFilePath: string
source: AdminCloudtentaclesSourceConfig
session: AdminCloudtentaclesPersistedSession
}>('/api/v1/admin/platform-config/cloudtentacles-source', payload)
export function saveAdminCloudtentaclesSourceConfig(
payload:
| AdminCloudtentaclesSourcesConfig
| ({ sourceKey: string } & Partial<AdminCloudtentaclesSourceItem>),
) {
return apiPost<AdminCloudtentaclesSourceConfigResponse>(
'/api/v1/admin/platform-config/cloudtentacles-source',
payload,
)
}
export function deleteAdminCloudtentaclesSource(sourceKey: string) {
return apiDelete<{ success: boolean }>(
`/api/v1/admin/platform-config/cloudtentacles-source/${sourceKey}`,
)
}
export function sendAdminCloudtentaclesSmsCode(payload: {
@@ -32,6 +40,7 @@ export function sendAdminCloudtentaclesSmsCode(payload: {
phone?: string
deviceId?: string
deviceType?: number
sourceKey?: string
}) {
return apiPost<AdminCloudtentaclesSendSmsResult>(
'/api/v1/admin/platform-config/cloudtentacles/send-sms-code',
@@ -47,6 +56,7 @@ export function testAdminCloudtentaclesLogin(payload: {
code?: string
deviceId?: string
deviceType?: number
sourceKey?: string
}) {
return apiPost<AdminCloudtentaclesLoginTestResult>(
'/api/v1/admin/platform-config/cloudtentacles/test-login',
@@ -59,6 +69,7 @@ export function validateAdminCloudtentaclesSession(payload: {
token?: string
deviceId?: string
deviceType?: number
sourceKey?: string
}) {
return apiPost<AdminCloudtentaclesValidateSessionResult>(
'/api/v1/admin/platform-config/cloudtentacles/validate-session',
@@ -71,6 +82,7 @@ export function fetchAdminCloudtentaclesAsset(payload: {
token?: string
deviceId?: string
deviceType?: number
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/asset',
@@ -83,6 +95,7 @@ export function fetchAdminCloudtentaclesCategories(payload: {
token?: string
deviceId?: string
deviceType?: number
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/categories',
@@ -95,6 +108,7 @@ export function fetchAdminCloudtentaclesSkuList(payload: {
token?: string
deviceId?: string
deviceType?: number
sourceKey?: string
}) {
return apiPost<AdminCloudtentaclesSkuListResult>(
'/api/v1/admin/platform-config/cloudtentacles/sku/list',
@@ -109,6 +123,7 @@ export function buyAdminCloudtentaclesSku(payload: {
deviceType?: number
id?: number
count?: number
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/sku/buy',
@@ -124,6 +139,7 @@ export function useAdminCloudtentaclesSku(payload: {
id?: number
virtualNumberId?: number
phone?: string
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/sku/use',
@@ -136,6 +152,7 @@ export function fetchAdminCloudtentaclesKnapsack(payload: {
token?: string
deviceId?: string
deviceType?: number
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/knapsack',
@@ -149,6 +166,7 @@ export function fetchAdminCloudtentaclesVnList(payload: {
deviceId?: string
deviceType?: number
key?: string
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/vn/list',
@@ -162,6 +180,7 @@ export function appointAdminCloudtentaclesVn(payload: {
deviceId?: string
deviceType?: number
key?: string
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/vn/appoint',
@@ -176,6 +195,7 @@ export function generateAdminCloudtentaclesVnLoginCode(payload: {
deviceType?: number
key?: string
id?: number
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/vn/generate-login-code',
@@ -190,6 +210,7 @@ export function fetchAdminCloudtentaclesVnCode(payload: {
deviceType?: number
key?: string
phone?: string
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/vn/fetch-code',
@@ -205,6 +226,7 @@ export function verifyAdminCloudtentaclesVnCode(payload: {
key?: string
id?: number
code?: string
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/vn/verify-code',
@@ -219,6 +241,7 @@ export function fetchAdminCloudtentaclesBindUrl(payload: {
deviceType?: number
key?: string
id?: number
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/vn/bind-url',
@@ -233,6 +256,7 @@ export function backAdminCloudtentaclesVn(payload: {
deviceType?: number
key?: string
id?: number
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/vn/back',
@@ -248,6 +272,7 @@ export function runAdminCloudtentaclesFullFlow(payload: {
skuId?: number
skuCount?: number
vnKey?: string
sourceKey?: string
}) {
return apiPost<Record<string, unknown>>(
'/api/v1/admin/platform-config/cloudtentacles/debug/full-flow',