My Little World

learn and share


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于
My Little World

下载文件

发表于 2016-12-17

下载/导出文件

1.不带参数

window.open(url);

2.带参数

window.open(".../?para1="+para1val+"&para2="+para2val);

前端处理下载数据

H5 chrome支持;IE 11;IE edge 不支持

1
2
3
4
5
6
7
8
9
10
11
12
 download(filename, text) {
var element = document.createElement('a')
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text))
element.setAttribute('download', filename)

element.style.display = 'none'
document.body.appendChild(element)

element.click()

document.body.removeChild(element)
}

使用blob 下载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
download(filename, text) {
var aLink = document.createElement('a')
var blob = new Blob([text], {
type: 'text/plain'
})
aLink.download = filename
aLink.href = URL.createObjectURL(blob)
if(!!window.ActiveXObject || 'ActiveXObject' in window){ //兼容IE
window.navigator.msSaveOrOpenBlob(blob, filename)
}else {
aLink.click()
}
URL.revokeObjectURL(blob)
aLink = null
blob = null
},
My Little World

上传

发表于 2016-12-17

上传文件

方式一 用http方法,但需要写获取文件的指令

[相关链接](http://my.oschina.net/u/1453451/blog/502885)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$scope.fileupload = function(){
var fd = new FormData();
//var file = document.querySelector('input[type=file]').files[0];
console.log($scope.fileItem);
fd.append('import_file', $scope.fileItem.import_file);
console.log(fd)
$http({
method:'POST',
url:"http://172.16.0.207/py/erp/v1/credit_sell/import_files/",
//url:"http://172.16.7.184:8000/py/erp/v1/credit_sell/import_files/",
data: fd,
headers: {'Content-Type':undefined},
transformRequest: angular.identity
})
.success( function ( response )
{
if(response.statusCode===0){
//上传成功的操作
alert("uplaod success");
}else{
console.log(response.msg)
}
});
}

方式二 用angular-file-upload 插件,利用FileUploader 服务属性和方法进行上传

[相关链接](http://blog.csdn.net/lai_xu/article/details/49535847)
[相关链接](http://www.cnblogs.com/aikewang/p/5691723.html)

上传图片

使用 drop-master 插件

angular引入引入fileReader依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
JS:
$scope.getFile = function () {
console.log($scope.file);
var postData = {
fileName: $scope.file
};
fileReader.readAsDataUrl($rootScope.settings.url + "UPLOADURL", postData)
.success(function(response) {
$scope.detaildata.image=response;
});
};

HTML:
<div class="col-md-4 fileinput">
<img src="{{detaildata.image}}" name="img" style="width:32px;height: 32px;">
<span class="btn red btn-outline btn-file">
<span class="fileinput-new"> 重新上传 </span>
<input type="hidden">
<input type="file" file-model="myFile" name="..." accept="image/*">
</span>
</div>
My Little World

用css画圆

发表于 2016-12-17

实心圆

.circle{
    width: 16px;
    height: 16px;
    background-color: #fe6000;
    -webkit-border-radius: 8px;
    -moz-border-radius:8px;
    border-radius:8px;
    position: absolute;
    margin-top: 4px;
}

空心圆

.circle1{
    color:#fe6000;
    font-size: 14px;
    text-align: center;
    width: 14px;
    height: 14px;
    line-height: 14px;
    border:1px solid #fe6000; 
    border-radius:7px;
    position: absolute;
    margin-top: 4px   
}

同心圆可利用边框

.noticebtn{
    width: 90px;
    height: 90px;
    border-radius: 55px;
    -webkit-border-radius: 55px;
    background-color: rgb(255,106,0);
    border:10px solid  rgba(255,106,0,.5);
    background-clip:content-box;
    color: #fff;
    margin: 20px auto;
    text-align: center;
    line-height: 90px;
}

.noticebtn.noticeover{
    background-color: rgb(130,223,20);
    border:10px solid  rgba(130,223,20,.5);
}
My Little World

ps相关

发表于 2016-12-17

ps简单切图

1.用PS打开图片;
2.在视图中打开标尺,并设置单位为像素;
3.选取切图目标
方法一:直接使用选框工具选取目标
ps1
方法二:使用“新建参考线”
新建参考线可以点击菜单“视图”获得,也可以直接从标尺拽取;
ps2
4.在右侧图层部分通过点击可见不可见按钮即小眼睛,找到选取目标对应图层文件夹,鼠标右键,在菜单栏中点击“合并组”
5.如果是按参考线截取目标需要按ctrl键,同时右键单击阴影图标
6.在菜单栏中点击图像——>裁剪
7.文件——>存储为web所用格式——>PNG-8
8.www.tinypng.com进行压缩。

更换背景颜色

1.打开图片
2.图像 模式 选择RGB颜色
3.在橡皮擦那里选择“魔术橡皮擦工具” ,点击图片背景
4.新建图层,将前景色选择为待更改的颜色,
5.选择油漆桶工具,点击在新建的图层上
6.将图层1移到图层0下方
7.导出:文件,存储为web格式….

My Little World

angular.forEach

发表于 2016-12-17

对于多层嵌套的数据结构,使用for循环无法循环到里层数据,这时改用foreach行得通
angular.forEach($scope.data, function(data){
angular.forEach(data.purchase, function(item){
item.price = item.price.replace(/[^\d.]/g, ‘’);
});
});

My Little World

转换

发表于 2016-12-17

日期/时间戳

时间戳转换日期

日期 = new Date(时间戳1000);
再根据需求转换不同形式
例:
var timestamp = ‘1425553097‘;
var d = new Date(timestamp
1000); //根据时间戳生成的时间对象
var date = (d.getFullYear()) + “-“ +
(d.getMonth() + 1) + “-“ +
(d.getDate()) + “ “ +
(d.getHours()) + “:” +
(d.getMinutes()) + “:” +
(d.getSeconds());
date就是”年-月-日 时:分:秒”形式

日期转换时间戳

var val1 = 日期变量.replace(/-/g,’/‘);
var val2 = new Date(val1);
var val3 = date.getTime().toString();
var 时间戳1 = String(val3.substr(0,10)); ###转换成字符串形式

相当于 时间戳 = (new Date(日期.replace(/-/g,’/‘)).getTime().toString()).substr(0, 10); ###数字形式

时间戳1的分秒转换时为00:00:00,如果时分秒取 23:59:59,则

var 时间戳2 = String(parseInt(时间戳1)+86399);

日期增加1天

经常会遇到将现在日期增加1天的需求,解决办法就是
1.将当前时间转化时间戳数字形式
2.将时间戳加一天的秒数86400
3.再将时间戳转化成”年-月-日”日期形式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//转换时间戳
$scope.timestamp = function(val){
var temp = "";
if(val != ""){
temp = (new Date(val.replace(/-/g,'/')).getTime().toString()).substr(0, 10);
}
if(val ==""){
temp = "";
}
return temp;
}
//增加1天
var temp = String(parseInt($scope.timestamp(待增加日期变量))+86400);
//再转换成日期
var d=new Date(temp * 1000);
var date = (d.getFullYear()) + "-" +
(d.getMonth() + 1) + "-" +
(d.getDate());
console.log(date);

//计算时间间隔
var begintime = Date.parse(new Date($scope.detaildata.start_time + " 00:00:00"));
var endtime = Date.parse(new Date($scope.detaildata.end_time+" 23:59:59"));
var day = Math.floor(Math.abs(endtime - begintime) / 1000 / 60 / 60 /24 + 0.5);//间隔天数

获取当天年月日,星期

1
2
3
4
5
6
7
8
9
10
11
12
13
var date = new Date();
var month = date.getMonth() + 1;
var day = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if(day<10){
day='0'+day;
}
var daytime = date.getFullYear()+'-'+month+'-'+day;

//根据日期获取星期,星期天是0,其他正常
var week = new Date(daytime).getDay();

比较日期和时间先后

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 var date1 = start_date.replace(/\-/gi,"/");
var date2 = end_date.replace(/\-/gi,"/");
var time1 = new Date(date1).getTime();
var time2 = new Date(date2).getTime();
if(time1 > time2){
console.log('开始日期大于结束日期,请先修改!');
return
}
var a = '01/10/2007 ' + start_time;
var b = '01/10/2007 ' + end_time;
var d = new Date(a);
var e = new Date(b);
if(d>=e){
console.log('开始时间大于等于结束时间,请先修改!');
return
}

一个利用js生成的日历页面

json/字符串

json数据转换成字符串 JSON.stringify(val);
字符串转换成json数据 JSON.parse(val);

数组/字符串

数组转字符串

需要将数组元素用某个字符连接成字符串,示例代码如下:
var a, b;
a = new Array(0,1,2,3,4);
b = a.join(“-“);

字符串转数组

实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下:
var s = “abc,abcd,aaa”;
ss = s.split(“,”);// 在每个逗号(,)处进行分解。

1
2
 //获取字符串中数字包括小数点
str = str.replace(/[^\d\.]/g, '');

js取整

Math.ceil(val)向上取整
Math.floor(val)向下取整
Math.round(val)四舍五入

My Little World

常用命令

发表于 2016-12-17

git

下载项目 git clone + 地址
进入环境 ssh + 地址
切换根目录/返回上一级 cd ..
仅查看本地分支:cd branch
查看远程分支 git branch -a
重新获取远程分支状态(有哪些远程分支):git fetch -p origin
拉取远端分支更新服务器分支 git pull
切换分支 git checkout + 分支名
删除本地分支 Git branch -d 分支名
删除远程分支 git push –delete origin 远程分支名

cmd

切换目录 盘,直接“盘名:”,回车
进入文件夹,用 cd 路径。

hexo

hexo server 开启预览访问端口(默认端口4000,’ctrl + c’关闭server)
hexo clean 清除PUBLIC和编译文件
hexo generate 生成静态页面至public目录
hexo deploy 同步到GITHUB
hexo new ”postName” 新建文章 存放在主目录的source下的POST目录下
hexo new page”pageName” 新建页面
hexo help 查看帮助
hexo version 查看Hexo的版本

My Little World

数据暂存(localStorage)

发表于 2016-12-17

使用loacalStorage

适用于保存的数据被多个页面公用

保存: localStorage.setItem(“name”,val);
获取: localStorage.getItem(“name”);

例:

1
2
localStorage.setItem("tokken",usertokken);
var utokken = localStorage.getItem("tokken");

如果需要保存json数据,可以在保存时将json数据转换成字符串,获取后再转回json

例:

1
2
3
localStorage.setItem("name",JSON.stringify({"id":someval.id,"name":someval.name}));
var suppid = localStorage.getItem("name");
suppid = JSON.parse(suppid);

json数据转换成字符串: JSON.stringify(val);
字符串转换成json数据: JSON.parse(val);

定义临时变量专门用来存放

适用于单页面应用交互较多

步骤N操作得到的数据在步骤N+2/3/4/…中用到,在步骤N时将数据赋值给定义的临时变量,
在进行步骤N+2/3/4/…时,直接从临时变量中取值。

My Little World

《乌合之众》(古斯塔夫·勒庞)摘抄

发表于 2016-12-07
  1. 要想领导群体,就不能依靠基于纯粹平等理论所建立起来的原则,而是要去寻找那些能给群体成员留下深刻印象的能够,迷惑他们的东西
    最平淡无奇却负担最少的办法才最容易被人们所容忍
  2. 有意识的个性的消失,以及情感、思想朝着既定方向发生转变,这些都是组织化的群体的主要特征,但这并不意味着需要很多人始终同时出现在一个地点
  3. 只有环境保持不变,才能造就群体特征的明显单一性。所有的精神结构都包含着各种性格的可能性,而环境骤变则会让这种可能明显表露出来
  4. 无意识的现象完全主宰着有机体的生活,也主宰着智力活动
  5. 群体不愿意承认在愿望和这种愿望的实现之间会出现任何障碍。它无法理解这种干涉,因为其数量上的优势让它感觉到自己拥有了一股势不可挡的力量
    一个意向不到的障碍会被疯狂的愤怒所摧毁
  6. 群体易受暗示影响和轻信他人
    无论人们对此有多么漠不关心,群体通常都处在一种期待别人予以关注的状态,因此表现的很容易受到暗示。最初设定好的暗示会通过传染的过程,快速植入所有人的大脑,群体情感的一致倾向会立即构成一个既定事实。
    群体会始终徘徊在无意识的边缘地带,容易屈从于一切暗示,表现出对于那些不受理性影响的生命体所特有的激情。群体丧失了所有的批判能力,只能选择极度轻信
  7. 群体会随时候命去反抗那些性格软弱的人,却也卑贱的去屈从于强权。如果强权断断续续,群体又始终受到极端情绪的干扰,那么它就会交替经历着从无法无天到卑躬屈膝,又从卑躬屈膝到无法无天的状态
  8. 群体的持续易变性,只会影响到很表面的事物
  9. 一个群体慢慢杀死一个没有防御能力的牺牲者,这表现出了一种极为懦弱的残忍
  10. 群体推理的特点是把表面彼此相似实则不同的事物混在一起,并立刻把特例事物普遍化
    知道如何管理全体的人始终会向群体提供这种论证,因为它是唯一能够影响群体的论证
  11. 群体是无法做出正确推理的,因此群体也无法表现出任何的批判精神,即群体无法辨认真伪或对任何事物形成正确的判
    断。某些意见能够轻松地获得人们的普遍认可,更多的是因为很多人不可能以自己的推理能力为基础而形成自己的独特观点
  12. 只会形象化思考的群体,只能被形象所打动。只有那些能够恐吓或吸引群体的形象,才能变成群体的行动动机
  13. 侵略者的权力和国家的力量都建立在公众想象力的基础上
  14. 掌握了影响群体想象力的艺术,就同时掌握了统治他们的艺术
  15. 群体需要宗教,只有始终采用宗教形成的一切政治信条、神学信条和社会信条、才能在群体中扎根—-这种宗教形式能够把危险的讨论排除在外
    16.
My Little World

Jory's Blog 文档

发表于 2016-05-11

技术文档分享




  • 赛门铁克


    • SEP杀毒

      • 如何迁移SEPM 从当前计算机A到另一台计算机B.pdf

      • 赛门铁克LiveUpdate服务器安装配置

      • 文档链接




    • NBU备份

      • 文档链接

      • 文档链接

      • 文档链接




    • DLP防泄漏

      • 赛门铁克DLP防泄漏部署指

      • 文档链接

      • 文档链接






  • 卡巴斯基


    • 卡巴斯基杀毒

      • 管理工具AK8升级到KSC10.pdf

      • 卡巴斯基之Linux客户端安装指引

      • 卡巴斯基10制作兼容(绕过检测)360客户端安装包

      • 卡巴斯基KVM下的虚拟化防病毒

      • 卡巴斯基虚拟化方案之-手动配置SVM

      • 卡巴斯基功能测试之-linux防病毒测试

      • 卡巴斯基功能测试之-反网络攻击测试




    • 杀毒虚拟化

      • Kaspersky Security for Virtualization 3.0 Agentless By ESXi.pdf

      • Kaspersky Security for Virtualization 3.0 Light Agent By ESXi.pdf

      • 文档链接




    • 其他技术

      • 文档链接

      • 文档链接

      • 文档链接






  • 虚拟化


    • 服务器虚拟化

      • Vmware服务器虚拟化

        • 轻松部署vmware esxi6.0与vCenter

        • VMware_物理机迁移到虚拟机P2V(热迁移)



      • Xenserver服务器虚拟化

      • Hyperv服务器虚拟化




    • 桌面虚拟化


      • Citrix桌面虚拟化


        • Xendesktop系列桌面虚拟化

          • 简介及环境准备.pdf

          • 01 虚拟主机基础环境安装.pdf

          • 02 微软基础构架环境安装.pdf

          • 03 XenDesktop基本安装及配置.pdf

          • 04 XenDesktop虚拟桌面的交付.pdf

          • 05 XenApp安装与配置.pdf

          • 06 StoreFront配置.pdf

          • 07 NetScaler基本安装及配置.pdf

          • 08 Receiver客户端配置和访问.pdf

          • 09 XenDesktop本地应用程序访问.pdf

          • 10 Director使用指南.pdf

          • 11 PVS批量交付桌面.pdf

          • 12 Windows 7 虚拟机常用优化步骤.pdf

          • 13 PC root 证书的导入.pdf




        • XenApp系列桌面虚拟化

          • 文档链接

          • 文档链接

          • 文档链接




        • Citrix桌面虚拟化其他资料

          • 文档链接

          • 文档链接

          • 文档链接






      • Vmware桌面虚拟化


        • View系列桌面虚拟化

          • 文档链接

          • 文档链接

          • 文档链接






      • 其他产品桌面虚拟化


        • 其他系列桌面虚拟化

          • 文档链接

          • 文档链接

          • 文档链接










  • 存储技术


    • 华为存储

      • 文档链接

      • 文档链接

      • 文档链接




    • 宏衫存储

      • 文档链接

      • 文档链接

      • 文档链接




    • EMC存储

      • 文档链接

      • 文档链接

      • 文档链接




    • 博客交换机

      • Brocade系列之一 博科日常运维命令

      • Brocade系列之二 博科交换机简单配置实例

      • Brocade系列之三 博科通过命令创建ZONE






  • 其他技术

    • 文档链接

    • 文档链接

    • 文档链接




1…2526
YooHannah

YooHannah

260 日志
1 分类
23 标签
RSS
© 2025 YooHannah
由 Hexo 强力驱动
主题 - NexT.Pisces