2020年10月

<script type="text/javascript" src="/static/admin/libs/tinymce/tinymce.min.js"></script>
<script>
    layui.use(['form', 'layer'], function () {
        var $ = layui.jquery;
        var layer = layui.layer;
        var form = layui.form;
        // 渲染富文本编辑器
        tinymce.init({
            selector: '#content_edit',
            height: 400,
            branding: false,
            language: 'zh_CN',
            plugins: 'code print preview fullscreen paste searchreplace save autosave link autolink image imagetools media table codesample lists advlist hr charmap emoticons anchor directionality pagebreak quickbars nonbreaking visualblocks visualchars wordcount',
            toolbar: 'fullscreen preview code | undo redo | forecolor backcolor | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | formatselect fontselect fontsizeselect | link image file emoticons charmap anchor pagebreak codesample | ltr rtl',
            toolbar_drawer: 'sliding',
            images_upload_url: '{:url("upload", ["upType" => "editor"])}',
            //images_upload_base_path:'/',
            convert_urls: false,
            file_picker_types: 'file,image,media',
            file_picker_callback: function (callback, value, meta) {
                //文件分类
                var filetype='.pdf, .txt, .zip, .rar, .7z, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .mp3, .mp4';
                //后端接收上传文件的地址
                var upurl='{:url("Ajax/upload", ["upType" => "editor"])}';
                //为不同插件指定文件类型及后端地址
                switch(meta.filetype){
                    case 'image':
                        filetype='.jpg, .jpeg, .png, .gif, .jpeg';
                        upurl='{:url("upload", ["upType" => "editor"])}';
                        break;
                    // case 'media':
                    //     filetype='.mp3, .mp4';
                    //     upurl='upfile.php';
                    //     break;
                    case 'file':
                        filetype='.docx, .doc, .xls, .xlsx, .ppt, .pptx, .pdf, .zip, .rar';
                        upurl='{:url("upload", ["upType" => "editor"])}';
                        break;
                    default:
                }
                //模拟出一个input用于添加本地文件
                var input = document.createElement('input');
                input.setAttribute('type', 'file');
                //input.setAttribute('accept', filetype); 禁用扩展
                input.click();
                input.onchange = function() {
                    var file = this.files[0];
                    var xhr, formData;
                    xhr = new XMLHttpRequest();
                    xhr.withCredentials = false;
                    xhr.open('POST', upurl);
                    xhr.onload = function() {
                        var json;
                        if (xhr.status !== 200) {
                            failure('HTTP Error: ' + xhr.status);
                            return;
                        }
                        json = JSON.parse(xhr.responseText);
                        if (!json || typeof json.location !== 'string') {
                            failure('Invalid JSON: ' + xhr.responseText);
                            return;
                        }
                        callback(json.location, { title: file.name });
                    };
                    formData = new FormData();
                    formData.append('file', file, file.name );
                    xhr.send(formData);
                };
            },
            init_instance_callback: function (editor) {
                // 编辑器初始化完成以后的
                layer.closeAll('loading');
            }
        });

</script>

callback(json.location, { title: file.name });这里容易出错,原文是 callback(json.location);js报错。

HTML部分:

<form>
    <textarea id="content_edit" name="content" style="display:none"></textarea>
</form>

JS部分:

<script>
    layui.use(['form', 'layedit'], function () {
        var $ = layui.jquery;
        var form = layui.form;
        var layedit = layui.layedit;
        var content = layedit.build('content_edit'); //建立编辑器

     /* 监听表单提交 */
        form.on('submit(formSmsSubmit)', function (data) {
            data.field.content = layedit.getContent(content);
            $.ajax({
                url: "{:url('xxx')}",
                type:"POST",
                data: data.field,
                dataType:'json',
                success: function (res) {
                    if (res.code === 200) {
                        layer.msg(res.msg, {icon: 1});
                    } else {
                        layer.msg(res.msg, {icon: 2});
                    }
                },
                error:function(){
                    layer.msg('提交失败', {icon: 2});
                },
            });
            return false;
        });
</script>

人体器官的最爱和最怕:

最爱:
​1.肺的最爱——雪梨
2.胃的最爱——萝卜和山药
3.心的最爱——大豆和坚果

4.肾的最爱——黑豆与韭菜
5.肝的最爱——枸杞和菊花
6.眼睛最爱——胡萝卜

7.胆囊最爰——亚麻籽油
8.肠道最爱——薯类与杂粮
9.胰腺最爱——清淡易消化

最怕
​1.肺的最怕——香烟
2.胃的最怕——寒凉
3.心的最怕——太咸

4.肾的最怕——熬夜
5.肝的最怕——油脂
6.眼睛最怕——手机

7.胆囊最怕——不吃早餐
8.肠道最怕——胡吃海喝
9.胰腺最怕——暴饮暴食

原文是这样子的:

验证某个字段是否和另外一个字段的值一致,例如:

'repassword'=>'require|confirm:password'
支持字段自动匹配验证规则,如passwordpassword_confirm是自动相互验证的,只需要使用

'password'=>'require|confirm'
会自动验证和password_confirm进行字段比较是否一致,反之亦然。

至少对我这样的菜鸟来说很不好理解,至少我没有使用到上面的那个自动相互验证的办法。

//验证规则
    protected $rule = [
        'newPsw' => 'require|length:5,12', //输入的新密码
        'rePsw' => 'require|length:5,12|confirm:newPsw', //需要与newPsw比对的表单对象

    ];

见笑了,留个当记念备忘用。