Authored by 梁志锋

Merge remote-tracking branch 'origin/dev_vedio' into dev_vedio

... ... @@ -86,6 +86,25 @@ module.exports = {
return callback(null,errBackMsg);
}
});
}//上传文件
else if(req.body.__type == "import-video"){
req.body.file = fs.createReadStream(req.files[req.body.filename].path);
request.post({
url: config.domain+"/fileupload/uploadFile",
formData: req.body,
headers: httpHeader
}, function optionalCallback(error, httpResponse, body) {
if (error) {
return callback(null,error);
}
if (!error && httpResponse.statusCode == 200) {
var json = JSON.parse(body);
json.status = true;
return callback(null,json)
} else {
return callback(null,errBackMsg);
}
});
}
//上传图片
else {
... ...
/**
* Created by zw on 2016/6/20.
*/
module.exports = function (app) {
/*************************************视频管理*************************************/
//列表页
app.get("/video/index", "video.Index",function(){
this.$extend={
moduleName:'视频管理',
pageName:'视频管理'
}
});
//视频列表
app.post("/video/queryVideosList", "video_queryVideosList");
//添加产品图片
//app.post("/shotManage/proPhoto/add", "shootMeter_addProductBatchPhoto");
};
\ No newline at end of file
... ...
/**
* Created by zw on 2016/11/3.
* 视频管理
*/
module.exports = {
namespace: "video",
apis: {
/************************************产品视频管理*************************************/
queryVideosList: {
title: "视频列表",
url: "/videos/queryVideosList",
params: {
page: {type: Number},
size: {type: Number},
skn:{type: String},
videoName: {type: String}
}
}
}
};
\ No newline at end of file
... ...
<%include '../../common/views/__ui/header'%>
<%include '../../common/views/__partail/ListHeader'%>
<div class="contentpanel">
<div class="panel panel-default" style="...">
<div class="panel-body" style="padding-bottom: 0">
<a id="addVideo" href="javascript:;" class="btn btn-success"><span class="glyphicon glyphicon-cloud-upload"></span> 添加新视频 </a>
</div>
<div class="panel-body">
<div class="row">
<div class="panel-col">
<input type="text" value="" name="productSkn" id="content-filter1" placeholder="SKN"
class="form-control">
</div>
<div class="panel-col">
<input type="text" value="" name="videoName" id="content-filter2" placeholder="视频名称"
class="form-control">
</div>
<div class="panel-col2">
<a id="filter-btn" href="javascript:;" class="btn btn-info">查询</a>
<a id="filter-all" href="/video/index" class="btn btn-info">全部</a>
</div>
</div>
</div>
</div>
<div id="content-list"></div>
</div>
<script type="text/template" id="template">
<div class="rows">
<div class="form-group">
<label class="col-sm-2 control-label" for="englishName">视频名称<span class="red">*</span></label>
<div class="col-sm-3">
<input type="text" value="[[englishName]]" class="form-control observe" id="englishName"
placeholder="视频名称" required="required" data-field="englishName"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="avatar">视频<span class="red">*</span></label>
<div class="col-sm-6">
<div class="cover-image-list col-sm-10">
<ul class="cover-image-list col-sm-10" id="addPic" style="padding: 0;margin: 0;">
<li class="cover-image-item fileinput-button">
<div class="goods-img">
<a class="fileinput-button-icon" href="javascript:void(0);">+</a>
<input type="file" class="goods-img-upload picfile" name="picfile" required="required" id="picfile" placeholder="图片" multiple="true">
</div>
</li>
<span style="font-color:red">ps:只支持MP4格式</span>
</ul>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="englishName">关联SKN<span class="red">*</span></label>
<div class="col-sm-3">
<input type="text" value="[[englishName]]" class="form-control observe" id="englishName"
placeholder="关联SKN" required="required" data-field="englishName"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="englishName">备注<span class="red">*</span></label>
<div class="col-sm-3">
<input type="text" value="[[englishName]]" class="form-control observe" id="englishName"
placeholder="备注" required="required" data-field="englishName"/>
</div>
</div>
</div>
</script>
<!--上传图片-->
<script type="text/template" id="template1">
<div class="rows">
[[if __state=='update']]
<div class="form-group">
<label class="col-sm-2">SKN</label>
<div class="col-sm-6">
<input type="text" value=[[productSkn]] class="form-control" disabled="disabled">
</div>
</div>
[[/if]]
<div class="form-group">
<label class="col-sm-2 control-label">图片</label>
<div class="cover-image-list col-sm-10">
<ul class="cover-image-list col-sm-10" id="addPic" style="padding: 0;margin: 0;">
<li class="cover-image-item fileinput-button">
<div class="goods-img">
<a class="fileinput-button-icon" href="javascript:void(0);">+</a>
<input type="file" class="goods-img-upload picfile" name="picfile" required="required" id="picfile" placeholder="图片" multiple="true">
</div>
</li>
</ul>
</div>
</div>
</div>
</script>
<!--图片列表-->
<script type="text/template" id="template2">
[[each pictureBoList as _item _index]]
<li class="cover-image-item image-list" data-index=[[_index]]>
<div class="goods-img">
<a class="fileinput-button-icon" href="javascript:void(0);">
<img src="[[_item.fileName]]?imageView/2/w/100/h/100">
</a>
<i class="remove-item-btn remove1 glyphicon glyphicon-remove-circle" data-index="[[_index]]"></i>
</div>
</li>
[[/each]]
</script>
... ...
... ... @@ -44,8 +44,8 @@ var apiCofig = {
//root:__dirname,
EnvConst:{
// domain:"http://192.168.102.48:8088/platform",
//domain:"http://127.0.0.1:8080/platform",
domain:"http://172.16.6.200:8088/platform",
domain:"http://127.0.0.1:8080/platform",
// domain:"http://172.16.6.200:8088/platform",
yohoSearch: 'http://192.168.102.216:8080/yohosearch',
system:Iaccount
},
... ...
/**
* Created by zw on 2016/11/3.
* 视频管理
*/
var $ = require('jquery');
var common = require('../../common/common');
/**
* 列表显示数据
* @type {common.grid}
*/
var g = new common.grid({
el: '#content-list',
hash: false,
complete: function () {
$('#content-list').poptrox({
usePopupCaption: true
});
},
parms: function () {
return {
skn: common.util.__input('content-filter1'),
videoName: common.util.__input('content-filter2')
};
},
//列表显示
columns: [
{display: "视频名称", name: "videoName"},
{display: "关联SKN", name: "skn"},
{
display: '视频',
name: 'url',
render: function (item) {
if (item.url) {
return '<img height="140" width="80" src="' + item.url +'?vframe/jpg/offset/0'+ '">';
} else {
return '';
}
}
},
{display: "视频大小", name: "videoSize",render:function(item) { return item.videoSize+"M"}},
{display: "备注", name: "note"},
{
display: "操作", name: "", render: function (item) {
var arr = [];
arr.push('<a class="btn btn-xs btn-info update" data-index="' + item.__index + '">编辑</a>');
arr.push('<a class="btn btn-xs btn-danger delete" data-index="' + item.__index + '">删除</a>');
return arr.join('');
}
}
]
});
g.init("/video/queryVideosList");
//
var Bll = {
toast: function (url, item, datacall) {
Bll.pictureBoList = item.pictureBoList || [];
Bll.selectedBoId = [];
var a = new common.dialog({
title: "添加视频",
width: '50%',
content: common.util.__template2($("#template").html(), item),
button: [
{
value: "提交", callback: function () {
var data = {};
if (item.__state == 'add') {
data = datacall && datacall(Bll.clonePics, Bll.selectedBoId);
} else {
data = datacall && datacall(Bll.getNewPics(Bll.clonePics), Bll.selectedBoId);
}
common.util.__ajax({
url: url,
data: data
}, function (res) {
if (res.code == '200') {
if (res.data.length > 0) {
var mess = "失败列表:";
for (var i = 0; i < res.data.length; i++) {
mess = mess + '<p>' + res.data[i].originalName + ';' + '</p>';
}
common.util.__tip(mess, 'warning');
}
g.reload();
a.close();
}
});
return false;
}, css: "btn-primary"
},
{
"value": "取消",
css: "btn-info"
}
]
});
/*Bll.rendBoList(Bll.pictureBoList);*/
common.edit.ajaxfileupload(".picfile", {
params: {
__type: "import-video",
bucket: "goodsvideo"
},
valid_extensions: ['mp4'],
onComplete: function (response) {
console.log("批量接口返回数据",response);
if (response.status && response.code == 200) {
alert(" 上传成功")
/*for (var i = 0; i < response.datas.length; i++) {
var name = response.names[i];
var index = name.indexOf('.');
var name1 = name.substr(0, index);
//判断图片名称是否符合标准
if ((/^[0-9]+[_][0-9]+$/).test(name1) || (/^[1-9]\d*$/).test(name1)) {
Bll.pictureBoList.push({
"fileName": response.datas[i],
"originalName": response.names[i]
});
Bll.clonePics.push({
"fileName": response.datas[i],
"originalName": response.names[i]
})
}
else {
common.util.__tip("图片应以sku命名", "warning");
}
}
Bll.rendBoList(Bll.clonePics);*/
}
else {
common.util.__tip(response.message, 'warning');
}
}
});
}
};
//添加
$('#addVideo').on('click', function () {
var item = {
"__state": "add",
'englishName': "",//英文名
'height': "",//身高
'dressSize': "",//穿衣尺码
'modelName': "",//名称
'modelType': 1,//模特类型:1 拍摄模特 2 试穿模特
'nationality': "",//国籍
'status': 1,//模特状态:0 禁用 1 启用
'shoeSize': "",//鞋尺码
'vitalStatistics': "",//三围
"Bust": "",//胸围
"waist": "",//腰围
"hips": "",//臀围
'weight': "",//体重
'avatar': "",//头像
'modelCard': ""//模特卡
};
Bll.toast('/shotManage/model/addModel', item, "添加视频");
});
\ No newline at end of file
... ...