社区/文章分享/如何用云开发做一个“原创”助手

如何用云开发做一个“原创”助手

什么是原创助手?

因为我平时会发很多原创文章,百度搜一堆都是花钱的。小程序搜一堆要么是不能用的,要么就是让你免费用几次,然后变相和你收费。于是萌生了一个想法,自己写一个文本转换接口。因为本小程序核心功能在于转化文字生成伪原创,这里声明一下:这个程序是我自己用的,有时候我会洗一段话~自己再改改,如果你们用,请尊重原创,不要用于非法用途。

核心功能实现

在开发方面,我使用了云开发VantUI作为我的主要研发工具。而具体开发层面,主要遇到的问题是两点:

  1. 文本安全检测
  2. 转化接口调用

在小程序中实现文本安全检测

因为本小程序核心功能需要用户输入/复制文字,所以必须要使用文本安全检测,要不然审核肯定不通过。在小程序云函数中调用 msgSecCheck。这里可以使用云开发的云调用功能,实现免鉴权调用微信的文本安全检测功能。

首先需要在云函数的 config.json 中添加云调用权限,这样才能免鉴权调用。

{
  "permissions": {
    "openapi": ["security.msgSecCheck"]
  }
}

随后,就可以在云函数中直接调用相关接口进行安全检测

exports.main = async (event, context) => {
  // 文字内容安全校验
  const checkResult = await cloud.openapi.security.msgSecCheck({
    content: event.content,
  });
  return checkResult;
};

具体说明可以参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.msgSecCheck.html

在云函数调用转化接口

由于我的转化接口放置在自己的服务器上,为了安全可控,我将和自己服务器的沟通放置在了云函数中,在云函数中和自己的服务器进行沟通,避免了被用户直接抓包,进而攻击我的服务器。

具体的实现方面,我在云函数中安装了 axios 来向自己的服务器发送请求,从而实现了在云函数中请求自己的转化服务器

const axios = require("axios");
let form = new FormData();
const requestResult = await axios({
  method: "post",
  url: url[event.type],
  headers: form.getHeaders(),
  data: form,
});

作者信息: citizen four,独资法人,主要研究微信公众号/小程序流量主,个人公众号 — 干货运营

总结

我的大部分小程序是基于 LNMP 开发的,这次使用云开发完全是因为传统模式开发效率低、资源投入高(服务器、域名)等问题,云开发很好的解决了这个问题。有小微企业、个人团队、工作室可以考虑一下云开发,无需自建服务器、无需自建数据库、无需自建存储和 CDN、原生 serverless 云服务,你值得拥有。