扫描二维码 上传二维码
选择防红平台类型,避免链接被拦截
选择允许访问的平台类型

微信自定义分享链接设置方法

在数字传播日益精细化的今天,链接不仅是信息的载体,更是品牌表达的窗口。为了让每一次分享都更具温度与格调,“快缩短网址”(suo.run)为您提供高效、优雅的短链服务,同时助力您在微信生态中实现自定义分享链接的完美呈现。

一、启程之前:基础准备



欲善其事,先利其器。实现微信自定义分享,需具备以下前提:



- 认证公众号加持:仅已通过微信认证的公众号(建议企业资质)方可启用JS-SDK接口权限,个人号受限较多,难以施展。
- 备案域名护航:您的站点域名须完成ICP备案,并在微信公众平台“JS接口安全域名”中完成绑定——这是通往微信生态的通行证。

---

二、后端密钥:签名生成的艺术



分享的个性化,始于一串精准生成的签名。以下是核心流程:

1. 获取身份凭证
登录微信公众平台,进入「开发」→「基本配置」,提取专属的 AppIDAppSecret,此为系统通信之钥。

2. 获取全局令牌 access_token
向微信服务器发起请求:
   GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

成功响应将返回 access_token,有效期7200秒。建议于服务端全局缓存,避免频繁调用,提升性能。

3. 换取 JS 接口票据 jsapi_ticket
凭借 access_token 请求票据:
   GET https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=ACCESS_TOKEN

此票为JS-SDK调用之凭据,同样需缓存处理,慎防重复拉取。



4. 构建不可伪造的签名(Signature)
汇聚以下参数,以SHA-1算法生成最终签名:
- jsapi_ticket:上步所得
- nonceStr:随机字符串(如 UUID)
- timestamp:当前时间戳(秒级)
- url:当前页面完整URL(务必经 encodeURIComponent 编码)

签名生成逻辑示例(伪代码):
   rawString = 'jsapi_ticket=' + jsapi_ticket +
'&noncestr=' + nonceStr +
'&timestamp=' + timestamp +
'&url=' + encodeURIComponent(currentUrl)
signature = sha1(rawString)


---

三、前端交响:唤醒分享之美





当后端奏响密钥乐章,前端便得以演绎视觉协奏。

1. 引入微信 JS-SDK
在目标页面嵌入官方脚本:
   <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js" charset="utf-8"></script>


2. 注入权限验证配置
利用后端传来的签名数据,调用 wx.config 完成鉴权:
   wx.config({
debug: false,
appId: 'YOUR_APPID',
timestamp: timestamp,
nonceStr: nonceStr,
signature: signature,
jsApiList: [
'onMenuShareTimeline',
'onMenuShareAppMessage'
]
});


3. 定义分享内容,点亮每一次传递
wx.ready() 回调中设置分享细节,赋予链接灵魂:

- 分享至朋友圈(Timeline)
     wx.onMenuShareTimeline({
title: '我已抵达新世界,你也来吧!',
link: 'https://suo.run/abc123',
imgUrl: 'https://suo.run/assets/share-icon.png',
success: () => analytics.track('share_timeline')
});


- 发送给朋友(AppMessage)
     wx.onMenuShareAppMessage({
title: '这个链接,值得你点开一看',
desc: '快缩短网址,让传播更轻盈。',
link: 'https://suo.run/abc123',
imgUrl: 'https://suo.run/assets/logo-share.png',
type: 'link'
});


---

四、匠心提示:让体验无瑕





- 签名永不过期?不,它有生命。确保每次生成签名所用的 URL 与用户实际访问页完全一致,并做好编码处理。
- 缓存为王access_tokenjsapi_ticket 均寿命有限,请使用 Redis 或内存缓存机制统一管理,减少损耗。
- 调试宜早,上线宜静:开发阶段可开启 debug: true 查看日志;正式发布前务必关闭,以免干扰用户体验。
- 清除缓存再测试:微信客户端对JS-SDK存在强缓存机制,更换域名或更新配置后,请清理手机微信缓存以验真效。

---

结语:让每个链接,皆成风景



在信息洪流之中,“快缩短网址”(suo.run)不止于缩短字符,更致力于延伸价值——通过技术赋能,让您分享的每一条链接,都承载品牌的质感与心意。

从一纸签名到一次点击,从后台逻辑到前端呈现,我们助您织就流畅而优雅的传播之网。