程序引导用户授权的思路与项目实现方法代码剖析

why 156 2024-07-31

本篇文章给大家带来的内容是关于小程序引导用户授权的思路及项目实现方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

小程序引导用户授权的思路与项目实现方法及代码剖析

用户信息授权

对于小程序未授权的用户,官方取消wx.getUserInfo方法的直接调用,首次授权必须主动触发自定义按钮,才可调起官方授权组件

可以获取到的信息有:昵称、头像、性别、国家、省份、城市、性别、语言

思路步骤

1、wx.getSetting查看是否授权

2、已授权使用wx.getUserInfo获取用户信息,保存

3、未授权显示带有button的自定义页面,bindGetUserInfo会返回用户信息,该按钮会调用微信官方授权

1

<button>允许用户授权</button>

4、授权完成保存用户信息

项目实现

1、app.js----我放在登陆方法之后

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

// 查看是否授权,保存授权状态

    wx.getSetting({

        success: function(res) {

            if (res.authSetting['scope.userInfo']) {

                wx.setStorageSync('isAuthorize''true');

                wx.getUserInfo({

                    success: function(res) {

                        wx.setStorageSync('userInfo', res.rawData);

                    }

                })

            else {

                wx.setStorageSync('isAuthorize''false');

            }

        }

    })

2、main.wxml------项目主页面

1

2

<!-- 小程序授权组件 -->

<authorize></authorize>

3、main.js------onload中进行判断是否要显示自定义的按钮

1

2

3

4

5

// 已授权隐藏弹框,未授权显示弹框

this.authorize = this.selectComponent("#authorize");

if (wx.getStorageSync('isAuthorize')=='true'){

    this.authorize.hideDialog()

}

4、main.json-----主页面配置参数

1

2

3

"usingComponents": {

    "authorize""自定义授权组件的路径"

}

5、authorize.js------自定义带有button的页面/弹窗组件autiorize,这里只贴出js部分

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

/*authorize.js*/

Component({

    options: {

        multipleSlots: true

    },

 

    data: {

        isHide: false,

        canIUse: wx.canIUse('button.open-type.getUserInfo')

    },

 

    methods: {

 

        //隐藏弹框

        hideDialog() {

            this.setData({

                isHide: true

            })

        },

        // 授权信息保存

        bindGetUserInfo(e){

            wx.setStorageSync('isAuthorize''true');

            wx.setStorageSync('userInfo', JSON.stringify(e.detail.userInfo));

            this.hideDialog()

        }

 

    }

})

这样整个授权就完成了!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mpvue 中 sass 全局变量配置的方法及代码详解
下一篇:小程序授权登陆问题的解决途径及代码展示
相关文章

 发表评论

暂时没有评论,来抢沙发吧~