Skip to content

雀魂Plus v1.12.0-beta.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@iamapig120 iamapig120 released this 06 Apr 06:33

欢迎语

  时过境迁,随着新的插件和模组的不断涌现,雀魂 Plus 对于账号安全保护的要求也就越发重要。新的 v1.12.x 相比 v1.11.x 对于插件安全性的控制得到了提升,引入了新的沙箱机制来保护您减轻受到的第三方插件的安全影响。对于插件开发者,新的雀魂 Plus 版本添加了 破坏性改动 ,还请注意。

新特性

  • 独立插件和模组内置插件现在需要进行权限申请才可访问一些敏感数据,具体权限申请说明请参考后部分 破坏性改动说明 f78218b f14e47b

修正及改进

  1. 牌谱查和好友房功能得到了改进,现在复制其他人发送的链接,启动游戏,就会自动查牌谱或加入房间了 e4d2cbb
  2. macOS 下修正了无法使用复制粘贴的问题 398ec6c

开发

  1. node-sass 模块的引用已被移动至开发依赖 #48 f0e2e27
  2. i18n 修改了 Proxy 的生成策略,略微提升了运行性能 22c1839
  3. 在设置页面加入了 禁用 GPU 黑名单 选项以在部分不受支持的硬件下启动游戏 c41a825 7f03b87
  4. 您现在可以在插件中通过申请权限使用 node 模块了 f78218b

破坏性改动说明

在新版本中,雀魂 Plus 加入了插件的权限控制功能,插件在使用一些敏感对象时需要预先申请权限,以下是具体权限说明。
插件需要在 execute.json 或是 mod.jsonexecute 属性下使用 executePreferences 对象,以键值对方式声明插件会使用到的权限,一个典型的 execute.json 举例如下

{
  "name": "雀魂Plus插件",
  "author": "Majsoul Plus Team",
  "description": "这个插件申请了文档对象,本地存储对象的访问权和对全局对象的写入权",
  "entry": "main.js",
  "executePreferences": {
      "document": true,
      "localStorage": true,
      "writeableWindowObject": true
  }
}

对于 executePreferences 对象,在当前版本雀魂 Plus 环境下可以拥有以下可选属性,插件开发者可以根据需求进行使用。

属性名 说明 默认值
nodeRequire 是否允许使用 node require 语句 false
document 是否允许访问和编辑 document 对象 false
localStorage 是否允许访问和编辑 localStorage 对象 false
XMLHttpRequest 是否允许使用 XHR 对象 false
WebSocket 是否允许使用 WebSocket 对象 false
writeableWindowObject 是否允许写入全局对象 false

警告

  1. 此次更新主要为为开发者进行新版本破坏性改动的浏览和测试,不建议普通用户下载使用。
  2. Pre-release 版本并未经过充分测试,使用 Pre-release 版本导致的任何后果请自行承担,如果您希望使用稳定版本,请访问 「最新稳定版」