微信公众平台Js API实现微信分享

转自:http://www.itnose.net/detail/6184348.html

今天上班第一天,Boss让实现微信分享后,要知道用户是否分享成功,分享成功后就给用户一个surprise(游戏礼包)。

 

通过查看API,做简单记录:

1.编写一个简单的jsp页面,加入如下JS代码:

// 开发阶段,开启WeixinApi的调试模式
WeixinApi.enableDebugMode();

// 初始化WeixinApi,等待分享
WeixinApi.ready(function(Api) {

    // 微信分享的数据
    var wxData = {
        "appId": "", // 服务号可以填写appId
        "imgUrl" : 'http://www.baidufe.com/fe/blog/static/img/weixin-qrcode-2.jpg',
        "link" : 'http://www.baidufe.com',
        "desc" : '大家好,我是Alien,Web前端&Android客户端码农,喜欢技术上的瞎倒腾!欢迎多交流',
        "title" : "大家好,我是赵先烈"
    };

    // 分享的回调
    var wxCallbacks = {
        // 收藏操作不执行回调,默认是开启(true)的
        favorite : false,

        // 分享操作开始之前
        ready : function() {
            // 你可以在这里对分享的数据进行重组
            alert("准备分享");
        },
        // 分享被用户自动取消
        cancel : function(resp) {
            // 你可以在你的页面上给用户一个小Tip,为什么要取消呢?
            alert("分享被取消,msg=" + resp.err_msg);
        },
        // 分享失败了
        fail : function(resp) {
            // 分享失败了,是不是可以告诉用户:不要紧,可能是网络问题,一会儿再试试?
            alert("分享失败,msg=" + resp.err_msg);
        },
        // 分享成功
        confirm : function(resp) {
            // 分享成功了,我们是不是可以做一些分享统计呢?
            alert("分享成功,msg=" + resp.err_msg);
        },
        // 整个分享过程结束
        all : function(resp,shareTo) {
            // 如果你做的是一个鼓励用户进行分享的产品,在这里是不是可以给用户一些反馈了?
            alert("分享" + (shareTo ? "到" + shareTo : "") + "结束,msg=" + resp.err_msg);
        }
    };

    // 用户点开右上角popup菜单后,点击分享给好友,会执行下面这个代码
    Api.shareToFriend(wxData, wxCallbacks);

    // 点击分享到朋友圈,会执行下面这个代码
    Api.shareToTimeline(wxData, wxCallbacks);

    // 点击分享到腾讯微博,会执行下面这个代码
    Api.shareToWeibo(wxData, wxCallbacks);

    // iOS上,可以直接调用这个API进行分享,一句话搞定
    Api.generalShare(wxData,wxCallbacks);
});

 

2.运行JSP页面。3. 将运行的JSP页面的网址复制,到http://cli.im/生成二维码。4.登录微信,打开扫一扫,JSP页面就会在微信中打开。5.然后就可以测试微信的分享功能了(具体还可以实现些什么功能可以参考API)。

 注意的地方:

  • 1)、WeixinApi.js路径是否引用正确
  • 2)、WeixinApi.ready是否正确执行了?(可以在里面加一个alert,简单粗暴可依赖)
  • 3)、开启WeixinApi.enableDebugMode方便问题定位
  • 4)、WeixinApi.ready执行,但是就是不执行分享时的代码时,请确认端口是不是80端口(我就在这上面耗了很长时间,悲催啊)。

    微信API目前只支持80端口   需要其他端口支持需要使用端口映射

    源码地址:https://github.com/zxlie/WeixinApi


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用微信的第三方登录功能来实现微信登录。首先,需要在微信公众平台上注册网站应用,然后在应用中配置网站的域名。 接下来,在你的网站上添加一个 "微信登录" 按钮。点击按钮时,会跳转到微信的登录界面,用户在微信上登录后,会跳转回你的网站。 在用户跳转回网站时,可以通过 URL 中的参数(例如,code 参数)来获取用户的信息,并使用这些信息来完成登录。下面是一个简单的示例: ``` // 在网站的 JavaScript 中 const loginButton = document.getElementById('login-button'); loginButton.addEventListener('click', () => { // 跳转到微信的登录界面 window.location.href = 'https://open.weixin.qq.com/connect/qrconnect?appid=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code'; }); // 在网站的服务器端(例如,Node.js) app.get('/callback', (req, res) => { // 使用 code 参数获取用户信息 const code = req.query.code; const url = `https://api.weixin.qq.com/sns/oauth2/access_token?appid=YOUR_APP_ID&secret=YOUR_APP_SECRET&code=${code}&grant_type=authorization_code`; request(url, (error, response, body) => { if (!error && response.statusCode === 200) { const data = JSON.parse(body); // 使用 access_token 和 openid 获取用户信息 const userUrl = `https://api.weixin.qq.com/sns/userinfo?access ### 回答2: JavaScript可以通过使用微信的开放接口实现微信登录功能。下面是一个简单的步骤: 1. 获取授权码:用户在微信登录页中授权登录后,微信会返回一个授权码。 2. 通过授权码获取访问令牌:使用授权码向微信服务器发送请求,获取访问令牌。访问令牌是访问微信开放接口的必要凭证。 3. 使用访问令牌获取用户信息:使用访问令牌向微信服务器发送请求,获取用户的微信ID和其他相关信息。 4. 验证用户信息:根据获取到的用户ID和其他信息,可以进行进一步的用户验证和处理,例如绑定用户账号或保存用户信息。 具体实现方式: - 在网页中引入微信提供的JavaScript SDK (例如微信公众平台提供的JSSDK) - 调用微信SDK提供的接口进行授权登录,获取授权码。 - 使用授权码向指定接口发送请求,获取访问令牌。 - 使用访问令牌向指定接口发送请求,获取用户信息。 - 根据获取到的用户信息,进行相应的处理和验证。 需要注意的是,微信登录功能需要在微信网页内生效,即只能在微信内部打开实现。为了提供良好的用户体验,还可以实现自动登录功能,使用户再次访问时无需重复登录。 总结,通过JavaScript结合微信开放接口,可以实现微信登录功能,使用户能够用微信账号快速登录网页,并获取用户的微信ID及其他相关信息,以便后续的用户处理。 ### 回答3: JavaScript可以通过微信开放的API实现微信登录功能。具体步骤如下: 1. 首先,在微信开放平台注册一个开发者账号,并创建一个应用。 2. 在应用设置中获取到开放平台分配给应用的AppID。 3. 在页面中引入微信开放平台提供的JavaScript SDK,可以通过在页面头部添加如下代码来引入: ``` <script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> ``` 4. 在登录页面中创建一个DOM元素,用于渲染微信登录按钮。例如: ``` <div id="wx-login-btn"></div> ``` 5. 在页面加载完成后,调用微信登录API,传入AppID和回调函数等参数来创建一个微信登录实例,例如: ``` var obj = new WxLogin({ id: "wx-login-btn", appid: "YOUR_APPID", redirect_uri: "YOUR_REDIRECT_URI", scope: "snsapi_login" }); ``` 其中,`id`为指定的DOM元素id,`appid`为应用的AppID,`redirect_uri`为回调地址,`scope`为授权作用域。 6. 用户点击微信登录按钮后,弹出微信登录窗口,用户在弹出的窗口中输入微信账号密码进行登录。 7. 用户登录成功后,微信开放平台会将回调地址重定向到之前指定的回调地址,并携带一个临时授权票据code。 8. 在回调的页面中,通过获取URL参数或其他方式获取到微信传递的临时授权票据code。 9. 调用后端接口,将临时授权票据code等参数传递给后端,后端通过调用微信开放平台提供的API来获取用户的唯一标识openid等信息。 10. 前端可以根据后端返回的用户信息进行相应的处理,例如显示用户头像、昵称等。 以此完成微信登录功能的实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值