如何实现短信跳转小程序?

先看效果

小程序支持短信跳转小程序了,可以说是打开了一个巨大的流量入口。

效果过程分析

  1. 从短信到网页
  2. 从网页到小程序

那么就涉及到两个点

  1. 发送短信
  2. 网页跳转

实现步骤分析

  1. 先要有个网页,可以跳转到小程序
  2. 然后发送短信,短信内容包含地址

具体实现步骤

1. 先要有个网页,可以跳转到小程序

首先开通静态网页托管

image.png

创建一个云开发的项目,点击左上方「云开发」按钮

image.png

点击静态网页进行开通。

然后点击「下载资源包」,解压缩我们会看到

image.png

第一个是云函数,第二个是跳转的网页。首先我们编辑下跳转的网页

image.png

打开文件编辑以下 6 处即可(通过“replace”搜索可以快速定位修改的地方):

image.png
image.png

添加好对应参数后,上传部署到你的静态托管文件目录中
image.png

这个时候网页这块就已经搞定了,接下来部署下云函数。

刚才的 cloudfunctions 文件夹下面有个 public 文件夹里面的 index.js 复制内容到自己新建的云函数的 index.js 中,然后替换自己小程序的path(友情提示:覆盖完成后别忘记上传部署云函数)

image.png

这个云函数的作用,主要是静态网页会调用它生成跳转的URL Scheme。以下为网页调用这个函数的代码区域

image.png

到这里网页显示与网页跳转就只差最后一步了,设置云函数权限。

第一步,点击设置,滑到地步打开「未登录用户权限开关」。
image.png
第二步,点击云函数,修改权限复制下方代码覆盖即可。
image.png

自定义安全规则配置:

{
    "*": {
    "invoke": "auth != null"
    },
    "public": {
    "invoke": true
    }
}
复制代码

2. 然后发送短信,短信内容包含地址

创建一个sendSms到云函数,复制以下代码:

const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.cloudbase.sendSms({
        env: 'online-12345678910', // 替换环境ID
        content: '云开发支持短信跳转小程序了',// 替换短信文案
        path: '/index.html',// 替换网页路径
        phoneNumberList: [
          "+8612345678910"
        ]
      })
    return result
  } catch (err) {
    return err
  }
}
复制代码

替换以上 3 处内容即可。

  1. 环境ID,可以在设置中找到
  2. 短信内容,这个自己自定义
  3. 网页路径,在静态网页托管中点击上传到网页即可查看复制

image.png

修改完成后,部署即可。


作者:宇明
链接:https://juejin.cn/post/6916051417434161166
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2021-01-12 16:33  风吹麦浪打  阅读(13688)  评论(3编辑  收藏  举报