Skip to content

Commit 88844a2

Browse files
committed
fix: 更新配置文件中的描述信息,优化 zod 验证器的使用,确保更清晰的文档说明
1 parent 5c3b4a0 commit 88844a2

File tree

1 file changed

+75
-27
lines changed

1 file changed

+75
-27
lines changed

src/index.ts

Lines changed: 75 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -80,100 +80,148 @@ export default (api: IApi) => {
8080
.object({
8181
versionType: zod
8282
.string()
83-
.describe('版本生成类型。指定如何生成版本号,如 "build_timestamp"(构建时间戳)、"package_version"(package.json 版本)、"custom"(自定义版本)等。决定检测更新的版本比较依据。')
83+
.describe(
84+
'版本生成类型。指定如何生成版本号,如 "build_timestamp"(构建时间戳)、"package_version"(package.json 版本)、"custom"(自定义版本)等。决定检测更新的版本比较依据。',
85+
)
8486
.optional(),
8587
customVersion: zod
8688
.string()
87-
.describe('自定义版本号。当 versionType 为 "custom" 时使用的版本字符串。可以是任意格式的版本标识,用于手动控制版本检测逻辑。')
89+
.describe(
90+
'自定义版本号。当 versionType 为 "custom" 时使用的版本字符串。可以是任意格式的版本标识,用于手动控制版本检测逻辑。',
91+
)
8892
.optional(),
8993
checkInterval: zod
9094
.number()
91-
.describe('版本检查间隔时间(毫秒)。设置自动检查新版本的时间间隔,如 30000 表示每30秒检查一次。设为 0 或负数时禁用定时检查。')
95+
.describe(
96+
'版本检查间隔时间(毫秒)。设置自动检查新版本的时间间隔,如 30000 表示每30秒检查一次。设为 0 或负数时禁用定时检查。',
97+
)
9298
.optional(),
9399
logVersion: zod
94100
.boolean()
95-
.describe('是否在控制台输出版本信息。设为 true 时会在浏览器控制台打印当前版本和检查过程的日志信息,便于开发调试。')
101+
.describe(
102+
'是否在控制台输出版本信息。设为 true 时会在浏览器控制台打印当前版本和检查过程的日志信息,便于开发调试。',
103+
)
96104
.optional(),
97105
checkOnWindowFocus: zod
98106
.boolean()
99-
.describe('是否在窗口获得焦点时检查更新。设为 true 时,当用户切换回页面标签时会自动检查是否有新版本,提高更新检测的及时性。')
107+
.describe(
108+
'是否在窗口获得焦点时检查更新。设为 true 时,当用户切换回页面标签时会自动检查是否有新版本,提高更新检测的及时性。',
109+
)
100110
.optional(),
101111
checkImmediately: zod
102112
.boolean()
103-
.describe('是否立即检查更新。设为 true 时,页面加载完成后立即执行一次版本检查,而不等待设定的检查间隔。')
113+
.describe(
114+
'是否立即检查更新。设为 true 时,页面加载完成后立即执行一次版本检查,而不等待设定的检查间隔。',
115+
)
104116
.optional(),
105117
checkOnLoadFileError: zod
106118
.boolean()
107-
.describe('是否在文件加载错误时检查更新。设为 true 时,当页面加载资源文件失败时会触发版本检查,判断是否因为版本更新导致的文件路径变化。')
119+
.describe(
120+
'是否在文件加载错误时检查更新。设为 true 时,当页面加载资源文件失败时会触发版本检查,判断是否因为版本更新导致的文件路径变化。',
121+
)
108122
.optional(),
109123
injectFileBase: zod
110124
.string()
111-
.describe('注入文件的基础路径。指定检查文件和通知相关资源的请求路径前缀,默认使用 publicPath 配置。用于适配不同的部署环境和 CDN 配置。')
125+
.describe(
126+
'注入文件的基础路径。指定检查文件和通知相关资源的请求路径前缀,默认使用 publicPath 配置。用于适配不同的部署环境和 CDN 配置。',
127+
)
112128
.optional(),
113129
customNotificationHTML: zod
114130
.string()
115-
.describe('自定义通知 HTML 内容。提供完全自定义的更新通知界面 HTML 字符串,替代默认的通知样式。设置后会忽略 notificationProps 和 notificationConfig 配置。')
131+
.describe(
132+
'自定义通知 HTML 内容。提供完全自定义的更新通知界面 HTML 字符串,替代默认的通知样式。设置后会忽略 notificationProps 和 notificationConfig 配置。',
133+
)
116134
.optional(),
117135
notificationProps: zod
118136
.object({
119137
title: zod
120138
.string()
121-
.describe('通知标题文本。显示在更新通知弹窗顶部的主标题内容。')
139+
.describe(
140+
'通知标题文本。显示在更新通知弹窗顶部的主标题内容。',
141+
)
122142
.optional(),
123143
description: zod
124144
.string()
125-
.describe('通知描述文本。显示在通知弹窗中的详细说明内容,用于告知用户发现新版本。')
145+
.describe(
146+
'通知描述文本。显示在通知弹窗中的详细说明内容,用于告知用户发现新版本。',
147+
)
126148
.optional(),
127149
buttonText: zod
128150
.string()
129-
.describe('更新按钮文本。点击后刷新页面的主按钮显示文本,如 "立即更新"。')
151+
.describe(
152+
'更新按钮文本。点击后刷新页面的主按钮显示文本,如 "立即更新"。',
153+
)
130154
.optional(),
131155
dismissButtonText: zod
132156
.string()
133-
.describe('关闭按钮文本。用于关闭通知弹窗的按钮显示文本,如 "稍后提醒"。')
134-
.optional()
157+
.describe(
158+
'关闭按钮文本。用于关闭通知弹窗的按钮显示文本,如 "稍后提醒"。',
159+
)
160+
.optional(),
135161
})
136-
.describe('通知内容属性配置。定义更新通知弹窗中显示的文本内容,包括标题、描述和按钮文字。')
162+
.describe(
163+
'通知内容属性配置。定义更新通知弹窗中显示的文本内容,包括标题、描述和按钮文字。',
164+
)
137165
.optional(),
138166
notificationConfig: zod
139167
.object({
140168
primaryColor: zod
141169
.string()
142-
.describe('通知主要颜色。设置通知弹窗的主色调,通常用于按钮和高亮元素,如 "#1890ff"。')
170+
.describe(
171+
'通知主要颜色。设置通知弹窗的主色调,通常用于按钮和高亮元素,如 "#1890ff"。',
172+
)
143173
.optional(),
144174
secondaryColor: zod
145175
.string()
146-
.describe('通知次要颜色。设置通知弹窗的辅助色调,用于背景或边框等元素。')
176+
.describe(
177+
'通知次要颜色。设置通知弹窗的辅助色调,用于背景或边框等元素。',
178+
)
147179
.optional(),
148180
placement: zod
149181
.string()
150-
.describe('通知显示位置。指定通知弹窗在页面中的显示位置,如 "top"、"bottom"、"topRight" 等。')
151-
.optional()
182+
.describe(
183+
'通知显示位置。指定通知弹窗在页面中的显示位置,如 "top"、"bottom"、"topRight" 等。',
184+
)
185+
.optional(),
152186
})
153-
.describe('通知样式配置。定义更新通知弹窗的外观样式,包括颜色主题和显示位置。')
187+
.describe(
188+
'通知样式配置。定义更新通知弹窗的外观样式,包括颜色主题和显示位置。',
189+
)
154190
.optional(),
155191
silence: zod
156192
.boolean()
157-
.describe('是否启用静默模式。设为 true 时,版本检查在后台静默进行,生成的 JSON 文件不包含提示信息,通常用于自定义通知实现。')
193+
.describe(
194+
'是否启用静默模式。设为 true 时,版本检查在后台静默进行,生成的 JSON 文件不包含提示信息,通常用于自定义通知实现。',
195+
)
158196
.optional(),
159197
locale: zod
160198
.string()
161-
.describe('语言环境设置。指定通知界面的语言,如 "zh-CN"、"en-US" 等。影响默认文本内容的语言显示。')
199+
.describe(
200+
'语言环境设置。指定通知界面的语言,如 "zh-CN"、"en-US" 等。影响默认文本内容的语言显示。',
201+
)
162202
.optional(),
163203
localeData: zod
164204
.record(zod.any())
165-
.describe('自定义语言数据对象。提供多语言文本映射,用于覆盖或扩展默认的语言包内容。键为语言代码,值为对应的文本配置。')
205+
.describe(
206+
'自定义语言数据对象。提供多语言文本映射,用于覆盖或扩展默认的语言包内容。键为语言代码,值为对应的文本配置。',
207+
)
166208
.optional(),
167209
hiddenDefaultNotification: zod
168210
.boolean()
169-
.describe('是否隐藏默认通知界面。设为 true 时不显示内置的通知弹窗,通常配合 customNotificationHTML 使用或实现完全自定义的通知逻辑。')
211+
.describe(
212+
'是否隐藏默认通知界面。设为 true 时不显示内置的通知弹窗,通常配合 customNotificationHTML 使用或实现完全自定义的通知逻辑。',
213+
)
170214
.optional(),
171215
hiddenDismissButton: zod
172216
.boolean()
173-
.describe('是否隐藏关闭按钮。设为 true 时通知弹窗中不显示 "稍后提醒" 类型的关闭按钮,强制用户必须更新。')
174-
.optional()
217+
.describe(
218+
'是否隐藏关闭按钮。设为 true 时通知弹窗中不显示 "稍后提醒" 类型的关闭按钮,强制用户必须更新。',
219+
)
220+
.optional(),
175221
})
176-
.describe('网页更新通知插件配置。基于 @plugin-web-update-notification/core 提供自动检测网页更新并显示通知的功能。支持多种版本检测策略、自定义通知界面、多语言、样式配置等特性。仅在生产环境下生效,通过比对版本文件判断是否有新版本发布。')
222+
.describe(
223+
'网页更新通知插件配置。基于 @plugin-web-update-notification/core 提供自动检测网页更新并显示通知的功能。支持多种版本检测策略、自定义通知界面、多语言、样式配置等特性。仅在生产环境下生效,通过比对版本文件判断是否有新版本发布。',
224+
)
177225
.optional()
178226
.default({});
179227
},

0 commit comments

Comments
 (0)