提交博文
This commit is contained in:
45
content/blog/1.技术栈/976.Nuxt 微信分享接口.md
Normal file
45
content/blog/1.技术栈/976.Nuxt 微信分享接口.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: Nuxt 微信分享接口
|
||||
description: 微信分享接口,使用Nuxt,实现微信分享接口.
|
||||
date: 2025-08-10
|
||||
img: https://lijue-me.oss-cn-chengdu.aliyuncs.com/20250810130754103.png
|
||||
navigation:
|
||||
icon: simple-icons:nuxtdotjs
|
||||
---
|
||||
|
||||
|
||||
### 需求
|
||||
##### 之前在 WordPress 上用过一个插件.对接微信的JS SDK,可以实现将连接带标题,图,简介封装成一个 卡片形式.分享给朋友或者朋友圈.比如:
|
||||

|
||||
|
||||
##### 如果没有对接微信的SDK,分享链接是这样的:
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### 实现
|
||||
##### 这个功能实现起来也不复杂,其中麻烦的地方是向微信获取 access_token 和 jsapi_ticket
|
||||
```ts[wxShare.vue]
|
||||
type WeChat = {
|
||||
config: (cfg: {
|
||||
debug?: boolean
|
||||
appId: string
|
||||
timestamp: number
|
||||
nonceStr: string
|
||||
signature: string
|
||||
jsApiList: string[]
|
||||
}) => void
|
||||
ready: (cb: () => void) => void
|
||||
error: (cb: (e: unknown) => void) => void
|
||||
updateTimelineShareData: (opts: { title: string, link: string, imgUrl: string, success?: () => void }) => void
|
||||
updateAppMessageShareData: (opts: { title: string, desc: string, link: string, imgUrl: string, success?: () => void }) => void
|
||||
}
|
||||
```
|
||||
|
||||
- 因为要动态向微信请求并在生命周期内缓存起来,就必须得有个后端,
|
||||
- 将其包装成了一个 API ,运行在 Nuxt 的服务器
|
||||
- 但这样就没办法纯静态编译了
|
||||
|
||||
|
Reference in New Issue
Block a user