Harry Lee

「所有的記憶都是潮濕的」

關注科技與人文


嗨,我是秋奇,歡迎來到我的個人網誌

记录那些年编程时踩过的坑

1、Mobile端阻止DOM默认长按选中时,结果input框无法输入

解决办法:

*:not(input,textarea) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

2、第三方平台文档不详细,比如腾讯云的华北与上海地区选择

3、上传图片时本地展示缩略图:base64、FIleReader实例

let files = event.target.files;
let reader = new FileReader();
reader.readAsDataURL(files[0]);
reader.onload = (e) => {
    console.log(e);
    this.imgURL_raw = e.target.result
};

4、rem为单位解决移动端适配问题

5、box-sizing解决元素宽度问题

6、flex解决流媒体布局问题

7、小程序群ID解决同一群组用户识别的问题

8、小程序app.js和page.js状态不同步,用setInterval监听(vuex的作用)

9、为了与客户端作区分,需要在HTTP Header中加入自定义字段,以供后端识别为本公司H5访问的请求,用md5加密保证安全性

10、在后端不校验登录态时,前端自己研发了一套登录态及过期的办法(非安全不推荐)

登录时回调对本地记录:

//            设置过期时间
let expiryTime = new Date();
expiryTime.setHours(expiryTime.getHours() + 12);
console.log('过期时间', expiryTime);
localStorage.expiryTime = expiryTime;

跳转时校验:

router.beforeEach((to, from, next) => {
    // console.log('现在时间', new Date());
    // console.log('过期时间', localStorage.expiryTime);
    // 验证登陆状态
    if (localStorage.loginStatus === 'login' && new Date() < new Date(localStorage.expiryTime)) {
        if (to.path === '/login') {
            return next({ path: '/dataStatistics' });
        }
        next();
    } else {
        if (to.path !== '/login') {
            let app = new Vue();
            app.$message({
                type: 'info',
                message: '登录已过期,请重新登录'
            });
            return next({ path: '/login' });
        } else {
            next();
        }
    }
});
最近的文章

面试时没答上来的题

转转:1、对arr[1,2,3,4,5]实现map操作正确答案:考察点:Array.prototype 等2、css: 对div设定width:200px,这200px指的是哪里正确答案:内容区宽度。考察点:这意味着,如果我们设置一个宽度为200px,而实际呈现的盒子的宽度可能会大于200px,因为 padding + border + width(200px)= 盒子的实际宽度;可利用box-sizing设定为border-box3、模板{{}}的底层原理,独自实现如何实现;双向绑定、r...…

面试继续阅读
更早的文章

浅谈我对Windows生态环境的理解

其实windows10的生态圈已经很完善了,苹果能提供的服务他几乎全部能提供,而且完全基于UWP不需要安装exe软件的前提下。我按照MacLaunchpad上的原生应用的顺序重新整理了开始菜单,发现其实所有服务都能一一对飙的,FaceTime-Skype;iMessage-消息;Siri-Cotana;Launchpad-开始菜单……就连联系人都能直接登入你的iCloud,从云端自动导入进“人脉”。所以说win 10的正确用法就是从开始菜单运行application,你的任何磁盘或文件夹都...…

Windows10||macOS继续阅读