vue+hbuiler app项目实现微信授权登录

**

注:目前已经停止使用hbuilder 转战uniapp 此方法是否失效未知

**

公司项目是个vue构建的webapp项目 有个提现功能 需要获得微信的openid

前提:获得微信开放平台一系列appid appsecret 具体不赘述 下面是代码

新建wxlogin.js文件(名字随意)

var auths=null;

function authLogin(){
    var s = auths[0];
    if ( !s.authResult ) {
        s.login( function(e){
            // 获取登录操作结果
            var result = e.target.authResult;
            alert( "登录认证成功:"+JSON.stringify(result) );
            authUserInfo()
        }, function(e){
            alert("登录认证失败!");
        }, {} );
    }
}

function authUserInfo(){
    var s = auths[0];
    if ( !s.authResult ) {
        alert("未登录授权!");
    } else {
        s.getUserInfo( function(e){
            alert( "获取用户信息成功:"+JSON.stringify(s.userInfo) );

            //拿到用户信息,进行相关处理,ajax传用户数据到服务器等
            var prame = JSON.stringify(s.userInfo);

        }, function(e){
            alert( "获取用户信息失败:"+e.message+" - "+e.code );
        } );
    }
}

function authLogout(){
    for ( var i in auths ) {
        var s = auths[i];
        if ( s.authResult ) {
            s.logout(function(e){
                alert( "注销登录认证成功!" );
            }, function(e){
                alert( "注销登录认证失败!" );
            });
        }
    }
}


function wxlog(){
   

    plus.oauth.getServices( function(services){
        auths = services;
        authLogin();
    }, function(e){
        alert("获取分享服务列表失败:"+e.message+" - "+e.code);
    } );

} export default{
    wxlog //该步骤重要
  }

main.js引入

import utils from'./assets/js/wxlogin.js';  // 引入刚才新建的js文件
Vue.prototype.$utils=utils

业务页面xxx.vue页面使用

<template>
    <div class="out">
         <div class="submit" @click="$utils.wxlog()">wx登录  // 点击按钮即可唤起微信授权页面
        </div>
    </div>
</template>

打包后使用hbuilder真机运行即可看到效果 需要打包发布的话 配置里必须勾选微信登录并且填写appid和appsecret 并且应用包名要和申请微信开放平台时的包名保持一致
点击按钮后即可拿到具体的openid之类的参数
后续使用自己随机应变即可

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值