就拿微信的安全内容审核api作为例子说下,
1、先开通云服务:
点击左上角云开发按指引开通
2、我们先创建一个function文件夹
这里我放在根目录,步骤没有做完编译之后文件夹是隐藏的,如果想使之可见可以放在static目录下,
3、定义下云函数的路径 :
"cloudfunctionRoot": "./functions/", // 这一行就是标记云函数目录的字段
4、function文件夹下创建一个名为check的云函数 其中三个文件如下
config.json:
{
"permissions": {
"openapi": [
"security.msgSecCheck" //接口名
]
}
}
index.js:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
try {
console.log('待检测文本:' + event.content);
let result = await cloud.openapi.security.msgSecCheck({
content: event.content
})
console.log('result:' + JSON.stringify(result));
if (result && result.errCode.toString() === '87014') {
return {
code: 300,
msg: '内容含有违法违规内容',
data: result
}
} else {
return {
code: 200,
msg: 'ok',
data: result
}
}
} catch (err) {
if (err.errCode.toString() === '87014') {
return {
code: 300,
msg: '内容含有违法违规内容',
data: err
}
}
return {
code: 400,
msg: '调用security接口异常',
data: err
}
}
}
package.json:
{
"name": "check",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "latest"
}
}
5、此外项目根目录创建一个vue.config.js
const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = {
configureWebpack: {
plugins: [
new CopyWebpackPlugin([
{
from: path.join(__dirname, 'functions'),
to: path.join(__dirname, 'unpackage/dist', process.env.NODE_ENV === 'production' ? 'build' : 'dev', process.env.UNI_PLATFORM, 'functions')
}
])
]
}
}
6、然后npm安装一下 copy-webpack-plugin模块
npm install -save copy-webpack-plugin
开始编译,编译成功后
7、这个时候开发者工具上的function文件夹应该会变得可见,右击check,然后点击创建并部署:云端安装依赖。
然后就可以实验自己创建的云函数啦