Skip to content

Commit 146c9ed

Browse files
committed
🐛 修复object类型的值变更会通知的问题
1 parent a8c3796 commit 146c9ed

File tree

5 files changed

+51
-14
lines changed

5 files changed

+51
-14
lines changed

CONTRIBUTING.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
# ScriptCat 贡献指南
22

3-
我们非常感谢你为 ScriptCat 做出贡献!本指南旨在帮助你以更规范的方式向 ScriptCat 提交贡献,因此请务必认真阅读。
3+
我们非常感谢你为 ScriptCat 做出贡献!本指南旨在帮助你以更规范的方式向 ScriptCat
4+
提交贡献,因此请务必认真阅读。
45

56
## 提交 Issue
67

7-
在提交 Issue 前,我们建议你先查看 [已有的 Issues](https://github.com/scriptscat/scriptcat/issues),以避免重复提交。
8+
在提交 Issue 前,我们建议你先查看
9+
[已有的 Issues](https://github.com/scriptscat/scriptcat/issues),以避免重复提交。
810

911
### 报告问题、故障与漏洞
1012

11-
ScriptCat 是一个不断发展的项目。如果你在使用过程中发现问题,并且确信这些问题是由 ScriptCat 引起的,欢迎提交 Issue。在提交时,请附带详细的复现步骤和运行环境信息。
13+
ScriptCat 是一个不断发展的项目。如果你在使用过程中发现问题,并且确信这些问题是由
14+
ScriptCat 引起的,欢迎提交 Issue。在提交时,请附带详细的复现步骤和运行环境信息。
1215

1316
### 提出新功能
1417

15-
我们欢迎你在 Issue 中提出新的功能建议。为了让我们更好地理解你的需求,建议你尽可能详细地描述这个功能,并提供你认为可能的解决方案。
18+
我们欢迎你在 Issue
19+
中提出新的功能建议。为了让我们更好地理解你的需求,建议你尽可能详细地描述这个功能,并提供你认为可能的解决方案。
1620

1721
## Pull Request
1822

19-
ScriptCat 使用 [npm](https://www.npmjs.com/) 来管理项目依赖。如果你已经安装了 npm,以下的命令可以帮助你快速配置开发环境:
23+
ScriptCat 使用 [npm](https://www.npmjs.com/) 来管理项目依赖。如果你已经安装了
24+
npm,以下的命令可以帮助你快速配置开发环境:
2025

2126
```bash
2227
# 安装 node.js 依赖
@@ -32,7 +37,9 @@ npm config set proxy=http://127.0.0.1:1080
3237

3338
### Commit 规范
3439

35-
我们希望每一个 commit 都能清晰地描述其目的,每个 commit 应尽可能只包含一个修改。我们的 commit message 格式遵循 [gitmoji](https://gitmoji.dev/) 规范。例如:
40+
我们希望每一个 commit 都能清晰地描述其目的,每个 commit
41+
应尽可能只包含一个修改。我们的 commit message 格式遵循
42+
[gitmoji](https://gitmoji.dev/) 规范。例如:
3643

3744
```bash
3845
git commit -m "✨ add login feature"
@@ -42,15 +49,25 @@ git commit -m "✨ add login feature"
4249

4350
### 工作流概述
4451

45-
`main` 分支是 ScriptCat 的主分支。为了保持代码的完整性,请不要直接修改 `main` 分支。你应该创建一个新的分支,并在这个分支上进行修改,然后发起一个目标分支为 `main` 的 Pull Request。Pull Request 的标题请尽量使用中文,以便于自动生成更新日志。
52+
`main` 分支是 ScriptCat 的主分支。为了保持代码的完整性,请不要直接修改 `main`
53+
分支。你应该创建一个新的分支,并在这个分支上进行修改,然后发起一个目标分支为
54+
`main` 的 Pull Request。Pull Request
55+
的标题请尽量使用中文,以便于自动生成更新日志。
4656

47-
如果你不是 ScriptCat 团队的成员,你可以先 fork 本仓库,然后向本仓库的 `main` 分支发起 Pull Request。在创建 commit 时,请按照上述 commit message 规范进行。我们将在 code review 完成后将你的贡献合并到主分支。
57+
如果你不是 ScriptCat 团队的成员,你可以先 fork 本仓库,然后向本仓库的 `main`
58+
分支发起 Pull Request。在创建 commit 时,请按照上述 commit message
59+
规范进行。我们将在 code review 完成后将你的贡献合并到主分支。
4860

4961
## 撰写文档
5062

51-
ScriptCat 的文档在另外的仓库中:[scriptcat.org](https://docs.scriptcat.org),使用 [docusaurus](https://docusaurus.io/)进行撰写,这有一些 [Markdown](https://docusaurus.io/
63+
ScriptCat
64+
的文档在另外的仓库中:[scriptcat.org](https://docs.scriptcat.org),使用
65+
[docusaurus](https://docusaurus.io/)进行撰写,这有一些
66+
[Markdown](https://docusaurus.io/
5267

53-
zh-CN/docs/markdown-features) 特性可以帮助你。如果你需要在本地预览修改后的文档,可以使用以下命令安装文档依赖并启动 dev server:
68+
zh-CN/docs/markdown-features)
69+
特性可以帮助你。如果你需要在本地预览修改后的文档,可以使用以下命令安装文档依赖并启动
70+
dev server:
5471

5572
```bash
5673
npm install
@@ -59,7 +76,8 @@ npm start
5976

6077
## 参与开发
6178

62-
ScriptCat 使用 ESLint 来规范代码风格,使用 Jest 来进行单元测试。你可以使用以下命令来运行:
79+
ScriptCat 使用 ESLint 来规范代码风格,使用 Jest
80+
来进行单元测试。你可以使用以下命令来运行:
6381

6482
```bash
6583
npm test

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323

2424
## 关于脚本猫
2525

26-
参考了油猴的设计思路并且支持油猴脚本,实现了一个后台脚本运行的框架,提供了一些特殊的 API,让脚本能够做更多的事情.并且提供了一个优秀的编辑器,让脚本代码编写开发更加舒服流畅.
26+
参考了油猴的设计思路并且支持油猴脚本,实现了一个后台脚本运行的框架,提供了一些特殊的
27+
API,让脚本能够做更多的事情.并且提供了一个优秀的编辑器,让脚本代码编写开发更加舒服流畅.
2728

2829
**如果觉得好用,顺手点个 Star 吧 ❤❤❤**
2930

@@ -59,7 +60,8 @@
5960

6061
### 安装扩展
6162

62-
我们已经上架了扩展商店,如果你无法访问商店内容,请在[release](https://github.com/scriptscat/scriptcat/releases)中下载 zip 包手动进行安装
63+
我们已经上架了扩展商店,如果你无法访问商店内容,请在[release](https://github.com/scriptscat/scriptcat/releases)中下载
64+
zip 包手动进行安装
6365

6466
#### 扩展商城
6567

package-lock.json

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"dayjs": "^1.11.4",
2929
"dexie": "^3.2.3",
3030
"jszip": "^3.10.1",
31+
"lodash": "^4.17.21",
3132
"monaco-editor": "^0.37.1",
3233
"monaco-vim": "^0.3.4",
3334
"pako": "^2.0.4",
@@ -53,6 +54,7 @@
5354
"@types/crypto-js": "^4.1.1",
5455
"@types/eslint": "^8.4.10",
5556
"@types/jest": "^28.1.6",
57+
"@types/lodash": "^4.14.194",
5658
"@types/pako": "^2.0.0",
5759
"@types/react": "^18.0.15",
5860
"@types/react-dom": "^18.0.6",

src/app/service/value/manager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { Script, ScriptDAO } from "@App/app/repo/scripts";
99
import { Value, ValueDAO } from "@App/app/repo/value";
1010
import { ValueUpdateData } from "@App/runtime/content/exec_script";
1111
import CacheKey from "@App/pkg/utils/cache_key";
12+
import { isEqual } from "lodash";
1213
import Cache from "../../cache";
1314
import Manager from "../manager";
1415
import ScriptManager from "../script/manager";
@@ -133,7 +134,7 @@ export class ValueManager extends Manager {
133134
};
134135
} else {
135136
// 值未发生改变
136-
if (model.value === value) {
137+
if (isEqual(model.value, value)) {
137138
return Promise.resolve(true);
138139
}
139140
oldValue = model.value;

0 commit comments

Comments
 (0)