Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-im
提交
7ea67d3c
U
uni-im
项目概览
DCloud
/
uni-im
通知
3
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-im
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
7ea67d3c
编写于
11月 07, 2024
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新 修复部分情况下没有走__afterFind的问题
上级
0fe5bd2b
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
37 addition
and
37 deletion
+37
-37
sdk/ext/CloudData.class.js
sdk/ext/CloudData.class.js
+37
-37
未找到文件。
sdk/ext/CloudData.class.js
浏览文件 @
7ea67d3c
...
@@ -90,49 +90,25 @@ export default class CloudData {
...
@@ -90,49 +90,25 @@ export default class CloudData {
// console.time('find dataMap.get' + this.constructor.name)
// console.time('find dataMap.get' + this.constructor.name)
res
=
this
.
dataMap
.
get
(
mapKey
)
res
=
this
.
dataMap
.
get
(
mapKey
)
// console.timeEnd('find dataMap.get' + this.constructor.name)
// console.timeEnd('find dataMap.get' + this.constructor.name)
return
res
}
else
{
}
else
{
console
.
log
(
'
注意:此次查找未走索引
'
,
param
,
this
.
indexKey
,
this
.
constructor
.
name
)
console
.
log
(
'
注意:此次查找未走索引
'
,
param
,
this
.
indexKey
,
this
.
constructor
.
name
)
}
}
}
}
if
(
!
res
)
{
console
.
time
(
'
find-no-index-
'
+
this
.
constructor
.
name
)
console
.
time
(
'
find-no-index-
'
+
this
.
constructor
.
name
)
// 默认查找条件为_id
// 默认查找条件为_id
if
(
typeof
param
==
'
string
'
){
if
(
typeof
param
==
'
string
'
){
res
=
dataList
.
find
(
item
=>
item
.
_id
==
param
)
res
=
dataList
.
find
(
item
=>
item
.
_id
==
param
)
}
else
if
(
typeof
param
==
'
object
'
){
}
else
if
(
typeof
param
==
'
object
'
){
// console.log('param',param)
// console.log('param',param)
function
isEq
(
a
,
b
)
{
if
(
Array
.
isArray
(
a
)
||
Array
.
isArray
(
b
))
{
console
.
error
(
'
不支持数组比较
'
)
return
a
===
b
;
}
let
result
=
true
;
for
(
let
key
in
b
)
{
const
valueA
=
a
[
key
];
const
valueB
=
b
[
key
];
if
(
typeof
valueB
===
'
object
'
&&
valueB
!==
null
&&
typeof
valueA
===
'
object
'
&&
valueA
!==
null
)
{
return
isEq
(
valueA
,
valueB
);
}
result
=
valueA
===
valueB
;
if
(
!
result
)
{
break
;
}
}
return
result
;
}
res
=
dataList
.
find
(
item
=>
isEq
(
item
,
param
))
res
=
dataList
.
find
(
item
=>
isEq
(
item
,
param
))
}
else
{
}
else
{
throw
new
Error
(
'
错误的查找条件
'
)
throw
new
Error
(
'
错误的查找条件
'
)
}
}
if
(
this
.
__afterFind
){
res
=
this
.
__afterFind
({
param
,
res
})
}
console
.
timeEnd
(
'
find-no-index-
'
+
this
.
constructor
.
name
)
console
.
timeEnd
(
'
find-no-index-
'
+
this
.
constructor
.
name
)
}
this
.
__afterFind
?.({
param
,
res
})
return
res
return
res
}
}
/** @description 查询数据,先从本地查找,如果没有则从云端拉取
/** @description 查询数据,先从本地查找,如果没有则从云端拉取
...
@@ -328,3 +304,27 @@ function convertObjToString(obj) {
...
@@ -328,3 +304,27 @@ function convertObjToString(obj) {
recursiveConvert
(
obj
,
''
);
recursiveConvert
(
obj
,
''
);
return
result
;
return
result
;
}
}
function
isEq
(
a
,
b
)
{
if
(
Array
.
isArray
(
a
)
||
Array
.
isArray
(
b
))
{
console
.
error
(
'
不支持数组比较
'
)
return
a
===
b
;
}
let
result
=
true
;
for
(
let
key
in
b
)
{
const
valueA
=
a
[
key
];
const
valueB
=
b
[
key
];
if
(
typeof
valueB
===
'
object
'
&&
valueB
!==
null
&&
typeof
valueA
===
'
object
'
&&
valueA
!==
null
)
{
return
isEq
(
valueA
,
valueB
);
}
result
=
valueA
===
valueB
;
if
(
!
result
)
{
break
;
}
}
return
result
;
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录