当前位置: 首页 > 微信相关

使用bmob后端云快速搭建小程序用户模块

发布日期:2038-01-19 11:14:07 分类:微信相关 阅读()来源:网络收集

好东西要多分享:

做网站就上魔艺客
摘要:Bmob后端云为全方位一体化的后端服务平台,基于这个平台可以简单搭建小程序用户模块和实现各种功能。

Bmob后端云为全方位一体化的后端服务平台,无需再造应用后端服务,轻松拥有开发中需要的各种后端能力。相比起微信开发工具客户端调用函数返回数据的交互形式,使用Bmob后端云,可以简单实现小程序的一键登录、当前用户、用户安全等功能的同时,还可以简化流程步骤,节省不必要浪费的时间,达到快速搭建小程序用户模块的效果。


一键登录

客户端调用wx.login()后获取的code,后端人员拿到code和微信换取openidsession_key;除此之外后端人员还需要根据openid生成sessiontoken作为服务器和小程序之间做登录态校验保证安全性,客户端每次请求需要带上sessiontoken,后端需要作校验;还需要提供接口给客户端保存用户信息(头像、名称等),或者根据openid去和微信换取用户信息;中间的过程的调试还需要花费大量的时间。

利用bmob的小程序sdk的实现一键登录,可以简化上述的后端部署流程。

wx.login({

success: function(res) {

var user = newBmob.User();//实例化

user.loginWithWeapp(res.code).then(function (user) {

if(user.get(nickName)) {

//更新缓存中的openid

wx.setStorageSync('openid', user.get(openid))

} else {

//*************保存用户其他信息,比如昵称头像之类的*****************

wx.getUserInfo({

success:function (result) {

varnickName = result.userInfo.nickName;

varavatarUrl = result.userInfo.avatarUrl;

var u =Bmob.Object.extend(_User);

varquery = new Bmob.Query(u);

// 这个 id 是要修改条目的 id,你在生成这个存储并成功时可以获取到,请看前面的文档

query.get(user.id, {

success: function (result) {

// 自动绑定之前的账号

result.set('nickName', nickName);

result.set(userPic, avatarUrl);

result.set(openid, openid);

result.save();

}

});

}

});

//*************保存用户其他信息,比如昵称头像之类的end*****************

}

}, function(err) {

console.log(err, 'errr');

});

}

});

}

如果该用户是第一次使用此应用,调用登录 API 会创建一个新的用户,你可以在 控制台 >应用> 数据 中的 _User表中看到该用户的信息,如果该用户曾经使用该方式登录过此应用,再次调用登录 API 会返回同一个用户。

user用户对象中的loginWithWeapp方法使用当前使用小程序的微信用户身份注册或登录,成功后用户的 session 会在设备上持久化保存,之后可以使用 Bmob.User.current() 获取当前登录用户。

登录后获取到一个用户数据对象,包括用户唯一标识objectIdopenidnickNameavatarUrlauthDataauthData包括sessiontoken登录校验,小程序sdk封装了请求带上了缓存authDatasessiontoken,所以session_token这部分 不需要bmob的开发者考虑;

当前用户

无论你使用任何注册或者登录方法,用户都会在localStorage中储存,你可以把缓存作为一个session对待,并且自动假设用户已经登录了。如果用户每次打开App的时候都要求登录无疑是令人感到厌烦的,你可以通过缓存当前的Bmob.User对象来避免这个问题。

你可以操作Bmob.User.current()来获取当前用户的信息

var currentUser = Bmob.User.current();

用户安全

Bmob.User类默认就是受保护的,在Bmob.User中保存的数据只能被那个用户所修改。默认地,数据仍然可以被任意客户端所读取。这样就是说,有些Bmob.User对象被认证后是可以修改的,其他的仍然是只读的。

特别的,你不能调用save或者delete方法除非Bmob.User经过了认证,就比如调用过了logIn或者signUp方法,这样保证只有用户能改动他们自身的数据。


推荐阅读:微信小程序开发常用方法有哪些 微信小程序开发教程


声明: 文章内容及图片部分全部摘自网络,在此分享供读者参考和借鉴,不代表酷雷的观点。文章、图片等内容如涉嫌侵权,请联系我们删除,谢谢!带有原创标签的属于酷雷原创文章,未经允许不得转载!

标签:

我要说一说

加载中~

相关推荐

您好,很高兴为您服务!
广告合作
投诉建议
联系站长

客服热线:15821432298

扫码加好友,优惠等你来!