有朋友使用了微信的 js sdk 做分享么?请教个问题。

2015-01-29 17:41:54 +08:00
 alex321
我们在使用微信 js sdk 的分享功能的时候,wx.config 正常无错,在调用 onMenuShareTimeline 方法的时候遇到一个怪异的问题,当前设置的内容并不能对分享到朋友圈界面的表单中起效。
Google 一下,发现也有类似的问题,按照那个延时 2s 的方法去尝试,结果还是不行。
http://segmentfault.com/q/1010000002488298/a-1020000002488753
http://segmentfault.com/q/1010000002515471/a-1020000002515801

PS,当初微信 js sdk 公布出来,我一直以为可以让用户直接点击页面的分享按钮就可以进入分享到朋友圈中去了,结果现在能做的就是修改分享的内容。。。。
8787 次点击
所在节点    问与答
12 条回复
66beta
2015-01-29 17:45:49 +08:00
可能还是网速卡的缘故
js sdk设置分享还要走一遍token真是浪费时间,浪费网络
只要我把域名添加到公众号里面不就行了,打开的时候查询一次域名在不在白名单
alex321
2015-01-29 17:55:26 +08:00
@66beta 感谢关注。公司的域名已经通过备案,并且将根域名添加到了 js api 调用的许可域名中了,在另外一个子域名下部署的一个 js api demo 是正常的说。
生成 wx.config 的四个参数我们是通过 ajax 从测试成功了的 js api demo 公司域名下拉取的,并且在页面上也是提示配置成功了,到了其他域名下就木有效果了。。
很是怪异。
kslr
2015-01-29 17:55:29 +08:00
我延时5秒多才有用。。。
kslr
2015-01-29 17:56:15 +08:00
@alex321 签名URL ?
alex321
2015-01-29 18:02:35 +08:00
@kslr 签名 url 是利用 ajax 传递到测试成功的子域名下程序处理了的,a.foo.com 已经成功部署了 js api 的 demo。
假设我们的页面在 b.foo.com 下面,我们的流程是,wx.config 加载前利用 ajax 把当前 url 传递到已经配置好了的 a.foo.com 下面程序计算返回 timestamp、appId、nonceStr 和 signature,然后在当前页面上处理相应功能。
pubby
2015-01-29 18:02:44 +08:00
//引入jssdk

wx.config({.....});

wx.ready(function(){

// 在这里注册 wx.onMenuShareTimeline 之类的事件 调整分享文案

});


另外 access_token,和 jsapi_ticket 需要全部共享给各个业务,每个业务自己去刷access_token会出问题
pubby
2015-01-29 18:03:21 +08:00
全部共享 -> 全局共享
alex321
2015-01-29 18:06:41 +08:00
@pubby 谢谢。
如 #5,我们的微信核心程序部署在 a.foo.com,其他需要使用微信功能的 api 都从 a.foo.com 下调用,a.foo.com 下针对 access_token 和 jsapi_ticket 都做了缓存,时间为 1700。
vfasky
2015-01-29 18:11:16 +08:00
为什么不用这种方法?

1. 定义 `<title>分享的标题</title>`
2. 在 `<body>` 开头插入 `<div style="display:none"><img src="分享显示的封面" alt=""/></div>`
(注,body 不能用背景图,否则会拿body的背景图当封面)

以上, 不用申请什么sdk权限,还兼容 UC , QQ 浏览器的分享
pubby
2015-01-29 18:11:38 +08:00
@alex321 我这边使用正常,碰到网速问题可能页面打开过会儿分享才会起作用。

另外发现被http劫持插入广告代码之类的也会造成一定影响。
alex321
2015-01-29 18:22:26 +08:00
@vfasky 现在我们要做的这个页面就是有一个大大的背景图片。。-..-!
这个问题实质上是和微信公开的 js api 的分享功能的价值有关,我在问题的最后一个 PS 就表达了这个困惑。。
一般来说,分享的时候会自动读取当前 url 上的 title、description 和第一幅 img 之类的。。
alex321
2015-01-29 18:28:10 +08:00
@pubby 刚刚前端反馈说已经可以了。
估计微信是将请求的全部域名做了过滤,我们提交的是 foo.com,然后今天第一次用 b.foo.com 请求,中间似乎需要经过微信的过滤,这个时间,呵呵,就等着吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/166555

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX