1、打开app项目的manifest.json的文件,选择模块权限配置,将OAuth(登录鉴权)模块添加至已选模块

2、选择SDK配置,在plus.oauuth·登录鉴权中,勾选□ 微信登录,配置好appidappsecret值(appid/appsecret可以在微信开发者平台创建应用获取)

3、项目JS文件中的微信支付代码如下(基于vue开发):

wxLoginFn() {
let self = this;
getService() // 微信授权登录对象
let aweixin = null;
// 当前环境支持的所有授权登录对象
let auths = null; // 获取登录授权认证服务列表,单独保存微信登录授权对象
function getService(){
plus.oauth.getServices(function(services){
// plus.nativeUI.alert("services:"+JSON.stringify(services));
auths = services;
authLogin()
}, function(e){
plus.nativeUI.alert("获取登录授权服务列表失败,请稍后重试");
// plus.nativeUI.alert("获取登录授权服务列表失败:"+JSON.stringify(e));
} );
} // 获取微信登录授权对象后可进行登录认证操作
function authLogin(){
for(let i = 0; i < auths.length; i++){
if(auths[i].id == 'weixin'){
aweixin = auths[i];
break;
}
}
if(!aweixin){
plus.nativeUI.alert("当前环境不支持微信登录");
return;
}
if(!aweixin.authResult){
aweixin.login(function(e){
// plus.nativeUI.alert("登录认证成功!"+JSON.stringify(e));
authUserInfo()
}, function(e){
// plus.nativeUI.alert("登录认证失败: "+JSON.stringify(e));
} );
}else{
authUserInfo()
console.log("已经登录认证!");
}
} // 获取微信登录授权对象后获取用户信息操作
function authUserInfo(){
Toast.loading({
mask: true,
message: '微信登录中...'
}); if(!aweixin){
Toast.clear();
plus.nativeUI.alert("当前环境不支持微信登录");
return;
}
if(aweixin.authResult){
aweixin.getUserInfo( function(e){
          //登录成功处理
Toast.clear();
// plus.nativeUI.alert("获取用户信息成功:"+JSON.stringify(aweixin.userInfo));
let wxUserInfo = aweixin.userInfo;
Storage.set('wxUserInfo', JSON.stringify(wxUserInfo));
authLoginOut(); //注销登录防止切换账号获取到旧信息
}, function(e){
console.log("获取用户信息失败: "+JSON.stringify(e));
} );
}else{
Toast.clear();
plus.nativeUI.alert("未登录认证!");
}
} // 注销登录认证
function authLoginOut(){
if(!aweixin){
plus.nativeUI.alert("当前环境不支持微信登录");
return;
}
aweixin.logout(function(e){
// plus.nativeUI.alert("注销登录认证成功!"+JSON.stringify(e));
}, function(e){
console.log("注销登录认证失败: "+JSON.stringify(e));
});
}
}

ps:HTML5+参考文档

基于h5+的微信登录,hbuilder打包的更多相关文章

  1. 基于H5的微信支付开发详解

    这次总结一下用户在微信内打开网页时,可以调用微信支付完成下单功能的模块开发,也就是在微信内的H5页面通过jsApi接口实现支付功能.当然了,微信官网上的微信支付开发文档也讲解的很详细,并且有实现代码可 ...

  2. ****基于H5的微信支付开发详解[转]

    这次总结一下用户在微信内打开网页时,可以调用微信支付完成下单功能的模块开发,也就是在微信内的H5页面通过jsApi接口实现支付功能.当然了,微信官网上的微信支付开发文档也讲解的很详细,并且有实现代码可 ...

  3. ***PHP基于H5的微信支付开发详解(CI框架)

    这次总结一下用户在微信内打开网页时,可以调用微信支付完成下单功能的模块开发,也就是在微信内的H5页面通过jsApi接口实现支付功能.当然了,微信官网上的微信支付开发文档也讲解的很详细,并且有实现代码可 ...

  4. 基于h5+的微信分享,hbuilder打包

    1.打开app项目的manifest.json的文件,选择模块权限配置,将Share(分享)模块添加至已选模块中 2.选择SDK配置,在plus.share·分享中,勾选□ 微信消息及朋友圈,配置好a ...

  5. 基于h5+的微信支付,hbuilder打包

    1.打开app项目的manifest.json的文件,选择模块权限配置,将Payment(支付)模块添加至已选模块中 2.选择SDK配置,在plus.payment·支付中,勾选□ 微信支付,配置好a ...

  6. .NET Core中 实现H5微信登录(静默授权方式)

    需求 假设现在有一个H5需要有微信登录.手机号登录.邮箱登录 三种登录方式.让我们一起来看看微信登录如何实现吧 界面: 最终实现的效果图(登录成功后返回个人页): 因为微信登录目前没有实现移动端的其他 ...

  7. springboot+layui实现PC端用户的增删改查 & 整合mui实现app端的自动登录和用户的上拉加载 & HBuilder打包app并在手机端下载安装

    springboot整合web开发的各个组件在前面已经有详细的介绍,下面是用springboot整合layui实现了基本的增删改查. 同时在学习mui开发app,也就用mui实现了一个简单的自动登录和 ...

  8. egret打包android + android微信登录--小结

    公司用egret做了款游戏,需要打android包,做安卓端的微信登录,于是乎开始了第一安卓上的打包,正的是一脸懵 首先遇到的问题有如下: 1. egret打安卓包时经常运行不起来, 主要是gradl ...

  9. 微信H5中静默登录及非静默登录的正确使用姿势

    在微信中打开网页且需要调用微信登录接口时,微信官方给我们提供了两种登录调用方式:静默登录和非静默登录:但是官方文档中却没有说明在何种情况下使用静默登录,何种情况下使用非静默登录,所以在这里,我想将之前 ...

随机推荐

  1. Python 内置函数--range() xrange()

    >>>xrange(8) xrange(8) >>> list(xrange(8)) [0, 1, 2, 3, 4, 5, 6, 7] >>> r ...

  2. canal部署启动的时候报错com.alibaba.druid.pool.DruidDataSource - testWhileIdle is true, validationQuery not set

    报错信息:com.alibaba.druid.pool.DruidDataSource - testWhileIdle is true, validationQuery not set 解决方法: 找 ...

  3. Echarts数据可视化grid直角坐标系(xAxis、yAxis)

    mytextStyle={ color:"#333", //文字颜色 fontStyle:"normal", //italic斜体 oblique倾斜 font ...

  4. spring整合quartz报错

    今天spring整合quartz报错,最后一步步排查,发现是和redis依赖冲突,最后redis升级了一下,问题解决. 总结:发现问题,逐一排查,如果是整合问题,报类加载不到的错误,大概率是和其他组件 ...

  5. SpringAOP异常:org.springframework.aop.aspectj.AspectJExpressionPointcut cannot be cast to com.....

    Exception in thread "main" java.lang.ClassCastException: org.springframework.aop.aspectj.A ...

  6. PAT(B) 1050 螺旋矩阵(Java:24分)

    题目链接:1050 螺旋矩阵 (25 point(s)) 题目描述 本题要求将给定的 N 个正整数按非递增的顺序,填入"螺旋矩阵".所谓"螺旋矩阵",是指从左上 ...

  7. tensorflow-简单的神经网络

    本次笔记是关于tensorflow1的代码,由于接触不久没有跟上2.0版本,这个代码是通过简单的神经网络做一个非线性回归任务,(如果用GPU版本的话第一次出错就重启) import tensorflo ...

  8. [高清·非影印] Docker 容器与容器云(第2版)

    ------ 郑重声明 --------- 资源来自网络,纯粹共享交流, 如果喜欢,请您务必支持正版!! --------------------------------------------- 下 ...

  9. java之hibernate之crud

    这篇文章主要讲解: 1>.对Hibernate使用的一些简单封装: · 2>.在单元测试中,使用Hibernate的封装的工具进行增删改查的测试 1.目录结构展示 2.代码展示 2.0 配 ...

  10. linux route详细解读

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...