154 lines
3.1 KiB
JavaScript
154 lines
3.1 KiB
JavaScript
/**
|
|
* Web唐明明
|
|
* 匆匆数载恍如梦,岁月迢迢华发增。
|
|
* 碌碌无为枉半生,一朝惊醒万事空。
|
|
* moduleName: 聊聊
|
|
*/
|
|
import store from '@/store'
|
|
import {
|
|
request
|
|
} from '../index'
|
|
|
|
// 获取好友列表
|
|
const getFriends = () => {
|
|
return request({
|
|
url: 'im/friends/letter',
|
|
}, true)
|
|
}
|
|
|
|
// 获取融云token
|
|
const getImToken = () => {
|
|
return request({
|
|
url: 'im/token',
|
|
}, true)
|
|
}
|
|
|
|
// 删除好友
|
|
const deleteFriend = (targetId) => {
|
|
return request({
|
|
method: 'DELETE',
|
|
url: 'im/friends/' + targetId,
|
|
})
|
|
}
|
|
|
|
// 获取用户信息
|
|
const getUserInfo = (targetId) => {
|
|
return request({
|
|
url: 'im/userInfo/' + targetId,
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 查看好友资料,附带好友关系
|
|
*/
|
|
const getFriendInfo = (userId) => {
|
|
return request({
|
|
url: 'im/friendInfo/' + userId
|
|
})
|
|
}
|
|
/**
|
|
* 获取好友申请列表
|
|
*/
|
|
const getPedings = () => {
|
|
return request({
|
|
url: 'im/friends/pending'
|
|
})
|
|
}
|
|
|
|
const resolveFriend = (targetId) => {
|
|
return request({
|
|
method: 'POST',
|
|
url: 'im/friends/accept/' + targetId
|
|
})
|
|
}
|
|
|
|
const rejectFriend = (targetId) => {
|
|
return request({
|
|
method: 'DELETE',
|
|
url: 'im/friends/accept/' + targetId
|
|
})
|
|
}
|
|
|
|
const searchFriend = (value) => {
|
|
return request({
|
|
url: 'im/search',
|
|
data: {
|
|
keyword: value
|
|
}
|
|
})
|
|
}
|
|
|
|
const pedingFriend = (recipient) => {
|
|
return request({
|
|
method: 'POST',
|
|
url: 'im/friends/' + recipient
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 好友申请数量
|
|
*/
|
|
const getPendingCount = () => {
|
|
return request({
|
|
url: 'im/friends/pending/count'
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 上传聊天附件
|
|
* 图片
|
|
* 语音
|
|
* 视频
|
|
*/
|
|
// 基础配置
|
|
const config = {
|
|
apiUrl: 'http://api.zh.shangkelian.cn/api/', // 正式环境
|
|
timeout: 60000
|
|
}
|
|
|
|
const uploadMessageFile = (file, type) => {
|
|
config.header = {
|
|
'Accept': 'application/json',
|
|
'Authorization': store.getters.getToken || ''
|
|
}
|
|
return new Promise((resolve, reject) => {
|
|
uni.uploadFile({
|
|
url: config.apiUrl + 'im/upload',
|
|
filePath: file,
|
|
name: 'upload',
|
|
formData: {
|
|
type
|
|
},
|
|
header: config.header || {},
|
|
success: (res) => {
|
|
if (res.statusCode === 200) {
|
|
let updData = JSON.parse(res.data)
|
|
if (updData.status_code === 200) {
|
|
resolve(updData.data)
|
|
} else {
|
|
reject(updData)
|
|
}
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
console.log('ERR', err);
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
export {
|
|
getImToken,
|
|
deleteFriend,
|
|
getFriends,
|
|
getUserInfo,
|
|
getFriendInfo,
|
|
getPedings,
|
|
resolveFriend,
|
|
rejectFriend,
|
|
searchFriend,
|
|
pedingFriend,
|
|
getPendingCount,
|
|
uploadMessageFile
|
|
}
|