uni-app 介绍
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架。
适用平台:Android、iOS、微信小程序。实现了一套代码,同时发布到Android、iOS、微信小程序。
参考官方:https://uniapp.dcloud.io/
APP微信授权
检测服务商
检测手机上是否安装微信、QQ、新浪微博等。
uni.getProvider({ service: 'oauth', success: function (res) { console.log(res.provider); } });
授权登录
获取openid,(unionid)等 uni.login({ provider: 'weixin', success: function (loginRes) { console.log(JSON.stringify(loginRes)); } });
获取用户信息
uni.getUserInfo({ provider: 'weixin', success: function(infoRes) { console.log('-------获取微信用户所有-----') console.log(JSON.stringify(infoRes.userInfo)); } });
示例代码
<!-- #ifdef APP-PLUS --> <button class="" @click="appLogin">APP微信授权登录</button> <!-- #endif --> appLogin: function() { uni.getProvider({ service: 'oauth', success: function(res) { console.log(res.provider); //支持微信、qq和微博等 if (~res.provider.indexOf('weixin')) { uni.login({ provider: 'weixin', success: function(loginRes) { console.log('-------获取openid(unionid)-----'); console.log(JSON.stringify(loginRes)); // 获取用户信息 uni.getUserInfo({ provider: 'weixin', success: function(infoRes) { console.log('-------获取微信用户所有-----'); console.log(JSON.stringify(infoRes.userInfo)); } }); } }); } } }); },
小程序微信授权
获取用户基本信息
为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。正式版暂不受影响。开发者可使用以下方式获取或展示用户信息。
小程序使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。
参考官方:https://developers.weixin.qq.com/miniprogram/dev/component/button.html
示例代码:
<!-- #ifdef MP-WEIXIN --> <button class="" open-type="getUserInfo" @getuserinfo="wxGetUserInfo" withCredentials="true">微信授权获取用户信息</button> <!-- #endif --> wxGetUserInfo:function(res){ if (!res.detail.iv) { uni.showToast({ title: "您取消了授权,登录失败", icon: "none" }); return false; } console.log('-------用户授权,并获取用户基本信息和加密数据------') console.log(res.detail); },
微信登录
参考官方:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
(1)页面uni.login获取code
(2)后端通过code获取sessionKey、openid(unionid)等,后端调用接口如下:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
(3)示例代码
<!-- #ifdef MP-WEIXIN --> <button class="" @click="wxLogin">微信登录</button> <!-- #endif --> wxLogin: function() { uni.login({ provider: 'weixin', success: function(loginRes) { console.log('-------获取code-------') console.log(loginRes.code); wx.request({ url: 'https://xxxxx'+loginRes.code, success: function(info) { console.log('-------获取sessionKey、openid(unionid)-------') console.log(info); }, fail: function(e) { console.log(e) } }) } }); }
微信登录状态监测
<!-- #ifdef MP-WEIXIN --> <button class="" @click="checkLogin">微信登录检测</button> <!-- #endif --> checkLogin: function() { wx.checkSession({ success() { console.log('ok'); // session_key 未过期,并且在本生命周期一直有效 }, fail() { // session_key 已经失效,需要重新执行登录流程 //wx.login() // 重新登录 console.log('expire'); } }) },
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍使用uni-app开发微信小程序的实现,包括了使用uni-app开发微信小程序的实现的使用技巧和注意事项,需要的朋友参考一下 前言 9月份,开始开发微信小程序,也曾调研过wepy/mpvue,考虑到后期跨端的需求,最终选择使用了uni-app,本文主要介绍如何使用uni-app搭建小程序项目,以及自己对框架的补充,包括封装request接口,引用color-ui,动态设置底部tab页
本文向大家介绍详解使用uni-app开发微信小程序之登录模块,包括了详解使用uni-app开发微信小程序之登录模块的使用技巧和注意事项,需要的朋友参考一下 从微信小程序官方发布的公告中我们可获知:小程序体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败,需使用 <button open-type="getUserInfo"></button> 引导用户主动进
本文向大家介绍微信小程序位置授权处理方法,包括了微信小程序位置授权处理方法的使用技巧和注意事项,需要的朋友参考一下 这两天在做小程序调取地图的时候遇到一个问题,如果用户第一次拒绝了位置权限请求。那么就不会再次唤起授权弹出。需要我们引导用户去开启。 具体做法如下。 在 aap.json中加入授权配置 在 page页面中使用,需要有几个注意的地方,初次使用的时候,去申请权限。这里我是放在onShow
小程序悄悄的就出了Dount跨平台框架,直接从已有小程序工程里生成原生App。有没有使用过两个框架的谈谈对比?
本文向大家介绍微信小程序 加载 app-service.js 错误解决方法,包括了微信小程序 加载 app-service.js 错误解决方法的使用技巧和注意事项,需要的朋友参考一下 微信小程序开发过程中出现错误,经过一番思考解决此问题,这里给大家提醒下! 加载 app-service.js 错误 WAService.js:2 不要在 undefined.js 注册多个Page APP-SERVI
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。 DCloud公司拥有600万开发者用户,几十万应用案例、12亿手机端月活用户,数千款uni-app插件、70+微信/qq群。阿里小程序工具官方内置uni-app(详见),腾讯课堂官方