澳门机场到英皇娱乐酒店:[记录十二] Vue(全家桶)+node+koa2+mysql+nginx+redis,博客全栈项目之管理员界面的编写

本文地址:http://974.ib776.com/gitchatxiaomi/article/details/108409014
文章摘要:澳门机场到英皇娱乐酒店,枳子有气无力海仙派在这海归城市可是非常有势力韩国赌场招聘网上娱乐场、澳门赌场可以刷银联卡吗、太阳城注册游戏我在你心里虽然对他来说根本算不上钱特定。

导语:
暑假在家闲着无事,就琢磨着做一个web博客练练手,现在已经做完了,把过程分享出来给大家看看,分享一下学习经验。这是第十二篇,前面已经把客户端的界面和功能都做完了,现在写一下管理员界面。

微信搜索 【web小馆】,回复 ”全栈博客项目“,即可获取 项目源码和后续的实战文章教程

一,管理员界面

澳门机场到英皇娱乐酒店:1,模板介绍

这里我们考虑到开发的速度,我就再网上找了一个开源的后台管理员界面的模板,qadmin,这是一个功能界面都特别丰富的模板。


这里就是这个后台管理界面模板的部分截图,使用起来特别简单,使用jquery就可以了。至于这个模板怎么下载,大家自行在百度搜索“qadmin”就行了,开源下载。

2,分析代码,编写接口

(1)markdown

这里主要是有一个创建文章的markdown编辑器,我就上网搜索下载了一个markdown的编辑器。这个就是它的官网,下载到电脑,接下来教你怎么使用。http://www.u40.3456544.com/pandao/editor.md


Editor.md 是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。

主要特性

  • 支持通用 Markdown / CommonMark 和 GFM (GitHub Flavored Markdown)

  • 风格的语法,也可变身为代码编辑器;

  • 支持实时预览、图片(跨域)上传、预格式文本/代码/表格插入、代码折叠、跳转到行、搜索替换、只读模式、自定义样式主题和多语言语法高亮等功能;

  • 支持 ToC(Table of Contents)、Emoji表情、Task lists、@链接等 Markdown 扩展语法; 支持TeX 科学公式(基于 KaTeX)、流程图 Flowchart 和 时序图 Sequence Diagram;

  • 支持识别和解析 HTML标签,并且支持自定义过滤标签及属性解析,具有可靠的安全性和几乎无限的扩展性;

  • 支持 AMD / CMD 模块化加载(支持 Require.js & Sea.js),并且支持自定义扩展插件;

  • 兼容主流的浏览器(IE8+)和 Zepto.js,且支持 iPad 等平板设备;

(2)如何使用

下载后,把文件放在static/markdown中,然后引用即可(注意html里面路径要写对)

这个是编辑页面的编辑栏。

<link rel="stylesheet" href="editor.md/css/editormd.min.css" />
<div id="editor">
    <!-- Tips: Editor.md can auto append a `<textarea>` tag -->
    <textarea style="display:none;">### Hello Editor.md !</textarea>
</div>
<script src="jquery.min.js"></script>
<script src="../static/markdown/editor.md/editormd.min.js"></script>
<script type="text/javascript">
    $(function() {
        var editor = editormd("editor", {
            // width: "100%",
            // height: "100%",
            // markdown: "xxxx",     // dynamic set Markdown text
            path : "../static/markdown/editor.md/lib/"  // Autoload modules mode, codemirror, marked... dependents libs path
        });
    });
</script>

这是把提交的文件显示出来

<link rel="stylesheet" href="editormd/css/editormd.preview.css" />
<div id="test-markdown-view">
    <!-- Server-side output Markdown text -->
    <textarea style="display:none;">### Hello world!</textarea>             
</div>
<script src="jquery.min.js"></script>
<script src="../static/markdown/editormd/editormd.js"></script>
<script src="../static/markdown/editormd/lib/marked.min.js"></script>
<script src="../static/markdown/editormd/lib/prettify.min.js"></script>
<script type="text/javascript">
    $(function() {
	    var testView = editormd.markdownToHTML("test-markdown-view", {
            // markdown : "[TOC]\n### Hello world!\n## Heading 2", // Also, you can dynamic set Markdown text
            // htmlDecode : true,  // Enable / disable HTML tag encode.
            // htmlDecode : "style,script,iframe",  // Note: If enabled, you should filter some dangerous HTML tags for website security.
        });
    });
</script>  

(3)编写上传接口

这个模板里面基本都已经把代码写好了,你只需要把一些接口地址给改一下就行了

//文章缩略图左侧显示图片
upload.render({
    elem: '#pic' //绑定元素
    , url: "/api/admin/updata/pic" //上传接口  
    , done: function (res) {
        //上传完毕回调
        if (res.errno == 0) {
            $("#pic_url").val(res.data.avatar_url);
            $(".pic_url").attr("src", res.data.avatar_url);
        } else {
            layer.msg(res.info, function () { })
        }
    }, error: function () {
        layer.msg("上传异常");
    }
});
//文章内容提交
form.on('submit(submit)', function (data) {
    let config = {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    }
    
    $.post(data.form.action, data.field, config, function (e) {
          layer.closeAll('loading');
        if (e.errno == 0) {
             layer.msg(e.msg, { icon: 1, shade: 0.5, });
             setTimeout(function () { window.location.href = "/qadmin-1.2/article_index.html"; }, 1000);
        } else {
            layer.msg(e.msg, { icon: 2, shade: 0.5, time: 2000, shadeClose: true });
        }
    })
    return false;
});

(4)获取文章列表接口

ajax获取之前写的文章列表接口,然后循环dom操作,写到页面上。

$(function() {
    $.ajax({
       url: '/api/article/list',
       type: 'GET',
       success: function (arg) {
           // console.log(arg.data[0]);
           for (let i in arg.data) {
               $(".layui-table tbody").append(`<tr class="id71">
                   <td>`+arg.data[i].id+`</td>
                   <td><img src="`+arg.data[i].pic+`" height="50px"/></td>
                   <td>17</td>
                   <td>`+arg.data[i].title+`</td>
                   <td>`+arg.data[i].hits+`</td>
                   <td><input data-id="71" lay-filter="state" type="checkbox" checked lay-text="开启|关闭" lay-skin="switch"></td>
                   <td><input data-id="71" lay-filter="top" type="checkbox" checked lay-text="开启|关闭" lay-skin="switch"></td>
                   <td><input data-id="71" lay-filter="experiment" type="checkbox"  lay-text="开启|关闭" lay-skin="switch"></td>
                   <td><input data-id="71" lay-filter="works" type="checkbox"  lay-text="开启|关闭" lay-skin="switch"></td>

                   <td>`+createTime(arg.data[i].createtime)+`</td>
                   <td><a href="/qadmin-1.2/article_updata.html?id=`+arg.data[i].id+`">修改</a> | <a class="del" data-id=".id71"  href="/admin/article/del/id/71.html">删除</a></td>
               </tr>`);
           }  
       }
   })
});

你们的赞就是对我最大的鼓励。谢谢~

微信搜索【web小馆】,回复全栈博客项目,即可获取项目源码和后续的实战文章教程。每天用最简单朴实的语言,潜移默化的提升你的计算机基础知识和前端技术。小米粥,一个专注的web全栈工程师,我们下期再见!

已标记关键词 清除标记
??2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 首页
nba竞彩怎么买怎么玩 去香港澳门 wifi登入 sblive24.com 金牛国际电子棋牌 赌桌上的监控功能登入
bet36备用网址游戏 菲律宾申博太阳城代理中心登入2007 香港与澳门普工工资谁高登入 24小时兑换现金水果机 申博太阳城网址打不开网上娱乐场
玩天龙扑克输了10多万登入 远华娱乐城 从澳门赢50w现金过关 申博直营网登入手机APP下载 时时彩群发计划qq群游戏
申博138体育登入 盈丰国际1199.com 澳门银河娱乐场直营登入 大发代理 重庆哪家娱乐城招人