Resumen de la experiencia personal de desarrollo de la nube del subprograma WeChat

Antes del artículo:

Se adjuntan dos pequeños programas desarrollados a través de WeChat Mini Program Cloud. Los amigos interesados ​​pueden escanear el código QR en WeChat para echar un vistazo. Bienvenidos a iniciar sesión para aprender Insertar descripción de la imagen aquí
.

El marco adopta la interfaz de usuario comúnmente utilizada en terminales móviles: Documento oficial de desarrollo de la nube de Vant WeChat: Documento de desarrollo de WeChat. Para conocer los métodos de importación de paquetes npm relacionados, puede leer una publicación de blog anterior: Cómo el subprograma WeChat usa pubsub-js para lograr la comunicación en tiempo real entre componentes y cómo construir el marco Vant> >Explicación detallada

1. Conceptos básicos del desarrollo de la nube WeChat.

Insertar descripción de la imagen aquí


Oficial:
WeChat Cloud Development es un servicio profesional de desarrollo de pequeños programas lanzado por el equipo de WeChat y Tencent Cloud.
Los desarrolladores pueden utilizar el desarrollo en la nube para desarrollar rápidamente miniprogramas, minijuegos, páginas web de cuentas oficiales, etc., y abrir de forma nativa las capacidades abiertas de WeChat.
Los desarrolladores no necesitan crear un servidor y pueden utilizar directamente la API proporcionada por la plataforma para el desarrollo empresarial sin autenticación.


Durante el desarrollo, utilicé principalmente tres capacidades básicas de desarrollo en la nube (base de datos, función de la nube, almacenamiento):
1. La base de datos en la nube
es una base de datos JSON, que es más simple para un front-end operar datos que SQL. Si tienes algunos conceptos básicos de front-end, puedes entender este tipo de datos.
2. Funciones de la nube.
El método de escritura de las funciones de la nube es el mismo que escribir nodejs, excepto que algunos métodos integrados de llamada relacionados son diferentes. Creo que escribir Las funciones de la nube según los documentos oficiales serán útiles para la mayoría de los usuarios de front-end, deben ser relajantes y agradables.

Ejemplo sencillo:

// 云函数入口文件
const cloud = require('wx-server-sdk') //导入云函数入口文件
cloud.init()
const db = cloud.database();//连接云数据库
// 云函数入口函数
exports.main = async (event, context) => {
    
    
//使用collection()方法发起请求,传入的是数据库集合名称,通过get()请求得到数据
 const {
    
    data} = await db.collection("login_duration").get()
 //当调用此云函数时,返回data数据
 return {
    
    
  data
 }
}

También me gustaría agregar una oración aquí: el número máximo predeterminado de datos solicitados para las funciones de la nube es 100, mientras que el número máximo de datos solicitados para los mini programas es 20. 3. El
almacenamiento en la nube
, como sugiere el nombre, es una ubicación para almacenar archivos, similar a un disco en la nube, y bastante En el servidor, se puede acceder a los archivos relevantes almacenados a través de los enlaces correspondientes. No entraré en detalles sobre esto, es algo muy simple.

2. Mini programa/frontal

Documento oficial: Guía básica de los miniprogramas de WeChat

Personalmente, lo principal que debemos recordar en la posición frontal es la función de enlace del ciclo de vida de la página. En el desarrollo real, el subprograma WeChat agregará la función de ciclo de vida predeterminada correspondiente a nuestra página JS de forma predeterminada y la función básica. datos datos que la página necesita usar (modificar Para datos de datos básicos, podemos usar directamente este método.setData()),
consulte el ejemplo, este es el archivo JS generado automáticamente por la herramienta de desarrollador después de crear la página en la aplicación. .json (debo decir que es muy reflexivo. Además, como el primer archivo JS que se ejecuta, hay una función de enlace de ciclo de vida onLaunch() separada en app.js , que es una función que se ejecutará cuando el usuario ingresa al mini programa. Puede usarse para obtener la hora de inicio de sesión del usuario o la solicitud de inicialización, etc.).

// pages/test/test.js
Page({
    
    

 /**
  * 页面的初始数据
  */
 data: {
    
    

 },

 /**
  * 生命周期函数--监听页面加载
  */
 onLoad(options) {
    
    

 },

 /**
  * 生命周期函数--监听页面初次渲染完成
  */
 onReady() {
    
    

 },

 /**
  * 生命周期函数--监听页面显示
  */
 onShow() {
    
    

 },

 /**
  * 生命周期函数--监听页面隐藏
  */
 onHide() {
    
    

 },

 /**
  * 生命周期函数--监听页面卸载
  */
 onUnload() {
    
    

 },

 /**
  * 页面相关事件处理函数--监听用户下拉动作
  */
 onPullDownRefresh() {
    
    

 },

 /**
  * 页面上拉触底事件的处理函数
  */
 onReachBottom() {
    
    

 },

 /**
  * 用户点击右上角分享
  */
 onShareAppMessage() {
    
    

 }
})

El otro es el archivo json en la página. Este archivo generalmente no es muy útil a menos que haya componentes o métodos relacionados que deban usarse por separado en su página actual. También hay un archivo wxml, que es equivalente a nuestro archivo HTML. pero también hay La diferencia es que podemos completar este archivo con los datos correspondientes a los datos en JS para hacer que los datos "se muevan" (this.setData () modifica los datos) usando llaves dobles (expresión de interpolación
) { { }} Complete las variables correspondientes. Cuando sea necesario, también puede completar alguna sintaxis JS básica, que suele ser una sintaxis simple, como expresiones ternarias.
Insertar descripción de la imagen aquí

3. Adición, eliminación, modificación y consulta de base de datos de miniprograma/función de nube

Los métodos para agregar, eliminar, modificar y verificar están escritos de la misma manera tanto en el miniprograma como en la función de la nube, la única diferencia es la forma de inicializar el desarrollo de la nube. El subprograma es directo wx.cloud.init(), mientras que la función de nube const cloud = require('wx-server-sdk') ;cloud.init()tiene un método de importación adicional como se mencionó anteriormente. Además, cabe señalar que el límite superior de datos de la base de datos obtenidos por el mini programa y la función de nube es diferente (20 elementos para el mini programa y 100 elementos para la función de nube, y los datos devueltos a la vez no pueden ser mayores de 1 millón)

1. Adición, eliminación, modificación, consulta y visualización de paginación frontal de la base de datos del mini programa

Documentos oficiales:
1. Agregar, eliminar, modificar y verificar la inicialización
2. API relacionadas
3. Operadores relacionados

La siguiente es solo una breve introducción a las API que utilicé durante el proceso de desarrollo. Para obtener más detalles, consulte el documento oficial 2 (API relacionadas) anterior. También puede dejar un mensaje en el área de comentarios para que todos aprendan. y progresar juntos.

Agregar método de clave: add(data:{})
Consulte el ejemplo:

const db = wx.cloud.database()
db.collection("login").add({
    
    
                  data: {
    
    data:"新增一条数据"}
               })

Método de eliminación de clave: remove(),
consulte el ejemplo:

const db = wx.cloud.database()
const _ = db.command()
//删除时一般都需要构造删除条件,where中传入的对象就是一个删除条件
db.collection("login").where({
    
    
                     _id: _.eq(id),
                     _openid
                  }).remove()

Cambie el método clave: update(data:{})
, consulte el ejemplo:

const db = wx.cloud.database()
db.collection("login").where({
    
    _id: _.eq(id)}.update({
    
    
                  data: {
    
    data:"修改一条数据"}
               })

Métodos de verificación clave: existen muchos métodos de consulta para where({})
. El siguiente ejemplo solo muestra el método más simple. Para conocer varias formas de crear consultas, se recomienda consultar la documentación oficial: Creación de condiciones de consulta
. Consulte el ejemplo. :

const db = wx.cloud.database()
const _ = db.command()
db.collection("community").where({
    
    
            _id: _.eq(id),
         }).get().then(res =>{
    
    
      console.log(res.data)
      }).catch(err =>{
    
    
      console.log(err)}
      )

Método de clave de paginación : skip(index) / limit(number)
El método de adquisición de paginación de la base de datos utiliza principalmente skip. Este método pasa el número de índice y devuelve los datos desde el número de índice en adelante (20 elementos en el mini programa, 100 en la nube). function) bar); limit() se usa para devolver la cantidad requerida de datos, pasando un valor, que se usa para controlar la cantidad de datos devueltos. El rango y los escenarios utilizados son mucho más pequeños que skip().
De manera similar, también puede utilizar dónde() para crear condiciones de consulta antes de ellas.
Consulte el ejemplo:

const db = wx.cloud.database()
//从数据库中第十条开始查询,只需要返回5条数据
db.collection("login").skip(10).limit(5).get().then(res =>{
    
    
	console.log(res.data);
}).catch(err =>{
    
    
console.log(err)
})

2. Agregar, eliminar, modificar y consultar la base de datos de funciones de la nube

La capacidad básica de Cloud Function para agregar, eliminar, modificar y consultar bases de datos es la misma, la diferencia es que el lado de Cloud Function tiene mayores permisos, puede modificar la información de otros usuarios y tiene una inicialización de desarrollo de nube diferente. Debido a que es casi lo mismo que el miniprograma, aquí hay solo un ejemplo de eliminación . Pruebe los demás usted mismo.

  • Función de nube
//云函数名称为新建Node.js云函数时的名称
//此处测试名称为:remove
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
// 云函数入口函数
exports.main = (event, context) => {
    
    
   try {
    
    
      db.collection("community").where({
    
    
         _id:event._id
      }).remove(res=>{
    
    
         result = res.errMsg
      }) 
      return true     
   } catch (err) {
    
    
      console.log(err)
      return false
   }
}
  • Llamar a funciones de la nube en el subprograma
let _id = e.target.dataset.id
wx.cloud.callFunction({
    
    
   name: "remove", //云函数名称,名称千万不能错,不然调用无效
   data: {
    
     _id },
   success: (res) => {
    
    
      console.log('remove success');
      console.log(res);
    },
  fail: (err) => {
    
    
     console.log('remove fail');
     console.log(err);
   }
})

4. Otros puntos que necesitan atención

  1. La adición, eliminación, modificación y consulta en el mini programa sólo se puede aplicar a usuarios individuales, ¿qué significa esto? Por ejemplo, todos deberían entender: si yo, como administrador, quiero eliminar un usuario en el mini programa, al eliminarlo, necesito usar el _openid del usuario (la identificación única de cada usuario en el mini programa, equivalente a el número de identificación en la vida real), pero en el mini programa solo puedes obtener y usar tu propio _openid personal, por lo que este uso requiere el uso de funciones de la nube para realizar las operaciones correspondientes, esto es agregar, eliminar y modificar el base de datos usando el mini programa. Hay una cosa a la que debe prestar atención al verificar adiciones, eliminaciones y modificaciones en el lado de la función de la nube.
  2. El límite superior predeterminado y máximo de límite () en el mini programa es 20, y el límite superior predeterminado y máximo en la función de nube es 1000.
  3. Algunas personas necesitan visualizar la base de datos backend. En este momento, puede considerar usar la administración de contenido CMS. El método de entrada es: WeChat Developer Tools > Cloud Development > More > Content Management . Active la administración visual de la base de datos backend en la página de administración de contenido. A través de De esta manera, puede obtener directamente un sistema de administración backend, a través del cual los usuarios pueden agregar, eliminar, modificar y verificar directamente la base de datos. Es muy
    adecuado para no desarrolladores. El escenario de uso son pequeños programas desarrollados por los clientes. Los clientes necesitan para agregar, eliminar y modificar personalmente la base de datos.
    Insertar descripción de la imagen aquí

por fin

Este resumen se encuentra en este punto por el momento y continuará actualizándose durante el proceso de aprendizaje posterior. Gracias por mirar. Si falta algún apoyo por favor critiquen y corríjanme, se los agradeceré.

Espero que esta publicación de blog pueda resultarle útil en el desarrollo de miniprogramas de WeChat.

Supongo que te gusta

Origin blog.csdn.net/weixin_51033461/article/details/125278746
Recomendado
Clasificación