微信小程序登录按钮遮罩浮层效果的实现方法


Posted in Javascript onDecember 16, 2018

前言

近期在写一点小东西,碰到遮罩...所以将实现的过程分享出来,供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

逻辑如下:

1:第一次登陆的时候会有一个登录按钮遮罩浮层提示去授权登录

2:在弹出的授权框里,拒绝授权按钮的时候,界面的数据没有办法加载出来,允许授权的时候,界面就能渲染从后端拿过来的数据

3:判断是否授过权(判断是第一次登录还是第n次),如果用户第一次已经登录授权,后面继续登录的时候悬浮框就不会再出现

效果如下:

微信小程序登录按钮遮罩浮层效果的实现方法

代码如下:

index.html

<!-- 授权弹框提示 -->
 <view class="container">
 <view class="float" hidden='{{viewShowed}}'>
 <view class='floatContent'>
  <view class='floatText'>
  <text>获取微信授权信息</text>
  <button open-type="getUserInfo" bindgetuserinfo="getUserInfo">去设置</button>
  </view>
 </view>
 </view>
</view>

index.wxss

.float {
 height: 100%;
 width: 100%;
 position: fixed;
 background-color: rgba(0, 0, 0, 0.5);
 z-index: 2;
 top: 0;
 left: 0;
}

.floatContent {
 padding: 20rpx 0;
 width: 80%;
 background: #fff;
 margin: 40% auto;
 border-radius: 20rpx;
 display: flex;
 flex-direction: column;
 justify-content: space-around;
 align-items: center;
 position: relative;
 height: 332rpx;
}

.floatText text {
 color: #000;
 font-size: 40rpx;
 display: block;
 text-align: center;
 line-height: 90rpx;
 border-radius: 30rpx;
 margin-right: 10rpx;
}

index.js

js代码,与后台数据库交互,授权的信息存入了数据库,可根据自己的需要做出相应的修改。

//index.js
//获取应用实例

var app = getApp()

Page({
 data: {
 carList: [], //车辆数据集合
 viewShowed: true, //控制授权是否显示

 },

 onLoad: function () {
 var that = this;
 

 app.getOpenid().then(function (res) {
  if (res.status == 200) {
  //判断是否授权
  wx.getSetting({
   success(e) {
   if (e.authSetting['scope.userInfo']) { //已经授权
    that.getCars(res.data);
   } else { //没有授权,显示授权框
    that.setData({
    viewShowed: false,
    })
   }
   }
  })
  }
 })
 },

 getUserInfo: function (e) {
 var that = this;
 that.setData({
  viewShowed: true,
 });
 var userinfo = e.detail.userInfo;
 wx.request({
  url: "http://localhost:8081/wpDeboServer/wx.do",
  data: {
  "openid": app.globalData.openid,
  "nickname": userinfo.nickName
  },
  method: 'PUT',
  header: {
  'Content-type': 'application/json'
  },
  success: function (res) {
  //查询绑定车辆
  that.getCars(app.globalData.openid);
  }
 });
 },
})

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery的extend和fn.extend的使用说明
Jan 09 Javascript
js 通用javascript函数库整理
Aug 14 Javascript
javascript学习笔记(十三) js闭包介绍(转)
Jun 20 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
Mar 19 Javascript
node.js中的fs.lstatSync方法使用说明
Dec 16 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
May 18 Javascript
JS构造函数与原型prototype的区别介绍
Jul 04 Javascript
完美的js div拖拽实例代码
Sep 24 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
Mar 03 Javascript
JS控件bootstrap datepicker使用方法详解
Mar 25 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
vue 使用localstorage实现面包屑的操作
Nov 16 Javascript
微信小程序 JS动态修改样式的实现方法
Dec 16 #Javascript
Echart折线图手柄触发事件示例详解
Dec 16 #Javascript
vue使用pdfjs显示PDF可复制的实现方法
Dec 14 #Javascript
antd Upload 文件上传的示例代码
Dec 14 #Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 #Javascript
JavaScript模板引擎实现原理实例详解
Dec 14 #Javascript
Angular2 自定义表单验证器的实现方法
Dec 14 #Javascript
You might like
一个ubbcode的函数,速度很快.
2006/10/09 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
2020/09/11 Javascript
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python调用百度语音识别api
2018/08/30 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
Django框架实现的分页demo示例
2019/05/25 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
介绍一下linux文件系统分配策略
2012/11/17 面试题
会计自荐信范文
2014/03/09 职场文书
春节慰问简报
2015/07/21 职场文书
《静夜思》教学反思
2016/02/17 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS