【uniapp】一文让你学会微信小程序+APP+H5全平台接入企业微信客服实战指南

32 阅读6分钟

一、为什么你的项目需要企业微信客服?

如果你正在用uniapp开发跨平台应用,一定遇到过这个头疼的问题:小程序有自己的客服系统,APP又得单独集成第三方SDK,两边的消息还不同步,维护起来简直要命。

企业微信客服就像一个“万能插座”,让你用一套代码,就能在微信小程序、APP、H5三端都接入统一的企业级客服系统。用户点击“联系客服”,直接唤起熟悉的微信聊天窗口,无需额外下载;客服人员在企业微信后台统一管理会话,支持分配坐席、设置自动回复、查看数据报表,管理效率直接拉满

企业微信客服的两个核心优势:

  • 跨平台统一:符合uniapp“一套代码,多端运行”的理念,各端用相似的API调用,不需要为每个平台单独开发客服逻辑
  • 腾讯官方能力:聊天界面、消息存储、客服坐席管理都由腾讯提供,稳定性和专业性有保障

二、前置准备:企业微信后台配置

⚠️ 重要提醒:这一步如果配错了,后面代码写得再漂亮也白搭。请务必按顺序完成以下配置。

2.1 注册企业微信并完成认证

首先需要注册一个企业微信账号(不是个人微信号)。注册完成后,最关键的一步是完成企业认证——需要提交营业执照等资质,审核费用300元/年

为什么必须认证?未认证的企业号在调用微信客服等高级接口时会受到极大限制,功能不全且稳定性没保障。这笔投入省不得

认证成功后,进入企业微信管理后台(企业微信) →「我的企业」→ 页面最底部,复制企业ID(CorpID)  。这个参数后续写代码时会频繁用到。

2.2 创建微信客服账号

  1. 登录企业微信管理后台,左侧菜单找到「应用管理」→「微信客服」,点击启用
  2. 点击「添加客服账号」,根据业务创建多个入口,比如“售前咨询”、“技术支持”等
  3. 创建时设置头像、名称、欢迎语。欢迎语建议引导用户描述问题,提升沟通效率
  4. 创建完成后,在客服账号的「接入」设置中,选择在微信外App/网页中接入,复制客服链接(URL)  

这个链接长这样:https://work.weixin.qq.com/kfid/kfcbxxxxxx,它是你的客服账号的唯一网络地址。 如图: 入口

image.png 创建客服账号并获取客服链接

image.png 客服链接获取 image.png

2.3 APP和微信小程序的特殊绑定

APP端额外步骤:

  1. 注册微信开放平台open.weixin.qq.com),创建移动应用,获取AppID。注意创建应用需要有一个包含品牌展示、功能介绍等内容的官网页面
  2. 回到企业微信后台「微信客服」→「在微信外App/网页中接入」→「去接入」,填入刚才获取的AppID
  3. 绑定成功后刷新开放平台页面,确认关联状态

小程序端额外步骤:

登录小程序管理后台(mp.weixin.qq.com)→「功能」→「客服」→「微信客服」,填写企业微信的企业ID进行绑定

🔑 关键参数汇总

  • 企业ID(CorpID) :企业微信后台「我的企业」底部获取
  • 客服链接(URL) :微信客服账号的接入设置中获取
  • AppID:微信开放平台创建移动应用后获取(仅APP端需要)

企业ID获取 image.png 企业ID绑定

image.png

三、实战代码:三端统一接入

3.1 demo实战

可以在项目目录创建一个工具类utils,新建一个文件叫wechat.js

function wechat(){
	wx.openCustomerServiceChat({
		//企业微信的企业id
		corpId: 'wwxxxxxxxxxxxx',
		extInfo: {
			//客服链接
			url: 'https://work.weixin.qq.com/kfid/kfcxxxxxxxx'
		},
		success: (e) => {
			console.log('e', e)
		},
		fail: (err) => {
			console.log('err', err)
		}
	})
}

export default wechat

项目中创建一个公共组件 CustomerServiceFloat.vue,该组件封装了悬浮客户按钮,可自定义浮点位置与客服功能引入,可按需求引入在各个页面上

<template>
	<view class="customer-service" :style="floatingStyle" @click.stop="openCustomerService">
		<image class="customer-service__image" :src="src" mode="aspectFit"></image>
	</view>
</template>

<script setup>
	import {
		computed
	} from 'vue'
	import wechat from '@/utils/wechat.js'

	const props = defineProps({
		src: {
			type: String,
			default: 'https:xxx.png'
		},
		right: {
			type: [String, Number],
			default: 10
		},
		bottom: {
			type: [String, Number],
			default: 300
		},
		width: {
			type: [String, Number],
			default: 60
		},
		height: {
			type: [String, Number],
			default: 60
		},
		zIndex: {
			type: [String, Number],
			default: 9999
		}
	})

	const formatUnit = (value) => {
		if (typeof value === 'number') {
			return `${value}px`
		}
		if (!value) {
			return '0px'
		}
		if (/(px|%|vh|vw|rem)$/i.test(value)) {
			return value
		}
		if (/rpx$/i.test(value)) {
			const numericValue = Number(value.replace(/rpx$/i, ''))
			return Number.isNaN(numericValue) ? value : `${uni.upx2px(numericValue)}px`
		}
		return value
	}

	const floatingStyle = computed(() => ({
		right: formatUnit(props.right),
		bottom: formatUnit(props.bottom),
		width: formatUnit(props.width),
		height: formatUnit(props.height),
		zIndex: String(props.zIndex)
	}))

	const openCustomerService = () => {
		wechat()
	}
</script>

<style scoped>
	.customer-service {
		position: fixed;
		padding: 5px;
		text-align: center;
		border-radius: 50%;
		box-sizing: border-box;
	}

	.customer-service__image {
		width: 100%;
		height: 100%;
		display: block;
	}
</style>


组件使用方式

<template>
    <view>
        <CustomerServiceFloat bottom="75px" />
    </view>
</template>
<script setup>
    import CustomerServiceFloat from '@/components/CustomerServiceFloat.vue'
</script>

3.2 各端接入要点说明

平台调用方式关键注意事项
微信小程序wx.openCustomerServiceChat需在微信小程序后台绑定企业ID,否则报错not bind
APP(iOS/Android)plus.share.getServices + openCustomerServiceChat需配置uniapp的Share模块,填写开放平台AppID
H5页面跳转 window.location.href仅支持在微信内打开,外部浏览器会跳转至企业微信网页版

3.3 常见报错及解决办法

错误1:openCustomerServiceChat:fail not bind errCode:6

原因:小程序后台未绑定企业ID
解决:登录小程序管理后台 →「功能」→「客服」→「微信客服」,填写正确的企业ID

错误2:deeplink customservice no permission

原因:微信客服后台未关联开放平台的AppID
解决:回到企业微信后台「微信客服」→「在微信外App/网页中接入」,重新关联AppID

错误3:小程序中跳转提示“不支持该API”

原因:未配置企业微信客服的业务域名白名单
解决:在小程序后台「开发」→「开发设置」→「业务域名」中,添加 https://work.weixin.qq.com 及相关域名

错误4:H5端在微信外浏览器打开白屏

原因:wx.openCustomerServiceChat 仅在微信环境(小程序/微信内置浏览器)中可用
解决:按照上面的代码,H5端使用 window.location.href 跳转,而非调用微信API

四、总结

接入企业微信客服后,你的uniapp应用就有了统一、专业、可管理的客服能力。核心流程可以总结为三步:

  1. 企业微信后台配置:完成认证 → 创建客服账号 → 获取企业ID和客服链接
  2. 多端绑定:APP需要开放平台AppID,小程序需要后台绑定企业ID
  3. 代码接入:用条件编译分别处理各端,一套代码搞定三平台

实际开发中大部分问题都出在前面两步的配置上,只要配置正确,代码调用非常简单。建议先在企业微信后台用“体验”功能验证客服链接是否可用,再开始写代码。祝你接入顺利!