微信/QQ/微信公众平台头像/空间头像昵称不能换了怎么回事

微信公众账号可不可以用手机登陆?
全部答案(共1个回答)
就有个人微信,公众账号也很容易就申请到了。
02
登陆自己的公众平台账号,在“设置”菜单下点击左侧的“公众号手机助手”选项。
03
然后在“绑定到微信号:”后面的输入框填写自己的个人微信账号。
04
用手机打开并登陆个人微信账号,点击“通讯录”菜单,再点击右上角的...
首先我们需要一个公众账号和一个自己的个人微信账号,这个是必备,我想应该不难吧,只要有相关信息就有个人微信,公众账号也很容易就申请到了。
02
登陆自己的公众平台账号,在“设置”菜单下点击左侧的“公众号手机助手”选项。
03
然后在“绑定到微信号:”后面的输入框填写自己的个人微信账号。
04
用手机打开并登陆个人微信账号,点击“通讯录”菜单,再点击右上角的“+”添加好友。
05
通过“搜号码”添加“mphelpe”为微信好友,添加之后点击“关注”,返回之后我们会在个人手机微信的“订阅号里面看到”公众平台群发助手“的好友。
OK,到这一步设置就完成了,接下来只需要打开“公众平台群发助手”对话框,然后给他发送一条消息,这条消息就会自动推送到你的公众微信上,群发给你的所有粉丝,他们将都会收到这条信息。 首先我们需要一个公众账号和一个自己的个人微信账号,这个是必备,我想应该不难吧,只要有QQ就有个人微信,公众账号也很容易就申请到了。
02
登陆自己的公众平台账号,在“设置”菜单下点击左侧的“公众号手机助手”选项。
03
然后在“绑定到微信号:”后面的输入框填写自己的个人微信账号。
04
用手机打开并登陆个人微信账号,点击“通讯录”菜单,再点击右上角的“+”添加好友。
05
通过“搜号码”添加“mphelpe”为微信好友,添加之后点击“关注”,返回之后我们会在个人手机微信的“订阅号里面看到”公众平台群发助手“的好友。
OK,到这一步设置就完成了,接下来只需要打开“公众平台群发助手”对话框,然后给他发送一条消息,这条消息就会自动推送到你的公众微信上,群发给你的所有粉丝,他们将都会收到这条信息。
公众平台不能用手机号登录只能用独立的QQ号,同理手机登陆的只是个人微信号,公众账号不能登录手机端微信,只能公众平台账号绑定一个微信号登录手机,然后接收信息。
首先登陆微信公众平台的官方网站http://mp.weixin.qq.com/,然后点注册,根据提示填写资料,提交即可完成。
为了提供给用户一个安全健康,合法有序的平台环境。微信公众平台验证机制升级后,对公众账号的使用者来说,可以更好的保障自身利益不被他人侵犯,同时杜绝了一些不法分子利...
http://www.cnblogs.com/txw1958/p/wechat-tutorial.html你可以看看这里面的教程。
打开手机,确保在能上网的情况下,打开自己的微信,登陆成功 http://www.jb51.net/softjc/98424.html 按照这些步骤就可以了接收了...
答: 首先不能根据肚子的形状来判断孩子性别这种方法不科学。其次,可以去医院做性别鉴定,怀孕十六周以后,可以去私立医院问问医生,公立医院很多医生不会说的。
答: 同学习的目的是什么?
1、为了一技之长,养家糊口
2、为了一个兴趣爱好
3、为了考试及格
4、为了....
总之,不管是学什么,目的都是为了提高在某个方面的知识...
答: 你是问故障还是问安装方面的?
大家还关注
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415QQ、微信等再次出现无法换头像改名字现象, 官方给出恢复时间_娱乐资讯_海峡网
您现在的位置:&&
据腾讯公告,近期QQ、微信、QQ空间、QQ群、微信公众平台、腾讯微博将进行系统维护。从日起,用户暂时无法修改QQ个人资料卡、附近及兴趣部落资料卡。维护期间,微信头像、昵称及个性签名、QQ空间个人档资料内容暂时无法修改。无法使用QQ群投票功能;无法更改微博昵称及头像个人资料、以及无法修改公众平台的功能介绍、头像、昵称。稍微关注一点的网友都知道,无论是微博营销号还是微信公众号,真正&专业&的人呢,会为了谋求更好的宣传效果,不会经常甚至从不更改昵称或者头像,毕竟这些信息从某种程度上这也算是一种宣传名片。
突然之间大家没法改名改头像甚至改个性签名,这让不少网友感到莫名其妙的同时也觉得好气呀!,小编也很无奈呀,我的昵称可是非常的不正经,这让我怎么办!之前微博搞这档子事就没少被网友喷,怎么你腾讯这个浓眉大眼的,也开始禁改名了呢。许许多用户发现微博QQ微信等APP无法修改头像、昵称等个人资料了,很多用户表示一头雾水,其实这只是暂时的,微博QQ微信称这只是系统升级维护,等维护好了就可以修改了,想改个人资料的朋友估计要等一段时间了。幸好,这个时间也不是遥遥无期,据官方介绍此次修复预计将于3月起恢复正常,其他功能不受影响。
凡是在各种论坛或者社交平台上跟别人吹过水的人都知道,用户昵称的可玩性相当大,尤其是有些梗只有配上相应的昵称效果才更加拔群。值得注意的是,一向不支持用户随便改昵称的百度贴吧也在今年6月正式开放修改昵称的功能,当初那些随便乱起昵称的用户终于算是熬到头啦。去年4月,微博曾在没有公告的情况下对用户修改昵称、个人资料等操作进行了限制,不久后微博还上线了改名功能限制,规定普通用户一年只可修改一次昵称,而会员用户则是根据等级不同,一年可修改三至五次。同年10月中旬,微信、QQ也曾进行系统维护,当月不允许修改头像、昵称和个性签名。当然也有人表示此次或许是官方正在肃清些不良账号,对此不知大家如何看待呢?
责任编辑:黄小群
&&&&&&&特别声明:本网登载内容出于更直观传递信息之目的。该内容版权归原作者所有,并不代表本网赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与联系或者请点击右侧投诉按钮,我们会及时反馈并处理完毕。
一周热点新闻
下载海湃客户端
关注海峡网微信
职业道德监督、违法和不良信息举报电话:4 举报邮箱:
本站游戏频道作品版权归作者所有,如果侵犯了您的版权,请联系我们,本站将在3个工作日内删除。
温馨提示:抵制不良游戏,拒绝盗版游戏,注意自我保护,谨防受骗上当,适度游戏益脑,沉迷游戏伤身,合理安排时间,享受健康生活。
CopyRight (C)2016 海峡网(福建日报主管主办) 版权所有 闽ICP备号-2
福建日报报业集团拥有海峡都市报(海峡网)采编人员所创作作品之版权,未经报业集团书面授权,不得转载、摘编或以其他方式使用和传播。
友情链接: |当前位置: >>
微信公众平台开发者文档-part2-()
五 、 微信网页开发(一)网页授权获取用户基本信息 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取 用户基本信息,进而实现业务逻辑。 关于网页授权回调域名的说明1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调 域名。请注意,这里填写的是域名(是一个字符串),而不是 URL,因此请勿加 http:// 等协议头; 2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面 的页面 http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行 OAuth2.0 鉴权。但 http://pay.qq.com 、 http://music.qq.com 、 http://qq.com 无法 进行 OAuth2.0 鉴权 3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网 页授权即可关于网页授权的两种 scope 的区别说明1、以 snsapi_base 为 scope 发起的网页授权,是用来获取进入页面的用户的 openid 的,并且是静 默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面) 2、以 snsapi_userinfo 为 scope 发起的网页授权,是用来获取用户的基本信息的。但这种授权需要 用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。 3、 用户管理类接口中的“获取用户基本信息接口”, 是在用户和公众号产生消息交互或关注后事件推送后, 才能根据用户 OpenID 来获取用户基本信息。 这个接口, 包括其他微信接口, 都是需要该用户 (即 openid) 关注了公众号后,才能调用成功的。关于网页授权 access_token 和普通 access_token 的区别1、微信网页授权是通过 OAuth2.0 机制实现的,在用户授权给公众号后,公众号可以获取到一个网页 授权特有的接口调用凭证(网页授权 access_token),通过网页授权 access_token 可以进行授权 后接口调用,如获取用户基本信息; 2、其他微信接口, 需要通过基础支持中的“获取 access_token”接口来获取到的普通 access_token 调用。关于 UnionID 机制 1、请注意,网页授权获取用户基本信息也遵循 UnionID 机制。即如果开发者有在多个公众号,或在公 众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众 号后,才可利用 UnionID 机制来满足上述需求。 2、UnionID 机制的作用说明:如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户 基本信息中的 unionid 来区分用户的唯一性,因为同一用户,对同一个微信开放平台下的不同应用(移 动应用、网站应用和公众帐号),unionid 是相同的。关于特殊场景下的静默授权1、上面已经提到,对于以 snsapi_base 为 scope 的网页授权,就静默授权的,用户无感知; 2、对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即 使是 scope 为 snsapi_userinfo,也是静默授权,用户无感知。具体而言,网页授权流程分为四步:1、引导用户进入授权页面同意授权,获取 code 2、通过 code 换取网页授权 access_token(与基础支持中的 access_token 不同) 3、如果需要,开发者可以刷新网页授权 access_token,避免过期 4、通过网页授权 access_token 和 openid 获取用户基本信息(支持 UnionID 机制)目录? ? ? ? ?1 第一步:用户同意授权,获取 code 2 第二步:通过 code 换取网页授权 access_token 3 第三步:刷新 access_token(如果需要) 4 第四步:拉取用户信息(需 scope 为 snsapi_userinfo) 5 附:检验授权凭证(access_token)是否有效第一步:用户同意授权,获取 code在确保微信公众账号拥有授权作用域(scope 参数)的权限的前提下(服务号获得高级 接口后,默认拥有 scope 参数中的 snsapi_base 和 snsapi_userinfo),引导关注者打 开如下页面:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_ur i=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有 scope 参数对应的授权作用域权限。尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做 正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问参考链接(请在微信客户端中打开此链接体验) Scope 为 snsapi_base https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3Dwx Adapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_4_60& response_type=code&scope=snsapi_base&state=123#wechat_redirect Scope 为 snsapi_userinfo https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d6 0&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&respon se_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect尤其注意:跳转回调 redirect_uri,应当使用 https 链接来确保授权 code 的安全性。 参数说明参数 appid redirect_uri response_type 是 是 是是否必须 公众号的唯一标识说明授权后重定向的回调链接地址,请使用 urlencode 对 链接进行处理 返回类型,请填写 code 应用授权作用域,snsapi_base (不弹出授权页面, 直接跳转,只能获取用户 openid) ,snsapi_userinfo (弹出授权页面,可通过 openid 拿到昵称、性别、 所在地。并且,即使在未关注的情况下,只要用户 授权,也能获取其信息) 重 定 向 后 会 带 上 state 参 数 , 开 发 者 可 以 填 写 a-zA-Z0-9 的参数值,最多 128 字节 无论直接打开还是做页面 302 重定向时候,必须带 此参数scope是state否#wechat_redirect是下图为 scope 等于 snsapi_userinfo 时的授权页面: 用户同意授权后 如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。若用户禁 止授权,则重定向后不会带上 code 参数,仅会带上 state 参数 redirect_uri?state=STATEcode 说明 : code 作为换取 access_token 的票据,每次用户授权带上的 code 将不一样,code 只能使用一次,5 分钟未被使用自动过期。第二步:通过 code 换取网页授权 access_token首先请注意,这里通过 code 换取的是一个特殊的网页授权 access_token,与基础支持中 的 access_token(该 access_token 用于调用其他接口)不同。公众号可通过下述接口 来获取网页授权 access_token。如果网页授权的作用域为 snsapi_base,则本步骤中获 取到网页授权 access_token 的同时,也获取到了 openid,snsapi_base 式的网页授权流 程即到此为止。 尤其注意:由于公众号的 secret 和获取到的 access_token 安全级别都非常高,必须只 保存在服务器,不允许传给客户端。后续刷新 access_token、通过 access_token 获取 用户信息等步骤,也必须从服务器发起。 请求方法获取 code 后,请求以下链接获取 access_token: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET &code=CODE&grant_type=authorization_code参数说明 参数 appid secret code grant_type 返回说明 正确时返回的 JSON 数据包如下:{ &access_token&:&ACCESS_TOKEN&, &expires_in&:7200, &refresh_token&:&REFRESH_TOKEN&, &openid&:&OPENID&, &scope&:&SCOPE& }是否必须 是 是 是 是说明 公众号的唯一标识 公众号的 appsecret 填写第一步获取的 code 参数 填写为 authorization_code参数 access_token expires_in refresh_token openid scope描述 网 页 授 权 接 口 调 用 凭 证 , 注 意 : 此 access_token 与 基 础 支 持 的 access_token 不同 access_token 接口调用凭证超时时间,单位(秒) 用户刷新 access_token 用户唯一标识, 请注意, 在未关注公众号时, 用户访问公众号的网页, 也会产生一个用户和公众号唯一的 OpenID 用户授权的作用域,使用逗号(,)分隔 错误时微信会返回 JSON 数据包如下(示例为 Code 无效错误):{&errcode&:40029,&errmsg&:&invalid code&}全局返回码说明第三步:刷新 access_token(如果需要)由于 access_token 拥有较短的有效期,当 access_token 超时后,可以使用 refresh_token 进行刷新,refresh_token 拥有较长的有效期(7 天、30 天、60 天、90 天),当 refresh_token 失效的后,需要用户重新授权。 请求方法获取第二步的 refresh_token 后,请求以下链接获取 access_token: https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=r efresh_token&refresh_token=REFRESH_TOKEN参数 appid grant_type refresh_token 返回说明 是 是 是是否必须 公众号的唯一标识 填写为 refresh_token说明填写通过 access_token 获取到的 refresh_token 参数正确时返回的 JSON 数据包如下:{ &access_token&:&ACCESS_TOKEN&, &expires_in&:7200, &refresh_token&:&REFRESH_TOKEN&, &openid&:&OPENID&, &scope&:&SCOPE& }参数 access_token expires_in描述 网页授权接口调用凭证 , 注意:此 access_token 与基础支持的 access_token 不同 access_token 接口调用凭证超时时间,单位(秒) refresh_token openid scope用户刷新 access_token 用户唯一标识 用户授权的作用域,使用逗号(,)分隔错误时微信会返回 JSON 数据包如下(示例为 Code 无效错误):{&errcode&:40029,&errmsg&:&invalid code&}全局返回码说明第四步:拉取用户信息(需 scope 为 snsapi_userinfo)如果网页授权作用域为 snsapi_userinfo,则此时开发者可以通过 access_token 和 openid 拉取用户信息了。 请求方法http:GET(请使用 https 协议) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPE NID&lang=zh_CN参数说明 参数 access_token openid lang 返回说明 正确时返回的 JSON 数据包如下:{ &openid&:& OPENID&, & nickname&: NICKNAME, &sex&:&1&, &province&:&PROVINCE& &city&:&CITY&,描述 网页授权接口调用凭证 , 注意:此 access_token 与基础支持的 access_token 不同 用户的唯一标识 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语 &country&:&COUNTRY&, &headimgurl&: &http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0 ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46&, &privilege&:[ &PRIVILEGE1& &PRIVILEGE2& ], &unionid&: &o6_bmasdasdsad6_2sgVt7hMZOPfL& }参数 openid nickname sex province city country 用户的唯一标识 用户昵称描述用户的性别,值为 1 时是男性,值为 2 时是女性,值为 0 时是未知 用户个人资料填写的省份 普通用户个人资料填写的城市 国家,如中国为 CN 用户头像,最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640*640 正方形头像) ,用户没有头像时该项为空。若 用户更换头像,原有头像 URL 将失效。 用户特权信息,json 数组,如微信沃卡用户为(chinaunicom) 只有在用户将公众号绑定到微信开放平台帐号后, 才会出现该字段。 详见: 获取用户个人信息(UnionID 机制)headimgurlprivilege unionid错误时微信会返回 JSON 数据包如下(示例为 openid 无效):{&errcode&:40003,&errmsg&:& invalid openid &}全局返回码说明附:检验授权凭证(access_token)是否有效请求方法http:GET(请使用 https 协议) https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID 参数说明 参数 access_token openid 返回说明 正确的 Json 返回结果:{ &errcode&:0,&errmsg&:&ok&}描述 网页授权接口调用凭证 , 注意:此 access_token 与基础支持的 access_token 不同 用户的唯一标识错误时的 Json 返回示例:{ &errcode&:40003,&errmsg&:&invalid openid&}(二)微信网页开发样式库微信网页开发样式库 目录? ? o o ? o o o o o o o o o ?1 概述 2 使用方法 2.1 安装 2.2 开发 3 元素类型 3.1 Button 3.2 Cell 3.3 Dialog 3.4 Progress 3.5 Toast 3.6 Msg Page 3.7 Article 3.8 ActionSheet 3.9 Icon 4 技术支持与反馈概述WeUI 是一套同微信原生视觉体验一致的基础样式库, 由微信官方设计团队为微信内网页 开发量身设计,可以令用户的使用感知更加统一。在微信网页开发中使用 WeUI,有如下 优势:? ? ?同微信客户端一致的视觉效果,令所有微信用户都能更容易地使用你的网站 便捷获取快速使用,降低开发和设计成本 微信设计团队精心打造,清晰明确,简洁大方该样式库目前包含 button、cell、dialog、progress、toast、article、icon 等各式 元素,已经在 GitHub 上开源。访问 http://weui.github.io/weui/ 或微信扫码即 可预览。 使用方法安装方法一:使用 bower 进行安装bower install --save weui方法二:使用 npm 进行安装npm install --save weui任选一种方法安装后,只需要在页面中引入 dist/style/weui.css 或者 dist/style/weui.min.css 其中之一即可。例如:&!DOCTYPE html& &html lang=&en&& &head& &meta charset=&UTF-8&& &meta name=&viewport& content=&width=device-width,initial-scale=1,user-scalable=0&& &title&WeUI&/title& &link rel=&stylesheet& href=&path/to/weui/dist/style/weui.min.css&/& &/head& &body& &/body& &/html&开发git clone https://github.com/weui/weui.git cd weui npm install -g gulp npm install gulp -ws运行 gulp -ws 命令,会监听 src 目录下所有文件的变更,并且默认会在 8080 端口 启动服务器,然后在浏览器打开 http://localhost:8080/example。元素类型Button按钮可以使用 a 或者 button 标签。wap 上要触发按钮的 active 态,必须触发 ontouchstart 事件,可以在 body 上加上 ontouchstart=&& 全局触发。 按钮常见的操作场景:确定、取消、警示,分别对应 class:weui_btn_primary、 weui_btn_default、weui_btn_warn,每种场景都有自己的置灰态 weui_btn_disabled,除此外还有一种镂空按钮 weui_btn_plain_xxx,客户端 webview 里的按钮尺寸有两类,默认宽度 100%,小型按钮宽度自适应,两边边框与文本 间距 0.75em: &a href=&#& class=&weui_btn weui_btn_primary&&按钮&/a& &a href=&#& class=&weui_btn weui_btn_disabled weui_btn_primary&&按钮&/a& &a href=&#& class=&weui_btn weui_btn_warn&&确认&/a& &a href=&#& class=&weui_btn weui_btn_disabled weui_btn_warn&&确认&/a& &a href=&#& class=&weui_btn weui_btn_default&&按钮&/a& &a href=&#& class=&weui_btn weui_btn_disabled weui_btn_default&&按钮&/a& &div class=&button_sp_area&& &a href=&#& class=&weui_btn weui_btn_plain_default&&按钮&/a& &a href=&#& class=&weui_btn weui_btn_plain_primary&&按钮&/a& &a href=&#& class=&weui_btn weui_btn_mini weui_btn_primary&&按钮&/a& &a href=&#& class=&weui_btn weui_btn_mini weui_btn_default&&按钮&/a& &/div&Cell Cell,列表视图,用于将信息以列表的结构显示在页面上,是 wap 上最常用的内容结 构。Cell 由多个 section 组成,每个 section 包括 section header weui_cells_title 以及 cells weui_cells。 Cell 由 thumbnail weui_cell_hd、body weui_cell_bd、 accessory weui_cell_ft 三部分组成,cell 采用自适应布局,在需要自适应的 部分加上 class weui_cell_primary 即可:
带说明的列表项&div class=&weui_cells_title&&带说明的列表项&/div& &div class=&weui_cells&& &div class=&weui_cell&& &div class=&weui_cell_bd weui_cell_primary&& &p&标题文字&/p& &/div& &div class=&weui_cell_ft&& 说明文字 &/div& &/div& &/div&Cell 可根据需要进行各种自定义扩展,包括辅助说明、跳转、单选、复选等。下面以 带图标、说明、跳转的列表项,其他情况可以直接参考 example 下的代码:&div class=&weui_cells_title&&带图标、说明、跳转的列表项&/div& &div class=&weui_cells weui_cells_access&& &a class=&weui_cell& href=&#&& &div class=&weui_cell_hd&& &img src=&& alt=&icon& style=&width:20margin-right:5display:block&& &/div& &div class=&weui_cell_bd weui_cell_primary&& &p&cell standard&/p& &/div& &div class=&weui_cell_ft&& 说明文字 &/div& &/a& &a class=&weui_cell& href=&#&& &div class=&weui_cell_hd&& &img src=&& alt=&icon& style=&width:20margin-right:5display:block&& &/div& &div class=&weui_cell_bd weui_cell_primary&& &p&cell standard&/p& &/div& &div class=&weui_cell_ft&& 说明文字 &/div& &/a& &/div&Dialog若系统的 alert 窗体无法满足网页的临时视图内容需求,则可以自定义实现与 alert 形式相似的 dialog, 并且在dialog 中可以自定义地使用各种控件, 来满足需求。 &div class=&weui_dialog_confirm&& &div class=&weui_mask&&&/div& &div class=&weui_dialog&& &div class=&weui_dialog_hd&&&strong class=&weui_dialog_title&&弹窗标题 &/strong&&/div& &div class=&weui_dialog_bd&&自定义弹窗内容,居左对齐显示,告知需要确认的信息等 &/div& &div class=&weui_dialog_ft&& &a href=&#& class=&weui_btn_dialog default&&取消&/a& &a href=&#& class=&weui_btn_dialog primary&&确定&/a& &/div& &/div& &/div& &div class=&weui_dialog_alert&& &div class=&weui_mask&&&/div& &div class=&weui_dialog&& &div class=&weui_dialog_hd&&&strong class=&weui_dialog_title&&弹窗标题 &/strong&&/div& &div class=&weui_dialog_bd&&弹窗内容,告知当前页面信息等&/div& &div class=&weui_dialog_ft&& &a href=&#& class=&weui_btn_dialog primary&&确定&/a& &/div& &/div& &/div&Progress Progress 用于上传、 下载等耗时并且需要显示进度的场景, 用户可以随时中断该操作。 &div class=&weui_progress&& &div class=&weui_progress_bar&& &div class=&weui_progress_inner_bar& style=&width: 50%;&&&/div& &/div& &a href=&#& class=&weui_progress_opr&& &i class=&weui_icon_cancel&&&/i& &/a& &/div&Toast Toast 用于临时显示某些信息,并且会在数秒后自动消失。这些信息通常是轻量级操作的成功、失败或等待状态信息。 &div id=&toast& style=&display:&& &div class=&weui_mask_transparent&&&/div& &div class=&weui_toast&& &i class=&weui_icon_toast&&&/i& &p class=&weui_toast_content&&已完成&/p& &/div& &/div& &div id=&loadingToast& class=&weui_loading_toast& style=&display:&& &div class=&weui_mask_transparent&&&/div& &div class=&weui_toast&& &div class=&weui_loading&& &!-- :) --& &div class=&weui_loading_leaf weui_loading_leaf_0&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_1&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_2&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_3&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_4&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_5&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_6&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_7&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_8&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_9&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_10&&&/div& &div class=&weui_loading_leaf weui_loading_leaf_11&&&/div& &/div& &p class=&weui_toast_content&&数据加载中&/p& &/div& &/div&Msg Page结果页通常来说可以认为进行一系列操作步骤后,作为流程结束的总结性页面。结果页 的作用主要是告知用户操作处理结果以及必要的相关细节(可用于确认之前的操作是否 有误)等信息;若该流程用于开启或关闭某些重要功能,可在结果页增加与该功能相关 的描述性内容;除此之外,结果页也可以承载一些附加价值操作,例如提供抽奖、关注 公众号等功能入口。 &div class=&weui_msg&& &div class=&weui_icon_area&&&i class=&weui_icon_success weui_icon_msg&&&/i&&/div& &div class=&weui_text_area&& &h2 class=&weui_msg_title&&操作成功&/h2& &p class=&weui_msg_desc&&内容详情,可根据实际需要安排&/p& &/div& &div class=&weui_opr_area&& &p class=&weui_btn_area&& &a href=&#& class=&weui_btn weui_btn_primary&&确定&/a& &a href=&#& class=&weui_btn weui_btn_default&&取消&/a& &/p& &/div& &div class=&weui_extra_area&& &a href=&&&查看详情&/a& &/div& &/div&Article文字视图显示大段文字,这些文字通常是页面上的主体内容。Article 支持分段、多 层标题、引用、内嵌图片、有/无序列表等富文本样式,并可响应用户的选择操作。 在微信客户端 webview 中使用 Article,必须保证文字有足够的可读性和可辨识性、 使用规范字体、保证足够的段间距、段首无缩进。 &article class=&weui_article&& &h1&大标题&/h1& &section& &h2 class=&title&&章标题&/h2& &section& &h3&1.1 节标题&/h3& &p&Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute&/p& &/section& &section& &h3&1.2 节标题&/h3& &p&Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&/p& &/section& &/section& &/article&ActionSheet ActionSheet 用于显示包含一系列可交互的动作集合,包括说明、跳转等。由底部弹出,一般用于响应用户对页面的点击。 &div id=&actionSheet_wrap&& &div class=&weui_mask_transition& id=&mask&&&/div& &div class=&weui_actionsheet& id=&weui_actionsheet&& &div class=&weui_actionsheet_menu&& &div class=&weui_actionsheet_cell&&示例菜单&/div& &div class=&weui_actionsheet_cell&&示例菜单&/div& &div class=&weui_actionsheet_cell&&示例菜单&/div& &div class=&weui_actionsheet_cell&&示例菜单&/div& &/div& &div class=&weui_actionsheet_action&& &div class=&weui_actionsheet_cell& id=&actionsheet_cancel&&取消 &/div& &/div& &/div& &/div& Icon&i class=&weui_icon_msg weui_icon_success&&&/i& &i class=&weui_icon_msg weui_icon_info&&&/i& &i class=&weui_icon_msg weui_icon_warn&&&/i& &i class=&weui_icon_msg weui_icon_waiting&&&/i& &i class=&weui_icon_safe weui_icon_safe_success&&&/i& &i class=&weui_icon_safe weui_icon_safe_warn&&&/i& &div class=&icon_sp_area&& &i class=&weui_icon_success&&&/i& &i class=&weui_icon_success_circle&&&/i& &i class=&weui_icon_success_no_circle&&&/i& &i class=&weui_icon_info&&&/i& &i class=&weui_icon_waiting&&&/i& &i class=&weui_icon_waiting_circle&&&/i& &i class=&weui_icon_circle&&&/i& &i class=&weui_icon_warn&&&/i& &i class=&weui_icon_download&&&/i& &i class=&weui_icon_info_circle&&&/i& &i class=&weui_icon_cancel&&&/i& &/div&技术支持与反馈欢迎前往 GitHub 留言或反馈。(三)微信 JSSDK 说明文档微信 JS-SDK 说明文档 目录? o ? ? ? ? ? o ? o ? o o o o o ? o o o o ? o o o o o o o o o ? o ? o ? o2 基础接口 2.1 判断当前客户端版本是否支持指定 JS 接口 3 分享接口 3.1 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 3.2 获取“分享给朋友”按钮点击状态及自定义分享内容接口 3.3 获取“分享到 QQ”按钮点击状态及自定义分享内容接口 3.4 获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 3.5 获取“分享到 QQ 空间”按钮点击状态及自定义分享内容接口 4 图像接口 4.1 拍照或从手机相册中选图接口 4.2 预览图片接口 4.3 上传图片接口 4.4 下载图片接口 5 音频接口 5.1 开始录音接口 5.2 停止录音接口 5.3 监听录音自动停止接口 5.4 播放语音接口 5.5 暂停播放接口 5.6 停止播放接口 5.7 监听语音播放完毕接口 5.8 上传语音接口 5.9 下载语音接口 6 智能接口 6.1 识别音频并返回识别结果接口 7 设备信息 7.1 获取网络状态接口 8 地理位置 8.1 使用微信内置地图查看位置接口 1 概述 1.1 JSSDK 使用步骤 1.1.1 步骤一:绑定域名 1.1.2 步骤二:引入 JS 文件 1.1.3 步骤三:通过 config 接口注入权限验证配置 1.1.4 步骤四:通过 ready 接口处理成功验证 1.1.5 步骤五:通过 error 接口处理失败验证 1.2 接口调用说明 o ? o o o ? o o o o o o o ? o ? o ? o o o o o ? o ? ? ? ? ? ? ?8.2 获取地理位置接口 9 摇一摇周边 9.1 开启查找周边 ibeacon 设备接口 9.2 关闭查找周边 ibeacon 设备接口 9.3 监听周边 ibeacon 设备接口 10 界面操作 10.1 隐藏右上角菜单接口 10.2 显示右上角菜单接口 10.3 关闭当前网页窗口接口 10.4 批量隐藏功能按钮接口 10.5 批量显示功能按钮接口 10.6 隐藏所有非基础按钮接口 10.7 显示所有功能按钮接口 11 微信扫一扫 11.1 调起微信扫一扫接口 12 微信小店 12.1 跳转微信商品页接口 13 微信卡券 13.1 获取 api_ticket 13.2 拉取适用卡券列表并获取用户选择信息 13.3 批量添加卡券接口 13.4 查看微信卡包中的卡券接口 13.5 核销后再次赠送卡券接口 14 微信支付 14.1 发起一个微信支付请求 15 附录 1-JS-SDK 使用权限签名算法 16 附录 2-所有 JS 接口列表 17 附录 3-所有菜单项列表 18 附录 4-卡券扩展字段及签名生成算法 19 附录 5-常见错误及解决方法 20 附录 6-DEMO 页面和示例代码 21 附录 7-问题反馈概述微信 JS-SDK 是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。 通过使用微信 JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手 机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力, 为微信用户提供更优质的网页体验。 此文档面向网页开发者介绍微信 JS-SDK 如何使用及相关注意事项。JSSDK 使用步骤步骤一:绑定域名先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS 接口安全域名”。 如果你使用了支付类接口,请确保支付目录在该安全域名下,否则将无法完成支付。 备注:登录后可在“开发者中心”查看对应的接口权限。步骤二:引入 JS 文件在需要调用 JS 接口的页面引入如下 JS 文件,(支持 https): http://res.wx.qq.com/open/js/jweixin-1.0.0.js 请注意,如果你的页面启用了 https,务必引 入 https://res.wx.qq.com/open/js/jweixin-1.0.0.js , 否则将无法在 iOS9.0 以上 系统中成功使用 JSSDK 如需使用摇一摇周边功能,请引入 jweixin-1.1.0.js 备注:支持使用 AMD/CMD 标准模块加载方法加载步骤三:通过 config 接口注入权限验证配置所有需要使用 JS-SDK 的页面必须先注入配置信息,否则将无法调用(同一个 url 仅需调 用一次,对于变化 url 的 SPA 的 web app 可在每次 url 变化时进行调用,目前 Android 微信客户端不支持 pushState 的 H5 新特性,所以使用 pushState 来实现 web app 的页面 会导致签名失败,此问题会在 Android6.2 中修复)。wx.config({ debug: true, // 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来,若要查看 传入的参数,可以在 pc 端打开,参数信息会通过 log 打出,仅在 pc 端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名,见附录 1 jsApiList: [] // 必填,需要使用的 JS 接口列表,所有 JS 接口列表见附录 2 });步骤四:通过 ready 接口处理成功验证wx.ready(function(){ // config 信息验证后会执行 ready 方法,所有接口调用都必须在 config 接口获得结果之后, config 是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在 ready 函数中调用来确保正确执行。 对于用户触发时才调用的接口, 则可以直接调用, 不需要放在 ready 函数中。 });步骤五:通过 error 接口处理失败验证wx.error(function(res){// config 信息验证失败会执行 error 函数,如签名过期导致验证失败,具体错误信息可以打开 config 的 debug 模式查看,也可以在返回的 res 参数中查看,对于 SPA 可以在这里更新签名。 });接口调用说明所有接口通过 wx 对象(也可使用 jWeixin 对象)来调用,参数是一个对象,除了每个接口 本身需要传的参数之外,还有以下通用参数: 1. 2. 3. 4. 5. success:接口调用成功时执行的回调函数。 fail:接口调用失败时执行的回调函数。 complete:接口调用完成时执行的回调函数,无论成功或失败都会执行。 cancel:用户点击取消时的回调函数,仅部分有用户取消操作的 api 才会用到。 trigger: 监听 Menu 中的按钮点击时触发的方法, 该方法仅支持 Menu 中的相关接口。备注:不要尝试在 trigger 中使用 ajax 异步请求修改本次分享的内容,因为客户端分享 操作是一个同步操作,这时候使用 ajax 的回包会还没有返回。 以上几个函数都带有一个参数,类型为对象,其中除了每个接口本身返回的数据之外, 还有一个通用属性 errMsg,其值格式如下: 1. 调用成功时:&xxx:ok& ,其中 xxx 为调用的接口名 2. 用户取消时:&xxx:cancel&,其中 xxx 为调用的接口名 3. 调用失败时:其值为具体错误信息基础接口 判断当前客户端版本是否支持指定 JS 接口wx.checkJsApi({ jsApiList: ['chooseImage'], // 需要检测的 JS 接口列表,所有 JS 接口列表见附录 2, success: function(res) { // 以键值对的形式返回,可用的 api 值 true,不可用为 false // 如:{&checkResult&:{&chooseImage&:true},&errMsg&:&checkJsApi:ok&} } });备注:checkJsApi 接口是客户端 6.0.2 新引入的一个预留接口,第一期开放的接口均可 不使用 checkJsApi 来检测。分享接口请注意不要有诱导分享等违规行为,对于诱导分享行为将永久回收公众号接口权限,详 细规则请查看:朋友圈管理常见问题 。获取“分享到朋友圈”按钮点击状态及自定义分享内容接口wx.onMenuShareTimeline({ title: '', // 分享标题 link: '', // 分享链接 imgUrl: '', // 分享图标 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } });获取“分享给朋友”按钮点击状态及自定义分享内容接口wx.onMenuShareAppMessage({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享链接 imgUrl: '', // 分享图标 type: '', // 分享类型,music、video 或 link,不填默认为 link dataUrl: '', // 如果 type 是 music 或 video,则要提供数据链接,默认为空 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } });获取“分享到 QQ”按钮点击状态及自定义分享内容接口wx.onMenuShareQQ({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享链接 imgUrl: '', // 分享图标 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } });获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口wx.onMenuShareWeibo({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享链接 imgUrl: '', // 分享图标 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } });获取“分享到 QQ 空间”按钮点击状态及自定义分享内容接口wx.onMenuShareQZone({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享链接 imgUrl: '', // 分享图标 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } });图像接口 拍照或从手机相册中选图接口wx.chooseImage({ count: 1, // 默认 9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { var localIds = res.localI // 返回选定照片的本地 ID 列表,localId 可以作为 img 标签的 src 属性显示图片 } });预览图片接口wx.previewImage({ current: '', // 当前显示图片的 http 链接 urls: [] // 需要预览的图片 http 链接列表 }); 上传图片接口wx.uploadImage({ localId: '', // 需要上传的图片的本地 ID,由 chooseImage 接口获得 isShowProgressTips: 1, // 默认为 1,显示进度提示 success: function (res) { var serverId = res.serverId; // 返回图片的服务器端 ID } });备注:上传图片有效期 3 天,可用微信多媒体接口下载图片到自己的服务器,此处获得 的 serverId 即 media_id,参考文 档 ../12/58bfcfabbd501c7cd77c19bd9cfa8354.html 目前多媒体文件下载接口的频 率限制为 10000 次/天,如需要调高频率,请邮件 weixin-,邮件主题为【申 请多媒体接口调用量】,请对你的项目进行简单描述,附上产品体验链接,并对用户量 和使用量进行说明。下载图片接口wx.downloadImage({ serverId: '', // 需要下载的图片的服务器端 ID,由 uploadImage 接口获得 isShowProgressTips: 1, // 默认为 1,显示进度提示 success: function (res) { var localId = res.localId; // 返回图片下载后的本地 ID } });音频接口 开始录音接口wx.startRecord();停止录音接口wx.stopRecord({ success: function (res) { var localId = res.localId; } }); 监听录音自动停止接口wx.onVoiceRecordEnd({ // 录音时间超过一分钟没有停止的时候会执行 complete 回调 complete: function (res) { var localId = res.localId; } });播放语音接口wx.playVoice({ localId: '' // 需要播放的音频的本地 ID,由 stopRecord 接口获得 });暂停播放接口wx.pauseVoice({ localId: '' // 需要暂停的音频的本地 ID,由 stopRecord 接口获得 });停止播放接口wx.stopVoice({ localId: '' // 需要停止的音频的本地 ID,由 stopRecord 接口获得 });监听语音播放完毕接口wx.onVoicePlayEnd({ success: function (res) { var localId = res.localId; // 返回音频的本地 ID } });上传语音接口wx.uploadVoice({ localId: '', // 需要上传的音频的本地 ID,由 stopRecord 接口获得 isShowProgressTips: 1, // 默认为 1,显示进度提示 success: function (res) { var serverId = res.serverId; // 返回音频的服务器端 ID } });备注:上传语音有效期 3 天,可用微信多媒体接口下载语音到自己的服务器,此处获得 的 serverId 即 media_id,参考文 档 ../12/58bfcfabbd501c7cd77c19bd9cfa8354.html 目前多媒体文件下载接口的频 率限制为 10000 次/天,如需要调高频率,请邮件 weixin-,邮件主题为【申 请多媒体接口调用量】,请对你的项目进行简单描述,附上产品体验链接,并对用户量 和使用量进行说明。下载语音接口wx.downloadVoice({ serverId: '', // 需要下载的音频的服务器端 ID,由 uploadVoice 接口获得 isShowProgressTips: 1, // 默认为 1,显示进度提示 success: function (res) { var localId = res.localId; // 返回音频的本地 ID } });智能接口 识别音频并返回识别结果接口wx.translateVoice({ localId: '', // 需要识别的音频的本地 Id,由录音相关接口获得 isShowProgressTips: 1, // 默认为 1,显示进度提示 success: function (res) { alert(res.translateResult); // 语音识别的结果 } }); 设备信息 获取网络状态接口wx.getNetworkType({ success: function (res) { var networkType = res.networkT // 返回网络类型 2g,3g,4g,wifi } });地理位置 使用微信内置地图查看位置接口wx.openLocation({ latitude: 0, // 纬度,浮点数,范围为 90 ~ -90 longitude: 0, // 经度,浮点数,范围为 180 ~ -180。 name: '', // 位置名 address: '', // 地址详情说明 scale: 1, // 地图缩放级别,整形值,范围从 1~28。默认为最大 infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转 });获取地理位置接口wx.getLocation({ type: 'wgs84', // 默认为 wgs84 的 gps 坐标,如果要返回直接给 openLocation 用的火星 坐标,可传入'gcj02' success: function (res) { var latitude = res. // 纬度,浮点数,范围为 90 ~ -90 var longitude = res. // 经度,浮点数,范围为 180 ~ -180。 var speed = res. // 速度,以米/每秒计 var accuracy = res. // 位置精度 } }); 摇一摇周边 开启查找周边 ibeacon 设备接口wx.startSearchBeacons({ ticket:&&, //摇周边的业务 ticket, 系统自动添加在摇出来的页面链接后面 complete:function(argv){ //开启查找完成后的回调函数 } });备注:如需接入摇一摇周边功能,请参考:申请开通摇一摇周边关闭查找周边 ibeacon 设备接口wx.stopSearchBeacons({ complete:function(res){ //关闭查找完成后的回调函数 } });监听周边 ibeacon 设备接口wx.onSearchBeacons({ complete:function(argv){ //回调函数,可以数组形式取得该商家注册的在周边的相关设备列表 } });备注:上述摇一摇周边接口使用注意事项及更多返回结果说明,请参考:摇一摇周边获 取设备信息界面操作 隐藏右上角菜单接口wx.hideOptionMenu(); 显示右上角菜单接口wx.showOptionMenu();关闭当前网页窗口接口wx.closeWindow();批量隐藏功能按钮接口wx.hideMenuItems({ menuList: [] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有 menu 项见附录 3 });批量显示功能按钮接口wx.showMenuItems({ menuList: [] // 要显示的菜单项,所有 menu 项见附录 3 });隐藏所有非基础按钮接口wx.hideAllNonBaseMenuItem(); // “基本类”按钮详见附录 3显示所有功能按钮接口wx.showAllNonBaseMenuItem();微信扫一扫 调起微信扫一扫接口wx.scanQRCode({ needResult: 0, // 默认为 0,扫描结果由微信处理,1 则直接返回扫描结果, scanType: [&qrCode&,&barCode&], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { var result = res.resultS // 当 needResult 为 1 时,扫码返回的结果 } });微信小店 跳转微信商品页接口wx.openProductSpecificView({ productId: '', // 商品 id viewType: '' // 0.默认值,普通商品详情页 1.扫一扫商品详情页 2.小店商品详情页 });微信卡券微信卡券接口中使用的签名凭证 api_ticket,与步骤三中 config 使用的签名凭证 jsapi_ticket 不同,开发者在调用微信卡券 JS-SDK 的过程中需依次完成两次不同的签 名,并确保凭证的缓存。获取 api_ticketapi_ticket 是用于调用微信卡券 JS API 的临时票据,有效期为 7200 秒,通过 access_token 来获取。 开发者注意事项: 1.此用于卡券接口签名的 api_ticket 与步骤三中通过 config 接口注入权限验证配置使 用的 jsapi_ticket 不同。 2.由于获取 api_ticket 的 api 调用次数非常有限,频繁刷新 api_ticket 会导致 api 调用受限,影响自身业务,开发者需在自己的服务存储与更新 api_ticket。 接口调用请求说明http 请求方式: GET https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKE N&type=wx_card参数说明 参数 是否必须 说明 access_token 返回数据 数据示例:{ &errcode&:0, &errmsg&:&ok&,是调用接口凭证&ticket&:&bxLdikRXVbTPdHSM05e5u5sUoXNKdvsdshFKA&, &expires_in&:7200 }参数名 errcode errmsg ticket expires_in 错误码 错误信息描述api_ticket, 卡券接口中签名所需凭 证 有效时间拉取适用卡券列表并获取用户选择信息wx.chooseCard({ shopId: '', // 门店 Id cardType: '', // 卡券类型 cardId: '', // 卡券 Id timestamp: 0, // 卡券签名时间戳 nonceStr: '', // 卡券签名随机串 signType: '', // 签名方式,默认'SHA1' cardSign: '', // 卡券签名 success: function (res) { var cardList= res.cardL // 用户选中的卡券列表信息 } });参数名必 填类型示例值描述 门店 ID。shopID 用于筛选出拉 起 带 有 指 定 location_list(shopID) 的 卡 券 列shopId否 string(24) 1234 表,非必填。 卡券类型,用于拉起指定卡券 类型的卡券列表。当 cardType 为空时,默认拉起所有卡券的 列表,非必填。cardType否 string(24) GROUPONcardId卡券 ID,用于拉起指定 cardId 的卡券列表,当 cardId 为空时, 否 string(32) p1Pj9jr90_SQRaVqYI239Ka1erk 默认拉起所有卡券的列表,非 必填。 是 string(32)
是 string(32) sduhi123 是 string(32) SHA1 是 string(64) abcsdijcous123 时间戳。 随机字符串。 签名方式,目前仅支持 SHA1 签名。timestamp nonceStr signType cardSigncardSign 详见附录 4。开发者特别注意:签名错误会导致拉取卡券列表异常为空,请仔 细检查参与签名的参数有效性。 特别提醒 拉取列表仅与用户本地卡券有关,拉起列表异常为空的情况通常有三种:签名错误、时 间戳无效、筛选机制有误。请开发者依次排查定位原因。批量添加卡券接口wx.addCard({ cardList: [{ cardId: '', cardExt: '' }], // 需要添加的卡券列表 success: function (res) { var cardList = res.cardL // 添加的卡券列表信息 } });cardExt 详见附录 4, 值得注意的是, 这里的 card_ext 参数必须与参与签名的参数一致, 格式为字符串而不是 Object,否则会报签名错误。查看微信卡包中的卡券接口wx.openCard({ cardList: [{ cardId: '', code: '' }]// 需要打开的卡券列表 });核销后再次赠送卡券接口wx.consumeAndShareCard({ cardId: '', code: '' });参数说明: 参数 cardId 说明 上一步核销的 card_id,若传入错误的 card_id 会报错 上一步核销的 code,若传入错误的 code 会报 错code注意: 该接口只支持微信 6.3.6 以上版本的客户端,开发者在调用时需要注意两点: 1.需要引入 1.1.0 版本的 js 文 件: https://res.wx.qq.com/open/js/jweixin-1.1.0.js 2.需要判断用户客户端版本号,做出容错处理,详情点击:判断当前客户端版本是否支 持指定 JS 接口微信支付 发起一个微信支付请求wx.chooseWXPay({ timestamp: 0, // 支付签名时间戳,注意微信 jssdk 中的所有使用 timestamp 字段均为小写。 但最新版的支付后台生成签名使用的 timeStamp 字段名需大写其中的 S 字符 nonceStr: '', // 支付签名随机串,不长于 32 位 package: '', // 统一支付接口返回的 prepay_id 参数值,提交格式如:prepay_id=***) signType: '', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign: '', // 支付签名 success: function (res) { // 支付成功后的回调函数 } });备注:prepay_id 通过微信支付统一下单接口拿到,paySign 采用统一的微信支付 Sign 签名生成方法,注意这里 appId 也要参与签名,appId 与 config 中传入的 appId 一 致,即最后参与签名的参数有 appId, timeStamp, nonceStr, package, signType。 请注意该接口只能在你配置的支付目录下调用, 同时需确保支付目录在 JS 接口安全域名 下。 微信支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/index.html附录 1-JS-SDK 使用权限签名算法jsapi_ticket 生成签名之前必须先了解一下 jsapi_ticket,jsapi_ticket 是公众号用于调用微信 JS 接口的临时票据。正常情况下,jsapi_ticket 的有效期为 7200 秒,通过 access_token 来获取。由于获取 jsapi_ticket 的 api 调用次数非常有限,频繁刷新 jsapi_ticket 会 导致 api 调用受限, 影响自身业务, 开发者必须在自己的服务全局缓存 jsapi_ticket 。 1. 参考以下文档获取 access_token(有效期 7200 秒,开发者必须在自己的服务全局缓 存 access_token) :../15/54ce45d8d30b6bfe95bc627.html 2. 用第一步拿到的 access_token 采用 http GET 方式请求获得 jsapi_ticket(有效期 7200 秒,开发者必须在自己的服务全局缓存 jsapi_ticket) : https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=j sapi 成功返回如下 JSON:{ &errcode&:0, &errmsg&:&ok&, &ticket&:&bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NY zWKVZvdVtaUgWvsdshFKA&, &expires_in&:7200 }获得 jsapi_ticket 之后,就可以生成 JS-SDK 权限验证的签名了。 签名算法 签名生成规则如下: 参与签名的字段包括 noncestr (随机字符串) , 有效的 jsapi_ticket, timestamp(时间戳), url(当前网页的 URL,不包含#及其后面部分) 。对所有待签 名参数按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的格式(即 key1=value1&key2=value2?)拼接成字符串 string1。这里需要注意的是所有参数名均 为小写字符。对 string1 作 sha1 加密,字段名和字段值都采用原始值,不进行 URL 转 义。即 signature=sha1(string1)。 示例:? ? ? ?noncestr=Wm3WZYTPz0wzccnW jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSl Yy3-Sl-HhTdfl2fzFy1AOcHKP7qg timestamp= url=http://mp.weixin.qq.com?params=value步骤 1. 对所有待签名参数按照字段名的 ASCII 码从小到大排序 (字典序) 后, 使用 URL 键值对的格式(即 key1=value1&key2=value2?)拼接成字符串 string1:jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=&url =http://mp.weixin.qq.com?params=value步骤 2. 对 string1 进行 sha1 签名,得到 signature:0f9de62fce790f9a083d5c99e95740ceb90c27ed注意事项 1. 签名用的 noncestr 和 timestamp 必须与 wx.config 中的 nonceStr 和 timestamp 相同。 2. 签名用的 url 必须是调用 JS 接口页面的完整 URL。 3. 出于安全考虑,开发者必须在服务器端实现签名的逻辑。如出现 invalid signature 等错误详见附录 5 常见错误及解决办法。 附录 2-所有 JS 接口列表版本 1.0.0 接口? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?onMenuShareTimeline onMenuShareAppMessage onMenuShareQQ onMenuShareWeibo onMenuShareQZone startRecord stopRecord onVoiceRecordEnd playVoice pauseVoice stopVoice onVoicePlayEnd uploadVoice downloadVoice chooseImage previewImage uploadImage downloadImage translateVoice getNetworkType openLocation getLocation hideOptionMenu showOptionMenu hideMenuItems showMenuItems hideAllNonBaseMenuItem showAllNonBaseMenuItem closeWindow scanQRCode chooseWXPay openProductSpecificView addCard chooseCard openCard附录 3-所有菜单项列表基本类 ? ? ? ? ? ? ?举报: &menuItem:exposeArticle& 调整字体: &menuItem:setFont& 日间模式: &menuItem:dayMode& 夜间模式: &menuItem:nightMode& 刷新: &menuItem:refresh& 查看公众号(已添加): &menuItem:profile& 查看公众号(未添加): &menuItem:addContact&传播类? ? ? ? ? ? ?发送给朋友: &menuItem:share:appMessage& 分享到朋友圈: &menuItem:share:timeline& 分享到 QQ: &menuItem:share:qq& 分享到 Weibo: &menuItem:share:weiboApp& 收藏: &menuItem:favorite& 分享到 FB: &menuItem:share:facebook& 分享到 QQ 空间/menuItem:share:QZone保护类? ? ? ? ? ? ? ? ?编辑标签: &menuItem:editTag& 删除: &menuItem:delete& 复制链接: &menuItem:copyUrl& 原网页: &menuItem:originPage& 阅读模式: &menuItem:readMode& 在 QQ 浏览器中打开: &menuItem:openWithQQBrowser& 在 Safari 中打开: &menuItem:openWithSafari& 邮件: &menuItem:share:email& 一些特殊公众号: &menuItem:share:brand&附录 4-卡券扩展字段及签名生成算法JSSDK 使用者请读这里,JSAPI 用户可以跳过 卡券签名和 JSSDK 的签名完全独立,两者的算法和意义完全不同,请不要混淆。JSSDK 的签名是使用所有 JS 接口都需要走的一层鉴权,用以标识调用者的身份,和卡券本身并 无关系。其次,卡券的签名考虑到协议的扩展性和简单的防数据擅改,设计了一套独立 的签名协议。另外由于历史原因,卡券的 JS 接口先于 JSSDK 出现,当时的 JSAPI 并没有 鉴权体系,所以在卡券的签名里也加上了 appsecret/api_ticket 这些身份信息,希望开 发者理解。卡券 api_ticket 卡券 api_ticket 是用于调用卡券相关接口的临时票据,有效期为 7200 秒,通过 access_token 来获取。这里要注意与 jsapi_ticket 区分开来。由于获取卡券 api_ticket 的 api 调用次数非常有限, 频繁刷新卡券 api_ticket 会导致 api 调用受 限,影响自身业务,开发者必须在自己的服务全局缓存卡券 api_ticket 。 1. 参考以下文档获取 access_token(有效期 7200 秒,开发者必须在自己的服务全局缓 存 access_token) :../15/54ce45d8d30b6bfe95bc627.html 2. 用第一步拿到的 access_token 采用 http GET 方式请求获得卡券 api_ticket(有效期 7200 秒,开发者必须在自己的服务全局缓存卡券 api_ticket) : https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type= wx_card卡券扩展字段 cardExt 说明 cardExt 本身是一个 JSON 字符串, 是商户为该张卡券分配的唯一性信息, 包含以下字段:字段是否 必填说明code否指定的卡券 code 码,只能被领一次。use_custom_code 字段为 true 的卡券 必须填写,非自定义 code 不必填写。openid否指定领取者的 openid, 只有该用户能领取。 bind_openid 字段为 true 的卡券 必须填写,bind_openid 字段为 false 不必填写。timestamp 是时间戳,商户生成从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间, 且最终需要转换为字符串形式 ;由商户生成后传入 ,不同添加请求的时间戳 须动态生成,若重复将会导致领取失败! 。nonce_str 否随机字符串,由开发者设置传入,加强签名的安全性。随机字符串,不长 于 32 位。 推荐使用大小写字母和数字, 不同添加请求的 nonce 须动态生成, 若重复将会导致领取失败! 。signature是签名,商户将接口列表中的参数按照指定方式进行签名 , 签名方式使用 SHA1,具体签名方案参见下文;由商户按照规范签名后传入。 outer_id否领取场景值,用于领取渠道的数据统计,默认值为 0,字段类型为整型,长 度限制为 60 位数字。 用户领取卡券后触发的事件推送中会带上此自定义场 景值,不参与签名。签名说明 1. 将 api_ticket、timestamp、card_id、code、openid、nonce_str 的 value 值进行字符串 的字典序排序。 2. 将所有参数字符串拼接成一个字符串进行 sha1 加密,得到 signature。 3. signature 中的 timestamp,nonce 字段和 card_ext 中的 timestamp,nonce_str 字段必 须保持一致。 4. code=jonyqin_,timestamp=, card_id=pjZ8Yt1XGILfi-FUsewpnnolGgZk, api_ticket=ojZ8YtyVyr30HheH3CM73y7h4jJE , nonce_str=jonyqin 则 signature=sha1(jonyqinjonyqin_ojZ8YtyVyr30HheH3CM73y7h4j JE pjZ8Yt1XGILfi-FUsewpnnolGgZk)=6b81fbf6af16e689。 强烈建议开发者使用卡券资料包中的签名工具 SDK 进行签名或使用 debug 工具进行校验: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=cardsign 卡券签名 cardSign 说明 1. 将 api_ticket、app_id、location_id、timestamp、nonce_str、card_id、card_type 的 value 值进行字符串的字典序排序。 2. 将所有参数字符串拼接成一个字符串进行 sha1 加密,得到 cardSign。附录 5-常见错误及解决方法调用 config 接口的时候传入参数 debug: true 可以开启 debug 模式,页面会 alert 出 错误信息。以下为常见错误及解决方法: 1. invalid url domain 当前页面所在域名与使用的 appid 没有绑定, 请确认正确填写绑定 的域名,如果使用了端口号,则配置的绑定域名也要加上端口号(一个 appid 可以 绑定三个有效域名,见 目录 1.1.1) 。 2. invalid signature 签名错误。建议按如下顺序检查: 1. 确认签名算法正确,可 用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行 校验。 2. 确认 config 中 nonceStr(js 中驼峰标准大写 S), timestamp 与用以签名中的 对应 noncestr, timestamp 一致。 3.4. 5. 6.7.8.9. 10. 11.12. 13.3. 确认 url 是页面完整的 url(请在当前页面 alert(location.href.split('#')[0])确认), 包括'http(s)://'部分, 以及'?'后面的 GET 参数部分,但不包括'#'hash 后面的部 分。 4. 确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。 5. 确保一定缓存 access_token 和 jsapi_ticket。 6. 确保你获取用来签名的 url 是动态获取的,动态页面可参见实例代码中 php 的实现方式。如果是 html 的静态页面在前端通过 ajax 将 url 传到后台签名, 前端需要用 js 获取当前页面除去'#'hash 部分的链接(可用 location.href.split('#')[0]获取,而且需要 encodeURIComponent) , 因为页面一旦 分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前 链接,将导致分享后的页面签名失败。 the permission value is offline verifying 这个错误是因为 config 没有正确执行,或者是 调用的 JSAPI 没有传入 config 的 jsApiList 参数中。建议按如下顺序检查: 1. 确认 config 正确通过。 2. 如果是在页面加载好时就调用了 JSAPI,则必须写在 wx.ready 的回调中。 3. 确认 config 的 jsApiList 参数包含了这个 JSAPI。 permission denied 该公众号没有权限使用这个 JSAPI,或者是调用的 JSAPI 没有传入 config 的 jsApiList 参数中(部分接口需要认证之后才能使用) 。 function not exist 当前客户端版本不支持该接口,请升级到新版体验。 为什么 6.0.1 版本 config:ok,但是 6.0.2 版本之后不 ok(因为 6.0.2 版本之前没有做 权限验证,所以 config 都是 ok,但这并不意味着你 config 中的签名是 OK 的,请在 6.0.2 检验是否生成正确的签名以保证 config 在高版本中也 ok。 ) 在 iOS 和 Android 都无法分享 (请确认公众号已经认证, 只有认证的公众号才具有分 享相关接口权限,如果确实已经认证,则要检查监听接口是否在 wx.ready 回调函数 中触发) 服务上线之后无法获取 jsapi_ticket,自己测试时没问题。 (因为 access_token 和 jsapi_ticket 必须要在自己的服务器缓存,否则上线后会触发频率限制。请确保一定 对 token 和 ticket 做缓存以减少 2 次服务器请求, 不仅可以避免触发频率限制, 还加 快你们自己的服务速度。目前为了方便测试提供了 1w 的获取量,超过阀值后,服 务将不再可用,请确保在服务上线前一定全局缓存 access_token 和 jsapi_ticket,两 者有效期均为 7200 秒,否则一旦上线触发频率限制,服务将不再可用) 。 uploadImage 怎么传多图 (目前只支持一次上传一张, 多张图片需等前一张图片上传 之后再调用该接口) 没法对本地选择的图片进行预览(chooseImage 接口本身就支持预览,不需要额外 支持) 通过 a 链接(例如先通过微信授权登录)跳转到 b 链接,invalid signature 签名失败(后 台生成签名的链接为使用 jssdk 的当前链接, 也就是跳转后的 b 链接, 请不要用微信 登录的授权链接进行签名计算,后台签名的 url 一定是使用 jssdk 的当前页面的完整 url 除去'#'部分) 出现 config:fail 错误 (这是由于传入的 config 参数不全导致, 请确保传入正确的 appId、 timestamp、nonceStr、signature 和需要使用的 jsApiList) 如何把 jsapi 上传到微信的多媒体资源下载到自己的服务器(请参见文档中 uploadVoice 和 uploadImage 接口的备注说明) 14. Android 通过 jssdk 上传到微信服务器,第三方再从微信下载到自己的服务器,会出 现杂音(微信团队已经修复此问题,目前后台已优化上线) 15. 绑定父级域名,是否其子域名也是可用的(是的,合法的子域名在绑定父域名之后 是完全支持的) 16. 在 iOS 微信 6.1 版本中, 分享的图片外链不显示, 只能显示公众号页面内链的图片或 者微信服务器的图片,已在 6.2 中修复 17. 是否需要对低版本自己做兼容(jssdk 都是兼容低版本的,不需要第三方自己额外做 更多工作,但有的接口是 6.0.2 新引入的,只有新版才可调用) 18. 该公众号支付签名无效,无法发起该笔交易(请确保你使用的 jweixin.js 是官方线上 版本,不仅可以减少用户流量,还有可能对某些 bug 进行修复,拷贝到第三方服务 器中使用, 官方将不对其出现的任何问题提供保障, 具体支付签名算法可参考 JSSDK 微信支付一栏) 19. 目前 Android 微信客户端不支持 pushState 的 H5 新特性, 所以使用 pushState 来实现 web app 的页面会导致签名失败,此问题已在 Android6.2 中修复 20. uploadImage 在 chooseImage 的回调中有时候 Android 会不执行,Android6.2 会解决 此问题,若需支持低版本可以把调用 uploadImage 放在 setTimeout 中延迟 100ms 解 决 21. require subscribe 错误说明你没有订阅该测试号,该错误仅测试号会出现 22. getLocation 返回的坐标在 openLocation 有偏差, 因为 getLocation 返回的是 gps 坐标, openLocation 打开的腾讯地图为火星坐标,需要第三方自己做转换,6.2 版本开始已 经支持直接获取火星坐标 23. 查看公众号(未添加): &menuItem:addContact&不显示,目前仅有从公众号传播出去 的链接才能显示,来源必须是公众号 24. ICP 备案数据同步有一天延迟,所以请在第二日绑定附录 6-DEMO 页面和示例代码DEMO 页面: http://demo.open.weixin.qq.com/jssdk 示例代码: http://demo.open.weixin.qq.com/jssdk/sample.zip 备注:链接中包含 php、java、nodejs 以及 python 的示例代码供第三方参考,第三方切 记要对获取的 accesstoken 以及 jsapi_ticket 进行缓存以确保不会触发频率限制。附录 7-问题反馈邮箱地址:weixin- 邮件主题:【微信 JS-SDK 反馈】 邮件内容说明: 用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团 队会尽快处理你的反馈。(四)微信 web 开发者工具微信 web 开发者工具目录? ? ? ? ? ? ?1 概述 2 调试微信网页授权 3 模拟 JSSDK 权限校验 4 移动调试 5 Chrome DevTools 6 下载地址 7 技术支持与反馈概述为帮助开发者更方便、更安全地开发和调试基于微信的网页,我们推出了 web 开发者工 具。它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方 便地在 PC 或者 Mac 上进行开发和调试工作。立即下载体验 你可以: ? ? ? ?使用自己的微信号来调试微信网页授权 调试、检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出 使用基于 weinre 的移动调试功能 利用集成的 Chrome DevTools 协助开发该工具界面主要由几大部分组成,如下图所示:顶部菜单栏是刷新、后退、选中地址栏等动作的统一入口,以及微信客户端版本的模拟 设置页。左侧是微信的 webview 模拟器,可以直接操作网页,模拟用户真实行为。右侧 上方是地址栏,用于输入待调试的页面链接,以及清除缓存按钮。右侧下方是相关的请 求和返回结果,以及调试界面和登录按钮。调试微信网页授权之前在开发基于微信的网页授权的功能时, 开发者通常需要手机上输入 URL 进而获取用 户信息,从而进行开发和调试工作,可是因为手机的诸多限制,这个过程很不方便。 通 过使用微信 web 开发者工具, 从此开发者可以直接在 PC 或者 Mac 上进行这种调试了。 具体操作步骤为:?开发者可以在调试器中点击“登录” ,使用手机微信扫码登录,从而使用真实的用户 身份(支持测试号)来开发和调试微信网页授权。请确认手机登录页,绑定的公众 号为“微信 web 开发者工具” ,如下图所示: ?为了保证开发者身份信息的安全,对于希望调试的公众号,我们要求开发者微信号 与之建立绑定关系。具体操作为:公众号登录管理后台,启用开发者中心,在开发 者工具――web 开发者工具页面,向开发者微信号发送绑定邀请。绑定页面如下图 所示:?开发者在手机微信上接受邀请,即可完成绑定。 每个公众号最多可同时绑定 10 个开 发者微信号。邀请确认页面如下图所示: ?完成登录和绑定后,开发者就可以开始调试微信网页授权了,注意只能调试自己绑 定过的公众号:非静默授权的 URL 样 例: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx841a9b2&redirect_uri=http://cps.dianping.com/weiXinRedirect&response_type=cod e&scope=snsapi_userinfo&state=type%3Dquan%2Curl%3Dhttp%3A%2F%2Fmm.dianping.c om%2Fweixin%2Faccount%2Fhome 在微信 web 开发者工具中打开类似的授权页 URL(样例不可直接使用,请更换为绑定完 成的公众号授权页 URL),webview 模拟器显示效果如图: 点击“确认登录”即可带着用户信息跳转到第三方页面,很方便的进行后续的开发和调 试。 静默授权的 URL 样 例: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx841a9b2&redirect_uri=http://cps.dianping.com/weiXinRedirect&response_type=cod e&scope=snsapi_base&state=type%3Dquan%2Curl%3Dhttp%3A%2F%2Fmm.dianping.com%2 Fweixin%2Faccount%2Fhome 在微信 web 开发者工具中打开类似的授权页 URL(样例不可直接使用,请更换为绑定完 成的公众号授权页 URL)则会自动跳转到第三方页面。 注意:如果使用了代理,需代理本身支持 https 直连,才能调试 https 页面。模拟 JSSDK 权限校验通过 web 开发者工具,可以模拟 JSSDK 在微信客户端中的请求,并直观地看到鉴权结 果和 log。以微信 JSSDK DEMO 页面为例: http://demo.open.weixin.qq.com/jssdk 在调试器中打开该 URL,可以方便地在右侧的 JS-SDK Tab 中看到当前页面 wx.config 的校验情况和 JSSDK 的调用 log。 如下是校验通过的页面:如下是校验未通过的页面:在“权限列表” Tab 中,可以查询到当前页面拥有权限的 JS-SDK 列表: 移动调试移动调试功能是基于 weinre 的,并且做了一些改进,相比直接使用 weinre 有两个优 点:? ?无须手工在页面中加入 weinre 调试脚本 可以在 weinre 的网络请求页卡中,看到完整的 http 请求 log,非局限于 ajax 请 求如下图所示: 注意,移动调试功能暂不支持 https。Chrome DevTools微信 web 开发者工具集成了 Chrome DevTools。同之前在 PC 上的调试体验一致,可以 快速上手。 如下图所示: 下载地址最新版本: () 0.3.0 更新内容:? ?修复部分已知的 bug 新增支持微信企业号Windows 64 位版本:下载地址MD5: e74ddc68a16Windows 32 位版本:下载地址MD5: b69a7d94ad199Mac 版本:下载地址 MD5: 93b492cec0d83edd97b73注:支持 win7 及以上版本,支持 OS X 10.8 及以上版本技术支持与反馈邮箱地址:weixin- 邮件主题:【微信 web 开发者工具反馈】 邮件内容说明: 用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团 队会尽快处理你的反馈。六、素材管理(一)新增临时素材 公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消 息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过 media_id 来进行的。素 材管理接口对所有认证的订阅号和服务号开放(注:自定义菜单接口和素材管理接口向 第三方平台旗下未认证订阅号开放)。通过本接口,公众号可以新增临时素材(即上传 临时多媒体文件)。 请注意:1、 对于临时素材, 每个素材 (media_id) 会在开发者上传或粉丝发送到微信服务器 3 天后自动删除 (所 以用户发送给开发者的素材,若开发者需要,应尽快下载到本地),以节省服务器资源。 2、media_id 是可复用的。 3、素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过 2M,支持 bmp/png/jpeg/jpg/gif 格式,语音大小不超过 2M,长度不超过 60 秒(公众平台官网可以在文章中 插入小于 30 分钟的语音,但这些语音不能用于群发等场景,只能放在文章内,这方面接口暂不支持), 支持 mp3/wma/wav/amr 格式 4、需使用 https 调用本接口。本接口即为原“上传多媒体文件”接口。 接口调用请求说明http 请求方式: POST/FORM,需使用 https https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&ty pe=TYPE 调用示例(使用 curl 命令,用 FORM 表单方式上传一个多媒体文件): curl -F media=@test.jpg &https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&t ype=TYPE&参数说明 参数 access_token type 是 是 是否必须 调用接口凭证 媒体文件类型,分别有图片(image) 、语音(voice) 、 视频(video)和缩略图(thumb) form-data 中媒体文件标识,有 filename、filelength、 content-type 等信息 说明media是返回说明 正确情况下的返回 JSON 数据包结果如下:{&type&:&TYPE&,&media_id&:&MEDIA_ID&,&created_at&:}参数描述 媒体文件类型,分别有图片(image) 、语音(voice) 、 视频(video)和缩略图(thumb,主要用于视频与 音乐格式的缩略图) 媒体文件上传后,获取时的唯一标识 媒体文件上传时间戳typemedia_id created_at错误情况下的返回 JSON 数据包示例如下(示例为无效媒体类型错误):{&errcode&:40004,&errmsg&:&invalid media type&}注意事项 上传的临时多媒体文件有格式和大小限制,如下:?图片(image): 2M,支持 bmp/png/jpeg/jpg/gif 格式 ? ? ?语音(voice) :2M,播放长度不超过 60s,支持 AMR\MP3 格式 视频(video) :10MB,支持 MP4 格式 缩略图(thumb) :64KB,支持 JPG 格式媒体文件在后台保存时间为 3 天,即 3 天后 media_id 失效。 使用网页调试工具调试该接口(二)获取临时素材 公众号可以使用本接口获取临时素材(即下载临时的多媒体文件)。请注意,视频文件 不支持 https 下载,调用该接口需 http 协议。 本接口即为原“下载多媒体文件”接口。 接口调用请求说明http 请求方式: GET,https 调用 https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media _id=MEDIA_ID 请求示例(示例为通过 curl 命令获取多媒体文件) curl -I -G &https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&medi a_id=MEDIA_ID&参数说明 参数 access_token media_id 返回说明 正确情况下的返回 HTTP 头如下:HTTP/1.1 200 OK Connection: close Content-Type: image/jpeg Content-disposition: filename=&MEDIA_ID.jpg& Date: Sun, 06 Jan :18 GMT Cache-Control: no-cache, must-revalidate是否必须 是 是说明 调用接口凭证 媒体文件 ID Content-Length: 339721 curl -G &https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&medi a_id=MEDIA_ID&错误情况下的返回 JSON 数据包示例如下(示例为无效媒体 ID 错误)::{&errcode&:40007,&errmsg&:&invalid media_id&}使用网页调试工具调试该接口(三)新增永久素材 除了 3 天就会失效的临时素材外,开发者有时需要永久保存一些素材,届时就可以通过 本接口新增永久素材。 最近更新,永久图片素材新增后,将带有 URL 返回给开发者,开发者可以在腾讯系域名 内使用(腾讯系域名外使用,图片将被屏蔽)。 请注意:1、新增的永久素材也可以在公众平台官网素材管理模块中看到 2、 永久素材的数量是有上限的, 请谨慎新增。 图文消息素材和图片素材的上限为 5000, 其他类型为 1000 3、素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过 2M,支持 bmp/png/jpeg/jpg/gif 格式,语音大小不超过 5M,长度不超过 60 秒(公众平台官网可以在文章中 插入小于 30 分钟的语音,但这些语音不能用于群发等场景,只能放在文章内,这方面接口暂不支持), 支持 mp3/wma/wav/amr 格式 4、调用该接口需 https 协议新增永久图文素材接口调用请求说明http 请求方式: POSThttps://api.weixin.qq.com/cgi-bin/material/add_news?acce ss_token=ACCESS_TOKEN调用示例{ &articles&: [{ &title&: TITLE, &thumb_media_id&: THUMB_MEDIA_ID, &author&: AUTHOR, &digest&: DIGEST, &show_cover_pic&: SHOW_COVER_PIC(0 / 1), &content&: CONTENT, &content_source_url&: CONTENT_SOURCE_URL }, //若新增的是多图文素材,则此处应有几段 articles 结构,最多 8 段 ] }参数说明 参数 title thumb_media_id author digest 是 是 是 是 是否必须 标题 图文消息的封面图片素材 id(必须是永久 mediaID) 作者 图文消息的摘要,仅有单图文消息才有摘要,多图 文此处为空 是否显示封面,0 为 false,即不显示,1 为 true,即 显示 图文消息的具体内容,支持 HTML 标签,必须少于 2 万字符,小于 1M,且此处会去除 JS 图文消息的原文地址,即点击“阅读原文”后的 URL 说明show_cover_pic是content是content_source_url 是 返回说明{ &media_id&:MEDIA_ID }返回的即为新增的图文消息素材的 media_id。 请注意,在图文消息的具体内容中,将过滤外部的图片链接,开发者可以通过下述接口 上传图片得到 URL,放到图文内容中使用。 上传图文消息内的图片获取 URL 请注意,本接口所上传的图片不占用公众号的素材库 中图片数量的 5000 个的限制。图片仅支持 jpg/png 格式,大小必须在 1MB 以下。 接口调用请求说明http 请求方式: POSThttps://api.weixin.qq.com/cgi-bin/media/uploadimg?access _token=ACCESS_TOKEN调用示例(使用 curl 命令,用 FORM 表单方式上传一个图片): curl -F media=@test.jpg &https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN&参数说明 参数 access_token media 是 是 是否必须 调用接口凭证 form-data 中媒体文件标识,有 filename、filelength、 content-type 等信息 说明返回说明 正常情况下的返回结果为:{ &url&: &http://mmbiz.qpic.cn/mmbiz/gLO17UPS6FS2xsypf378iaNhWacZ1G1UplZYWEYfwvuU6Ont96b1roYs}CNFwaRrSaKTPCUdBK9DgEHicsKwWCBRQ/0&其中 url 就是上传图片的 URL,可用于后续群发中,放置到图文消息中。新增其他类型永久素材接口调用请求说明 通过 POST 表单来调用接口, 表单 id 为 media, 包含需要上传的素材内容, 有 filename、 filelength、content-type 等信息。请注意:图片素材将进入公众平台官网素材管理模 块中的默认分组。http 请求方式: POST,需使用 httpshttps://api.weixin.qq.com/cgi-bin/material/add_material? access_token=ACCESS_TOKEN调用示例(使用 curl 命令,用 FORM 表单方式新增一个其他类型的永久素材,curl 命令的使用请自行 查阅资料) 参数说明 参数 access_token type 是 是 是否必须 调用接口凭证 媒体文件类型,分别有图片(image) 、语音(voice) 、 视频(video)和缩略图(thumb) form-data 中媒体文件标识,有 filename、filelength、 content-type 等信息 说明media是新增永久视频素材需特别注意 在上传视频素材时需要 POST 另一个表单,id 为 description,包含素材的描述信息,内 容格式为 JSON,格式如下:{ &title&:VIDEO_TITLE, &introduction&:INTRODUCTION }新增永久视频素材的调用示例:curl &https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&-F media=@media.file -Fdescription='{&title&:VIDEO_TITLE, &introduction&:INTRODUCTION}'参数说明 参数 title introduction 返回说明{ &media_id&:MEDIA_ID, &url&:URL }是否必须 是 是说明 视频素材的标题 视频素材的描述返回参数说明 参数 media_id url描述 新增的永久素材的 media_id 新增的图片素材的图片 URL (仅新增图片素材时会返 回该字段)错误情况下的返回 JSON 数据包示例如下(示例为无效媒体类型错误):{&errcode&:40007,&errmsg&:&invalid media_id&}(四)获取永久素材 在新增了永久素材后,开发者可以根据 media_id 来获取永久素材,需要时也可保存到本 地。 请注意:1、获取永久素材也可以获取公众号在公众平台官网素材管理模块中新建的图文消息、图片、语音、视频 等素材(但需要先通过获取素材列表来获知素材的 media_id) 2、临时素材无法通过本接口获取 3、调用该接口需 https 协议接口调用请求说明http 请求方式: POST,https 调用 https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCESS _TOKEN调用示例{ &media_id&:MEDIA_ID }参数说明 参数 access_token media_id 是 是 是否必须 说明 调用接口凭证 要获取的素材的 media_id 返回说明 如果请求的素材为图文消息,则响应如下:{ &news_item&: [ { &title&:TITLE, &thumb_media_id&:THUMB_MEDIA_ID, &thumb_url&:THUMB_URL, &show_cover_pic&:SHOW_COVER_PIC(0/1), &author&:AUTHOR, &digest&:DIGEST, &content&:CONTENT, &url&:URL, &content_source_url&:CONTENT_SOURCE_URL }, //多图文消息有多篇文章 ] }如果返回的是视频消息素材,则内容如下:{ &title&:TITLE, &description&:DESCRIPTION, &down_url&:DOWN_URL, }其他类型的素材消息, 则响应的直接为素材的内容, 开发者可以自行保存为文件。 例如:示例 curl &https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCES S_TOKEN& -d '{&media_id&:}

我要回帖

更多关于 微信公众号头像模糊 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信