分享使用tcb-router路由开发的云函数短信平台SDK

上篇文章我们分享了如何使用纯的云函数开发的榛子短信短信(http://smsow.zhenzikj.com)SDK,由于微信对于未付费云函数个数的限制,这种方法存在缺陷,经过改进,使用tcb-router作为路由,这样只需要整合到一个云函数中就行
下载sdk和demo: http://smsow.zhenzikj.com/sdkdownload/weixinmp_yun2.html

目前SDK中包含三个功能: send(发送短信)、balance(查询余额)、findSmsByMessageId(查询单条短信)

SDK源码

// 云函数入口文件
const cloud = require(‘wx-server-sdk‘)
const TcbRouter = require(‘tcb-router‘)
const rq = require(‘request‘)
const baseUrl = ‘https://smsdeveloper.zhenzikj.com‘

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  const app = new TcbRouter({ event });

  app.router(‘send‘, async (ctx) => {
    ctx.body = new Promise(resolve => {
      rq({
        url: baseUrl + ‘/sms/send.html‘,
        method: "POST",
        json: true,
        form: {
          apiUrl: event.apiUrl,
          appId: event.appId,
          appSecret: event.appSecret,
          message: event.message,
          number: event.number,
          messageId: event.messageId,
        }
      }, function (error, response, body) {
        resolve({ body: body, error: error })
      });
      // setTimeout(() => {
      //   resolve(‘male‘);
      // }, 500);
    });
  });
  app.router(‘balance‘, async (ctx) => {
    ctx.body = new Promise(resolve => {
      rq({
        url: baseUrl + ‘/sms/balance.html‘,
        method: "POST",
        json: true,
        form: {
          apiUrl: event.apiUrl,
          appId: event.appId,
          appSecret: event.appSecret
        }
      }, function (error, response, body) {
        resolve({ body: body, error: error })
      });
    });
  });
  app.router(‘findSmsByMessageId‘, async (ctx) => {
    ctx.body = new Promise(resolve => {
      rq({
        url: baseUrl + ‘/sms/findSmsByMessageId.html‘,
        method: "POST",
        json: true,
        form: {
          apiUrl: event.apiUrl,
          appId: event.appId,
          appSecret: event.appSecret,
          messageId: event.messageId
        }
      }, function (error, response, body) {
        resolve({ body: body, error: error })
      });
    });
  });

  return app.serve();
}

  

如何使用SDK

//index.js
const app = getApp()

Page({
  data: {

  },

  onLoad: function() {

  },

  // 发送短信
  send: function () {
    wx.cloud.callFunction({
      name: ‘zhenzisms‘,
      data: {
        $url: ‘send‘,
        apiUrl: ‘https://sms_developer.zhenzikj.com‘,
        appId: ‘你的appId‘,
        appSecret: ‘你的appSecret‘,
        message: ‘你的验证码为:3333‘,
        number: ‘15811111111‘,
        messageId: ‘‘
      }
    }).then((res) => {
      console.log(res.result.body);
    }).catch((e) => {
      //console.log(e);
    });
  },
  // 查询余额
  balance: function () {
    wx.cloud.callFunction({
      name: ‘zhenzisms‘,
      data: {
        $url: ‘balance‘,
        apiUrl: ‘https://sms_developer.zhenzikj.com‘,
        appId: ‘你的appId‘,
        appSecret: ‘你的appSecret‘
      }
    }).then((res) => {
      console.log(res.result.body);
    }).catch((e) => {
      //console.log(e);
    });

  },
  // 查询单条信息
  findSmsByMessageId: function () {
    wx.cloud.callFunction({
      name: ‘zhenzisms‘,
      data: {
        $url: ‘findSmsByMessageId‘,
        apiUrl: ‘https://sms_developer.zhenzikj.com‘,
        appId: ‘你的appId‘,
        appSecret: ‘你的appSecret‘,
        messageId: ‘aaaabbbbba‘
      }
    }).then((res) => {
      console.log(res.result.body);
    }).catch((e) => {
      //console.log(e);
    });

  }
})

  

原文地址:https://www.cnblogs.com/seeto/p/10518363.html

时间: 2024-10-07 03:15:42

分享使用tcb-router路由开发的云函数短信平台SDK的相关文章

创蓝253云通讯短信平台变量说明

253云通讯变量说明文档1 变量短信发送用户通过HTTP的POST方式提交短信发送请求.1.1 系统提交URL地址http://sms.253.com/msg/HttpVarSM1.2 参数定义序号 参数 说明1 account 用户账号2 pswd 用户密码3 msg 短信模板.其中的变量用"{$var}"来替代.例如:"{$var},你好!,请你于{$var}日参加活动",该短信中具有两个变量参数.编码为UTF-8格式.最多支持20个{$var}4 params

借助云开发实现小程序短信验证码的发送

最近在做小程序验证码登陆时,用到了短信发送验证码的需求,自己也研究了下,用云开发结合云函数来实现验证码短信发送还是很方便的. 老规矩,先看效果图 这是我调用腾讯云的短信平台发送的登陆验证码.核心代码其实只有下面这么多是不是感觉实现起来特别简单,怎么说呢,我们代码调用其实就这么几行,就可以实现短信的发送,但是腾讯云短信模板的审核比较繁琐,还有我们先去申请短信模板,短信模板审核通过后才可以使用.我们就先来说代码实现,然后再带大家简单的学习下短信模板的申请. 一,安装node类库 其实我们这里用到了云

1、背景介绍及移动云MAS平台 --短信平台

目的: 刚开发完成一套短信平台以及一个Web端短信发送系统,短信平台耗时两个周.短信发送系统耗时两个多月,开发使用的技术没什么高科技含量,在此主要是记录下很多情况的处理方案,希望能让大家提出改善方案和宝贵意见. 项目背景: 起因是单位新政策,领导要求能够通过短信回复操控工作流审批.于是年初我接到了单位这个项目,开发一个短信平台. 之前单位有过一个短信平台,二零零几年开发的了,具有一些问题,首先是无法发送长短信,这个是由于移动的组件所限,只能发送200字以内的短信,而且会被拆分每70字发送一条:其

使用阿里云的短信服务发送短信

在给客户开发一个信息发送功能的时候,需要涉及到短信的发送,短信发送一般不同的厂商提供的接口不同,处理方式也不太一样,之前用的一个厂商的,提供了一个封装类就很容易发送短息,因此都是基于HTTP协议做的一个数据发送而已,接触阿里云的短信服务器后,发现阿里云还增加了非常多的参数,其中包括一些秘钥和签名的内容.短信发送由于比较敏感原因,大多数应用场景是验证码或者一些固定的信息提醒,因此厂商都要求客户按预定的模板来发送,这样限制了短信的应用场景,只能根据业务进行消息定制了.本篇随笔主要介绍阿里云的短信服务

短信开发系列(三):短信接收引擎

短信开发系列目录: 短信开发系列(一):GSM手机短信开发初探短信开发系列(二):GSM手机短信开发之短信解码短信开发系列(三):短信接收引擎 之前写了短信接收处理的一些内容,今年事情实在太多了,就停顿了这么一大段的时间.接下来会继续完成相关的内容. 今天先写用之前写的短信类库的一个应用,短信接收引擎.可以用在处理一些短信的提醒:作为前面两篇文章的一个实战运用,可以作为一个多线程.委托和事件.串口等方面知识的一个综合运用. 先来分析一下整个程序的流程: - 启动线程 - 定时运行线程主函数 -

html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能详解

在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用html5来实现他们.简单的让你大开眼界. HTML5 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这...有 HTML5 启动模板.空白图片.打电话和发短信.自动完成等等,帮助你提高开发效率的同时,还带来了更炫的功能.好了,我们今天就来做一做看看效果吧!! 看代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio

html5开发手机打电话发短信功能

原文:http://www.open-open.com/code/view/1449843459332 在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用html5来实现他们.简单的让你大开眼界. HTML5 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这...有 HTML5 启动模板.空白图片. 打电话和发短信.自动完成等等,帮助你提高开发效率的同时,还带来了更炫的功能.好了,我们今天就来做一做看看效果吧!! 看代码: <!DO

2、架构设计 --短信平台开发

二.架构设计 1.网络架构设计 由于单位网络问题,平常使用的内网(管理网)不能直接连接互联网,需要由外联网中介.同时由于安全策略的缘故,外联网与管理网是单向访问(外联网不能访问管理网,管理网可以访问外联网),所以数据库只能放在外联网上. 网站架构图如下 2.下行短信发送 这个流程画时序图比流程图更直观一点. 首先第三方系统调用短信平台的WebService接口,将下行短信数据存入数据库. 然后由外联网的Windows服务循环访问数据库,若有数据则调用移动云MAS组件,将短信信息发送到云MAS平台

【Java】腾讯云发送短信验证码-Struts2

腾讯云有一个免费的套餐,注册之后每月就有100条免费的短信套餐,用来测试很方便. appid,appkey,templateId,smsSign都需要获得面给套餐后申请.申请大概半小时可以搞定. package com.hj.action; import com.github.qcloudsms.SmsSingleSender; import com.github.qcloudsms.SmsSingleSenderResult; import com.github.qcloudsms.httpc