小程序上线遇到了三个麻烦:
1.由于涉及功能到发表图文信息,属于社交范畴,所以需要企业账号。个人账号没有权利去发布。
2.登录授权不规范,对一些开放的内容不能够设置授权,应公开。
3.没有对敏感词进行检测。有可能会导致发布的信息违法。
本文是记录第三个问题的解决方案
敏感词检测以及一个重复点击触发事件的小bug:
关于敏感词检测:
简单言之调用微信自带的api(据了解只能扫描政治以及黄色信息)
这玩意有点像自然语言处理!!!有点高级的。
摆上链接自己看吧!:微信开发者文档
直接放我能用的代码:
js部分:
wx.cloud.callFunction({
name: 'ContentCheck',
data: {
txt:that.data.telValue
},
fail(res) {
console.log('ContentCheck-res',res)
wx.showToast({
icon: 'none',
title: '文字违规',
})
success(res){执行剩下代码}
云函数部分:
const cloud = require('wx-server-sdk')
cloud.init({
env:'环境名称'
})
// 云函数入口函数
exports.main = async (event, context) => {
console.log(event.txt)
try{
return await cloud.openapi.security.msgSecCheck({
content:event.txt
})
}catch(err){
return err
}
云函数json部分:
{
"permissions": {
"openapi": [
"security.msgSecCheck"
]
}
}
这样写能检测到是否错误 但是有个问题:当输入违规词 云函数就报错,
报错信息含有报错errcode:87014 。 按照这个逻辑写:运行没问题,catch到了。就这样先摆着了。
关于快速点击按钮能提交多次重复内容。
这个原因是由于 数据的反馈有滞后造成的?(我的理解)
想法一:设置时间延迟?(感觉有点单纯)
想法二:改为同步?(不知道咋写,也不知道想法对不对)
想法三:设置判断(可实现)
//wxml代码
bindtap="{{!buttonClicked?'upload':''}}" //按钮设置
//js代码 在data 定义:
data: {
buttonClicked:false}
//在upload(即你按钮名称),如果你点击过后
that.setdata({
buttonClicked:true})
逻辑较为简单。
对于小程序上线问题:建议各位有了初步功能之后就去申请上线,你认为对的规则,别人不认可。
最后结语:哎~折腾小程序也有俩个月了,修修改改到了五月份,什么时候才能正式面向大家呢???。
头脑思想狭隘的人容易受到无聊的侵袭,其原因就是他们的智力纯粹服务于他们的意欲,是意欲的工具。
–叔本华 《人生的智慧》