微信小程序组件及获取用户权限

微信小程序组件及获取用户权限,第1张

<view>父组件msg的值:{{msg}}</view>

<Header msg="{{msg}}" bindchildChange="change" ></Header>

<block wx:for="{{list}}" wx:key="index">

<ListItem rItem="{{item}}" bindchildGO="childGO"></ListItem>

</block>

<Header  msg="{{msg}}"></Header>

/* pages/list/list.wxss */

.item{

    padding: 5px

}

img1{

    width: 120px

    height: 120px

  尘蚂辩  border-radius: 5px

}

.row{

    flex: 1

    height: 120px

}

.title{

    padding: 10px

}

.dec{

    padding:0 10px

}

// pages/list/list.js

Page({

    /**

     * 页面的初始数据

     */

    data: {

        msg:"你是我的小宝贝",

     list:[{

         url:"https://www.baidu.com",

         imageUrl:"https://img1.baidu.com/it/u=2519912129,4264910682&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500",

         title:"我的小可爱",

         content:"可爱可爱"

     },

     {

    物段     imageUrl:"https://img1.baidu.com/it/u=931545919,4030748642&fm=253&fmt=auto&app=138&f=JPEG?w=306&h=459",

         title:"我的小可爱",

         content:"mao可爱可爱"

     },]

    },

    change:function(str){

        this.setData({

            msg:str.detail

        })

    },

    childGO(e){

        wx.navigateTo({

          url: '/pages/webpage/webpage?url='+e.detail,

        })

    },

    /**

     * 生命周期函数--监听页面加载

     */

    onLoad: function (options) {

    },

    /派缺**

     * 生命周期函数--监听页面初次渲染完成

     */

    onReady: function () {

    },

    /**

     * 生命周期函数--监听页面显示

     */

    onShow: function () {

    },

    /**

     * 生命周期函数--监听页面隐藏

     */

    onHide: function () {

    },

    /**

     * 生命周期函数--监听页面卸载

     */

    onUnload: function () {

    },

    /**

     * 页面相关事件处理函数--监听用户下拉动作

     */

    onPullDownRefresh: function () {

    },

    /**

     * 页面上拉触底事件的处理函数

     */

    onReachBottom: function () {

    },

    /**

     * 用户点击右上角分享

     */

    onShareAppMessage: function () {

    }

})

 "usingComponents": {

    "ListItem":"/components/ListItem/ListItem",

    "Header":"/components/Header/Header"

  }

<view class="flex item" bindtap="go" data-url="{{rItem.url}}">

<image class="img1" src="{{rItem.imageUrl}}"></image>

<view class="row">

<view class="title">{{rItem.title}}</view>

<view class="dec">{{rItem.content}}</view>

</view>

</view>

.img1{

  width: 120px

  height: 120px

  display: block

  border-radius: 5px

}

.item{

  padding: 5px

}

.row{

  flex: 1

  height: 120px

}

.title{

  padding: 10px

}

.dec{

  padding: 0 10px

}

.flex{

  display: flex

}

.flex-between{

  justify-content: space-between

}

.flex-center{

  justify-content: center

  align-items: center

}

// components/ListItem/ListItem.js

Component({

  /**

   * 组件的属性列表

   */

  properties: {

    /* 子组件用properties来接收对象 */

    rItem:{

      /* 如果没有传入对象显示的默认值 */

      type:Object,

      value:{

        imageUrl:'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-a7c5da54b8008049fe43089752c74ce2_r.jpg%3Fsource%3D1940ef5c&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1648446806&t=9f16e5a2c12d51ba32169795e4d339f7',

      title:'我的小可爱',

      content:'我的小可爱我的小可爱我的小可爱我的小可爱'}

    }

  },

  /**

   * 组件的初始数据

   */

  data: {

  },

  /**

   * 组件的方法列表

   */

  methods: {

   go(e){

    console.log(e)

    let url = e.currentTarget.dataset.url

    this.triggerEvent('childGO',url)

   }

  }

})

<view class="t" bindtap="handler" >{{msg}}</view>

.t{

    font-size: 25px

    padding: 10px

    text-align: center

}

// components/Header/Header.js

Component({

    /**

     * 组件的属性列表

     */

    properties: {

    msg:{

        type:String,

        value:'我是Header'

    }

    },

    /**

     * 组件的初始数据

     */

    data: {

    },

    /**

     * 组件的方法列表

     */

    methods: {

    handler:function(){

        /* 直接改子组件里的msg父组件不会同步所以不能直接改 */

        /* this.setData({

            msg:'你好'

        }) */

        this.triggerEvent('childChange','你可真坏啊')

    },

    }

})

<button bindtap="getuserInfo" plain type="primary">获取用户信息</button>

<image src="{{touxiang}}" class="t"></image>

<view>{{nicheng}}</view>

<!-- 想要已进入页面就显示头像和昵称使用 open-type 标签 -->

<open-data type="userAvatarUrl"></open-data>

<open-data type="userNickName"></open-data>

<!-- 使用语言 -->

<open-data type="userLanguage"></open-data>

data: {

        msg: 'csgo',

        touxiang: "",

        nicheng: ""

    },

getuserInfo() {

        wx.getUserProfile({

            desc: '亲爱的宝贝', // 声明获取用户个人信息后的用途,后续会展示在d窗中,请谨慎填写

            success: (res) => {

                console.log(res)

                let {

                    userInfo: {

                        avatarUrl,

                        nickName

                    }

                } = res

                this.setData({

                    nicheng: nickName,

                    touxiang: avatarUrl

                })

            }

        })

    },

1、提供微信小程序页概念:支持分享当前信息。

2、可以分享到对话,支持分享给单个好友及微信群。

3、微信小程序可以被搜索,但微信会极力限制搜索能力,目前提供的搜索功能是用户可直接根据名称或品牌搜索小程序。

4、在微信小程序与公众号为同一开发主体的前提下,提供微信小程序与微信公众号之间的关联。

5、线下扫码:提供线下提示用户附近有哪些微信小程序存在的功能。用户可以通过线下扫码使用,这也是微信提倡的接配慧入方式。

6、微信小程序支持挂起状态,即多窗口概念,用户可以把微信小程序先挂起,然后做别的事情,在需要这个微信小程序的时候可以快速调用,回到最开始的状态。

7、商户可以发送模板消息给接受过服务的用户,用户可以在微信小程序内联系客服,支持文字和图片,解迅卖戚决用户与微信小程序的沟通问题。

8、用户使用亩陵过的微信小程序会被放入列表,方便下次使用。

 <button bindtap="powerDrawer" type="primary" size="mini" style="width: 55%" data-statu="open">中奖记录</button>  

<!-- 中间名单d窗 -->

<view class="drawer_div">

  <view class="drawer_screen" bindtap="powerDrawer" data-statu="close" wx:if="{{showModalStatus}}"></view>

    <view animation="{{animationPrize}}" class="drawer_box" wx:if="{{showModalStatus}}">

      <view class="drawer_title">

        中奖记录

        <image src="../img/x@2x.png" bindtap="powerDrawer" data-statu="close"></image>

      </view>

      <view class="drawer_content">

        <view class="top grid">

          <text>

            名称:啦啦啦啦啦啦啦啦

          </text>

          <text>

            时间:2020-02-20

          </text>

        </view>

        <view class="top grid">

          <text>

            名称:啦啦啦啦啦啦啦啦

          </text>

          <text>

            时间:2020-02-20

          </text>

        </让岩view>

    </view>

  </view>

</view>

.drawer_screen {

  width: 100%

  height: 100%

  position: fixed

  top: 0

  left: 0

  z-index: 1000

  background: #000

  opacity: 0.5

  overflow: hidden

}

/*content*/

.drawer_box {

  width: 650rpx

  overflow: hidden

  position: fixed

  top: 50%

  left: 0

  z-index: 1001

  background: #FAFAFA

  margin: -150px 50rpx 0 50rpx

  border-radius: 3px

}

.drawer_title{

  padding:30rpx 20rpx

  font-size: 36rpx

  text-align: center

  position: relative

}

.drawer_title 郑扰image{

  display: inline-block

  width: 30rpx

  height: 30rpx

  position: absolute

  right: 9px

  top: 10px

}

.drawer_content {

  height: 210px

  overflow-y: scroll /*超出父盒子高度可滚动*/

  padding: 0 20rpx

}

.top{

  display: flex

  justify-content: space-between

  border-bottom: 1px dashed #ccc

}

.top text{

  display: inline-block

  height: 60rpx

  line-height: 20rpx

}

data: {

animationPrize: {},

}

powerDrawer: function (e) {

    // console.log(e)

    let currentStatu = e.currentTarget.dataset.statu

    this.util(currentStatu)

  },

  util: function (currentStatu) {

 坦丛御   /* 动画部分 */

    // 第1步:创建动画实例

    var animation = wx.createAnimation({

      duration: 200,  //动画时长

      timingFunction: "linear", //线性

      delay: 0  //0则不延迟

    })

    // 第2步:这个动画实例赋给当前的动画实例

    this.animation = animation

    // 第3步:执行第一组动画

    animation.opacity(0).rotateX(-100).step()

    // 第4步:导出动画对象赋给数据对象储存

    this.setData({

      animationPrize: animation.export()

    })

    // 第5步:设置定时器到指定时候后,执行第二组动画

    setTimeout(function () {

      // 执行第二组动画

      animation.opacity(1).rotateX(0).step()

      // 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象

      this.setData({

        animationPrize: animation

      })

      //关闭

      if (currentStatu == "close") {

        this.setData({

          showModalStatus: false

        })

      }

    }.bind(this), 200)

    // 显示

    if (currentStatu == "open") {

      this.setData({

        showModalStatus: true

      })

    }

  },


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12486777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存