一、什么是bmob后端云?这个能用来干什么?
我们在开发项目的时候肯定需要开发服务器的,但在个人开发时除了写客户端之外还要再写服务器端就很麻烦
这时候使用bmob后端云就能完美解决我们这个问题(重点是免费的!!!)
我们只需进行服务器开发即可
bomb后端云官网:Bmob后端云
二、如何使用后端云
登陆注册一个账号和看开发文档;
因为是简单的东西我就此跳过,涉及相关的操作下面我会详细提出的
三、使用bmob后端云实现的微信小程序自动登录
1.网站后台创建应用
登陆进去用户中心后点击左上方的创建应用
填好你要创建的应用相关信息
进行扫码绑定后创建成功
2.配置小程序密钥和获取应用密钥
登录微信公众平台,进入设置->开发设置来获取AppID和AppSecret
然后回到bmob,进入设置->应用配置,将AppID和AppSecret填进去即可
3.配置安全域名
进入微信小程序后台配置里
在设置->开发设置->服务器域名
如图所示进行配置
4.下载和安装BmobSDK
使用方法:
①下载将utils目录复制至项目目录下
②在App.js初始化SDK
var Bmob = require('utils/bmob.js');
Bmob.initialize("你的Application ID", "你的REST API Key");
Application ID和 REST API Key在后端云的设置->应用秘钥里获得
5.小程序相关开发
使用后端云实现一键登录很简单
固定写法
只需在APP.js这样子写就行了
App({
onLaunch: function () {
var user = new Bmob.User() //开始注册用户
user.auth().then(function (obj) {
console.log('登陆成功')
},
function (err) {
console.log('失败了', err)
});
},
getUserInfo: function (cb) {
var that = this
if (this.globalData.userInfo) {
typeof cb == 'function' && cb(this.globalData.userInfo)
} else {
//调用登录接口
wx.login({
success: function () {
wx.getUserInfo({
success: function (res) {
that.globalData.userInfo = res.userInfo
typeof cb == 'function' && cb(that.globalData.userInfo)
}
})
}
})
}
},
globalData: {
userInfo: null
}
})
user用户对象中的loginWithWeapp方法使用当前使用小程序的微信用户身份注册或登录,成功后用户的 session 会在设备上持久化保存,之后可以使用 Bmob.User.current() 获取当前登录用户
如果该用户是第一次使用此应用,调用登录 API 会创建一个新的用户,你可以在 控制台 >应用> 数据 中的 _User表中看到该用户的信息,如果该用户曾经使用该方式登录过此应用,再次调用登录 API 会返回同一个用户。
登录后获取到一个用户数据对象,包括用户唯一标识objectId、openid、nickName、avatarUrl、authData,authData包括session_token登录校验,小程序sdk封装了请求带上了缓存authData的session_token,所以session_token这部分 不需要bmob的开发者考虑;
当前用户
如果用户每次打开App的时候都要求登录无疑是令人感到厌烦的,你可以通过缓存当前的Bmob.User对象来避免这个问题。
无论你使用任何注册或者登录方法,用户都会在localStorage中储存,你可以把缓存作为一个session对待,并且自动假设用户已经登录了。
你可以操作Bmob.User.current()来获取当前用户的信息
用户安全
Bmob.User类默认就是受保护的,在Bmob.User中保存的数据只能被那个用户所修改。默认地,数据仍然可以被任意客户端所读取。这样就是说,有些Bmob.User对象被认证后是可以修改的,其他的仍然是只读的。
特别的,你不能调用save或者delete方法除非Bmob.User经过了认证,就比如调用过了logIn或者signUp方法,这样保证只有用户能改动他们自身的数据。
怎么样,都很简单吧!