helper.js
1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import request from './request'
export default class Helper {
static getKey() {
return parseInt(process.env.VUE_APP_API_KEY)
}
static getSecret() {
return process.env.VUE_APP_API_SECRET
}
static getExpire() {
return parseInt(process.env.VUE_APP_API_EXPIRETIME)
}
static getUrlKey(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ''])[1].replace(/\+/g, '%20')) || null
}
static getToken() {
return this.getUrlKey('token')
}
static getSignature(userID) {
const generator = new window.LibGenerateTestUserSig(this.getKey(), this.getSecret(), this.getExpire())
return generator.genTestUserSig(userID)
}
/**
*
* @returns {Promise<never>|Promise<{sign, id}>}
*/
static verifyToken() {
return request.get('auth').then(res => {
const {esm_id} = res.data
return Promise.resolve({id: esm_id, sign: this.getSignature(esm_id)})
})
}
static contactList(params = {}) {
return request.get('im/contacts', {params})
}
static groupList(params = {}) {
return request.get('im/groups', {params})
}
static groupMemberList(group, params = {}) {
return request.get(`im/groups/${group}/members`, {params})
}
static joinGroup(id, member) {
return request.post(`im/groups/${id}/members`, {member})
}
}