更新记录

1.1.0(2025-10-30)

修复已知问题

1.0.9(2025-10-25)

支持分享功能

1.0.8(2025-10-15)

修复已知问题

查看更多

平台兼容性

uni-app(4.36)

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

uni-app x(4.36)

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

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平台配置

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 版本

// 导入插件
const wxwork = require('@/uni_modules/tt-wechat-work');

export default {
    data() {
        return {
            weChatWork: null
        }
    },
    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 链接地址
iconPath string 图标路径(支持本地路径)

示例代码

// 分享链接
shareLink() {
    this.weChatWork?.shareLink({
        title: "企业微信分享链接",
        summary: "这是一个企业微信分享链接的示例",
        url: "https://work.weixin.qq.com/",
        iconPath: "/static/logo.png", // 可选:本地图标路径
        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/",
                iconPath: "/static/logo.png",
                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/",
                iconPath: "/static/logo.png",
                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 未安装企业微信 所有功能 提示用户安装企业微信客户端
102 SDK未初始化或初始化失败 所有功能 检查SDK初始化参数,重新注册
登录错误
201 未注册SDK,请检查初始化流程 登录功能 确保先调用register方法
202 序列化数据为空,请检查sessionKey是否正确设置 登录功能 检查登录参数配置
203 调用OpenURL打开应用失败 登录功能 检查URL Scheme配置
204 登录取消 登录功能 用户主动取消登录
分享错误
301 文件路径错误或文件不存在 分享功能 检查文件路径是否正确,确保文件存在
其他错误
999 其他错误 所有功能 查看企业微信原始错误码和详细信息
1000 暂不支持 所有功能 当前平台不支持此功能

常见问题

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. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: