「法语动词变位记忆小助手」v1.4.0更新:使用了小程序云开发

「法语动词变位记忆小助手」小程序主页

什么是小程序云开发?

开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。 —— 微信官方文档 小程序

云开发提供了几大基础能力支持,可以看一下下面这张表格:

所以综上所述,所以小程序云开发这还是挺适合我这样的懒人的。不过之后还是想使用自己的服务器弄一个自己用的 API,之后所有待开发的程序直接在 API 调数据,这个是后话。

「法语动词变位小程序」最新的一些更新

v1.4.0 日期:2019/06/24

  • 修复了下列单词的变位错误:terminer、déterminer、exterminer、prédéterminer
  • 增加了卡片和设置的云同步
  • 修复了一些细节

v1.3.4 日期:2019/06/10

  • 修改了卡片和首页样式
  • 页面设置了分享
  • 部分细节修复
  • 增加了微信小程序自带的反馈按钮
  • 添加小程序推荐

如何使用小程序云开发

准备工作

**最好的方法:**当然最好的参考资料就是官方文档:

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html

**使用云开发模板:**如果懒,或者是想直接使用小程序云开发的话。可以现在微信公众平台新注册一个小程序的账号(和公众号是同一个网站、同一个入口;单个邮箱只能注册一个小程序)。因为只有当AppID是真实有效的情况下才可以使用小程序云开发,使用测试号是无法使用小程序云开发的。

**已经做好了小程序:**如果已经做好了一个小程序,并且还想使用小程序云开发的话,那么还是需要参考一下官方文档,路径是:云函数——我的第一个云函数

小程序云开发界面

快速上手

这里针对的对象是 使用云开发模板 的朋友。因为云开模板已经使用了最基础的云函数,可以获取用户的openid,当用户授权之后,我们将获得用户的地区信息和性别、昵称、头像信息。用户的 openid 就像用户的身份证号码一样,使得我们可以在数据库中识别和保存用户的数据。

创建一个云开发环境

  1. 先创建一个云开发环境:在微信开发者工具——云开发,并且取一个名字,比如:my_new_applet
  2. 在数据库界面创建一个集合,比如:user_data

初始化

在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用。以下调用获取默认环境的数据库的引用。总之,下面两行代码必加:

const db = wx.cloud.database()
const user_data = db.collection('user_data')  //user_data是一个例子

通过集合上的 doc 方法来获取集合中一个指定 ID 的记录的引用。记录的引用可以用于对特定记录进行更新和删除操作。

const user_data_vocab = db.collection('user_data').doc('user_data_vocab')

获取用户基本数据

这里可以使用云开发模板,因为里面都已经写好了 onGetUserInfo ,直接调用即可。可以把玩一下小程序云开发模板,这里面的例子比官方文档更有实践意义,也更容易明白。

插入数据

可以通过在集合对象上调用 add 方法往集合中插入一条记录,比如在user_data中增加一条carte_arrey。同样建议把玩一下小程序云开发模板,这里面的例子比官方文档更有实践意义,也更容易明白,同下。

   onAdd: function() {
    const db = wx.cloud.database()
    db.collection('user_data').add({
      data: {
        carte_arrey: app.globalData.carte_arrey,
      },
      success: res => {
        // 成功了
        wx.showToast({
          title: '同步记录成功',
        })
        console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id)
      },
      fail: err => {  //失败了
        wx.showToast({
          icon: 'none',
          title: '新增记录失败'
        })
        console.error('[数据库] [新增记录] 失败:', err)
      }
    })
  },

查询数据

在记录和集合上都有提供 get 方法用于获取单个记录或集合中多个记录的数据。比如在user_data中查找carte_arrey的数据。

 onQuery: function() {
    var that = this   //注意这个细节
    const db = wx.cloud.database()
    // 查询当前用户的数据
    db.collection('user_data').where({
      _openid: app.globalData.openid         
    }).get({
      success: function(res) {
        console.log(res.data)
        if (res.data.length === 0) {
          that.onAdd()     //如果找不到数据,那就调用onAdd函数
        } else {
          //将查到的数据直接写入缓存以及全局变量。这里根据实际情况来。
          wx.setStorageSync('carte_arrey', res.data[0].carte_arrey);
          app.globalData.carte_arrey = res.data[0].carte_arrey;
          //刷新当前页面的数据
          if (getCurrentPages().length != 0) {
            getCurrentPages()[getCurrentPages().length - 1].onLoad()
          }
          that.setData({
            tongbu: "![💯](https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f4af.png)已自动同步"
          })
          wx.setStorageSync('tongbu', "![💯](https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f4af.png)已自动同步");
        }
      }
    })
  },

更新数据

使用 update 方法可以局部更新一个记录或一个集合中的记录,局部更新意味着只有指定的字段会得到更新,其他字段不受影响。

onUpdate: function() {
    const db = wx.cloud.database()
    db.collection('user_data').doc().update({
      data: {
        carte_arrey: app.globalData.carte_arrey, 
      },
      success: res => {
        wx.showToast({
          title: '添加记录成功',
        })
        console.log('[数据库] [更新记录] 成功,记录 _id: ', res._id)
      },
      fail: err => {
        icon: 'none',
        console.error('[数据库] [更新记录] 失败:', err)
      }
    })
  },

总结

目前我大部分的云开发功能就仅限于这些,无非不就是在数据库中增加数据、查询已存在的数据、更新已存在的数据、删除已存在的数据。其他的功能还是去参考官方文档吧,或者是小程序云开发的那个初始模板。

转载请注明本文出处:_**https://xd.sh.cn**_,并给出_**指向本文的链接**_本站除特别注明外,均采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

updatedupdated2020-05-272020-05-27

以上是自己提供的广告