提示框选项
配置提示框样式和消息内容, 与菜单选项一样支持您传入选项对象或者返回选项对象的函数, 如果它是一个函数, 则会在模型每次加载成功时被调用, 调用时会传入当前模型选项以及当前模型的索引值, 这样您就可以根据这些信息来做判断, 为不同的模型提供不同的选项
用法:
基础用法:
import { loadOml2d } from 'oh-my-live2d';
loadOml2d({
tips: {
// 在这里配置
}
});
为不同模型提供不同的提示配置:
支持使用函数, 每当模型加载成功后函数就会被调用, 回调时会传入当前模型配置以及索引方便您根据这些信息来做判断, 返回类型为菜单选项
- 判断模型索引值:
点击查看代码
import { loadOml2d } from 'oh-my-live2d';
loadOml2d({
tips: (_, currentIndex) => {
if (currentIndex === 0) {
return {
copyTips: {
message: ['复制了啥?']
},
idleTips: {
wordTheDay: true
}
};
} else {
return {
idleTips: {
wordTheDay: false
}
};
}
}
});
- 判断模型名称: 您还可以根据当前模型的选项值来判断, 当您选择使用这个方法时, 推荐您为每个模型命名, 之后您就可以在函数中拿到当前模型的名称, 方便后续判断:
点击查看代码
import { loadOml2d } from 'oh-my-live2d';
const oml2d = loadOml2d({
models: [
{
name: 'shizuku',
path: 'https://registry.npmmirror.com/oml2d-models/latest/files/models/shizuku/shizuku.model.json'
},
{
name: 'senko',
path: 'https://registry.npmmirror.com/oml2d-models/latest/files/models/Senko_Normals/senko.model3.json'
},
{
name: 'pio',
path: 'https://registry.npmmirror.com/oml2d-models/latest/files/models/Pio/model.json'
}
],
menus: (currentModel) => {
switch (currentModel.name) {
case 'shizuku':
return {
copyTips: {
message: [`${currentModel.name}: 复制了啥?`]
},
idleTips: {
wordTheDay: true
}
};
default:
return {
idleTips: {
wordTheDay: false
}
};
}
}
});
选项:
copyTips?
optional
copyTips:object
复制网站文字内容时的提示
duration?
optional
duration:number
提示框持续时间, 单位 ms
默认值:
3000
message?
optional
message:string
[]
播放的消息内容, 需要是一个字符串数组, 播放时会从中随机取出一条进行提示, 空数组则不播放
默认值:
['你复制了什么内容呢?记得注明出处哦~']
priority?
optional
priority:number
优先级, 高优先级消息将会覆盖低优先级的消息
默认值:
3
idleTips?
optional
idleTips:object
闲置状态下的提示
duration?
optional
duration:number
提示框持续时间, 单位 ms
默认值:
5000
interval?
optional
interval:number
闲置状态循环播放消息的间隔时间, 单位 ms
默认值:
10000
message?
optional
message:string
[] | () =>Promise
<string
>
priority?
optional
priority:number
优先级, 高优先级消息将会覆盖低优先级的消息
默认值:
2
wordTheDay?
optional
wordTheDay:boolean
| (wordTheDayData
:WordTheDayData
) =>string
是否开启每日一言, 默认为关闭状态, 开启后将从 https://v1.hitokoto.cn 发送网络请求, 并将请求到的随机信息作为闲置提示内容, 除了 boolean 类型之外, 它还支持您传入一个格式化函数, 这在您需要自定义消息格式时非常有用, 格式化函数的返回值必须是一个 string 类型, 其接收一个 wordTheDayData, 该参数包含了这次网络请求成功后的所有响应数据, 方便您处理格式化.
以下是一个示例:
{
tips: {
idleTips: {
wordTheDay(wordTheDayData) {
return `${wordTheDayData.hitokoto} by.${wordTheDayData.from}`;
}
}
}
}
TIP
开启后将接管闲置状态下 message 选项设定的值
默认值:
false
messageLine?
optional
messageLine:number
提示消息限制展示的行数, 默认3行, 超出将会在消息结尾加上省略号
默认值: Value
3
mobileStyle?
optional
mobileStyle:CommonStyleType
移动端时的提示框的内联样式, 支持传入CSS对象, 提示框的默认情况下, 始终与舞台保持水平居中, 默认宽度为舞台的60%, 最小高度为 100px, 内容默认垂直水平居中.
style?
optional
style:CommonStyleType
定义提示框内联样式, 支持传入CSS对象, 提示框的默认情况下, 始终与舞台保持水平居中, 默认宽度为舞台的60%, 最小高度为 100px, 内容默认垂直水平居中.
welcomeTips?
optional
welcomeTips:object
模型入场后的欢迎提示
duration?
optional
duration:number
提示框持续时间, 单位 ms
默认值:
6000
message?
optional
message:object
播放的消息内容, 每个时段播放对应消息内容
message.afternoon?
optional
afternoon:string
下午 14-17 点提示信息内容
默认值:
"午后很容易犯困呢,来杯咖啡吧~"
message.daybreak?
optional
daybreak:string
早晨 5-7 点提示信息内容
默认值:
"早上好!一日之计在于晨,美好的一天就要开始了。"
message.dusk?
optional
dusk:string
傍晚 18-19 点提示信息内容
默认值:
"傍晚了!工作一天幸苦啦~"
message.lateNight?
optional
lateNight:string
深夜 22-23 点提示信息内容
默认值:
”已经这么晚了呀,早点休息吧,晚安~“
message.morning?
optional
morning:string
早上 8-11 点提示信息内容
默认值:
"上午好!工作顺利嘛,不要久坐,多起来走动走动哦!"
message.night?
optional
night:string
晚上 20-21 点提示信息内容
默认值:
"晚上好,今天过得怎么样呢?"
message.noon?
optional
noon:string
中午 12-13 点提示信息内容
默认值:
"中午了,工作了一个上午,现在是午餐时间!"
message.weeHours?
optional
weeHours:string
凌晨 0-4 点提示信息内容
默认值:
“这么晚还不睡吗?当心熬夜秃头哦!”
priority?
optional
priority:number
提示优先级
默认值:
3