im.js
2.91 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
'use strict';
const _ = require('lodash');
const crypto = global.yoho.crypto;
const config = global.yoho.config;
const ImAPI = new global.yoho.ApiBase(config.domains.imCs, {
name: 'im',
cache: global.yoho.cache,
useCache: false
});
const encryptedUid = uid => crypto.encryption(null, uid + '');
/**
* 新建留言信息
* path: {host}/leavemessage/saveLeavemessage
*
* @param {int} uid 用户id
* @param {int} conversationId 会话id
* @param {str} content 留言内容
*/
exports.saveMessage = (uid, conversationId, content) => {
let params = {
uid,
conversationId,
content,
encryptedUid: encryptedUid(uid)
};
return ImAPI.post('/api/leavemessage/saveLeavemessage', params);
};
/**
* 查询用户聊天记录
* @param {int} uid 用户uid
* @param [int] pageSize 每次加载的聊天记录
* @param [int] startTime
* @param [int] endTime
*/
exports.fetchImHistory = (uid, endTime, pageSize, startTime) => {
pageSize = pageSize || 10;
let params = {
uid,
pageSize,
encryptedUid: encryptedUid(uid)
};
_.forEach({startTime, endTime}, (key, val) => {
val && (params[key] = val);
});
return ImAPI.get('/api/conversationMessage/pageList', params)
.then(result => {
return result;
}, () => {
return {
code: 500,
data: {
records: [], totalCount: 0
}
};
});
};
/**
* 获取用户订单, 默认最近10笔
* @param {int} uid 用户uid
* @param {init} createTimeBegin 开始时间
*/
exports.fetchOrderList = (uid, createTimeBegin) => {
let params = {
uid,
encryptedUid: encryptedUid(uid),
imgSize: '90x120',
};
_.forEach({createTimeBegin}, (key, val) => {
val && (params[key] = val);
});
return ImAPI.get('/api/order/queryLastTenOrder', params);
};
/**
*
新建评价信息
### url
```
{host}/evalute/saveEvalute
```
### 请求参数说明
| 名称 | 类型 | 是否必须 | 描述 |
| -------------- | ------ | ---- | --------------- |
| conversationId | long | Y | 会话id |
| uid | int | Y | 用户ID |
|encryptedUid | String |Y |加密的用户标识 |
| promoter | int | Y | 评价发起者 1 用户 2 客服 |
| stars | int | Y | 评分星级 |
| reasonIds | string | N | 固定原因Id用冒号隔开 |
| reasonMsgs | string | N | 固定原因用分号隔开 |
| reasonMsg | string | N | 其他原因 |
*/
exports.saveEvalute = (uid, conversationId, promoter, stars) => {
let params = {
conversationId,
uid,
encryptedUid: encryptedUid(uid),
promoter,
stars
};
return ImAPI.post('/api/evalute/saveEvalute', params);
};