#1 - 2025-9-15 01:06
Sai🖖 (Awesome!)
现在组件内可以调用自己的专用云存储字段用于存储可能需要的设置信息,信息跟随用户的组件启用状态,用户停用后将会删除相关信息。

组件间的信息默认是隔离的,在组件中,可以调用 chiiApp.cloud_settings 库来获取以及更新自己的组件设置。

设置字段在数据库中现在为 mediumtext 类型,且会在所有页面载入,请避免存储过大的字符串避免可能导致的前后端性能问题。

更新设置
chiiApp.cloud_settings.update({key: value, key2: value2});


获取全部设置
chiiApp.cloud_settings.getAll();


获取指定 Key
chiiApp.cloud_settings.get('key');


删除 Key
chiiApp.cloud_settings.delete('key');


保存设置
如果你将设置添加到自定义面板里,在关闭面板时 Bangumi 会自动帮你保存设置。

你也可以手动调用保存方法来触发保存。
chiiApp.cloud_settings.save();


进阶
如果你需要读取当前用户其他组件的设置,可以使用 chiiLib.cloud_settings 下的相关方法。

这里有一个简单的组件实现默认个性化设置的同步,仅供参考:
https://bgm.tv/dev/app/4736
#2 - 2025-9-15 01:07
最近效率真高。
#3 - 2025-9-15 01:09
(‮✩ ‭<ゝω・)
存储大小的限制是多少?
#3-1 - 2025-9-15 01:16
灰灰
MEDIUMTEXT,16,777,215B(16MB)
#4 - 2025-9-15 01:24
(‮✩ ‭<ゝω・)
且会在所有页面载入
希望读取操作可以选择按需请求,许多设置应该不需要经常读取的
#5 - 2025-9-15 01:59
卧槽,这下真来了(bgm106)是时候更新所有组件了。
新的显示bug:https://bgm.tv/settings/gadgets里的组件始终显示未启用
#6 - 2025-9-15 04:51
无法删除组件的最后一个Key,保存并刷新后会重新出现
#6-1 - 2025-9-15 11:13
Sai🖖
清下缓存再试试
#6-2 - 2025-9-15 11:14
1ra
Sai🖖 说: 清下缓存再试试
确认已修复,牛逼666
#7 - 2025-9-15 18:46
(Tell me I'm a bad man, kick me like a stray)
反馈一个组件问题,目前组件的 @match 和油猴标准 @match 不同,会将 search params 也算进去。例如,若我想让组件作用于 http*://bgm.tv/subject/*/add_related/character(不论是否带 search params),在油猴脚本,只需要写 http*://bgm.tv/subject/*/add_related/character,而在组件,必须写 http*://bgm.tv/subject/*/add_related/character*。
#8 - 2025-9-15 20:31
通过“个性化-超合金组件”关闭的脚本,是否会清除相关信息?

能否让开发者勾选“使用云端存储”,当用户关闭组件时提示组件缓存将被清空?
#8-1 - 2025-9-15 20:36
A·G·E
第一条的答案是不会。第二条才是担心的。
#9 - 2025-9-16 13:41
(Tell me I'm a bad man, kick me like a stray)
原来只能在组件里用,希望能早日开放使用新站 API(bgm38)
#10 - 2025-9-18 21:49
无法使组件中某个键值对的value变成{},保存并刷新后会重新出现……
#10-1 - 2025-9-18 22:05
Sai🖖
具体怎么操作的?
#10-2 - 2025-9-18 22:22
A·G·E
Sai🖖 说: 具体怎么操作的?
写了个脚本测试了下非空调用update改成空,确实没问题。应该是是我脚本自身保存时的处理不对
#11 - 2025-9-18 22:23
(DD雷达搜寻中...?)
酷啊
#12 - 2025-9-20 16:44
(‮✩ ‭<ゝω・)
所有存进去的值会被转换成字符串,但是又会保留嵌套的对象,当然嵌套对象里的值也会被转换成字符串(bgm58)
举例:
.update({ answer: 42, deeper: { answer: true } })
.save()
那么刷新后读取的值会是:
{ answer: "42", deeper: { answer: "true" } }
#13 - 2025-9-22 04:27
lz,能不能给save()加一个callback或者promise,以防保存失败(bgm72)