[Top] angular - 仿github - NgResume

  • 前端框架 angular+layui
  • 后端框架 thinkphp3.2
  • 数据库 mysql
  • 测试账户密码都是 test
  • 本来想做了一个简单的简历展示系统,做着做着感觉做成博客了,前台页面风格仿照 github,后台页面风格仿照 typecho 。
  • 未做移动端兼容,懒,不想做了。
  • 登录后可查看页面信息,测试账号无任何修改权限。
  • 文章编辑使用了 Markdown 编辑器 editor.md 。
  • 分页使用的 tm.pagination 。

  翻  牌  子

再见 angular,你好 vue

一年前,离开了启蒙公司(jquery搞定全部需求的那种),来到了新公司,用的angular1写页面,上手后发现用起来如此顺畅;不过也踩了不少的坑。(为啥用angular,因为老代码都是用的这个。也想过重构,但是:重构一时爽,容易火葬场)
不知何时,前端几乎人人标配vue,加之公司最近终于上了新项目,果断使用vue开始撸代码。
浏览了很多框架,最后觉得vue-element-admin不错,UI优美,功能齐全,文档充实。
学习一个新框架最好的时间就是现在,直接动手敲,业务需求会驱使着你去快速掌握这些api。
之前趁着工作之余也简单敲敲,不过动起手来发现知识点还是蛮多的。
半个月敲了个新产品出来,算是可以在简历上郑重的写上:“熟悉vue”了。

附上即将逝去的angular1简单框架,大神请绕道。


  翻  牌  子

深拷贝

var test = {
    a:"ss",
    b:"dd",
    c:[
        {dd:"css",ee:"cdd"},
        {mm:"ff",nn:"ee"}
    ]
};
var test1 = JSON.parse(JSON.stringify(test));//拷贝数组
//
test1.c[0].dd="change"; //改变test1的c属性对象的d属性
console.log(test);  //不影响test
console.log(test1);//test1改变

JS - 微信移动端自带返回 - 判断

$(function () {
    function pushHistory(){
        var state = {
            title: "title",
            url: "#"
        };
        window.history.pushState(state, "title", "#");
    }
    pushHistory();
    window.addEventListener("popstate", function (e) {
        //TODO
    }, false);
});

JS - 判断微信相关

function isWeiXin() {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.match(/MicroMessenger/i) == 'micromessenger' && ua.match(/WindowsWechat/i) != 'windowswechat' && ua.match(/WechatDevTools/i) !='wechatdevtools') {
        return true;
    } else {
        return false;
    }
}

完成了4个项目

历时1个月,同时搞完4个项目。
可以稍微休息一下脑袋了。
记录于 2019-04-13 周六 晚上 10:56
//TODO

JS - 判断图片是否是一个透明的png图片

前言

最近做了个在移动端手写签名的需求,从github上搜了个插件就开始开搞。 插件地址

问题

这个插件最后会生成对应签名图片的base64,但是在页面上需要判断用户是否真正签名了。 因为一旦调用这个插件,就算用户没有触碰屏幕,插件也会对应的生成一个透明图片的base64。

  翻  牌  子

JS - 处理返回文件流

var xmlResquest = new XMLHttpRequest();
        xmlResquest.open("POST", "/download", true);
        xmlResquest.setRequestHeader("Content-type", "application/json");
        xmlResquest.setRequestHeader("Authorization", "token-value");
        xmlResquest.responseType = "blob";
        xmlResquest.onload = function (oEvent) {
                var content = xmlResquest.response;
                var elink = document.createElement('a');
                elink.download = "test.xlsx";
                elink.style.display = 'none';
                var blob = new Blob([content]);
                elink.href = URL.createObjectURL(blob);
                document.body.appendChild(elink);
                elink.click();
                document.body.removeChild(elink);
            };
            xmlResquest.send();

from