sensitive-word-admin v2.0.0 全新 ui 版本发布!vue+前后端分离 ...

打印 上一主题 下一主题

主题 1486|帖子 1486|积分 4458

前言

sensitive-word-admin 最初的定位是让大家知道如何利用 sensitive-word,以是开始想做个简单的例子。
不外秉持着把一个工具做好的原则,也收到许多小伙伴的建议。
v2.0.0 在 ruoyi-vue(也非常感谢若依作者多年来的无私奉献) 的底子之上,对整体 UI 进行重构。
为了实现一个让用户可以开箱就用的敏感词控台。
项目先容

平台简介

sensitive-word-admin 是和 sensitive-word 配套利用的控台。

  • 前端采用Vue、Element UI。
  • 后端采用Spring Boot、Spring Security、Redis & Jwt。
  • 权限认证利用Jwt,支持多终端认证体系。
  • 支持加载动态权限菜单,多方式轻松权限控制。
  • 高效率开发,利用代码天生器可以一键天生前后端代码。
拓展阅读

sensitive-word-admin 敏感词控台 v1.2.0 版本开源
sensitive-word 基于 DFA 算法实现的高性能敏感词工具先容
特性


  • 基本的 CRUD
  • 敏感词修改及时生效
变动日志
当地启动

依靠

redis
mysql
node
后端

2)执行 mysql 脚本
登录 mysql
清空库(谨慎操纵,别清空了以前的数据)
  1. use test;
  2. drop database sensitive_word;
复制代码
创建库
  1. create database sensitive_word;
  2. use sensitive_word;
复制代码
执行 sql 下的 init.sql+ sensitive_word.sql
3)修改配置
application-druid.yml 调解一下数据库链接+账户暗码
  1. spring:
  2.     datasource:
  3.         type: com.alibaba.druid.pool.DruidDataSource
  4.         driverClassName: com.mysql.cj.jdbc.Driver
  5.         druid:
  6.             # 主库数据源
  7.             master:
  8.                 url: jdbc:mysql://localhost:3306/sensitive_word?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
  9.                 username: root
  10.                 password: PASSWORD
复制代码
运行 SpringBootApplication#main()
前端
  1. cd admin-ui
  2. npm install --registry=https://registry.npm.taobao.org
  3. npm run dev
复制代码
登录

打开欣赏器,输入:http://localhost:80 (默认账户 admin/admin123)
敏感词基本管理

你可以在敏感词管理菜单,进行管理。

API

ApiSensitiveWordController 中包含对应的 api 方法,后续可以添加验签等校验。
接口列表

api入参出参阐明/api/sensitiveWord/containsstringboolean是否包含敏感词/api/sensitiveWord/findAllstringList获取所有的敏感词/api/sensitiveWord/findFiststringstring获取第一个的敏感词/api/sensitiveWord/replacestringstring获取更换后的结果/api/sensitiveWord/tagsstringSet获取敏感词的标签列表接口验证

token


我们登录之后,可以获取到对应的 token。
好比我们打开【体系工具】-【体系接口】,任意找一个接口,看一下对应的 Authorization
好比这里就是
  1. eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiYzBjMmY0MWQtMjliMS00YzlkLWI2ZmMtNDhlZTk4MGIwZjJjIn0.67qpqIndfAd4J769ny1jqq8kEnATE9u5DbjJoMpbiMCSvAg2WaBV0b4nBjo5UxKVqcqbYgmnIN4gUi3AP2p6uw
复制代码
swagger 认证

然后点击绿色认证按钮认证一下,输入上面的 token。
就可以想基本的 swagger 一样验证接口。
curl 请求

你可以当地直接 curl
  1. curl -X GET "http://localhost:80/dev-api/api/sensitiveWord/tags?text=%E4%BA%8C%E5%8D%81%E5%85%AB%E7%94%BB%E7%94%9F" -H "accept: */*" -H "Authorization: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiYzBjMmY0MWQtMjliMS00YzlkLWI2ZmMtNDhlZTk4MGIwZjJjIn0.67qpqIndfAd4J769ny1jqq8kEnATE9u5DbjJoMpbiMCSvAg2WaBV0b4nBjo5UxKVqcqbYgmnIN4gUi3AP2p6uw"
复制代码
结果:
  1. {
  2.   "respCode": "0000",
  3.   "respMessage": "成功",
  4.   "result": [
  5.     "伟人",
  6.     "画家"
  7.   ]
  8. }
复制代码
如何自定义标签

自定义单词 TAG

我们在配置中指定:
  1. @Configuration
  2. public class SensitiveWordConfig {
  3.     @Autowired
  4.     private MyDdWordAllow myDdWordAllow;
  5.     @Autowired
  6.     private MyDdWordDeny myDdWordDeny;
  7.     /**
  8.      * 自定义单词标签
  9.      *
  10.      * @since v1.4.0
  11.      */
  12.     @Autowired
  13.     private MyDdWordTags myDdWordTags;
  14.     /**
  15.      * 初始化引导类
  16.      * @return 初始化引导类
  17.      * @since 1.0.0
  18.      */
  19.     @Bean
  20.     public SensitiveWordBs sensitiveWordBs() {
  21.         return SensitiveWordBs.newInstance()
  22.                 .wordAllow(WordAllows.chains(WordAllows.defaults(), myDdWordAllow))
  23.                 .wordDeny(WordDenys.chains(WordDenys.defaults(), myDdWordDeny))
  24.                 .wordTag(myDdWordTags)
  25.                 // 各种其他配置
  26.                 .init();
  27.     }
  28. }
复制代码
MyDdWordTags 自定义实现

MyDdWordTags 是一个实现的例子:
核心分为两步:
1)根据【标签单词映射表】获取单词对应的标签编码(tag_code) 列表
2)根据【标签表】中的 tag_code 去查询对应的 标签描述(tag_label) 列表
以是需要分别配置二者,然后进行关联。
  1. SELECT DISTINCT
  2. mapping.word AS word,
  3. tag.tag_label AS tagLabel
  4. FROM word_tag_mapping mapping
  5. INNER JOIN tag tag ON mapping.tag_code = tag.tag_code
  6. WHERE tag.status = 'Y'
复制代码
road-map

固然,v2.0.0 出版的能力还比力欠缺,用户体验还是不够友好。
感爱好的小伙伴也可以针对下面的需求进行 PR,接待一起互换
如果你有需求,可以去这里issues
待改进点


  • 单个词的修改及时生效
  • word/tags 的修改,增量的变化,而不是全量
  • word-tag 的处理惩罚,改为枚举映射,而不是手动输入
  • 限定接入体系 appKey appSecret
  • 体系的调用记录
  • 数据大盘
  • [ ] word 操纵时对应的日志表,有必要存在吗?(可以不保存,ruoyi 本身就有操纵日志)
技术鸣谢


  • 感谢 ruoyi-vue 的无私奉献
拓展阅读

sensitive-word-admin v1.3.0 发布 如何支持分布式摆设?
sensitive-word-admin 敏感词控台 v1.2.0 版本开源
sensitive-word 基于 DFA 算法实现的高性能敏感词工具先容
更多技术互换
开源矩阵

sensitive-word 敏感词
pinyin 汉字转拼音
pinyin2hanzi 拼音转汉字
segment 高性能中文分词
opencc4j 中文繁简体转换
nlp-hanzi-similar 汉字相似度
word-checker 拼写检测
参考资料

https://github.com/houbb/sensitive-word-admin

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表