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. 密钥密码体系CA,CSC,CV

    密钥密码体系CA,CD,CSC,CV 片内操作系统 (cos) 密码学(Cryptography) 非接触式智能卡Contactless Smart Card, CSC 密钥名词 名词 英文说明 中文 ...

  2. hashMap常见问题

    [解析hashMap的源码实现]      点击进入hashMap的源码实现 0.谈谈对hashMap的理解? 从底层结构.存取.扩容.冲突.实现原理.源码等方面说明. 1.你知道哪些常用的Map集合 ...

  3. 关于close_wait状态的理解

    以web服务器产生大量的close_wait状态为例 1.close_wait状态介绍: 客户端主动关闭连接,服务器接收到客户端的FIN,但是还没有发送自己的FIN,此时的状态为close_wait状 ...

  4. pyhton数据类型:字典、集合、列表、元组

    基本常识 元组 列表 字典 集合 初始化 tuple=(1,2,3,4) list=[1,2,3,4] dic={'a':12,'b':34} set={1,2,3,4} 元素索引 tuple[0] ...

  5. Prometheus入门到放弃(6)之AlertManager进阶

    前面几个篇幅,我们介绍了alertmanger报警配置,在实际运维过程中,我们都会遇到,报警的重复发送,以及报警信息关联性报警.接下来我们就介绍下通过alertmanger对告警信息的收敛.一.告警分 ...

  6. Hbase面试题

    hbase的特点 )hbase适合存储海量数据,是一个分布式的,基于列式存储的数据库,基于hadoop的hdfs存储,zookeeper进行管理. )hbase 适合存储半结构化或非结构化的数据,对于 ...

  7. MapReduce Join关联

    Reduce join 原理 Map端的主要工作:为来自不同表(文件)的key/value对打标签以区别不同来源的记录.然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出. R ...

  8. Select与Epoll的区别

      相同点: 都是IO多路转接,都是一个线程能同一时间等待一堆描述符 不同点: 1.select接口使用不方便,每次调用完select都需要重新设置fd_set,因为输入输出未分离,返回的fd_set ...

  9. windows10环境下的RabbitMQ安装_笔记

    原文:https://blog.csdn.net/weixin_39735923/article/details/79288578 第一步:下载并安装erlang原因:RabbitMQ服务端代码是使用 ...

  10. mysql_select 多表查询

    一.等值连接 原理:将多张单表组成一张逻辑大表   语法: select *  from 表A,表B   where 表A.主键=表B.外键 and 查询条件 select *  from 表A,表B ...