Appearance
Are you an LLM? You can read better optimized documentation at /channels/link/miniprogram/douyin.md for this page in Markdown format
抖音小程序
在抖音小程序里嵌入对话页面。配置方式和微信接近,都需要上传校验文件证明域名归你。
通用原理、前提条件和各平台对照见小程序接入总览。这一页只讲抖音这边要做的事。
开始之前
- 小程序是企业主体。个人类型的小程序用不了
web-view组件 - 有一个已完成备案的域名,并且你能往它的根目录传文件
- 已经完成自有域名部署,用浏览器打开
https://你的域名/chat.html能正常对话
第一步:配置 webview 域名
登录抖音开放平台,进入你的小程序,在开发配置里找到 webview 域名,添加你的域名。平台会要求你把一个校验文件放到域名根目录,确认能访问到之后完成校验。
传校验文件和传 chat.html 是同一个操作,交给同一个人做就行。只支持 HTTPS 域名,具体菜单位置以抖音开放平台当时的界面为准。
第二步:单独建一个页面放 web-view
web-view 会铺满整个页面
一个小程序页面只能放一个 web-view,它会自动铺满并覆盖页面上的其他组件。要单独建一个页面专门放它,不要塞进已有页面的一块区域。
新建页面的 ttml 里只放一行:
html
<web-view src="https://你的域名/chat.html"></web-view>然后在任何你想放客服入口的地方跳转过来:
js
tt.navigateTo({ url: '/pages/support/index' })第三步:带上客户身份
在拼 web-view 地址时把客户信息带上,客服就不是面对一个匿名访客:
js
Page({
data: { url: '' },
onLoad() {
const user = tt.getStorageSync('user') || {}
const query = [
'u=' + encodeURIComponent(user.id),
'n=' + encodeURIComponent(user.name),
].join('&')
this.setData({ url: 'https://你的域名/chat.html?' + query })
},
})u 是必填的,其余资料要挂在它上面。姓名手机号这些参数在页面打开后会自动从地址栏抹掉。完整的参数清单见传客户资料给客服。
常见问题
提示域名不在白名单中
症状:真机打开 web-view 页面时提示域名未配置,开发者工具里勾选「不校验合法域名」后却正常。
成因:域名没有配置到 webview 域名白名单,或者校验没有真正通过。开发者工具的跳过校验选项只对本地调试有效。
解决:回到抖音开放平台确认域名已在 webview 域名列表里,并用浏览器访问一下校验文件的地址确认它还在。校验文件被删掉或被网站的重写规则挡住,都会导致配置失效。
后台加不了域名
症状:找不到配置入口,或者添加时被拒绝。
成因:个人类型的小程序不支持 web-view,域名未备案也无法添加。
解决:这两条都是平台规定。小程序主体是个人的,需要先变更为企业主体;域名没备案的,先完成备案。
页面出来了但聊天窗一直转圈
症状:对话页面能打开,聊天区域一直加载不出来。
成因:页面本身加载成功,但页面里引用的资源或接口被挡住了。
解决:先用手机浏览器直接打开 https://你的域名/chat.html 确认在小程序外能正常对话。如果浏览器里正常、只有小程序里不行,说明是小程序容器的限制,在域名白名单里把 assets.aihecong.com 和 sdkapi.aihecong.com 一并加上再试。