MCPcopy
hub / github.com/ocsjs/ocsjs / workPreCheckMessage

Function workPreCheckMessage

packages/scripts/src/utils/index.ts:18–62  ·  view source on GitHub ↗
(
	options: CommonWorkOptions & {
		start_delay_seconds?: number;
		onrun: (opts: CommonWorkOptions) => void;
		/**
		 * 当没有题库配置时的回调
		 */
		onNoAnswererWrappers?: (opts: CommonWorkOptions) => void;
		/**
		 * 手动关闭时的回调
		 */
		onclose?: (opts: CommonWorkOptions, closedMessage: MessageElement) => void;
	}
)

Source from the content-addressed store, hash-verified

16
17/** 创建答题预处理信息 */
18export function workPreCheckMessage(
19 options: CommonWorkOptions & {
20 start_delay_seconds?: number;
21 onrun: (opts: CommonWorkOptions) => void;
22 /**
23 * 当没有题库配置时的回调
24 */
25 onNoAnswererWrappers?: (opts: CommonWorkOptions) => void;
26 /**
27 * 手动关闭时的回调
28 */
29 onclose?: (opts: CommonWorkOptions, closedMessage: MessageElement) => void;
30 }
31) {
32 const { onrun, onNoAnswererWrappers, onclose, ...opts } = options;
33
34 if (opts.answererWrappers.length === 0) {
35 onNoAnswererWrappers?.(opts);
36 return answerWrapperEmptyWarning(0);
37 } else {
38 options.start_delay_seconds = options.start_delay_seconds ?? 5;
39 return $message.info({
40 duration: options.start_delay_seconds,
41 content: h('span', [
42 `${options.start_delay_seconds}秒后自动答题,`,
43 $ui.preventText({
44 name: '点击取消',
45 delay: options.start_delay_seconds,
46 ondefault: (span) => {
47 onrun(opts);
48 },
49 onprevent(span) {
50 const closedMessage = $message.warn({
51 content: '已关闭此次的自动答题,请手动开启或者忽略此警告。',
52 duration: 0
53 });
54 if (closedMessage) {
55 onclose?.(opts, closedMessage);
56 }
57 }
58 })
59 ])
60 });
61 }
62}
63
64/**
65 * 创造范围选择器的提示

Callers 1

commonWorkFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected