Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-im
提交
0fe5bd2b
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看板
提交
0fe5bd2b
编写于
11月 07, 2024
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新 新增配置check_mobile,用于配置在发起会话和申请加入群聊时,是否校验手机号码
上级
5a7c2ff2
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
16 addition
and
5 deletion
+16
-5
uniCloud/cloudfunctions/common/uni-im-utils/index.js
uniCloud/cloudfunctions/common/uni-im-utils/index.js
+11
-1
uniCloud/cloudfunctions/uni-im-co/msg.js
uniCloud/cloudfunctions/uni-im-co/msg.js
+2
-0
uniCloud/database/uni-im-group-join.schema.ext.js
uniCloud/database/uni-im-group-join.schema.ext.js
+3
-4
未找到文件。
uniCloud/cloudfunctions/common/uni-im-utils/index.js
浏览文件 @
0fe5bd2b
...
...
@@ -5,6 +5,15 @@ const dbCmd = db.command
const
$
=
dbCmd
.
aggregate
const
md5
=
str
=>
crypto
.
createHash
(
'
md5
'
).
update
(
str
).
digest
(
'
hex
'
)
function
getConfig
(
key
)
{
// 获取 uni-im 配置
const
createConfig
=
require
(
"
uni-config-center
"
);
const
uniImConfig
=
createConfig
({
pluginId
:
'
uni-im
'
,
// 插件 id
})
return
uniImConfig
.
config
(
key
)
}
function
getConversationId
({
group_id
,
from_uid
,
...
...
@@ -77,5 +86,6 @@ module.exports = {
hideUsernameStr
,
hideEmailStr
,
hideMobileStr
,
checkParam
checkParam
,
getConfig
}
\ No newline at end of file
uniCloud/cloudfunctions/uni-im-co/msg.js
浏览文件 @
0fe5bd2b
...
...
@@ -439,7 +439,9 @@ async function _createOrUpdateConversation(conversation_id, msgData, chat_source
// 不存在,需要先创建会话记录
else
if
(
!
senderConversation
)
{
// 除了云函数之间(包括触发器)调用 和 特殊角色用户,需验证是否绑定了手机号码
const
check_mobile
=
uniImConfig
.
config
(
'
check_mobile
'
)
if
(
check_mobile
&&
this
.
getClientInfo
().
source
!=
'
function
'
&&
!
this
.
current_user_role
.
includes
(
'
uni-im-admin
'
)
&&
!
this
.
current_user_role
.
includes
(
'
staff
'
)
...
...
uniCloud/database/uni-im-group-join.schema.ext.js
浏览文件 @
0fe5bd2b
// schema扩展相关文档请参阅:https://uniapp.dcloud.net.cn/uniCloud/jql-schema-ext.html
const
db
=
uniCloud
.
database
()
let
t
=
Date
.
now
()
+
parseInt
(
Math
.
random
()
*
999999
)
const
utils
=
require
(
'
uni-im-utils
'
)
module
.
exports
=
{
trigger
:
{
async
beforeCreate
({
...
...
@@ -56,8 +55,8 @@ module.exports = {
throw
new
Error
(
'
你已被拉黑,不能加入此群
'
)
}
// 4. 判断用户是否已经绑定手机号,系统管理员除外
cons
ole
.
log
(
'
userInfo
'
,
userInfo
);
if
(
!
userInfo
.
role
.
includes
(
'
uni-im-admin
'
)
&&
!
userInfo
.
role
.
includes
(
'
staff
'
)){
cons
t
check_mobile
=
utils
.
getConfig
(
'
check_mobile
'
)
if
(
check_mobile
&&
!
userInfo
.
role
.
includes
(
'
uni-im-admin
'
)
&&
!
userInfo
.
role
.
includes
(
'
staff
'
)){
let
res3
=
await
db
.
collection
(
'
uni-id-users
'
).
where
({
_id
:
userInfo
.
uid
}).
get
()
if
(
!
res3
.
data
[
0
].
mobile_confirmed
){
throw
new
Error
(
'
账号未绑定手机号无法加入群聊。请完成绑定后退出本系统并重新登录,再尝试加入群聊。
'
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录