helper.js
1.55 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
58
59
60
61
62
63
64
65
66
67
68
69
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 groupMemberDelete(group, member) {
return request.delete(`im/groups/${group}/members/${member}`);
}
static joinGroup(id, member) {
return request.post(`im/groups/${id}/members`, { member });
}
}