钉钉聊天中链接转卡片

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) {}
        });
      });
    }

钉钉支持在聊天中发送链接时自动转换为链接卡片消息,以丰富消息内容,提升消息阅读者查看效率。

钉钉聊天中链接转卡片_第1张图片
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://blog.csdn.net/c_kite/article/details/82501627
钉钉开放者平台:
https://developers.dingtalk.com/document/app/share
钉钉疑问提工单:
https://open-dev.dingtalk.com/#/questionManage
钉钉聊天中链接转卡片_第2张图片
我提的工单
钉钉聊天中链接转卡片_第3张图片
控制变量法,在生产环境一个一个改,因为测试环境重现不了问题,哎

你可能感兴趣的:(钉钉,vue,vue.js,javascript)