2 Star 7 Fork 1

屈超 / tinymce.atwho

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

用来@提到某某用户的插件, 编辑器实现插入好友, 需要后端提供一个可选用户列表数据, 后端需要自己实现哦~

更新说明

  • 修复替换艾特用户时的多次回调
  • 修复插入用户列表弹窗出错的bug
  • 增加艾特用户上限
  • 增加在输入字符串找后端不提供数据时,输入.时恢复@符,因为在输入邮箱时必然会输入.防止影响输入邮箱
  • 新增静态数据OR缓存数据的关键词查找
  • 优化获取已艾特用户方式

配置

配置名 默认状态 配置说明
cfyun_atwho false 插件开关
atwho_at @ 艾特用户定界符
atwho_max_num 10 超过设置数量,不再生成@
atwho_query_all false 在不输入的情况查询好友列表
atwho_max_name 16 名字最大长度,大于这个设置则截取,后面输入不做查询
atwho_query_delay 200 查询延时时间,在输入时防止一直向后端查询数据
atwho_query_callback null  查询后端获取好友,后端需要实现根据输入的字符串模糊查找用户好友
atwho_data_callback null 艾特用户回调,提供给后端用于后端发送通知等操作,不设置此项时可以使用监听atwho事件的方式获取回调

给后端提供数据的回调示例

接口请务必支持模糊查找

atwho_query_callback: function(name, callback) {
    $.get('/api/user/friends', {name: name}).then((res) => {
        if(res.errno === 0) {
            return callback(res.data);
        }
        return callback([]);
    });
},

后端给插件提供的数据结构

[
    {uid: userid, name: 'username', url: '/user/1'},
    {uid: userid2, name: 'username2', url: '/user/2'}
]

插件回调获取已艾特的用户列表示例

设置此项后,监听atwho事件方式获取无效

atwho_data_callback: function(data) {
    if(!data || !data.length) {
        return !1;
    }
    // data艾特用户列表
    // 返回的是数组, 可以将这个数组写入到页面, 和表单提交给后端, 用来发送被提到的通知
},

插件返回的数据结构

[
    {uid: userid, name: 'username', url: '/user/1'},
    {uid: userid2, name: 'username2', url: '/user/2'}
]

事件监听方式获取回调已艾特的用户列表

此方式获取艾特用户数据的前提是,未配置获取回调的方法atwho_data_callback

init_instance_callback : function(editor) {
    editor.on('atwho', function(e, data) {
        // 艾特用户列表
        console.log(e.list);
    });
}

安装说明

将下面代码保存至tinymce/plugins/atwho/plugin.(min.)js

然后在编辑器配置的plugins项新增atwho

其他配置请看参数说明

请前往gitee查看代码: https://gitee.com/isszz/tinymce.atwho

MIT License Copyright (c) 2021 屈超 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

用来@提到某某用户的插件, 编辑器实现插入好友, 需要后端提供一个可选用户列表数据, 后端需要自己实现哦~ 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/isszz/tinymce.atwho.git
git@gitee.com:isszz/tinymce.atwho.git
isszz
tinymce.atwho
tinymce.atwho
master

搜索帮助