# 桌面应用

「桌面应用」是网站应用的扩展功能,开发者可在已审核通过的网站应用基础上开通桌面应用能力,使桌面端应用(Windows/macOS)获得微信内网页拉起桌面应用的开放能力。

本文介绍桌面应用的开通流程、开发信息配置、开放能力申请、绑定关系管理,以及微信内网页拉起桌面应用的开发接入说明。

操作路径

  • 前往「微信开发者平台 - 我的业务 - 网站应用 - 基础信息 - 桌面应用」,即可开通和管理桌面应用

# 1、开通桌面应用

# 1.1 前置条件

  • 网站应用必须已审核通过,才能开通桌面应用功能
  • 如网站应用尚未创建或未通过审核,需先完成网站应用的创建和审核流程

# 1.2 申请表单

点击「开通」按钮后,进入桌面应用信息填写页面,需提供以下信息:

字段 是否必填 说明
桌面应用名称 2-40 字节,仅允许中文、字母、数字,空格只能出现在字母之间且不超过 1 个;半年内仅可修改 2 次
英文名称 仅允许字母和数字,2-40 字节
桌面应用简介 8-80 字节
英文简介 8-80 字节
应用官网 必须以 http://https:// 开头;需已完成 ICP 备案,备案主体需与开放平台主体一致或有授权关系
桌面应用水印图片 28×28 像素,PNG 格式,不超过 200KB
桌面应用高清图片 108×108 像素,PNG 格式,不超过 200KB
申请/修改应用说明 最多 200 字节,可补充审核所需的额外说明

注意:可能需要额外提交《营业执照》或《组织代码证》以及补充材料(最多 5 张)。

# 1.3 提交审核

填写完成后点击「提交」,预计 1-7 个工作日内完成审核。若应用中包含较复杂逻辑或其他情况,审核时间会延长。

审核状态说明

状态 说明
审核中 已提交申请,等待审核结果。审核中不可编辑基础信息
审核通过 已通过审核,可正常使用桌面应用相关能力
审核不通过 未通过审核,可根据驳回原因修改后重新提交

# 2、开发信息配置

桌面应用开通后,需配置对应平台的开发信息,支持 Windows 和 macOS 两个平台。

# 2.1 macOS 配置

字段 是否必填 说明
Scheme 用于微信回调拉起桌面应用的 URL Scheme(在 Info.plist 中通过 CFBundleURLSchemes 注册),最长 256 字节
Bundle ID macOS 应用的 Bundle Identifier,例如 com.tencent.example,最长 256 字节

# 2.2 Windows 配置

字段 是否必填 说明
Scheme 用于微信回调拉起桌面应用的 URL Scheme,例如 weixinapp://,最长 256 字节
签名主体 主签名证书的 Subject(取自可执行文件代码签名证书),用于身份校验,最长 256 字节
证书签名 主签名证书的指纹(Thumbprint),仅允许小写字母和数字,最长 256 字节
备用签名主体 备用签名证书 Subject,用于证书更换的过渡期,最长 256 字节
备用证书签名 备用签名证书指纹,仅允许小写字母和数字,与备用签名主体配套使用,最长 256 字节
  • 补充说明:备用签名主要用于证书过期更新的过渡期。当线上 APP 仍使用主签名证书运行时,开发者可在后台填写新的备用签名主体/备用证书签名,使新旧证书同时生效,待全部用户升级到新版本后再用新证书替换主字段。命中主签名或备用签名任一组都视为合法。

操作路径

  • 前往「微信开发者平台 - 我的业务 - 网站应用 - 开发信息 - 桌面应用开发信息」,点击「操作」下拉菜单即可修改 Windows 或 macOS 的开发信息

# 3、开放能力

桌面应用开通并审核通过后,可使用以下开放能力:

能力 说明 前置条件
微信内网页拉起桌面应用 用户在微信 PC 端内置浏览器访问网页时可拉起桌面应用 开放平台已认证 + 桌面应用已开通且审核通过 + 已绑定已认证服务号

如需使用「微信内网页拉起桌面应用」能力,需同时满足以下条件:

1)开放平台账号已完成认证

2)桌面应用已开通

3)桌面应用已审核通过

4)已绑定已认证的服务号

满足以上全部条件后,可获得此能力。

# 4、绑定关系

# 4.1 绑定服务号

绑定服务号是使用「微信内网页拉起桌面应用」能力的前置条件。绑定后,可在该服务号的 JS 安全域名下的网页中拉起桌面应用。

绑定条件

1)服务号需已完成企业认证

2)服务号需已配置 JS 接口安全域名

3)服务号需与当前桌面应用绑定于同一开放平台账号下

绑定操作

  • 前往「微信开发者平台 - 我的业务 - 网站应用 - 绑定关系 - 服务号」,填写服务号 AppID 和 JS 安全域名后提交
  • 绑定时需服务号管理员扫码授权确认

解绑操作

  • 在已绑定的服务号列表中点击「删除」,确认后需管理员扫码确认方可完成解绑

# 5、微信内网页拉起桌面应用 - 开发接入

适用范围:微信 PC 端(Windows/macOS)内嵌浏览器场景下,H5 网页通过开放标签拉起本机已安装的桌面端 APP。

本节参考移动端 《微信内网页跳转 APP 功能》《wx-open-launch-app 开放标签》 编写,仅描述 PC 端在能力实现、配置项、安全校验等方面与移动端的差异点。未在本文中特别说明的内容(开通条件、前端 JS-SDK 注入、wx-open-launch-app 标签写法、ready / launch / error 事件、错误码语义等),均与移动端文档保持一致,请直接参考上述两份文档。

# 5.1 功能介绍

在 PC 端微信内置浏览器中访问网页时,部分场景下用户需要跳转到对应的桌面客户端使用完整服务。微信 PC 端复用移动端 wx-open-launch-app 开放标签的接入方式,提供「H5 拉起 PC APP」能力。

PC 端通过**本机自定义协议(URL Scheme)**唤起桌面 APP,因此对应用的「协议头注册」与「可执行文件签名」提出了额外要求。为防止恶意应用抢注同名协议头冒充目标 APP,PC 端会基于开发者在开放平台后台填写的签名信息(Windows 为代码签名证书的 Subject 与 Thumbprint,macOS 为 Bundle ID)做合法性校验,校验失败将无法拉起。

# 5.2 关联配置说明

PC 端复用与移动端相同的「服务号 — 域名 — 移动应用」绑定关系,只在此基础上增加了对桌面端拉起信息的额外配置。本节只描述 PC 端独有的配置项与校验逻辑,其余配置流程(认证条件、关联设置入口、域名绑定规则等)请参考移动端文档。

桌面端 APP 信息配置

开发者需在微信开放平台后台对应网站应用的管理页面中,补充填写「桌面端拉起信息」。所有字段均通过开放平台网页表单填写即可,无需额外接口调用。具体配置项详见上方第 2 节「开发信息配置」。

关联关系校验

每次拉起请求都会校验下列四组一致性,任何一项不匹配都会拒绝拉起:

1)发起页面所属的服务号,与开放平台关联设置中填写的服务号一致

2)网页 URL 的 host,与服务号「JS 接口安全域名」以及关联设置中绑定的域名完全一致

3)wx-open-launch-app 标签上的 appid,与关联设置中绑定的网站应用 AppID 一致

4)本机即将被拉起的目标 APP 的签名信息,与开放平台后台为该网站应用登记的桌面端配置一致:

  • Windows:要求可执行文件的代码签名 Subject 与 Thumbprint 命中后台填写的「签名主体/证书签名」或「备用签名主体/备用证书签名」任一组
  • macOS:要求 APP 的 Bundle ID 与后台填写的 Bundle ID 完全一致

其本质是确保「开放平台登记的 APP 身份」与「本机被拉起的 APP 身份」吻合,防止恶意应用抢注同名 Scheme 冒充目标 APP。

# 5.3 前端接入与拉起 URL 形态

前端接入方式(引入 jweixin.jswx.config 申请 openTagList: ['wx-open-launch-app']wx-open-launch-app 标签写法及 appid/extinfo 属性、ready/launch/error 事件监听等)与移动端完全一致,开发者无需为 PC 端编写额外代码,详见移动端文档。

PC 端最终通过开放平台后台配置的 Scheme 拉起本机程序,extinfo 会作为 query 参数附带过去,例如:

weixinapp://launch?appid=wxabcdefg1234567&extinfo=xxx

具体 query 字段以微信客户端最终实现为准,APP 侧需做好缺省字段兼容。

拉起结果说明

拉起请求发出后,可通过 err_msg 字段判断执行结果,目前支持以下返回值:

err_msg 说明
ok 拉起成功
check fail 校验失败
extinfo invalid extinfo 参数无效
unknown error 未知错误
server error 服务端报错,resp 直接返回错误
server error code:xxx 服务端报错,resp 含有效响应,后台返回具体业务错误码(xxx 为具体错误码)

服务端业务错误码说明

err_msgserver error code:xxx 时,xxx 为后台返回的业务错误码,目前支持以下取值:

错误码 说明
10001 桌面应用未绑定服务号
10002 H5 服务号与桌面应用绑定的服务号不匹配
10003 H5 域名与服务号域名不匹配

补充说明 如果发现 wx config 之后没有渲染出开放标签按钮,则请检查是否已经满足全部的条件(可查看下方注意事项的内容)

# 5.4 参考文档

# 6、注意事项

1)桌面应用是网站应用的扩展功能,需先有审核通过的网站应用才能开通

2)桌面应用名称半年内仅可修改 2 次,请谨慎填写

3)审核中的桌面应用不可编辑基础信息,需等待审核结果后再操作

4)开发信息(Windows/macOS 配置)修改后即时生效,无需审核

5)如需使用「微信内网页拉起桌面应用」能力,需确保已绑定已认证的服务号,并完成 JS 安全域名配置

6)PC 端拉起桌面应用会进行签名校验,请确保本机安装的 APP 签名信息与开放平台后台配置一致,否则将无法拉起