• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

支付宝小程序serverless---获取用户信息(头像)并保存到云数据库 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

支付宝小程序serverless---获取用户信息(头像)并保存到云数据库

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

我又回来了,这是我第三次修改啦。

使用serverless

首先我们需要在app.js里面引入serverless

然后再在我们的逻辑代码里面调用登录的接口

获取用户授权

先获取用户授权的接口

这个是支付宝文档的地址:https://opendocs.alipay.com/mini/api/openapi-authorize

// 先获取用户授权(如用户未授权会弹窗唤起授权窗口)
const res = await app.serverless.user.authorize({
  authProvider: 'alipay_openapi'
}).catch(console.error);
if (res && res.success) {
  console.log('授权成功');
  const userInfo = await app.serverless.user.getInfo({
    authProvider: 'alipay_openapi',
  }).catch(console.error);
  if (userInfo.success) {
    console.log('getUserInfo res', userInfo);
    app.user = userInfo.result.user;
    this.setData({ user: userInfo.result.user });
  }

调用获取头像接口

获取用户头像的接口

地址:https://opendocs.alipay.com/mini/api/ch8chh

my.getAuthUserInfo已经不能使用了,那么我们就用my.getOpenUserInfo,但是my.getOpenUserInfo是有要求的,它需要用户主动触发,而不是直接调用api来询问。

按钮

<button a:if="{{canIUseAuthButton}}" open-type="getAuthorize"  onGetAuthorize="onGetAuthorize" onError="onAuthError"  scope='userInfo'>    会员基础信息授权 </button>

js代码

这个是真的很多坑,特别是两层response,要使用的话,下面是解决了坑之后的

/**
   * 授权成功事件
   */
  onGetAuthorize() {
    var that = this;
    my.getOpenUserInfo({
      fail: (res) => {
        this.setData({ result: JSON.parse(res.response).response});
      },
      success: (res) => {
        this.setData({ result: JSON.parse(res.response).response});
        console.log(that.data.result);
      }
    });
  },

保存我们的用户信息(云函数)

module.exports = async (ctx) => {
  const User = await ctx.mpserverless.db.collection('user').insertOne({
        userinfo:ctx.args.data
    })
    .then(res => {
      return res;
    })
    .catch(console.error);
  return { User };
};

测试结果

开发者工具控制台

云数据库

这样的话我们的数据就插入成功啦!

感谢

支付宝

以及勤劳的自己


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序发布上线-微信小程序开发-****17发布时间:2022-07-18
下一篇:
微信小程序生成二维码示例发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap