若factor: addContact -> s
This commit is contained in:
@@ -12,7 +12,7 @@ export type CallMethod =
|
|||||||
"User.getInfo" |
|
"User.getInfo" |
|
||||||
|
|
||||||
"User.getMyContacts" |
|
"User.getMyContacts" |
|
||||||
"User.addContact" |
|
"User.addContacts" |
|
||||||
"User.removeContacts" |
|
"User.removeContacts" |
|
||||||
|
|
||||||
"User.getMyRecentChats" |
|
"User.getMyRecentChats" |
|
||||||
|
|||||||
@@ -18,14 +18,14 @@ export default function AddContactDialog({
|
|||||||
const inputTargetRef = React.useRef<TextField>(null)
|
const inputTargetRef = React.useRef<TextField>(null)
|
||||||
|
|
||||||
async function addContact() {
|
async function addContact() {
|
||||||
const re = await Client.invoke("User.addContact", {
|
const re = await Client.invoke("User.addContacts", {
|
||||||
target: inputTargetRef.current!.value,
|
targets: [inputTargetRef.current!.value],
|
||||||
token: data.access_token,
|
token: data.access_token,
|
||||||
})
|
})
|
||||||
|
|
||||||
if (checkApiSuccessOrSncakbar(re, "添加失敗")) return
|
if (checkApiSuccessOrSncakbar(re, "添加失敗")) return
|
||||||
snackbar({
|
snackbar({
|
||||||
message: "添加成功!",
|
message: re.msg,
|
||||||
placement: "top",
|
placement: "top",
|
||||||
})
|
})
|
||||||
EventBus.emit('ContactsList.updateContacts')
|
EventBus.emit('ContactsList.updateContacts')
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ export type CallMethod =
|
|||||||
"User.getInfo" |
|
"User.getInfo" |
|
||||||
|
|
||||||
"User.getMyContacts" |
|
"User.getMyContacts" |
|
||||||
"User.addContact" |
|
"User.addContacts" |
|
||||||
"User.removeContacts" |
|
"User.removeContacts" |
|
||||||
|
|
||||||
"User.getMyRecentChats" |
|
"User.getMyRecentChats" |
|
||||||
|
|||||||
@@ -339,8 +339,41 @@ export default class UserApi extends BaseApi {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
// 添加聯絡人
|
// 添加聯絡人
|
||||||
this.registerEvent("User.addContact", (args, { deviceId }) => {
|
this.registerEvent("User.addContacts", (args, { deviceId }) => {
|
||||||
if (this.checkArgsMissing(args, ['token', 'target'])) return {
|
if (this.checkArgsMissing(args, ['token', 'targets'])) return {
|
||||||
|
msg: "参数缺失",
|
||||||
|
code: 400,
|
||||||
|
}
|
||||||
|
|
||||||
|
const token = TokenManager.decode(args.token as string)
|
||||||
|
if (!this.checkToken(token, deviceId)) return {
|
||||||
|
code: 401,
|
||||||
|
msg: "令牌无效",
|
||||||
|
}
|
||||||
|
|
||||||
|
let fail = 0
|
||||||
|
const user = User.findById(token.author) as User
|
||||||
|
for (const target of (args.targets as string[])) {
|
||||||
|
const chat = Chat.findById(target) || Chat.findByName(target)
|
||||||
|
const targetUser = User.findByAccount(target) as User
|
||||||
|
if (chat)
|
||||||
|
user!.addContact(chat.bean.id)
|
||||||
|
else if (targetUser) {
|
||||||
|
const privChat = ChatPrivate.findOrCreateForPrivate(user, targetUser)
|
||||||
|
user!.addContact(privChat.bean.id)
|
||||||
|
} else {
|
||||||
|
fail++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
msg: "添加成功 (失败 " + fail + " 个)",
|
||||||
|
code: 200,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 添加聯絡人
|
||||||
|
this.registerEvent("User.removeContacts", (args, { deviceId }) => {
|
||||||
|
if (this.checkArgsMissing(args, ['token', 'targets'])) return {
|
||||||
msg: "参数缺失",
|
msg: "参数缺失",
|
||||||
code: 400,
|
code: 400,
|
||||||
}
|
}
|
||||||
@@ -352,19 +385,7 @@ export default class UserApi extends BaseApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const user = User.findById(token.author) as User
|
const user = User.findById(token.author) as User
|
||||||
const chat = Chat.findById(args.target as string) || Chat.findByName(args.target as string)
|
user.removeContacts(args.targets as string[])
|
||||||
const targetUser = User.findByAccount(args.target as string) as User
|
|
||||||
if (chat)
|
|
||||||
user!.addContact(chat.bean.id)
|
|
||||||
else if (targetUser) {
|
|
||||||
const privChat = ChatPrivate.findOrCreateForPrivate(user, targetUser)
|
|
||||||
user!.addContact(privChat.bean.id)
|
|
||||||
} else {
|
|
||||||
return {
|
|
||||||
msg: "找不到目标",
|
|
||||||
code: 404,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
msg: "成功",
|
msg: "成功",
|
||||||
|
|||||||
Reference in New Issue
Block a user