更新记录

1.1.6(2026-05-11)

更新插件信息

1.1.5(2026-05-09)

更新插件信息

1.1.4(2026-04-27)

修复已知问题

查看更多

平台兼容性

uni-app(4.36)

Vue2 Vue2插件版本 Vue3 Vue3插件版本 Chrome Safari app-vue app-vue插件版本 app-nvue app-nvue插件版本 Android Android插件版本 iOS iOS插件版本 鸿蒙 鸿蒙插件版本
1.0.1 1.0.1 × × 1.0.1 1.0.1 5.0 1.0.1 12 1.0.1 12 1.0.1
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × × ×

uni-app x(4.36)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 鸿蒙插件版本 微信小程序
× × 5.0 1.0.1 12 1.0.1 12 1.0.1 ×

tt-wechat-work

🚀 企业微信SDK插件,为 uni-app x & uni-app 提供企业微信授权登录和分享功能

📖 目录

📚 推荐阅读: 企业微信官方集成文档

🚨 重要提示

⚠️ 必须使用自定义基座运行,否则无法找到插件方法

环境配置

前置条件

  1. 企业微信开放平台申请企业应用
  2. 获取 corpId(企业ID)和 agentId(应用ID)
  3. 配置应用包名和签名

iOS平台配置

1. 配置 URL Scheme

修改插件目录下的 uni_modules/tt-wechat-work/utssdk/app-ios/Info.plist 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>wechatwork</string>
        <key>CFBundleURLSchemes</key>
        <array>
           <!-- 填写您的scheme -->
          <string>你所注册的应用程序获得的scheme</string>
        </array>
      </dict>
    </array>
  </dict>
</plist>

💡 配置说明:

  • "你所注册的应用程序获得的scheme" 替换为您的实际企业微信应用Scheme
  • 此配置会自动合并到项目的Info.plist中

Android平台配置

Android平台会自动完成相关配置,确保在企业微信开放平台正确配置应用包名和签名即可。

HarmonyOS平台配置

⚠️ 重要授权说明:

  • uni-app 项目: 由于官方目前不支持试用以及普通授权,建议通过示例中的 uni-app x 项目测通后购买源码授权使用
  • uni-app x 项目: 可直接使用

1. 配置 module.json5

⚠️ 重要提示: 由于 harmony-configs/entry/src/main/module.json5 会完全替换默认配置,需要提供完整的配置文件。

在项目的 harmony-configs/entry/src/main/module.json5 文件中使用以下完整配置

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone",
      "tablet",
      "2in1"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "querySchemes": [
      "https",
      "wxworkapi"
    ],
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ets",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:layered_image",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:startIcon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ],
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      }
    ]
  }
}

💡 配置说明:

  • 必须使用完整配置: module.json5 会覆盖默认配置,不能只添加部分字段
  • 关键添加项:
    • querySchemes 数组包含 "https""wxworkapi"
  • 保留默认配置: 其他配置项保持与默认模板一致

快速开始

1. 导入插件

uni-app x 版本

import * as wxwork from "@/uni_modules/tt-wechat-work";

export default {
    data() {
        return {
            weChatWork: null as wxwork.TTWeChatWorkSDK | null,
        }
    },
    onLoad() {
        // 初始化企业微信SDK实例
        this.weChatWork = wxwork.getTTWeChatWorkSDK()
        // 注册企业微信SDK
        this.initWeChatWorkSDK()
    },
    methods: {
        // 初始化企业微信SDK
        initWeChatWorkSDK() {
            // SDK初始化代码见下方
        }
    }
}

uni-app 版本

// 导入插件
import * as wxwork from "@/uni_modules/tt-wechat-work";

export default {
    data() {
        return {
            weChatWork: wxwork.TTWeChatWorkSDK
        }
    },
    onLoad() {
        // 初始化企业微信SDK实例
        this.weChatWork = wxwork.getTTWeChatWorkSDK()
        // 注册企业微信SDK
        this.initWeChatWorkSDK()
    },
    methods: {
        // 初始化企业微信SDK
        initWeChatWorkSDK() {
            // SDK初始化代码见下方
        }
    }
}

2. 初始化 SDK

uni-app x 版本

initWeChatWorkSDK() {
    if (this.weChatWork == null) {
        console.error('企业微信SDK初始化失败')
        return
    }

    this.weChatWork.register({
        scheme: "您的应用Scheme",           // 必填:第三方App的Scheme
        corpId: "您的企业ID",              // 必填:企业微信企业ID
        agentId: "您的应用ID",             // 必填:企业微信企业应用ID
        success: (e) => {
            console.log("✅ 企业微信SDK初始化成功");
            // 可以在这里进行后续操作,如检测企业微信是否安装
            this.checkWeChatWorkInstalled()
        },
        fail: (err) => {
            console.error("❌ 企业微信SDK初始化失败:", err);
            uni.showToast({
                title: '企业微信SDK初始化失败',
                icon: 'error'
            })
        }
    } as wxwork.TTWeChatWorkRegisterOptions);
}

uni-app 版本

initWeChatWorkSDK() {
    if (this.weChatWork == null) {
        console.error('企业微信SDK初始化失败')
        return
    }

    this.weChatWork.register({
        scheme: "您的应用Scheme",           // 必填:第三方App的Scheme
        corpId: "您的企业ID",              // 必填:企业微信企业ID
        agentId: "您的应用ID",             // 必填:企业微信企业应用ID
        success: (e) => {
            console.log("✅ 企业微信SDK初始化成功");
            // 可以在这里进行后续操作,如检测企业微信是否安装
            this.checkWeChatWorkInstalled()
        },
        fail: (err) => {
            console.error("❌ 企业微信SDK初始化失败:", err);
            uni.showToast({
                title: '企业微信SDK初始化失败',
                icon: 'error'
            })
        }
    });
}

功能介绍

企业微信授权登录

💡 企业微信登录是一个两步过程:先获取code,再通过后端接口换取用户信息

第一步:获取授权码 (code)

参数说明

TTWeChatWorkLoginOptions

参数 类型 必填 说明
state string 请求唯一标识,原样返回,长度不超过1K

返回值 TTWeChatWorkLoginSuccess

参数 类型 说明
code string 用于换取access_token的授权码
state string 原样返回的标识符

示例代码

uni-app x 版本
// 检测企业微信是否安装
checkWeChatWorkInstalled() {
    const isInstalled = this.weChatWork?.isInstall()
    if (isInstalled == false) {
        uni.showModal({
            title: '提示',
            content: '请先安装企业微信客户端',
            showCancel: false
        })
        return false
    }
    return true
}

// 企业微信授权登录
handleWeChatWorkLogin() {
    // 先检查企业微信是否安装
    if (this.checkWeChatWorkInstalled() == false) {
        return
    }

    this.weChatWork?.login({
        state: Date.now().toString(), // 使用时间戳作为唯一标识
        success: (result) => {
            console.log("✅ 获取授权码成功:", result.code);
            // 将code发送到后端服务器
            this.sendCodeToServer(result.code)
        },
        fail: (error) => {
            console.error("❌ 企业微信授权失败:", error);
            uni.showToast({
                title: '授权失败',
                icon: 'error'
            })
        }
    } as wxwork.TTWeChatWorkLoginOptions)
}

// 发送code到后端服务器
sendCodeToServer(code: string) {
    uni.request({
        url: 'https://your-server.com/api/wechatwork/login',
        method: 'POST',
        data: { code },
        success: (res) => {
            // 处理登录成功逻辑
            console.log('登录成功:', res.data)
        },
        fail: (err) => {
            console.error('登录请求失败:', err)
        }
    })
}
uni-app 版本
// 检测企业微信是否安装
checkWeChatWorkInstalled() {
    const isInstalled = this.weChatWork.isInstall()
    if (isInstalled == false) {
        uni.showModal({
            title: '提示',
            content: '请先安装企业微信客户端',
            showCancel: false
        })
        return false
    }
    return true
}

// 企业微信授权登录
handleWeChatWorkLogin() {
    // 先检查企业微信是否安装
    if (this.checkWeChatWorkInstalled() == false) {
        return
    }

    this.weChatWork.login({
        state: Date.now().toString(), // 使用时间戳作为唯一标识
        success: (result) => {
            console.log("✅ 获取授权码成功:", result.code);
            // 将code发送到后端服务器
            this.sendCodeToServer(result.code)
        },
        fail: (error) => {
            console.error("❌ 企业微信授权失败:", error);
            uni.showToast({
                title: '授权失败',
                icon: 'error'
            })
        }
    })
}

// 发送code到后端服务器
sendCodeToServer(code) {
    uni.request({
        url: 'https://your-server.com/api/wechatwork/login',
        method: 'POST',
        data: { code },
        success: (res) => {
            // 处理登录成功逻辑
            console.log('登录成功:', res.data)
        },
        fail: (err) => {
            console.error('登录请求失败:', err)
        }
    })
}

第二步:后端换取用户信息

📖 详细流程请参考: 企业微信授权后接口调用文档

后端需要完成的步骤:

  1. 使用code换取access_token
  2. 使用access_token获取用户信息
  3. 返回用户信息给前端

企业微信分享功能

💡 企业微信分享功能支持多种内容类型,不同平台支持的功能略有差异

平台支持情况

分享类型 iOS Android HarmonyOS
文字分享
图片分享
文件分享
小视频分享
链接分享
小程序分享

分享文字

参数说明

TTWeChatWorkShareTextOptions

参数 类型 必填 说明
text string 要分享的文字内容

示例代码

uni-app x 版本
// 分享文字
shareText() {
    this.weChatWork?.shareText({
        text: "这是一段要分享的文字内容",
        success: (result) => {
            console.log("✅ 文字分享成功");
            uni.showToast({
                title: '分享成功',
                icon: 'success'
            })
        },
        fail: (error) => {
            console.error("❌ 文字分享失败:", error);
            this.handleWeChatWorkError(error, '文字分享')
        }
    } as wxwork.TTWeChatWorkShareTextOptions)
}
uni-app 版本
// 分享文字
shareText() {
    this.weChatWork.shareText({
        text: "这是一段要分享的文字内容",
        success: (result) => {
            console.log("✅ 文字分享成功");
            uni.showToast({
                title: '分享成功',
                icon: 'success'
            })
        },
        fail: (error) => {
            console.error("❌ 文字分享失败:", error);
            this.handleWeChatWorkError(error, '文字分享')
        }
    })
}

分享图片

参数说明

TTWeChatWorkShareImageOptions

参数 类型 必填 说明
filename string 图片文件名
path string 图片文件路径(支持本地路径)

示例代码

uni-app x 版本
// 分享图片
shareImage() {
    this.weChatWork?.shareImage({
        filename: "image.jpg",
        path: "/static/logo.png", // 本地图片路径
        success: (result) => {
            console.log("✅ 图片分享成功");
            uni.showToast({
                title: '分享成功',
                icon: 'success'
            })
        },
        fail: (error) => {
            console.error("❌ 图片分享失败:", error);
            this.handleWeChatWorkError(error, '图片分享')
        }
    } as wxwork.TTWeChatWorkShareImageOptions)
}
uni-app 版本
// 分享图片
shareImage() {
    this.weChatWork.shareImage({
        filename: "image.jpg",
        path: "/static/logo.png", // 本地图片路径
        success: (result) => {
            console.log("✅ 图片分享成功");
            uni.showToast({
                title: '分享成功',
                icon: 'success'
            })
        },
        fail: (error) => {
            console.error("❌ 图片分享失败:", error);
            this.handleWeChatWorkError(error, '图片分享')
        }
    })
}

分享文件

参数说明

TTWeChatWorkShareFileOptions

参数 类型 必填 说明
filename string 文件名
path string 文件路径(支持本地路径)

示例代码

// 分享文件
shareFile() {
    this.weChatWork?.shareFile({
        filename: "document.pdf",
        path: "/static/files/sample.pdf", // 本地文件路径
        success: (result) => {
            console.log("✅ 文件分享成功");
            uni.showToast({
                title: '分享成功',
                icon: 'success'
            })
        },
        fail: (error) => {
            console.error("❌ 文件分享失败:", error);
            this.handleWeChatWorkError(error, '文件分享')
        }
    } as wxwork.TTWeChatWorkShareFileOptions)
}

分享小视频

参数说明

TTWeChatWorkShareVideoOptions

参数 类型 必填 说明
filename string 视频文件名
path string 视频文件路径(支持本地路径)

示例代码

// 分享小视频
shareVideo() {
    this.weChatWork?.shareVideo({
        filename: "video.mp4",
        path: "/static/videos/sample.mp4", // 本地视频路径
        success: (result) => {
            console.log("✅ 小视频分享成功");
            uni.showToast({
                title: '分享成功',
                icon: 'success'
            })
        },
        fail: (error) => {
            console.error("❌ 小视频分享失败:", error);
            this.handleWeChatWorkError(error, '小视频分享')
        }
    } as wxwork.TTWeChatWorkShareVideoOptions)
}

分享链接

参数说明

TTWeChatWorkShareLinkOptions

参数 类型 必填 说明
title string 链接标题
summary string 链接描述
url string 网页链接地址(SDK webpageUrl
thumbUrl string Android、HarmonyOS:缩略图网络图片 URL(SDK thumbUrl),勿与 url 混用
iconPath string 仅 iOS:本地缩略图路径,读取为 icon;Android/Harmony 请用 thumbUrl

示例代码

// 分享链接
shareLink() {
    this.weChatWork?.shareLink({
        title: "企业微信分享链接",
        summary: "这是一个企业微信分享链接的示例",
        url: "https://work.weixin.qq.com/",
        thumbUrl: "https://www.tencent.com/favicon.ico", // Android/Harmony:缩略图 URL(勿与网页 url 相同)
        iconPath: "/static/logo.png", // iOS:本地缩略图(Android/Harmony 不使用)
        success: (result) => {
            console.log("✅ 链接分享成功");
            uni.showToast({
                title: '分享成功',
                icon: 'success'
            })
        },
        fail: (error) => {
            console.error("❌ 链接分享失败:", error);
            this.handleWeChatWorkError(error, '链接分享')
        }
    } as wxwork.TTWeChatWorkShareLinkOptions)
}

分享小程序

参数说明

TTWeChatWorkShareMiniAppOptions

参数 类型 必填 说明
userName string 小程序原始ID(如:gh_dde54cb88ce7@app)
path string 小程序页面路径
title string 小程序标题
hdImagePath string 高清图片路径(支持本地路径)

示例代码

// 分享小程序
shareMiniApp() {
    this.weChatWork?.shareMiniApp({
        userName: "gh_dde54cb88ce7@app", // 小程序原始ID
        path: "/pages/plugin/index.html?plugid=1cbd3b7c8674e61769436b5e354ddb2f",
        title: "企业微信小程序",
        hdImagePath: "/static/miniapp-icon.png", // 可选:本地图片路径
        success: (result) => {
            console.log("✅ 小程序分享成功");
            uni.showToast({
                title: '分享成功',
                icon: 'success'
            })
        },
        fail: (error) => {
            console.error("❌ 小程序分享失败:", error);
            this.handleWeChatWorkError(error, '小程序分享')
        }
    } as wxwork.TTWeChatWorkShareMiniAppOptions)
}

分享功能完整示例

uni-app x 版本

export default {
    data() {
        return {
            weChatWork: null as wxwork.TTWeChatWorkSDK | null,
        }
    },
    onLoad() {
        this.weChatWork = wxwork.getTTWeChatWorkSDK()
        this.initWeChatWorkSDK()
    },
    methods: {
        // 初始化企业微信SDK
        initWeChatWorkSDK() {
            this.weChatWork?.register({
                scheme: "您的应用Scheme",
                corpId: "您的企业ID",
                agentId: "您的应用ID",
                success: (e) => {
                    console.log("✅ 企业微信SDK初始化成功");
                },
                fail: (err) => {
                    console.error("❌ 企业微信SDK初始化失败:", err);
                }
            } as wxwork.TTWeChatWorkRegisterOptions);
        },

        // 检测企业微信是否安装
        checkWeChatWorkInstalled() {
            const isInstalled = this.weChatWork?.isInstall()
            if (isInstalled == false) {
                uni.showModal({
                    title: '提示',
                    content: '请先安装企业微信客户端',
                    showCancel: false
                })
                return false
            }
            return true
        },

        // 分享文字
        shareText() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork?.shareText({
                text: "这是一段要分享的文字内容",
                success: (result) => {
                    console.log("✅ 文字分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '文字分享')
                }
            } as wxwork.TTWeChatWorkShareTextOptions)
        },

        // 分享图片
        shareImage() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork?.shareImage({
                filename: "image.jpg",
                path: "/static/logo.png",
                success: (result) => {
                    console.log("✅ 图片分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '图片分享')
                }
            } as wxwork.TTWeChatWorkShareImageOptions)
        },

        // 分享文件
        shareFile() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork?.shareFile({
                filename: "document.pdf",
                path: "/static/files/sample.pdf",
                success: (result) => {
                    console.log("✅ 文件分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '文件分享')
                }
            } as wxwork.TTWeChatWorkShareFileOptions)
        },

        // 分享小视频
        shareVideo() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork?.shareVideo({
                filename: "video.mp4",
                path: "/static/videos/sample.mp4",
                success: (result) => {
                    console.log("✅ 小视频分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '小视频分享')
                }
            } as wxwork.TTWeChatWorkShareVideoOptions)
        },

        // 分享链接
        shareLink() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork?.shareLink({
                title: "企业微信分享链接",
                summary: "这是一个企业微信分享链接的示例",
                url: "https://work.weixin.qq.com/",
                thumbUrl: "https://www.tencent.com/favicon.ico", // Android/Harmony
                iconPath: "/static/logo.png", // iOS
                success: (result) => {
                    console.log("✅ 链接分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '链接分享')
                }
            } as wxwork.TTWeChatWorkShareLinkOptions)
        },

        // 分享小程序
        shareMiniApp() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork?.shareMiniApp({
                userName: "gh_dde54cb88ce7@app",
                path: "/pages/plugin/index.html?plugid=1cbd3b7c8674e61769436b5e354ddb2f",
                title: "企业微信小程序",
                hdImagePath: "/static/miniapp-icon.png",
                success: (result) => {
                    console.log("✅ 小程序分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '小程序分享')
                }
            } as wxwork.TTWeChatWorkShareMiniAppOptions)
        },

        // 统一错误处理函数
        handleWeChatWorkError(error: any, action: string) {
            console.error(`❌ ${action}失败:`, error)

            const errCode = error.errCode || error.code
            const errMsg = error.errMsg || error.message

            switch(errCode) {
                case 1000:
                    uni.showToast({
                        title: '当前平台不支持此功能',
                        icon: 'error'
                    })
                    break
                case 999:
                    uni.showToast({
                        title: errMsg || '操作失败',
                        icon: 'error'
                    })
                    break
                default:
                    if (errMsg && errMsg !== '用户取消') {
                        uni.showToast({
                            title: errMsg,
                            icon: 'error'
                        })
                    }
                    break
            }
        }
    }
}

uni-app 版本

export default {
    data() {
        return {
            weChatWork: null
        }
    },
    onLoad() {
        this.weChatWork = wxwork.getTTWeChatWorkSDK()
        this.initWeChatWorkSDK()
    },
    methods: {
        // 初始化企业微信SDK
        initWeChatWorkSDK() {
            this.weChatWork.register({
                scheme: "您的应用Scheme",
                corpId: "您的企业ID",
                agentId: "您的应用ID",
                success: (e) => {
                    console.log("✅ 企业微信SDK初始化成功");
                },
                fail: (err) => {
                    console.error("❌ 企业微信SDK初始化失败:", err);
                }
            });
        },

        // 检测企业微信是否安装
        checkWeChatWorkInstalled() {
            const isInstalled = this.weChatWork.isInstall()
            if (isInstalled == false) {
                uni.showModal({
                    title: '提示',
                    content: '请先安装企业微信客户端',
                    showCancel: false
                })
                return false
            }
            return true
        },

        // 分享文字
        shareText() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork.shareText({
                text: "这是一段要分享的文字内容",
                success: (result) => {
                    console.log("✅ 文字分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '文字分享')
                }
            })
        },

        // 分享图片
        shareImage() {
            if (this.checkWeChatWorkInstalled()== false) return

            this.weChatWork.shareImage({
                filename: "image.jpg",
                path: "/static/logo.png",
                success: (result) => {
                    console.log("✅ 图片分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '图片分享')
                }
            })
        },

        // 分享文件
        shareFile() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork.shareFile({
                filename: "document.pdf",
                path: "/static/files/sample.pdf",
                success: (result) => {
                    console.log("✅ 文件分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '文件分享')
                }
            })
        },

        // 分享小视频
        shareVideo() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork.shareVideo({
                filename: "video.mp4",
                path: "/static/videos/sample.mp4",
                success: (result) => {
                    console.log("✅ 小视频分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '小视频分享')
                }
            })
        },

        // 分享链接
        shareLink() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork.shareLink({
                title: "企业微信分享链接",
                summary: "这是一个企业微信分享链接的示例",
                url: "https://work.weixin.qq.com/",
                thumbUrl: "https://www.tencent.com/favicon.ico", // Android/Harmony
                iconPath: "/static/logo.png", // iOS
                success: (result) => {
                    console.log("✅ 链接分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '链接分享')
                }
            })
        },

        // 分享小程序
        shareMiniApp() {
            if (this.checkWeChatWorkInstalled() == false) return

            this.weChatWork.shareMiniApp({
                userName: "gh_dde54cb88ce7@app",
                path: "/pages/plugin/index.html?plugid=1cbd3b7c8674e61769436b5e354ddb2f",
                title: "企业微信小程序",
                hdImagePath: "/static/miniapp-icon.png",
                success: (result) => {
                    console.log("✅ 小程序分享成功");
                    uni.showToast({ title: '分享成功', icon: 'success' })
                },
                fail: (error) => {
                    this.handleWeChatWorkError(error, '小程序分享')
                }
            })
        },

        // 统一错误处理函数
        handleWeChatWorkError(error, action) {
            console.error(`❌ ${action}失败:`, error)

            const errCode = error.errCode || error.code
            const errMsg = error.errMsg || error.message

            switch(errCode) {
                case 1000:
                    uni.showToast({
                        title: '当前平台不支持此功能',
                        icon: 'error'
                    })
                    break
                case 999:
                    uni.showToast({
                        title: errMsg || '操作失败',
                        icon: 'error'
                    })
                    break
                default:
                    if (errMsg && errMsg !== '用户取消') {
                        uni.showToast({
                            title: errMsg,
                            icon: 'error'
                        })
                    }
                    break
            }
        }
    }
}

错误处理

错误码说明

错误码 错误信息 适用场景 解决方案
基础错误
101 未安装企业微信 预留 插件不会在回调里主动返回此码;可在业务层使用 isInstall() 判断后自行提示
102 SDK未初始化或初始化失败 所有功能 检查SDK初始化参数,重新注册
登录错误
201 未注册SDK,请检查初始化流程 登录功能 确保先调用register方法
202 序列化数据为空,请检查sessionKey是否正确设置 登录功能 检查登录参数配置
203 调用OpenURL打开应用失败 登录;iOS 分享 登录失败或 iOS 分享时 SDK 明确报「拉起企业微信失败」;检查 URL Scheme、是否安装企业微信等
204 登录取消 登录功能 用户主动取消登录(与 Android ERR_CANCEL、Harmony 取消码对齐)
分享错误
301 文件路径错误或文件不存在 分享功能 检查文件路径是否正确,确保文件存在
其他错误
999 其他错误 所有功能 Android 分享 sendMessage 失败等未细分原因;可查看 cause / 企业微信原始错误信息
1000 暂不支持 所有功能 当前平台不支持此功能;若构造错误时传入更具体的 errMsg,将优先展示该文案(如 Harmony 各「暂不支持」说明)

常见问题

1. 找不到插件方法?

解决方案: 确保使用自定义基座运行,标准基座不包含原生插件。

2. iOS平台登录无响应?

解决方案:

  • 检查插件目录下 uni_modules/tt-wechat-work/utssdk/app-ios/Info.plist 中的 URL Scheme 配置
  • 确认企业微信应用Scheme配置正确
  • 验证企业微信开放平台的应用配置

3. Android平台功能异常?

解决方案:

  • 确认应用签名与企业微信开放平台配置一致
  • 检查包名是否正确
  • 确保企业微信客户端版本支持相关功能

4. HarmonyOS平台问题?

常见问题:

  • 配置不完整: 只添加了 querySchemes 导致应用无法正常运行
  • 功能异常: SDK初始化失败

解决方案:

  • 在正确路径 harmony-configs/entry/src/main/module.json5 创建配置文件
  • 使用文档提供的完整 module.json5 模板配置
  • 确认 querySchemes 数组包含 "https""wxworkapi"
  • 检查所有默认配置项是否保留(abilities、permissions等)

5. 分享功能异常?

常见问题:

  • 分享失败或无法打开企业微信
  • 文件路径错误导致分享失败
  • 平台不支持某些分享类型

解决方案:

  • 确保企业微信客户端已安装
  • 检查文件路径是否正确,使用绝对路径
  • 确认分享的文件格式和大小符合要求
  • 检查平台支持情况(HarmonyOS仅支持图片、文件、链接分享)
  • 验证corpId和agentId配置是否正确

6. 登录失败?

解决方案:

  • 确保企业微信客户端已安装
  • 检查corpId和agentId是否正确
  • 验证应用包名和签名配置
  • 确认网络连接正常

📞 技术支持

如果在使用过程中遇到问题,请:

  1. 查阅上方常见问题
  2. 参考企业微信官方开发文档
  3. 检查配置是否正确
  4. 确认企业微信客户端版本

祝您开发愉快! 🎉

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: