| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- import HouseApi from './../../apis/house'
- import ImApi from './../../apis/im'
- import { randomString } from './../../utils/tools'
- import { fotmatDate } from './../../utils/date'
- import ImSend from '../../utils/imSend'
- const app = getApp()
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- house: {},
- house_id: '',
- customers: [],
- cardShowStatus: false,
- selectedCustomer: {}
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- this.getHouseDetail(options.house_id)
- this.getMessageList()
- },
- toCustomerList () {
- wx.navigateTo({
- url: `/pages/customer-list/customer-list?house_id=${this.data.house_id}`,
- })
- },
- getHouseDetail (house_id) {
- HouseApi.houseDetail(house_id).then(res => {
- res.data.detail_images = JSON.parse(res.data.detail_images)
- this.setData({
- house: res.data,
- house_id: house_id
- })
- })
- },
- confirmInvite (e) {
- const { index } = e.currentTarget.dataset
- this.setData({
- cardShowStatus: true,
- selectedCustomer: this.data.customers[index]
- })
- },
- submit (e) {
- if (e.detail) {
- ImSend.sendTextMsg(e.detail, this.data.selectedCustomer.user_id)
- }
- const room_id = randomString(18)
- const { house } = this.data
- console.log(this.data.selectedCustomer)
- this.postDataToOpen(room_id).then(res => {
- // const vr_link = res.data.vrLink
- ImSend.sendVrMsg(house, res.data.roomId, this.data.selectedCustomer.id, true)
- })
- this.setData({
- cardShowStatus: false
- })
- },
- sendVrMsg () {
-
- },
- postDataToOpen (room_id) {
- return HouseApi.postDataToOpen({house_id: this.data.house_id, room_id: '', type: 'customer'})
- },
- cancle () {
- this.setData({
- cardShowStatus: false
- })
- },
- getMessageList () {
- return ImApi.getContacts().then(res => {
- this.customers = this.dealConversations(res.data.friends)
- this.setData({
- customers: this.customers
- })
-
- })
- },
- dealConversations (conversations) {
- return conversations.map(item => {
- let content = item.latestMsgContent
- try {
- let parseContent = JSON.parse(content)
- if (parseContent.house_name) {
- content = `【云带看】${JSON.parse(content).house_name}`
- } else if (parseContent.duration) {
- content = '【语音】'
- } else if (parseContent.content) {
- content = '【图片】'
- }
-
- } catch (err) {
- }
- item.latestMsgContent = content
- item.latestMsgTime = fotmatDate(item.latestMsgTime, 'yyyy-MM-dd hh:mm:ss')
- return item
- }).sort((a,b) => new Date(b.latestMsgTime) - new Date(a.latestMsgTime))
- },
- sendVrMsg () {
- const room_id = randomString(18)
- const { house } = this.data
- ImSend.sendVrMsg(house, room_id, this.data.selectedCustomer.id, true)
- },
- sendMsg ({content, msgType}) {
- let defaultContent = {
- fromId: app.globalData.userinfo.user_id,
- fromName: app.globalData.userinfo.phone,
- toId: this.data.selectedCustomer.id, //this.properties.agent_user.agency_user_id,
- toName: this.data.selectedCustomer.name,
- type: 'TYPE_ONE',
- msgType,
- content: content
- }
- console.log(getApp().getIMHandler())
- return getApp().getIMHandler().newFriendSendMsg({content: defaultContent})
- },
- bindinput (e) {
- const { value } = e.detail
- this.keyword = value
- },
- filterMessage () {
- this.setData({
- customers: this.customers.filter(item => item.name.indexOf(this.keyword) !== -1)
- })
- }
- })
|