首页 > 其他分享 >利用微搭低代码平台快速搭建问卷系统

利用微搭低代码平台快速搭建问卷系统

时间:2023-07-22 16:23:19浏览次数:41  
标签:const 微信 搭低 value 利用微 console 推送 模板 问卷

可爱鲸官网:https://keaijing.com.cn/

项目简介

  • 利用微搭低代码平台搭建一个问卷小程序,主要实现微信支付和消息推送功能。
  • 微信支付利用微搭自带的接口可以快速实现。
  • 消息推送分为两种,利用小程序自带的服务通知和自己利用微搭的云函数来实现公众号推送。

微信支付

首先可以新建微搭现有的微信支付API,但是要提前准备好认证的小程序和商户号,如下图所示。

认证和授权之后就可以完成API的创建,如下图所示。

然后在使用的时候就可以调用API接口,传入相关参数之后,就可以轻松完成微信支付功能。

消息推送

  • 服务通知类型的消息推送。首先要在微信公众平台选择好要使用的推送模板。

选用之后要创建一个消息的订阅,在适当的时候弹出订阅通知。

要注意的是模板id要改成自己选择模板的对应id。

用户同意订阅之后,就可以在适当的时候(例如消息审核通过的时候)给用户推送服务通知。具体实现代码如下:

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})

module.exports = async function (params, context) {
  try {
    const result = await cloud.openapi({appid: context.env.currentAppId}).subscribeMessage.send({
        "touser": context.env.currentOpenId,
        "page": 'changePage',
        "lang": 'zh_CN',
        "data": {
          "thing1": {
            "value": params.thing1
          },
          "thing4": {
            "value": params.thing4
          },
          "time6": {
            "value": params.time6
          },
          "thing7": {
            "value": params.thing7
          }
        },
        "templateId": params.templateId,
        "miniprogramState": 'trial'
      })
    return result
  } catch (err) {
    return err
  }
};

需要注意的是,选择的一次性模板每次都要用户先同意才可以发送消息通知,长期模板只需要用户同意一次就可以完成推送,但是长期模板目前只支持一些特定行业,大家可以酌情选择。

  • 公众号消息推送

    由于公众号和小程序的数据是两个部门的,我们要利用公众号推送消息的时候就要使用公众号的消息模板,具体推送方式也是有区别的,要获取的公众号的APPID和APPSECRET以及当前微搭的环境,然后可以根据微信官方的文档请求公众号的一些信息进行推送。

'use strict';

const axios = require('axios');

const { init } = require("@cloudbase/node-sdk");



const app = init({

  env: "微搭环境"

});



const db = app.database();

const _ = db.command;



exports.main = async (event, context) => {

  console.log("Hello World");

  try {

​    const APPID = "";

​    const APPSECRET = "";

​    const tokenUrl = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${APPID}&secret=${APPSECRET}`;

​    console.log(111, tokenUrl);



​    const tokenResponse = await axios.get(tokenUrl);

​    if (tokenResponse.status === 200) {

​      const tokenData = tokenResponse.data;

​      console.log(222, tokenData);



​      const ACCESS_TOKEN = tokenData.access_token;



​      const userListUrl = `https://api.weixin.qq.com/cgi-bin/user/get?access_token=${ACCESS_TOKEN}&next_openid=`;

​      const userListResponse = await axios.get(userListUrl);

​      if (userListResponse.status === 200) {

​        const userListData = userListResponse.data;

​        const total = userListData.total;

​        const openidList = userListData.data.openid;

​        const nextOpenid = userListData.next_openid;

​        

​        console.log("Total users:", total);

​       // console.log("User IDs:", openidList);



​        for (const openid of openidList) {

​          const requestData = {

​            "touser": openid,

​            "template_id": "模板id",

​            "miniprogram": {

​              "appid": "wx5883cb3b0cb51b6b",

​              "page": "index"

​            },

​            "data": {

​              "first": {

​                "value": "通知"

​              },

​              "keyword1": {

​                "value": ""

​              },

​              "keyword2": {

​                "value": ""

​              },

​              "keyword3": {

​                "value": new Date().toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' })

​              },

​              "remark": {

​                "value": ""

​              }

​            }

​          };



​          const sendMessageUrl = `https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${ACCESS_TOKEN}`;

​          const sendMessageResponse = await axios.post(sendMessageUrl, requestData);

​           if (sendMessageResponse.status === 200) {

​             console.log("Message sent successfully!"); 

​           }

​        }

​      }

​    }

  } catch (error) {

​    console.log(444, error);

​    return error;

  }



  return event;

};

以上信息有不熟悉的地方欢迎与我们可爱鲸联系。需要了解数字化信息,数字化转型也欢迎一起沟通交流。

可爱鲸官网:https://keaijing.com.cn/

标签:const,微信,搭低,value,利用微,console,推送,模板,问卷
From: https://www.cnblogs.com/keaijing/p/17573561.html

相关文章

  • Tita 升级|360 评估问卷库上线
    Tita-OKR和新绩效一体化管理平台1. 新增问卷库模块,快速套用创建360评估活动使用场景:企业之前没有做过360评估活动,不知道如何创建合适的问卷;或者企业想用一些新的问卷进行评估tips:可以直接在问卷库选择合适的模板创建360评估活动,或者创建360评估活动后在问卷页快速套用......
  • 数据分享|R语言逐步回归、方差分析anova电影市场调查问卷数据可视化|附代码数据
    全文链接:http://tecdat.cn/?p=30680最近我们被客户要求撰写关于电影市场调查问卷数据的研究报告,包括一些图形和统计输出。这是一份有关消费者对电影市场看法及建议的调查报告,我们采取了问卷调查法,其中发放问卷256份,回收有效问卷200份 ( 点击文末“阅读原文”获取完整代码数据**......
  • 911s5倒闭后做海外调查问卷还有好用的海外ip代理吗?
    911s5这家知名的海外ip代理宣布倒闭,这给海外调查问卷和其他需要海外ip代理的业务带来了一定的影响。许多行业的从业者在911s5代理倒闭之前,大多数人都使用它的代理服务。然而,现在911s5的退出让许多人感到手足无措。在过去,911s5代理平台在做海外调查问卷方面表现卓越,因此市场上目前......
  • 问卷分析笔记(2)信度效度分析
    在对量表问卷展开分析之前,必须要经过信度和效度检验。信度检验,可以理解为可靠性检验(Reliabilityindices),为可靠度、一致性、稳定性。用于测量样本回答结果是否可靠,即样本有没有真实作答量表类题项,最常用的检验办法是使用科隆巴赫系数(Cronbach’salpha或Cronbach’sα)。一般......
  • 问卷分析(2) 信度效度分析(续)
    Rmsea<0.08其他的指标也基本符合要求:评价标准如下表所示。总之,效度分析一般是比较难的,数据拿到手之后,通过spss的因子分析很难得出与预设维度相同的结果,再加上有些同学说spss不适合做验证性因子分析,所以索性先通过spss的因子分析把不符合预设维度的题删掉,然后剩余的题目放入a......
  • 问卷中多选题该怎么分析?
    一、案例与问卷本研究选取大学生作为研究对象,旨在通过理财认知、理财现状、理财偏好三个方面,对大学生理财产品了解情况、使用需求进行调查。本次问卷共分为四个部分:第一......
  • R语言因子分析、相关性分析大学生兼职现状调查问卷数据可视化报告
    全文链接:http://tecdat.cn/?p=31765原文出处:拓端数据部落公众号随着大学的普及教育,大学生就业形势变得更加困难,很多学生都意识到这个问题。所以走出象牙塔,去接触社会,来增......
  • (一)钉钉宜搭低代码应用开发高级认证之远程API调用方法示例
    大家好,我是代号六零一,在此分享近期学习的低代码开发知识~,如有疑问欢迎在评论区下方点评,作者愿与您一道共同探讨:一、创建数据源  二、请求地址配置钉钉路径示例:/d......
  • (转载)私人问卷收集系统-Surveyking问卷收集系统
    前言但凡提及问卷收集系统,问卷星与腾讯问卷通常都为大家首选问卷调查系统。担心数据安全,海量问卷管理不便,工作流创建困难?快速部署自有问卷调查系统开始你的问卷调查之旅......
  • 小程序-调查问卷
    1.案例分析本节将通过开发一个调查问卷的案例来学习常用表单组件的使用,以及如何收集用户填写的表单信息提交给服务器,或者从服务器获取数据后显示在表单中。实现效果如下......