钉钉微应用调试

Author

华丽

PublishDate

2023-08-02

category

编程

申请微应用相关权限

钉钉微应用调试首先需要去注册并申请微应用的相关信息,一般产品会去处理,我们需要拿到申请好的 corpId 进行调试和开发。

安装依赖及配置

开发和调试需要新增几个依赖。

{
  "dependencies": {
    // ↓ 钉钉 js sdk
    "dingtalk-jsapi": "^3.0.20",
    // ↓ 钉钉环境无法打开控制台,引入一个虚拟控制台,可以使用其他的虚拟控制台
    "vconsole": "^3.15.1",
  },
  "devDependencies": {
    // ↓ 钉钉无法打开控制台,所以也无法打开 vue-devtools ,我们的方案是引入独立的版本
    "@vue/devtools": "^6.5.0",
    // ↓ 用于打开浏览器
    "open": "^9.1.0",
    // ↓ 配合 vue-devtools 使用
    "vite-plugin-html": "^3.2.0",
    // ↓ 配合 `vconsole` 使用,可以自动注入
    "vite-plugin-vconsole": "^1.3.1",
  }
}

添加依赖之后,我们还需要进行相关配置。

vite

// vite.config.ts
...
import { viteVConsole } from 'vite-plugin-vconsole';
import { createHtmlPlugin } from 'vite-plugin-html';
...

export default {
  ...
  plugin: [
    ...
    createHtmlPlugin({
      inject: {
        data: {
          'vueDevtoolsInjectScript': command === 'serve' ? '<script src="http://localhost:8098"></script>' : '',
        },
      },
    }),
    viteVConsole({
      entry: path.resolve('src/main.ts'), 
      localEnabled: true,
      enabled: true,
    }),
    ...
  ]
  ...
}
<!-- index.html -->
...
<head>
  ...
  <!-- ↓ 用于注入 vue-devtool 连接地址 -->
  <%- vueDevtoolsInjectScript %>
  ...
</head>
...

钉钉相关配置

项目根目录需要创建一个 ding.config.json​ 配置文件。

{
  "type": "h5"
}

然后我们还需要创建要给用于调试的脚本,在根目录创建 ding.dev.js​ 。

import('open').then((open) => {
  const devPath = 'http://localhost:8083/?ddtab=true&corpId=dingxxxxx';
                                                           // ^ 这里换成第一步申请的 cropId
  console.log('将自动打开钉钉窗口,窗口启动时服务可能还未启动完,点击「重新加载」即可');
  console.log('如果钉钉窗口打开失败,请手动复制');
  console.log(devPath);
  console.log('至钉钉聊天窗口并发送,然后点击链接启动');

  // 拼接地址用于直接打开钉钉指定页面
  open.default(`dingtalk://dingtalkclient/page/link?url=${encodeURIComponent(devPath)}`);
});

package.json

在脚本中添加钉钉调试命令。

{
  ...
  "script": {
    ...
    "dev:ding": "vite | vue-devtools | node ./ding.dev.js",
    //           ^ 启动项目   ^ 启动 devtools     ^ 启动钉钉并打开调试页面
    ...
  },
  ...
}

开始调试

启动钉钉调试,可运行 pnpm run dev:ding​ 命令。同时会启动 vue-devtools​ 的独立版本用于 vue 调试。正常情况会弹出一个钉钉窗口并打开对应页面。如果没有自动打开,根据启动提示,将链接复制到钉钉聊天窗口后打开即可。

如调用 dd 相关能力时报错,可能需要在钉钉开发平台中设置调试地址。具体路径为 ``​ - 选择对应企业登录​ - 选择顶部应用开发​ - 选择对应应用​ - 选择左侧开发管理​ - 点击最下方「四端调试工具」右侧「去调试」按钮​ - 在最下面添加本地调试域名​。

闽 ICP 备 2021009779 号 - 1 | Copyright © 2020 华丽 | Powered By Hugo