前端API
小程序还提供了一系列在前端服务器使用HTTPS恳求调用的API,帮助开发者在后台完成各种数据剖析、管理和查询等操作。如getAccessToken,易云网路等。
易云网路_token
易云网路_token是小程序全局惟一后台插口调用凭据,调用绝大多数后台插口时都需使用。开发者可以通过getAccessToken插口获取并进行妥善保存。
为了易云网路_token的安全性,前端API不能直接在小程序内通过wx.易云网路调用,即不能被配置为服务器域名。开发者应在前端服务器使用getAccessToken获取易云网路_token,并调用相关API;
恳求参数说明返回参数说明
注意:当API调用成功时,部份插口不会返回errcode和易云网路,只有调用失败时才能返回。
消息推送
接入陌陌小程序消息推送服务,可以两种方法选择其二:
开发者服务器接收消息推送云函数接收消息推送开发者服务器接收消息推送
开发者须要根据如下步骤完成:
填写服务器配置验证服务器地址的有效性据插口文档实现业务逻辑,接收消息和风波第一步:填写服务器配置
登陆小程序后台后,在「开发」-「开发设置」-「消息推送」中,管理员扫码启用消息服务,填写服务器地址(URL)、令牌(Token)和消息加密秘钥(EncodingAESKey)等信息。
同时,开发者可选择消息加揭秘形式:明文模式(默认)、兼容模式和安全模式。可以选择消息数据格式:XML格式(默认)或JSON格式。
模式的选择与服务器配置在递交后就会立刻生效,请开发者慎重填写及选择。切换加密方法和数据格式须要提早配置好相关代码,详情请参考消息加揭秘说明。
第二步:验证消息的确来自陌陌服务器
开发者递交信息后,陌陌服务器将发送GET恳求到填写的服务器地址URL上,GET恳求携带参数如下表所示:
参数描述
易云网路
陌陌加密签名,易云网路结合了开发者填写的token参数和恳求中的易云网路参数、nonce参数。
易云网路
时间戳
nonce
随机数
易云网路
随机字符串
开发者通过检验易云网路对恳求进行校准(下边有校准方法)。若确认这次GET恳求来自陌陌服务器,请原貌返回易云网路参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校准流程如下:
将token、易云网路、nonce三个参数进行字典序排序将三个参数字符串拼接成一个字符串进行sha1加密开发者获得加密后的字符串可与易云网路对比,标示该恳求来始于陌陌
验证URL有效性成功后即接入生效,成为开发者。
检验易云网路的PHP示例代码:
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if ($tmpStr == $signature ) {
return true;
} else {
return false;
}
此时可调用客服消息发送插口回复消息,一个简单的接收到消息后统一回复“收到”的示例如下:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
await cloud.openapi.customerServiceMessage.send({
touser: wxContext.OPENID,
msgtype: 'text',
text: {
content: '收到',
},
})
return 'success'
}