微信小程序开发,接入Bmob云数据库(二)

微信小程序开发,接入Bmob云数据库(一):https://blog.csdn.net/jky_yihuangxing/article/details/141819253

1. 在小程序中初始化Bmob SDK

  1. 下载Bmob小程序SDK

https://gitee.com/bmober/hydrogen-js-sdk/tree/master/dist

点击右上角【克隆/下载】,此时会弹出下载框,右上角 选择【下载ZIP】压缩包下载解压找到最新版版本即可
在这里插入图片描述

  1. 将sdk放在utils目录下(默认没有utils文件夹),如果没有的话,直接新建文件夹,取名叫utils即可。跟pages目录平级

在这里插入图片描述
3. 初始化SDK

打开根目录下app.js我文件,在最顶端添加如下代码:

const Bmob = require('./utils/Bmob-2.5.30.min.js')
Bmob.initialize("你的Secret Key", "你的API 安全码");
wx.Bmob = Bmob;

在这里插入图片描述
其中,请替换Secret Key和API安全码。选择申请的应用,右侧【应用key】即可查看应用的相关信息
在这里插入图片描述
在这里插入图片描述
安全码一定要设置 ,要求16位数即可

最后设置了安全码,别忘记了点【保存】按钮
最后设置了安全码,别忘记了点【保存】按钮
最后设置了安全码,别忘记了点【保存】按钮

温馨提示:
注意require ('xxx/xxx/xxx') 引用

  1. ./ 表示相对于当前文件的目录
  2. ../ 表示相对于当前文件的父级目录

到这里就已经完成了对SDK的初始化

2. 数据库建表

  1. 在后台建表

选择对应的应用,点击右侧【云数据库】,系统默认会有一张_User
在这里插入图片描述
在这里插入图片描述

  1. 点击【添加表】 取名叫Product 商品表,然后点击【确定】

在这里插入图片描述

  1. 此时会多了一张Product商品表,我们可以先添加列,再添加行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过上面添加列的操作,Product表中多了两个字段,分别是productNmaeproductPrice ,到这里已经简单创建了一张商品表,接下来就是如何实现商品的增,删,改,查,请接着往下看

3. 增,删,改,查

  1. 文档地址
    https://doc.bmobapp.com/data/wechat_app_new/index.html#_18

新增:
请求示例:

const query = Bmob.Query('tableName');
query.set("name","Bmob")
query.set("cover","后端云")
query.save().then(res => {
    
    
  console.log(res)
}).catch(err => {
    
    
  console.log(err)
})

返回示例:

{
    
    
    createdAt: "YYYY-mm-dd HH:ii:ss",
    objectId: "objectId"
}
  1. 具体使用
 const query = wx.Bmob.Query('Product');
    query.set("productNmae", "测试商品")
    query.set("productPrice", 100)
    query.save().then(res => {
    
    
      console.log(res)
    }).catch(err => {
    
    
      console.log(err)
    })

注意事项: 所有的方法调用前都要加上wx.Bmob.xxx,因为在初始话SDK的时候有设置wx.Bmob = Bmob;

  1. 此时点击新增会报错,报错信息如下图所示

Mon Sep 02 2024 17:33:20 GMT+0800 (中国标准时间) request 合法域名校验出错
如若已在管理后台更新域名配置,请刷新项目配置后重新编译项目,操作路径:“详情-域名信息”
https://api.bmobcloud.com 不在以下 request 合法域名列表中,请参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html(env: Windows,mp,1.06.2407110; lib: 2.26.2)
在这里插入图片描述

  1. 解决办法:忽略https校验即可,设置如下图所示

在这里插入图片描述

  1. 设置之后再点击新增,控制会出现如下图所示日志,表明新增成功,然后去后台刷新,就可以看到新增的数据啦~~

在这里插入图片描述
在这里插入图片描述

修改

请求示例:

 const query = Bmob.Query('tableName');
 query.set('id', 'objectId') //需要修改的objectId
 query.set('nickName', 'Bmob后端云')
 query.save().then(res => {
    
    
 console.log(res)
 }).catch(err => {
    
    
 console.log(err)
 })

返回示例:

{
    
    
  "updatedAt": "YYYY-mm-dd HH:ii:ss"
}
  1. 具体使用
const query = wx.Bmob.Query('Product');
    query.set('id', 'b8991ff8d5') //需要修改的objectId,请在后台表中查看
    query.set('productNmae', '修改测试商品')
    query.set('productPrice', 200)
    query.save().then(res => {
    
    
    console.log(res)
    }).catch(err => {
    
    
    console.log(err)
    })

注意事项: 所有的方法调用前都要加上wx.Bmob.xxx,因为在初始话SDK的时候有设置wx.Bmob = Bmob;

在这里插入图片描述

  1. 去后台刷新数据看看,此时数据已经改变

在这里插入图片描述

查询
查所有或查某一条数据,这里演示查所有,详情请看官网教程

请求示例:

const query = Bmob.Query("tableName");
query.find().then(res => {
    
    
    console.log(res)
});
  1. 具体使用
 const query = wx.Bmob.Query("Product");
    query.find().then(res => {
    
    
      console.log(res)
    });

注意事项: 所有的方法调用前都要加上wx.Bmob.xxx,因为在初始话SDK的时候有设置wx.Bmob = Bmob;

在这里插入图片描述

删除

请求示例:

const query = Bmob.Query('tableName');
query.destroy('objectId').then(res => {
    
    
  console.log(res)
}).catch(err => {
    
    
  console.log(err)
})

返回示例:

{
    
    
  msg: "ok"
}
  1. 具体使用
    const query = wx.Bmob.Query('Product');
    query.destroy('b8991ff8d5').then(res => {
    
    
      console.log(res)
    }).catch(err => {
    
    
      console.log(err)
    })

注意事项: 所有的方法调用前都要加上wx.Bmob.xxx,因为在初始话SDK的时候有设置wx.Bmob = Bmob;
在这里插入图片描述

4. API 安全码问题

当应用不设置安全码的时候,调用增,删,改,查API时,会报一个错误,具体信息如下
在这里插入图片描述
在这里插入图片描述
{code: 400, error: “用户设置的safeToken为空”}

解决方法:一定要设置16位API安全码,最后一定要点击【 保存】按钮

猜你喜欢

转载自blog.csdn.net/jky_yihuangxing/article/details/141822979