demo代码如下:
<template>
<view class="content">
<button open-type="contact">咨询</button>
<button @click="getChatRecord">获取前一个小时的聊天内容</button>
<view v-for="(item, index) in list" :key="index">
<view v-if="item.opercode === 2002">客服发的消息: {{item.text}},时间:{{zTime(item.time)}}</view>
<view v-if="item.opercode === 2003">客户发的消息: {{item.text}},时间:{{zTime(item.time)}}</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
list: [],
access_token: ''
}
},
onLoad() {
this.getAccessToken()
},
methods: {
getAccessToken() {
let _this = this
let appid = '在微信公众号平台获取'
let secret = '在微信公众号平台获取'
wx.request({
url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`,
header: {
'content-type': 'application/json'
},
success(res) {
console.log(res, 'res');
console.log("at微信小程序"+res.data.access_token)
_this.access_token = res.data.access_token
},
fail(err) {
console.log(err, 'err');
}
})
},
zTime(val) {
var t = new Date(val).toLocaleString();
return t;
},
getChatRecord() {
let _this = this
let endtime = Math.round(new Date() / 1000)
// 当前时间的前一个小时
let starttime = Math.round((Number(new Date()) - 1000 * 60 * 60) /1000)
uni.request({
url: `https://api.weixin.qq.com/customservice/msgrecord/getmsglist?access_token=${this.access_token}`,
method: 'POST',
data: {
starttime : starttime,
endtime : endtime,
msgid : 1,
number : 10000
},
header: {
'content-type': 'application/json'
},
}).then((res) => {
console.log(res, '聊天记录');
this.list = res[1].data.recordlist
}).catch(err => {
console.log(err, '获取聊天记录报错');
})
}
}
}
</script>
appid和secret获取的开发-开发者管理-开发设置,截图如下
使用到的官方文档地址
小程序客服功能:客服消息使用指南 | 微信开放文档
获取聊天记录:微信开放文档