vue项目对接钉钉企业内部H5微应用

这篇博客详细记录了将已有H5应用接入钉钉企业内部应用的过程,包括注册钉钉开发者、创建应用、获取免登授权码、用户信息等步骤,并分享了在开发过程中遇到的关于选择开发模式的坑和通讯录权限的注意事项,为后续开发者提供参考。
摘要由CSDN通过智能技术生成

最近公司项目又需要接入钉钉啦 🐶,所以又去做了钉钉的企业内部应用对接。

应用场景
将之前已经有的 H5 应用接入钉钉内,无需输入账号密码便可直接登录。

# 准备工作

  • 1.注册钉钉(废话)
  • 2.负责开发的相关人员申请成为钉钉子管理员(找公司内的超管申请)
    • 注意需要管理员赋予必要的权限,例如:
      • 开发应用的数据权限
      • 开发者权限
      • 工作台管理
      • 应用中心管理
  • 3.登录钉钉开发者后台

    只有管理员和子管理员可登录开发者后台

  • 4.在应用开发页面,选择企业内部开发 > H5微应用,然后单击创建应用
  • 5.填写应用的基本信息,然后单击确定创建
  • 6.在应用信息页面,单击开发管理,然后单击修改
    • 这里注意『开发模式』的选择。如果已有可接入的H5应用时,文档提示说选择『快捷链接』的方式,但是如果后端需要请求钉钉的话就要配置服务器出口IP(白名单)了,所以还是得选择『开发应用』,不然无法配置后端请求的白名单(坑)
  • 7.单击凭证与基础信息获取应用的AppKey和AppSecret
  • 8.如果需要获取通讯录权限,就要添加合适的接口权限

# 开发流程

# 项目修改

# 项目情况

技术栈

  • vue 2.6.11
  • vue-cli 2.9.6
# 接入步骤
# 依赖安装

更目录执行以下命令

npm install dingtalk-jsapi --save
# 获取微应用免登授权码方法封装

项目的 utils 目录下(当然也可以选择 common 组件目录)新建文件dd.js

import * as dd from 'dingtalk-jsapi'

export function getCode(callback) {
  let corpId = 'your corpId'
  if (dd.env.platform !== 'notInDingTalk') {
    dd.ready(() => {
      //使用SDK 获取免登授权码
      dd.runtime.permission.requestAuthCode({
        corpId: corpId,
        onSuccess: info => {
          // 根据钉钉提供的api 获得code后,再次调用这个callback方法
          // 由于是钉钉获取code是异步操作,不知道什么时候执行完毕
          // callback 函数会等他执行完毕后在自己调用自己
          callback(info.code)
        },
        onFail: err => {
          alert('fail')
          alert(JSON.stringify(err))
        }
      })
    })
  }
}

corpId 可到后台 基本信息->开发信息(旧版)->企业自用账号信息 下查看。

# 应用入口页面修改
import { getCode } from '@/utils/dd'

export default {
  data() {
    return { }
  },
  methods: {},
  created() {
    getCode(code => {
      // 登录处理
    })
  }
}

# 对接感受

从 H5 微应用的对接来看没有特别复杂的配置,对接起来很流畅,基本没有卡壳的地方

  • 官方文档有一处写的不够准确,已有H5应用时引导用户选择快捷链接开发模式,但是这种模式下如果后端需要请求钉钉接口的话就找不到配置IP白名单的地方了,比较尴尬。
  • 权限管理的地方,涉及到通讯录权限时,基本信息与成员手机号、邮箱都是分开的权限需要手动添加,不然是获取不到相应信息的
  • 参与测试人员需要在应用的版本管理与发布tab页单独设置可使用范围才能使相关开发人员在钉钉客户端上看见入口

# 参考资料

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
针对Vue项目钉钉H5应用在安卓手机进入无反应的问题,可能有以下几个原因: 1. 引入的库和组件不兼容:Vue项目中可能使用了一些在安卓手机上不兼容的库或组件,导致应用无法正常加载。解决办法是检查使用的库和组件是否与钉钉H5应用的环境兼容,并根据情况进行替换或升级。 2. 网络请求问题:如果应用需要发送网络请求获取数据,在安卓手机上可能会受到网络环境或权限的限制,导致无法获取数据或加载延迟。解决办法是检查网络请求的代和权限设置,确保在安卓手机上能正常发送请求和获取数据。 3. 页面加载问题:在安卓手机上,由于硬件和软件的差异,页面加载速度可能较慢或出现卡顿现象。这可能导致应用进入页面时没有及时响应,给用户一种无反应的感觉。解决办法是优化页面加载速度,减少不必要的资源加载和渲染,确保应用在安卓手机上能够快速加载并响应用户操作。 4. 其他问题:除了上述原因外,还有其他可能导致无反应的问题,例如应用的脚本错误、钉钉H5应用的配置问题等。解决办法是通过调试工具或查看日志,找到具体的错误信息并逐个排查解决。 总结来说,解决Vue项目钉钉H5应用在安卓手机进入无反应的问题,需要深入分析具体原因,并根据不同原因采取相应的解决措施。从兼容性、网络请求、页面加载等方面入手,进行问题排查和优化,以确保应用能在安卓手机上正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定喵君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值