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
70
71
72
73
74
75
76
77
78
79
80
81
82
|
import axios from 'axios';
const apiBaseUrl = 'https://api.juick.com';
const client = axios.create({
baseURL: apiBaseUrl
});
client.interceptors.request.use(config => {
if (localStorage.visitor) {
config.params = Object.assign(config.params || {}, {
hash: JSON.parse(localStorage.visitor).hash
});
}
return config;
})
export function me(username = '', password = '') {
return new Promise((resolve, reject) => {
client.get('/me', {
headers: username ? {
'Authorization': 'Basic ' + window.btoa(unescape(encodeURIComponent(username + ":" + password)))
} : {}
}).then(response => {
localStorage.visitor = JSON.stringify(response.data);
resolve(response.data)
}).catch(reason => {
localStorage.clear()
reject(reason)
})
});
}
export function getChats() {
return client.get('/groups_pms')
}
export function getChat(userName) {
return client.get('/pm', {
params: {
'uname': userName
}
})
}
export function pm(userName, body) {
let form = new FormData();
form.set('uname', userName);
form.set('body', body);
return client.post('/pm', form)
}
export function getMessages(path, params) {
return client.get(path, {
params: params
})
}
export function comment(mid, rid, body, attach) {
let form = new FormData();
form.append('mid', mid);
form.append('rid', rid);
form.append('body', body);
form.append('attach', attach);
return client.post('/comment', form)
}
function socialLink(network) {
return `${apiBaseUrl}/_${network}login?state=${window.location.protocol}//${window.location.host}${window.location.pathname}`;
}
export function facebookLink() {
return socialLink('fb');
}
export function vkLink() {
return socialLink('vk');
}
export function markReadTracker(msg, visitor) {
return `${apiBaseUrl}/thread/mark_read/${msg.mid}-${msg.rid || 0}.gif?hash=${visitor.hash}`;
}
|