vip系统
This commit is contained in:
parent
b830642c14
commit
a38e98e29e
@ -152,6 +152,8 @@ const statusMeta = computed(() => {
|
|||||||
|
|
||||||
function createResource() {
|
function createResource() {
|
||||||
return {
|
return {
|
||||||
|
cover: '',
|
||||||
|
coverUrl: '',
|
||||||
name: '',
|
name: '',
|
||||||
resourceId: '',
|
resourceId: '',
|
||||||
url: '',
|
url: '',
|
||||||
@ -177,7 +179,10 @@ function createLevel(level: number) {
|
|||||||
function normalizeResource(value: Record<string, any> | null | undefined) {
|
function normalizeResource(value: Record<string, any> | null | undefined) {
|
||||||
const resourceId = String(value?.resourceId ?? '').trim();
|
const resourceId = String(value?.resourceId ?? '').trim();
|
||||||
const url = String(value?.url || value?.sourceUrl || value?.resourceUrl || '').trim();
|
const url = String(value?.url || value?.sourceUrl || value?.resourceUrl || '').trim();
|
||||||
|
const cover = String(value?.cover || value?.coverUrl || value?.resourceCover || '').trim();
|
||||||
return {
|
return {
|
||||||
|
cover,
|
||||||
|
coverUrl: cover,
|
||||||
name: String(value?.name || ''),
|
name: String(value?.name || ''),
|
||||||
resourceId: resourceId === '0' ? '' : resourceId,
|
resourceId: resourceId === '0' ? '' : resourceId,
|
||||||
resourceUrl: url,
|
resourceUrl: url,
|
||||||
@ -188,15 +193,20 @@ function normalizeResource(value: Record<string, any> | null | undefined) {
|
|||||||
|
|
||||||
function normalizePropsSourceResource(value: Record<string, any> | null | undefined) {
|
function normalizePropsSourceResource(value: Record<string, any> | null | undefined) {
|
||||||
const resourceId = String(value?.id ?? value?.resourceId ?? '').trim();
|
const resourceId = String(value?.id ?? value?.resourceId ?? '').trim();
|
||||||
|
const cover = String(
|
||||||
|
value?.cover || value?.coverUrl || value?.resourceCover || value?.selectUrl || '',
|
||||||
|
).trim();
|
||||||
const url = String(
|
const url = String(
|
||||||
value?.sourceUrl ||
|
value?.sourceUrl ||
|
||||||
value?.resourceUrl ||
|
value?.resourceUrl ||
|
||||||
value?.url ||
|
value?.url ||
|
||||||
value?.animationUrl ||
|
value?.animationUrl ||
|
||||||
value?.cover ||
|
cover ||
|
||||||
'',
|
'',
|
||||||
).trim();
|
).trim();
|
||||||
return {
|
return {
|
||||||
|
cover,
|
||||||
|
coverUrl: cover,
|
||||||
name: String(value?.name || ''),
|
name: String(value?.name || ''),
|
||||||
resourceId,
|
resourceId,
|
||||||
resourceUrl: url,
|
resourceUrl: url,
|
||||||
@ -250,7 +260,20 @@ function resourceMeta(record: Record<string, any>, key: string) {
|
|||||||
if (!resource.resourceId) {
|
if (!resource.resourceId) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
return [resource.name, resource.url].filter(Boolean).join(' / ');
|
return [
|
||||||
|
resource.name,
|
||||||
|
resource.cover ? `封面: ${resource.cover}` : '',
|
||||||
|
resource.url ? `资源: ${resource.url}` : '',
|
||||||
|
]
|
||||||
|
.filter(Boolean)
|
||||||
|
.join(' / ');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildResourceSavePayload(value: Record<string, any> | null | undefined) {
|
||||||
|
const resource = normalizeResource(value);
|
||||||
|
return {
|
||||||
|
resourceId: resource.resourceId || '0',
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadResourceOptions(field: ResourceField) {
|
async function loadResourceOptions(field: ResourceField) {
|
||||||
@ -333,14 +356,14 @@ function buildSavePayload() {
|
|||||||
return {
|
return {
|
||||||
sysOrigin: form.sysOrigin,
|
sysOrigin: form.sysOrigin,
|
||||||
levels: (form.levels || []).map((item: Record<string, any>) => ({
|
levels: (form.levels || []).map((item: Record<string, any>) => ({
|
||||||
avatarFrame: normalizeResource(item.avatarFrame),
|
avatarFrame: buildResourceSavePayload(item.avatarFrame),
|
||||||
badge: normalizeResource(item.badge),
|
badge: buildResourceSavePayload(item.badge),
|
||||||
chatBubble: normalizeResource(item.chatBubble),
|
chatBubble: buildResourceSavePayload(item.chatBubble),
|
||||||
displayName: String(item.displayName || '').trim(),
|
displayName: String(item.displayName || '').trim(),
|
||||||
durationDays: 30,
|
durationDays: 30,
|
||||||
enabled: Boolean(item.enabled),
|
enabled: Boolean(item.enabled),
|
||||||
entryEffect: normalizeResource(item.entryEffect),
|
entryEffect: buildResourceSavePayload(item.entryEffect),
|
||||||
floatPicture: normalizeResource(item.floatPicture),
|
floatPicture: buildResourceSavePayload(item.floatPicture),
|
||||||
level: Number(item.level || 0),
|
level: Number(item.level || 0),
|
||||||
levelCode: `VIP${Number(item.level || 0)}`,
|
levelCode: `VIP${Number(item.level || 0)}`,
|
||||||
priceGold: Number(item.priceGold || 0),
|
priceGold: Number(item.priceGold || 0),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user