1, pages 同级页面增加 文件夹(components)

2, 组件文件夹内容 还是 老四样

![在这里插入图片描述](https://img-blog.csdnimg.cn/b541b617e2734b2b8b767e7dae178efb.png

3, 弹框 组件的内容
wxml 文件

<!-- 弹窗 -->
<view class="shade" wx:if="{{show_loadnote}}"></view>
<view class="reminder" wx:if="{{show_loadnote}}"><view class="reminder_title"><view class="title_text">{{title}}</view></view><view class="reminder_content">{{content}}</view><view class="reminder-btn"><button class="confirm" style="width:50%;" catchtap="close_reminder" >{{cancel}}</button><button class="cancel"  bindgetphonenumber="getPhoneNumber" open-type="getPhoneNumber" style="width:50%;">{{confirm}}</button><!-- <button class="cancel"  bindtap="getUserProfile" open-type="getUserInfo" style="width:50%;">{{confirm}}</button> --><!-- <button style='background-color: transparent; width:100%; height:100%;' class="authbtn" hover-class="none" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">授权登录</button> --></view>
</view>

wxss 文件

/* 弹窗 */
.shade{width: 100%;height: 100%;position: absolute;top: 0;left: 0;background-color: rgba(0, 0, 0, 0.4);z-index: 2;
}
.reminder{width: 80%;background-color: #fff;border-radius: 10rpx;overflow: hidden;top: 30%;left: 10%;position: absolute;z-index: 3;
}
.reminder_title{width: 94%;
padding-left: 3%;
padding-right: 3%;
margin-top: 4%;
}
.title_text{width: 100%;text-align: center;font-weight: 600;
}
.reminder_content{width: 100%;height: 240rpx;line-height: 240rpx;text-align: center;color: #555;
}
.reminder-btn{width: 100%;display: flex;justify-content: space-around;}
.confirm{color: #555;border-top: 1px solid #f8f8f8;border-right: 1px solid #f8f8f8;font-size: 32rpx;background-color: #fff;
}
.reminder-btn button{border-radius: 0px;font-weight: 400;height: 110rpx;line-height: 80rpx;
}
.cancel{color:#2979FF;border-top: 1px solid #f8f8f8;font-size: 32rpx;background-color: #fff;
}

js文件

Component({//组件的属性可以直接在组件标签上定义properties: {title:'提示',// 属性名content:'此功能需要登录使用',confirm:'确定',cancel:'取消',show_loadnote:false,},data: {// 私有数据,可用于模板渲染onload:0,titlename:'详情',scienceid:'',usermessage:{userid:'',NickName:'',HeadUrl:'',openid:'',session_key:'',}},methods: {//方法close_reminder:function(){console.log('000')this.setData({show_loadnote:false})wx.showToast({title: '部分功能无法使用',icon:'none',})},getUserProfile(e){let that=this;let a = wx.getStorageSync('usermessage');//同步获取console.log(a);let b=0;if (a) {b=1;that.setData({onload:1,usermessage: userme,})}else{b=0;}if(b==0){// 获取用户头像昵称wx.getUserProfile({desc:'用于完善用户资料',success:(res)=>{let n='usermessage.NickName';let a='usermessage.HeadUrl';that.setData({[n]:res.userInfo.nickName,[a]:res.userInfo.avatarUrl,})console.log(that.data.usermessage);// 登录wx.login({success(res){if(res.code){wx.request({url:'https://lujinga/user/getsessionkeydemo',//假地址data:{code:res.code},success(res){let o='usermessage.openid';let s='usermessage.session_key';that.setData({[o]:res.data.openid,[s]:res.data.session_key,})console.log(that.data.usermessage);wx.request({url: 'https://tlujing/api/user/authlogin',//假路径method:'POST',data:{openid:that.data.usermessage.openid,NickName:that.data.usermessage.NickName,HeadUrl:that.data.usermessage.HeadUrl},success(res){console.log(res);let id='usermessage.userid';that.setData({[id]:res.data.userid,onload:1})var usermessage=that.data.usermessage;usermessage=JSON.stringify(usermessage);wx.setStorage({key:'usermessage',data:usermessage,})wx.showToast({title: '登录成功',icon:'success',duration:2000})console.log(that.data.usermessage);}})}})}}})}})}else{console.log(已登录);}this.setData({show_loadnote:false})},// 授权手机号getPhoneNumber(e){let that=this;let a = wx.getStorageSync('usermessage');//同步获取console.log(a);let b=0;if (a) {b=1;that.setData({onload:1,usermessage: userme,})}else{b=0;}if(b==0){// 用户拒绝授权if(e.detail.errMsg == "getPhoneNumber:fail user deny") {wx.showToast({icon: "none",title: '请允许获取手机号,否则功能不可用!',})return}// console.log(e.detail,'用户信息')// console.log("e.detail.iv=->", e.detail.iv); //包括敏感数据在内的完整用户信息的加密数据,需要解密// console.log("e.detail.encryptedData->", e.detail.encryptedData); //加密算法的初始向量,解密需要用到console.log(that.data.usermessage);wx.setStorageSync('usermessage', '数据')// 登录wx.login({success(res){if(res.code){wx.request({url:'https://lujinga/user/getsessionkeydemo',//假地址data:{code:res.code},success(res){let o='usermessage.openid';let s='usermessage.session_key';that.setData({[o]:res.data.openid,[s]:res.data.session_key,})console.log(that.data.usermessage);wx.request({url: 'https://tlujing/api/user/authlogin',//假路径method:'POST',data:{openid:that.data.usermessage.openid,NickName:that.data.usermessage.NickName,HeadUrl:that.data.usermessage.HeadUrl},success(res){console.log(res);let id='usermessage.userid';that.setData({[id]:res.data.userid,onload:1})var usermessage=that.data.usermessage;usermessage=JSON.stringify(usermessage);wx.setStorage({key:'usermessage',data:usermessage,})wx.showToast({title: '登录成功',icon:'success',duration:2000})console.log(that.data.usermessage);}})}})}}})}else{console.log(已登录);}this.setData({show_loadnote:false})},},lifetimes: {},})

4, 需要的文件,下 引入使用
json文件 引入

   "usingComponents": {"load_note":"../../components/load_note/load_note"}

wxml 文件 引入

<!-- 登录组件 -->
<load_note title="提示" content="此功能需要登录使用" confirm="确定" cancel="取消" show_loadnote="{{show_loadnote}}"></load_note>

js 文件 引入

Page({data: {show_loadnote: false},onLoad() {var user = wx.getStorageSync('usermessage');if(user){this.setData({show_loadnote: false})}else{this.setData({show_loadnote:true})}}})

【原生微信小程序】 组件的使用,权限弹窗相关推荐

  1. 基于原生微信小程序的时间组件

    作者的絮叨 在开发原生微信小程序的时候,发现很少有基于原生微信小程序开发的相关插件或组件,不知道是不是我的孤陋寡闻,还是真的很少,暂且不管~下面我介绍一下我当时开发的一个时间组件,比较简陋,希望可以给 ...

  2. 原生微信小程序,搜索框(search)组件

    原生微信小程序,搜索框(search)组件 首先创建组件及两个跳转页面,第一个是搜索框所在的页面(首页),第二个是搜索详细页 搜索框的本质是:搜索框不是input,而是navigate,跳转到专门的搜 ...

  3. 原生微信小程序自定义组件以及组件间通讯

    文章目录 前言 一.新建组件 二.文件介绍 1.index.json 2.index.js 三.在父组件中引入子组件 四.父子组件通讯 属性绑定 事件绑定 获取组件实例 总结 前言 当我们在开发项目时 ...

  4. mpvue 微信小程序api_第三方框架与原生微信小程序开发框架性能之比较 | Q荐读...

    作者 | 崔红保编辑 | 王莹 自 2017年1月9日微信小程序诞生以来,历经 2 年多的迭代升级,已有数百万小程序上线,成为继 Web.iOS.Android 之后,第四大主流开发技术. 与之相随, ...

  5. 微信小程序组件、路由、组件通信、侦听器

    一.微信小程序组件 组件就是小程序页面的组成结构,与html在web网页开发中的作用一样,铺设页面.可以参考其他UI库,像elementUI,vantUI组件 组件是视图层的基本组成单元. 组件自带一 ...

  6. 【微信小程序】---- redux 在原生微信小程序的使用实例

    weapp-redux 下载 weapp-redux 使用实例下载 预览 开发 1. 目标 学会 redux 在原生微信小程序的使用: 学习和思考微信小程序中封装 Provider: 2. 引入 re ...

  7. 【微信小程序】三、微信小程序组件的基本使用

    五.微信小程序组件 微信小程序框架为开发者提供了一系列组件,开发者可以通过组合这些组件进行快速开发. (1)微信小程序组件基础概念 什么是组件? 组件是视图层的基本组成单元. 组件自带一些功能与微信风 ...

  8. 原生微信小程序,scroll-view的使用,一屏两个滚动区域,scroll-y(纵向滚动)

    原生微信小程序,scroll-view的使用,一屏两个滚动区域,scroll-y(纵向滚动) 这个会简单很多 结构层 <view class="container">& ...

  9. 微信小程序组件库开发记录

    微信小程序组件库开发记录 背景 前言 技术选型 环境搭建 安装 gulp 将`scss`编译为`wxss` 压缩`wxml`,`js`,`json`文件和图片 拷贝文件到另一个目录 删除目录 整合 创 ...

  10. android img标签属性_微信小程序 组件叠加效果(如 Android 中的添加蒙层)

    实现的效果如下: 可以看出这是由image组件和text组件叠加到一块组成的蒙层效果. 在小程序中实现这个效果主要用到z-index属性和position属性 z-index的使用必须是双方组件都设置 ...

最新文章

  1. java 打破双亲委派_JVM - 打破双亲委派机制(模拟热加载)
  2. [Google Android] Creating Your Own Spelling Checker Service
  3. 【LeetCode笔记】94 144 145. 二叉树的前序、中序、后序遍历的迭代与递归(Java、dfs、迭代)
  4. 香港买thinkpad大陆使用,大陆可以享受售后服务吗
  5. MongoDB Collections
  6. linux的cimserver是什么服务,openpegasus的启动方式(即cimserver的启动方式)
  7. 102. 二叉树的层次遍历
  8. 三分钟上手openldap帐号系统
  9. superforming的sql-labs大通关之第一部分(第1~10关)解析及注入方法
  10. ecshop4.0php,ECSHOP安装教程【ECSHOP4.0安装教程】图解ECSHOP4.0安装教程流程和步骤-ECSHOP教程网...
  11. Microsoft Office安装全过程记录
  12. 分享几个写英文论文的网页和软件
  13. $NOIP 2018 PJ游记[ZJ]$
  14. 深夜切题——PAT (Basic Level)-1015
  15. 统计学习模型——决策树
  16. 覆盖问题:最大覆盖问题(Maximum Covering Location Problem,MCLP)和集覆盖问题(Location Set Covering Problem,LSCP)...
  17. linux下怎样运行oyrhon,Fedora CoreOS基础操作,包括安装并运行Fedora CoreOS
  18. eset找不到服务器更新失败,解决ESET NOD32的更新模块错误
  19. 分析中国IT业低迷的原因
  20. 公司给期权了,要不要?

热门文章

  1. python怎么取百位_#python计算结果百位500向下取整,(0-499取000,500-999取500)
  2. c语言分离个位十位百位_用c语言如何表示出一个数的个位,百位,十位
  3. SIGIR'22 | 阿里 ESCM^2: 升级版全空间多任务转化率预估
  4. 计算机二级msoffice应用基础,计算机二级MSOffice高级应用考试基础知识
  5. 解决CondaVerificationError: The package for pytorch located at...
  6. 麦克劳林公式怎么记忆_怎么背麦克劳林公式?
  7. opcode php 5.4,为PHP5.4开启Zend OPCode缓存
  8. python猜大小程序_「每日一练」巧用python实现猜大小的游戏
  9. 好用的网页操作自动化软件
  10. iphone8位置无法连接服务器,iphone8无法连接到app store怎么办?苹果iphone8连接不到app store解决方法...