小程序上线遇到了三个麻烦:
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})
逻辑较为简单。
对于小程序上线问题:建议各位有了初步功能之后就去申请上线,你认为对的规则,别人不认可。
最后结语:哎~折腾小程序也有俩个月了,修修改改到了五月份,什么时候才能正式面向大家呢???。
头脑思想狭隘的人容易受到无聊的侵袭,其原因就是他们的智力纯粹服务于他们的意欲,是意欲的工具。
–叔本华 《人生的智慧》