uni-app添加短信模板报错:未见短信触发处,测试请用测试模板

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app添加短信模板报错:未见短信触发处,测试请用测试模板
这个错误要怎么解决。

5分钟前我按下面文档说的,用uni_sms_test这个模板ID成功发送了短信。 https://doc.dcloud.net.cn/uniCloud/sms/dev.html

2 回复

这是短信签名/模板驳回了吧?扫描文档中的二维码,加群咨询一下处理方法 相关文档


在uni-app中集成短信功能,通常需要依赖第三方短信服务提供商(如阿里云短信服务、腾讯云短信服务等)。如果在添加短信模板时遇到“未见短信触发处”的错误,这通常意味着在你的代码中缺少了触发发送短信的逻辑。下面我将给出一个使用阿里云短信服务的示例代码,帮助你理解如何在uni-app中集成并触发短信发送。

步骤一:配置阿里云短信服务

  1. 在阿里云控制台申请短信服务并获取AccessKeyId和AccessKeySecret。
  2. 创建一个短信模板,记录模板CODE。

步骤二:安装SDK

在uni-app项目中,你可以通过npm安装阿里云短信服务的SDK(注意:uni-app环境可能需要对SDK做一些适配或使用其他方式调用API)。

npm install aliyun-sdk

步骤三:编写发送短信的逻辑

在需要发送短信的地方(比如用户注册后),编写以下代码:

// 引入必要的模块
const RPC = require('aliyun-sdk/lib/rpc');
const core = require('aliyun-sdk/lib/core');

// 配置短信服务客户端
const client = new RPC.Client({
  accessKeyId: 'your-access-key-id',
  accessKeySecret: 'your-access-key-secret',
  endpoint: 'https://dysmsapi.aliyuncs.com',
  apiVersion: '2017-05-25'
});

// 发送短信
function sendSMS(phoneNumber, templateCode, templateParams) {
  const params = {
    RegionId: "cn-hangzhou",
    PhoneNumbers: phoneNumber,
    SignName: "your-sign-name",
    TemplateCode: templateCode,
    TemplateParam: JSON.stringify(templateParams)
  };
  
  client.request('SendSms', params, (err, response) => {
    if (err) {
      console.error('Send SMS failed:', err);
    } else {
      console.log('Send SMS success:', response);
    }
  });
}

// 示例调用
const phoneNumber = '12345678901';
const templateCode = 'SMS_TEMPLATE_CODE'; // 替换为你的模板CODE
const templateParams = { code: '123456' }; // 替换为你的模板参数

sendSMS(phoneNumber, templateCode, templateParams);

注意事项

  1. 安全性:不要在客户端代码中直接暴露AccessKeyId和AccessKeySecret,应通过后端服务进行中转。
  2. 测试模板:确保使用的是测试模板和测试手机号,避免发送垃圾短信或产生费用。
  3. 错误处理:完善错误处理逻辑,确保发送失败时有适当的反馈机制。

通过上述步骤,你应该能够在uni-app中成功集成并触发短信发送功能。

回到顶部