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));}});

示例代码

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

示例代码:

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)示例代码

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)}})}});}

微信登录状态监测

checkLogin: function() {wx.checkSession({success() {console.log('ok');// session_key 未过期,并且在本生命周期一直有效},fail() {// session_key 已经失效,需要重新执行登录流程//wx.login() // 重新登录console.log('expire');}})},

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. android adb root方法
  2. android webview中使用Java调用JavaScript方法并获取返回值
  3. android view setTag()和findViewWithTag()
  4. android wifi讲解 wifi列表显示
  5. Android(安卓)webview数据获取 webview抓取
  6. Android(安卓)应用内切换语言 实现多语言功能
  7. Android实现短信验证码获取自动填写功能(详细版)
  8. Android(安卓)通过高德地图获取地址的经纬度
  9. 对OAuth2认证的小结【Android】

随机推荐

  1. Android通过PagerSnapHelper改造Recycler
  2. Android添加垂直滚动ScrollView
  3. Android(安卓)自定义控件打造史上最简单
  4. Android(安卓)中文 API (24) ―― MultiAut
  5. Android之网络请求7————OkHttp源码4:
  6. Cordova 3.x 基础(13) -- 为Android(安卓)A
  7. Android实现CBC加解密
  8. dx 工具的使用
  9. 获取Android设备电池电量状态
  10. 设置 TextView 文字居中