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

1.微信小程序简单组件:

list.wxml部分:

父组件msg的值:{{msg}}

list.wxss部分:

/* 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;

}

list.js部分:

// 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 () {

    }

})

!!!重要部分  list.json 部分,引入组件:

 "usingComponents": {

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

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

  }

ListItem组件wxml部分:

{{rItem.title}}

{{rItem.content}}

ListItem组件wxss部分:

.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;

}

ListItem组件JS部分:

// 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)

   }

  }

})

Header组件.wxml部分:

{{msg}}

Header组件.wxss部分:

.t{

    font-size: 25px;

    padding: 10px;

    text-align: center;

}

Header组件.js部分:

// components/Header/Header.js

Component({

    /**

     * 组件的属性列表

     */

    properties: {

    msg:{

        type:String,

        value:'我是Header'

    }

    },

    /**

     * 组件的初始数据

     */

    data: {

    },

    /**

     * 组件的方法列表

     */

    methods: {

    handler:function(){

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

        /* this.setData({

            msg:'你好'

        }) */

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

    },


    }

})

效果图:


注意事项:

组件需要创建外层文件components,然后创建子文件为所要调用组件,创建完之后右键点击子文件(如上图Header),点击创建components文件则显示js、json、wxml、wxss文件



2.获取用户头像及权限:

wxml部分:

获取用户信息

{{nicheng}}

wxjs部分:

data: {

        msg: 'csgo',

        touxiang: "",

        nicheng: ""

    },

getuserInfo() {

        wx.getUserProfile({

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

            success: (res) => {

                console.log(res)

                let {

                    userInfo: {

                        avatarUrl,

                        nickName

                    }

                } = res;

                this.setData({

                    nicheng: nickName,

                    touxiang: avatarUrl

                })

            }

        })

    },

点击按钮,同意授权即可获取头像以及相关信息可参照微信小程序官网

你可能感兴趣的:(微信小程序组件及获取用户权限)