import type { InjectionKey, UnwrapNestedRefs, Ref } from 'vue';
|
import { inject } from 'vue';
|
import { ResourceStatus } from '@12333/constants';
|
import { UseStepperReturn } from 'senin-mini/hooks';
|
import { ResourceOperateBtnStatus } from '@12333/constants';
|
|
type PublishResourceSteps = 'step1' | 'step2';
|
|
export interface PublishResourceContext
|
extends UseStepperReturn<PublishResourceSteps, PublishResourceSteps[], PublishResourceSteps> {
|
form: UnwrapNestedRefs<{
|
categoryId: string;
|
title: string;
|
resourceIntros: string;
|
resourceCount: number;
|
cities: number[];
|
citiesList: number[];
|
intendedDeliveryCity: number[];
|
intendedDeliveryCityList: number[];
|
isLimitDeliveryCity: boolean;
|
cooperationFee: string;
|
isSyncCircleFriend: boolean;
|
status: ResourceStatus;
|
checkRemark: string;
|
industryTypeId: string;
|
isOpenOnlineTrade: boolean;
|
}>;
|
resourceId: string;
|
resourceOperateBtnStatus: ResourceOperateBtnStatus;
|
isEdit: Ref<boolean>;
|
}
|
|
export const PublishResourceContextKey: InjectionKey<PublishResourceContext> = Symbol(
|
'PublishResourceContextKey'
|
);
|
|
export function usePublishResourceContext() {
|
return inject(PublishResourceContextKey);
|
}
|