官方的富媒体消息组件leancloud-realtime-typed-messages 需要依赖 avoscloud-sdk,所以建立此 repo 取消此依赖,以减小体积并避免在前端使用 AppKey。
import { FileMessage, ImageMessage, AudioMessage, VideoMessage, LocationMessage, FileStorage } from 'leancloud-realtime-typed-messages-without-avoscloud';- 收: getFile 方法将返回一个自行简单封装的 AV.File 类,可以使用以下方法:
let file = msg.getFile(); let id = file.id; let url = file.url(); let name = file.name(); let width = file.metaData('width');- 发: 使用以下方法构造 Message:
let file = new FileStorage(id, url, metaData); let message = new ImageMessage(file); conversation.send(message).then(...);- 收: getLocation 方法将返回一个包含 latitude 和 longitude 两个属性的对象:
let location = msg.getLocation(); let latitude = location.latitude; let longitude = location.longitude;- 发: 使用以下方法构造 Message:
let message = new LocationMessage({latitude, longitude}); conversation.send(message).then(...);