uniapp 微信小程序、支付宝小程序 登录授权使用async、await封装

获取用户信息

// 获取用户信息
        async getUserInfo(){
            let res = await this.tologin();
            // 用户通过code从后台获取用户的基本信息
            let usrerBaseInfo = await this.getUserByCode(res.code);
            // 处理用户信息
            if (usrerBaseInfo) {
                // 存储用户基本信息
                this.setUserInfo(usrerBaseInfo);
            }
        },
//调用login,获取code,后端换取openId,确认用户
        tologin() {
            return new Promise((resolve, reject) => {
                uni.login({
                    provider: this.platform,
                    success: (res) => {
                        resolve(res)
                    },
                    fail: (res) => {
                        reject(res)
                    }
                })
            })
        },
// 用户通过code从后台获取用户的基本信息
        getUserByCode(code) {
            return new Promise((resolve, reject) => {
                let params = {
                    code: code,
                    platformType: this.platformType
                };
                xxxApi.(params).then((data) => {
                    if (data.code === "0000" && data.result) { // 根据具体情况而定
                        resolve(data.result)
                    } else {
                        reject(res)
                    }
                }).catch(res => {
                    reject(res)
                })
            })
        },
// 获取用户授权状态
        userAuthState() {
            return new Promise((resolve, reject) => {
                uni.getSetting({
                    success: (res) => {
                        resolve(res);
                    },
                    fail: (res) => {
                        reject(res);
                    },
                });
            });
        },

看了这么久,累了吧,关注一下吧

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容