El desarrollo en la nube del applet de WeChat se da cuenta del envío de mensajes de suscripción

El código es para uso propio, copia y pega, y úsalo directamente. Si lo deseas, puedes consultar los artículos de otros bloggers y contribuir con muchas visitas a la página. Muchas gracias.

Cuando estamos desarrollando proyectos de subprogramas de WeChat, especialmente subprogramas de tipo centro comercial, necesitamos la ayuda de mensajes de suscripción.Los mensajes de suscripción son para instanciar el contenido de la plantilla y enviarlos directamente al teléfono móvil designado WeChat .
Inserte la descripción de la imagen aquí

Por ejemplo, cuando estamos desarrollando pequeños programas para centros comerciales, cuando un usuario compra un producto, el comerciante necesita recibir información como quién compró el producto, qué centro comercial se compró, cuándo se compró y dónde está la dirección de entrega.
Aunque estos se pueden ver en la base de datos, es muy inconveniente y no se pueden recibir en tiempo real. El subprograma WeChat actualmente no es compatible con la función push de APP, este mensaje de suscripción es el más cercano a la función push.
Primero, el primer paso es ir a la plataforma pública de WeChat (https://mp.weixin.qq.com/) , iniciar sesión en su cuenta y buscar el módulo de mensaje de suscripción en la barra de funciones de la izquierda.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Haga clic en Agregar y seleccione la plantilla que se adapte a sus necesidades.
Luego regresa al editor.
Primero, primero escribimos funciones en la nube :

const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
    
    
  try {
    
    
    const result = await cloud.openapi.subscribeMessage.send({
    
    
        touser: event.openid,           //要发送用户的openid
        page: 'pages/demo/demo',        //用户通过消息通知点击进入小程序的页面
        lang: 'zh_CN',      //进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
        data: {
    
               //要发送的数据,这里需要注意的事项,我在下面说
          thing1:{
    
    
            value:event.title
          },
          time3:{
    
    
            value:event.time
          }
        },
        templateId: '模板ID',   //订阅消息模板ID
        miniprogramState: 'formal'   //跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版

      })
    return result
  } catch (err) {
    
    
    return err
  }
}

Los estudiantes pueden aplicar directamente la plantilla anterior.
Luego cambie el contenido de package.json:
Inserte la descripción de la imagen aquí

Agregue el contenido seleccionado en el cuadro, luego cárguelo e impleméntelo.
Después de eso, escribimos el archivo de la página.
En WXML, usamos botones como medio.

<button bindtap="sendNew" type="primary">点我</button>

La función JS se escribe de la siguiente manera:

  sendNew(res){
    
    
    var that = this
    var time = util.formatTime(new Date());
    wx.requestSubscribeMessage({
    
    
      tmplIds: ['模板ID'],
      success(res){
    
    
        wx.cloud.callFunction({
    
    
          name:'subscribe',
          data:{
    
    
            openid:'需要接收的微信的openid',
            title:'二手物品',
            time:time
          },
          success(res){
    
    
            console.log('成功',res);
          },
          fail(res){
    
    
            console.log('失败',res);
          }
        })
      }
    })
  },

Primero, necesitamos darle al usuario un cuadro de aviso y permitirle autorizar antes de que podamos usar la función de suscribirse a noticias. Este wx.requestSubscribeMessage es la función de abrir el cuadro de solicitud de autorización. El ID de la plantilla está ahí cuando se agrega la plantilla de mensaje de suscripción en ese momento.
Inserte la descripción de la imagen aquí
El detalle clave aquí es el valor de los datos. Primero hagamos clic en los detalles en mi plantilla.
Inserte la descripción de la imagen aquí
Aquí los pares clave-valor deben corresponder. Las claves de mi plantilla son thing1 y time3 , por lo que los datos en mi función en la nube se escriben como thing1 Y time3 , el valor de la clave se pasa de la función JS de la página de la página , el nombre puede ser cualquier cosa, pero no se equivoque, es event.xxx. Otro punto es que la mayoría de la gente debería saber cómo obtener el openid del usuario. Si no lo sabe, puede ir a mi blog anterior para leerlo. Ya he hablado al respecto (https://blog.csdn.net/m0_46171043 / artículo / detalles / 107452518).
Los resultados recibidos son los siguientes:
Inserte la descripción de la imagen aquí

Si tiene alguna pregunta, comuníquese con QQ: 505417246. Siga la cuenta oficial de WeChat a
continuación, puede recibir el applet de WeChat, Vue, TypeScript, front-end, uni-app, full stack, Nodejs, Python y otros materiales de aprendizaje prácticos
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_46171043/article/details/108184486
Recomendado
Clasificación