update:20210420后面补上是可以做钉钉分享的,但是单页面是不能实现发送链接识别的功能,下面分享一下钉钉分享的实现:
1.首先引进jsdk:
<script src="https://g.alicdn.com/dingding/dingtalk-jsapi/2.10.3/dingtalk.open.js"></script>
2.在mounted(vue,react用componentDidmount)里面写
if ("" + dd.env.platform !== "notInDingTalk") {
dd.ready(function() {
dd.biz.navigation.setRight({
show: true, //控制按钮显示, true 显示, false 隐藏, 默认true
control: true, //是否控制点击事件,true 控制,false 不控制, 默认false
// text: "...", //控制显示文本,空字符串表示显示默认文本
onSuccess: function(result) {
//如果control为true,则onSuccess将在发生按钮点击事件被回调
dd.biz.util.share({
type: 0, //分享类型,0:全部组件 默认;1:只能分享到钉钉;2:不能分享,只有刷新按钮
url: "https://developers.dingtalk.com/document/app/share",
title: "https://developers.dingtalk.com/document/app/share",
content: "https://developers.dingtalk.com/document/app/share",
image:
"https://hqjynanj.oss-cn-shenzhen.aliyuncs.com/web/activity/hqjy_accounting_h5/sprint-before-examination/logo.png",
onSuccess: function() {
//onSuccess将在调起分享组件成功之后回调
/**/
},
onFail: function(err) {}
});
},
onFail: function(err) {}
});
});
}
钉钉支持在聊天中发送链接时自动转换为链接卡片消息,以丰富消息内容,提升消息阅读者查看效率。
OGP协议是一套Metatags的规格,用来标注你的页面,告诉我们你的网页快照。帮助社交app高效并准确的获取网页中的核心链接、标题、主图、正文摘要等信息,使得该网页在社交分享中有更好的展现体验。
如果网页不支持OGP,那么基于算法和规则来提取网页中标题、主图、正文摘要,准确性无法做到100%,体验也不能充分保证。尤其是有部分页面html采用前端js渲染,而不是服务端渲染,会导致无法提取主图、正文摘要,链接卡片体验比较糟糕。
如何适配Open Graph Data
你只需要在页面的HTML标签中增加以下meta标签即可。
<!-- Place this data between the <head> tags of your website -->
<!-- Open Graph data -->
<meta property="og:title" content="Title Here" />
<meta property="og:url" content="http://www.example.com/" />
<meta property="og:image" content="http://example.com/image.jpg" />
<meta property="og:description" content="Description Here" />
1. 通过js动态渲染的meta头,是否可以支持?
当前不保证支持,受限于抓取方式,建议由服务端渲染meta头。
2. 钉钉链接转卡片是否有缓存?我们网页中信息已经更新了,但是转换出来的链接卡片还是旧的。
目前在服务端抓取时没有缓存,但是为了提升体验,在客户端上(包括移动端和桌面端)有内存缓存,重启钉钉后,缓存自动失效。特别注意:已经转成卡片的消息不再更新,如果测试的话,可以重新发一次来验证。
钉钉卡包问题链接:
https://developers.dingtalk.com/document/app/message-card
微信和钉钉网页分享流程:
钉钉开放者平台:
https://developers.dingtalk.com/document/app/share钉钉疑问提工单:
https://open-dev.dingtalk.com/#/questionManage
我提的工单
控制变量法,在生产环境一个一个改,因为测试环境重现不了问题,哎