Bmob 后端云示例1 用户注册登录及修改用户信息

向右看齐 2023-07-04 06:26 259阅读 0赞

Bmob 后端云

  • 推荐链接 :https://www.bmob.cn/?invite\_code=$W8S
  • 推荐码:$W8S

使用 Bmob 后端云,不用自己写 API 接口,只需要定义数据表及相关字段即可实现用户注册、登录、修改用户信息功能。
具体怎么创建应用,大家看官网介绍就行,这里简单说下数据表。

创建应用后,应用中的云数据库默认存在一个用户表_User,且相应的存在一些默认字段,如:帐号username,密码password,手机号mobilePhoneNumberVer/mobilePhoneNumber,邮箱emailVerified;我们开发者可以自定义往里添加需要的字段,如:昵称nickName
示例图:
在这里插入图片描述

代码示例
1、注册

  1. /// 注册
  2. + (void)registerWithName:(NSString *)name password:(NSString *)password parameter:(NSDictionary *)dict complete:(void (^)(BOOL success, NSError *error))complete
  3. {
  4. BmobUser *user = [[BmobUser alloc] init];
  5. [user setUsername:name];
  6. [user setPassword:password];
  7. [dict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
  8. [user setObject:obj forKey:key];
  9. }];
  10. [user signUpInBackgroundWithBlock:^(BOOL isSuccessful, NSError *error) {
  11. if (complete) {
  12. complete(isSuccessful, error);
  13. }
  14. }];
  15. }

运行示例

  1. [UserModel registerWithName:@"devZhang" password:@"123456" parameter:@{ @"nickName":@"番薯大佬"} complete:^(BOOL success, NSError * _Nonnull error) {
  2. NSLog(@"success %@, error = %@", @(success), error.description);
  3. }];
  4. ------------------------------------------------
  5. success 1, error = (null)

2、登录

  1. /// 登录
  2. + (void)loginWithName:(NSString *)userName password:(NSString *)password complete:(void (^)(BmobUser *user, NSError *error))complete
  3. {
  4. [BmobUser loginWithUsernameInBackground:userName password:password block:^(BmobUser *user, NSError *error) {
  5. if (complete) {
  6. complete(user, error);
  7. }
  8. }];
  9. }

运行示例

  1. [UserModel loginWithName:@"devZhang" password:@"123456" complete:^(BmobUser * _Nonnull user, NSError * _Nonnull error) {
  2. NSLog(@"user %@, error = %@", user, error.description);
  3. }];
  4. ------------------------------------------------
  5. user
  6. className = _User;
  7. username = devZhang;
  8. mobilePhoneNumber = (null);
  9. email = (null);
  10. objectId = 2bb9f3db62;
  11. createdAt = 2020-02-09 02:40:45 +0000;
  12. updatedAt = 2020-02-09 02:40:45 +0000;
  13. data = {
  14. createdAt = "2020-02-09 10:40:45";
  15. nickName = "\U756a\U85af\U5927\U4f6c";
  16. username = devZhang;
  17. };

3、修改用户信息

  1. /// 修改用户信息
  2. + (void)modifyWithParameter:(NSDictionary *)dict complete:(void (^)(BOOL success, NSError *error))complete
  3. {
  4. BmobUser *user = UserModel.user;
  5. if (user == nil) {
  6. if (complete) {
  7. NSError *error = [NSError errorWithDomain:NSCocoaErrorDomain code:-1 userInfo:@{ @"message":@"用户不存在"}];
  8. complete(NO, error);
  9. }
  10. return;
  11. }
  12. [dict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
  13. [user setObject:obj forKey:key];
  14. }];
  15. [user updateInBackgroundWithResultBlock:^(BOOL isSuccessful, NSError *error) {
  16. if (complete) {
  17. complete(isSuccessful, error);
  18. }
  19. }];
  20. }

运行示例

  1. [UserModel modifyWithParameter:@{ @"nickName":@"大番薯"} complete:^(BOOL success, NSError * _Nonnull error) {
  2. NSLog(@"success %@, error = %@", @(success), error.description);
  3. }];
  4. ------------------------------------------------
  5. success 1, error = (null)

4、获取当前用户信息

  1. /// 当前用户
  2. + (BmobUser *)user
  3. {
  4. BmobUser *user = [BmobUser currentUser];
  5. return user;
  6. }

运行示例

  1. BmobUser *user = UserModel.user;
  2. NSLog(@"user %@", user);
  3. ------------------------------------------------
  4. user
  5. className = _User;
  6. username = devZhang;
  7. mobilePhoneNumber = (null);
  8. email = (null);
  9. objectId = 2bb9f3db62;
  10. createdAt = 2020-02-09 02:40:45 +0000;
  11. updatedAt = 2020-02-09 02:42:02 +0000;
  12. data = {
  13. createdAt = "2020-02-09 10:40:45";
  14. nickName = "\U5927\U756a\U85af";
  15. updatedAt = "2020-02-09 10:42:02";
  16. username = devZhang;
  17. };

发表评论

表情:
评论列表 (有 0 条评论,259人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java_获取当前登录用户信息

    后端获取当前登录用户信息 开发过程中,发现有很多地方需要获取当前登录的用户信息,比如新增、修改时候要记录创建人和更新人信息,如果每次操作都从数据库中获取用户信息,会增加不

    相关 用户注册登录流程

    用户注册: 1.用户填写参数,移出鼠标效验手机号,登录账号,邮箱, 2.判断用户id是否是超级管理员用户,超级管理员是不允许修改的 3.随机生成盐,用户赋值盐

    相关 移动用户登录&注册案例

    用的是TypeScript语言,主要是展示相关的思想逻辑,而不是语法。会说明注册和登录页面进行局部切换的逻辑、用账号密码登录的相关逻辑、用手机号和验证码登录的相关逻辑、获取验证