Commit 48815a7eae6165cd7d8df52e68e5f22fff03e4f5

Authored by 曹明
1 parent 1113c3e1
Exists in master

1. 视频和图片接口分离

2. 视频格式不限 只限制文件大小 <10m
app-wx/modules/smart/controllers/DefaultController.php
... ... @@ -38,7 +38,7 @@ class DefaultController extends BaseController
38 38 $e->message = 'ok';
39 39  
40 40 if (empty($_FILES["file"])) {
41   - $e->message = '文件为空!';
  41 + $e->message = '文件太大或文件为空!';
42 42 return $this->renderJson($e);
43 43 }
44 44 if (empty($_FILES["file"]['tmp_name'])) {
... ... @@ -48,8 +48,8 @@ class DefaultController extends BaseController
48 48 $type = $_FILES["file"]["type"];
49 49 $typeArr = explode('/', $type);
50 50 Log::DEBUG("上传文件信息:" . json_encode($_FILES));
51   - if ('image' !== $typeArr[0] && 'video' !== $typeArr[0] && 'audio' !== $typeArr[0]) {
52   - $e->message = '只能上传MP4视频和图片文件';
  51 + if ('image' !== $typeArr[0]) {
  52 + $e->message = '只能上传图片文件';
53 53 return $this->renderJson($e);
54 54 }
55 55  
... ... @@ -57,25 +57,18 @@ class DefaultController extends BaseController
57 57 $fileExt = end($fileArr);
58 58  
59 59 // 兼容苹果手机mov视频文件
60   - if (!in_array(strtolower($fileExt), ["jpg", "gif", "png", "jpeg", "ico", "bmp", "mp4", "mov"])) {
  60 + /*if (!in_array(strtolower($fileExt), ["jpg", "gif", "png", "jpeg", "ico", "bmp"])) {
61 61 $e->message = '该文件被限制不能上传';
62 62 return $this->renderJson($e);
63   - }
  63 + }*/
64 64  
65 65 // 判断文件大小
66 66 $fileSize = $_FILES["file"]["size"] / (1024 * 1024);
67   - if (strtoupper($fileExt) == "MP4" || strtoupper($fileExt) == "MOV") {
68   - if ($fileSize > 10) {
69   - $e->message = '视频文件不能大于10M';
70   - return $this->renderJson($e);
71   - }
72   - } else {
73   - if ($fileSize > 5) {
74   - $e->message = '图片文件不能大于5M';
75   - return $this->renderJson($e);
76   - }
77   - }
78 67  
  68 + if ($fileSize > 5) {
  69 + $e->message = '图片文件不能大于5M';
  70 + return $this->renderJson($e);
  71 + }
79 72  
80 73 $dir = Yii::getAlias('@app/wx') . "/web/tmp";
81 74  
... ... @@ -85,11 +78,7 @@ class DefaultController extends BaseController
85 78 move_uploaded_file($_FILES["file"]['tmp_name'], $saveFilePath);
86 79 $ossPath = ImageManager::getTempImgPath($fileExt);
87 80 ImageManager::add($saveFilePath, $ossPath);
88   - if (strtoupper($fileExt) == "MP4" || strtoupper($fileExt) == "MOV") {
89   - $tmpMinFile = $this->site->base_url. "/i/enter/vedio.png";
90   - } else {
91   - $tmpMinFile = ImageManager::getUrl($ossPath, ImageManager::$STYLE_180);
92   - }
  81 + $tmpMinFile = ImageManager::getUrl($ossPath, ImageManager::$STYLE_180);
93 82  
94 83 // 删除ECS服务器文件
95 84 @unlink($saveFilePath);
... ... @@ -104,20 +93,68 @@ class DefaultController extends BaseController
104 93 }
105 94  
106 95 /**
107   - * @param $imgPath
108   - * @return null|resource
  96 + * 上传商品视频
  97 + * @return string
109 98 */
110   - private function _imageCreateFromPath($imgPath)
  99 + public function actionUploadVedio()
111 100 {
112   - list($width, $height, $type, $attr) = getimagesize($imgPath);
113   - switch ($type) {
114   - case 3: // png
115   - return imagecreatefrompng($imgPath);
116   - case 2: // jpeg
117   - return imagecreatefromjpeg($imgPath);
118   - default:
119   - return null;
  101 + $e = new stdClass();
  102 + $e->success = false;
  103 + $e->message = 'ok';
  104 +
  105 + if (empty($_FILES["file"])) {
  106 + $e->message = '文件太大或文件为空!';
  107 + return $this->renderJson($e);
  108 + }
  109 + if (empty($_FILES["file"]['tmp_name'])) {
  110 + $e->message = '文件太大上传不了';
  111 + return $this->renderJson($e);
  112 + }
  113 + $type = $_FILES["file"]["type"];
  114 + $typeArr = explode('/', $type);
  115 + Log::DEBUG("上传文件信息:" . json_encode($_FILES));
  116 + if ('video' !== $typeArr[0] && 'audio' !== $typeArr[0]) {
  117 + $e->message = '只能上传视频文件';
  118 + return $this->renderJson($e);
  119 + }
  120 +
  121 + $fileArr = explode('.', $_FILES["file"]['name']);
  122 + $fileExt = end($fileArr);
  123 +
  124 + // 兼容苹果手机mov视频文件
  125 + /*if (!in_array(strtolower($fileExt), ["mp4", "mov"])) {
  126 + $e->message = '该文件被限制不能上传';
  127 + return $this->renderJson($e);
  128 + }*/
  129 +
  130 + // 判断文件大小
  131 + $fileSize = $_FILES["file"]["size"] / (1024 * 1024);
  132 +
  133 + if ($fileSize > 10) {
  134 + $e->message = '视频文件不能大于10M';
  135 + return $this->renderJson($e);
120 136 }
  137 +
  138 + $dir = Yii::getAlias('@app/wx') . "/web/tmp";
  139 +
  140 + $tt = time();
  141 + $filename = 'smart_'.$tt.md5($_FILES["file"]['name']) . '.' . $fileExt;
  142 + $saveFilePath = $dir.'/'.$filename;
  143 + move_uploaded_file($_FILES["file"]['tmp_name'], $saveFilePath);
  144 + $ossPath = ImageManager::getTempImgPath($fileExt);
  145 + ImageManager::add($saveFilePath, $ossPath);
  146 + $tmpMinFile = $this->site->base_url. "/i/enter/vedio.png";
  147 +
  148 + // 删除ECS服务器文件
  149 + @unlink($saveFilePath);
  150 + // 上传到OSS
  151 + $e->success = true;
  152 + $e->tmpFile = $ossPath;
  153 + $e->tmpMinUrl = $tmpMinFile;
  154 + $e->tmpUrl = $ossPath;
  155 + $e->message = 'ok';
  156 +
  157 + return $this->renderJson($e);
121 158 }
122 159  
123 160 /**
... ... @@ -152,7 +189,7 @@ class DefaultController extends BaseController
152 189 $productVedioPath = "";
153 190  
154 191 // 校验UUID是否有效 2 无效 0 有效未激活 1 有效已激活
155   - $checkResult = CheckActiveHelper::getAppActivate($uuid);
  192 + $checkResult = false;// 测试暂时注释:CheckActiveHelper::getAppActivate($uuid);
156 193 $activeResult = false;
157 194 if ($checkResult) {
158 195 //success:激活成功 fail:激活失败,无效标签 activated:已激活过
... ...
app-wx/modules/smart/views/default/pages/enter-template.php
... ... @@ -24,12 +24,12 @@ $baseUrl = Url::base(true);
24 24 </div>
25 25 <div class="space-line"></div>
26 26 <div class="input-item-cls">
27   - <label class="pub-title">上传商品视频<span class="require-cls">(视频<10M mp4|mov格式)</span></label>
  27 + <label class="pub-title">上传商品视频<span class="require-cls">(视频<10M)</span></label>
28 28 <div class="img-box-cls">
29 29 <ul id ="vedio-list" style="overflow: hidden;margin-top:0.5rem; margin-bottom: 0.5rem;">
30 30 <li class="upload-vedio-li upload-vedio-btn-li">
31 31 <div class="upload-vedio-item upload-vedio-btn-cls">
32   - <input type="file" id="upload-vedio-btn" class="upload-vedio-input-cls" name="file" accept="*.mov,*.MOV,*.mp4,*.MP4"/>
  32 + <input type="file" id="upload-vedio-btn" class="upload-vedio-input-cls" name="file" accept="video/*,audio/*"/>
33 33 </div>
34 34 <li>
35 35 </ul>
... ...
app-wx/web/dist/js/smart-app.js
1   -define("smart/actived-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7;Template7;return e.run=function(){var e=this;e.setPageTitle("激活标签"),e.render()},e.bindEvents=function(){r(".back-button").click(function(){window.history.go(-1)})},e}),define("smart-app",["mk7/app"],function(e){var t=Dom7,n=function(){var e=t(".ui-loading-block");0==e.length&&(t(".view-main").html('<div class="ui-loading-block" id="ui-loading"><div class="ui-loading-cnt"><div class="spinner"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div><div id="loader-inner"><p></p></div> </div> </div>'),window.waitingTime=1e4,window.loaderTimer&&clearTimeout(window.loaderTimer),window.loaderTimer=setTimeout(function(){var e=document.getElementById("loader-inner"),t=document.createElement("p");t.className="notice",e&&(t.innerHTML='加载速度太慢?试试<a class="link" href="#" onclick="javascript:location.reload();return false;">重新加载</a>',e.appendChild(t))},window.waitingTime))},i=!0;return e.name="smart",e.routes={index:function(){return i=!1,n(),e.runController("index")},"enter/:uuid":function(t){i=!1,n();var o={uuid:t};return e.runController("enter",o)},"*":function(){return i=!1,n(),e.runController("index")},actived:function(){return i=!1,n(),e.runController("actived")},error:function(){return i=!1,n(),e.runController("error")},success:function(){return i=!1,n(),e.runController("success")},"error-url":function(){return i=!1,n(),e.runController("error-url")}},e}),define("smart/enter-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin","mk7/uploadjs"],function(e,t,n,i,o,r){var e=new e,s=Dom7,a=(Template7,"smart/default/upload-img"),l="smart/default/submit",d=3,c=1,u="",m=!1;return e.run=function(){var e=this;e.setPageTitle("激活标签"),o.config({debug:!1,appId:window.$site.appid,timestamp:window.$site.timestamp,nonceStr:window.$site.noncestr,signature:window.$site.signature,jsApiList:["chooseImage","previewImage","uploadImage","getLocalImgData"]}),u=e.params.uuid,e.hideAllNonBaseMenuItem(window.$site),e.render(),e.loadAddress()},e.bindEvents=function(){var e=this;s("#upload-btn").change(function(e){if(""!=s(this).val()&&null!=s(this).val()){var t=e.currentTarget.files[0].name,i=t.lastIndexOf("."),o=t.substr(i+1);if("jpg"!=o&&"gif"!=o&&"png"!=o&&"jpeg"!=o&&"ico"!=o&&"bmp"!=o)return n.toast({content:"该文件不能作为商品图片",closeDelay:3e3}),!1;if(d==s("#image-list").find(".up-img").length)return n.toast({content:"最多只能上传三张商品图片",closeDelay:3e3}),!1;var l=s(this).parents("li");r.uploadFile({selector:"#upload-btn",url:a,processAppendTo:"#enter",success:function(e,t){try{if(e.success){var i=e.tmpUrl,o="";0==s("#image-list").find(".convert-img").length&&(o='<div class="convert-img">封面</div>'),s('<li class="upload-li up-img"><div data="'+e.tmpFile+'" data-url="'+i+'" class="upload-item" style="background-image:url('+e.tmpMinUrl+')">'+o+'</div><span class="del-img"></span></li>').insertBefore(l),d==s("#image-list").find(".up-img").length&&s(".upload-btn-li").hide()}else n.toast({content:e.message,closeDelay:5e3})}catch(r){console.log(r),n.toast({content:"出错",closeDelay:5e3})}}})}}),s("#upload-vedio-btn").change(function(e){if(""!=s(this).val()&&null!=s(this).val()){var t=e.currentTarget.files[0].name,i=t.lastIndexOf("."),o=t.substr(i+1);if("mp4"!=o&&"mov"!=o)return n.toast({content:"商品视频格式只支持mov或mp4",closeDelay:3e3}),!1;if(c==s("#vedio-list").find(".up-vedio-img").length)return n.toast({content:"只能上传一个商品视频",closeDelay:3e3}),!1;var l=s(this).parents("li");r.uploadFile({selector:"#upload-vedio-btn",url:a,processAppendTo:"#enter",success:function(e,t){try{if(e.success){var i=e.tmpUrl,o="";0==s("#vedio-list").find(".convert-img").length&&(o='<div class="convert-img">封面</div>'),s('<li class="upload-vedio-li up-vedio-img"><div data="'+e.tmpFile+'" data-url="'+i+'" class="upload-vedio-item" style="background-image:url('+e.tmpMinUrl+')">'+o+'</div><span class="del-vedio-img"></span></li>').insertBefore(l),c==s("#vedio-list").find(".up-vedio-img").length&&s(".upload-vedio-btn-li").hide()}else n.toast({content:e.message,closeDelay:5e3})}catch(r){console.log(r),n.toast({content:"出错",closeDelay:5e3})}}})}}),s("#enter").on("click",".del-img",function(e){s(this).parent().remove(),d>=s("#image-list").find(".up-img").length&&s(".upload-btn-li").show()}),s("#enter").on("click",".del-vedio-img",function(e){s(this).parent().remove(),c>=s("#vedio-list").find(".up-vedio-img").length&&s(".upload-vedio-btn-li").show()}),s("#enter").on("click","#dropdown-address",function(e){s(".address-input").val(s(this).html())}),s("#enter").on("click",".submit-btn",function(){if(n.isEmpty(u))return n.toast({content:"进入方式不对,请从新扫码激活",closeDelay:3e3}),!1;var i=s(".upload-vedio-item").attr("data"),o="";s(".upload-item").each(function(){var e=s(this).attr("data");n.isEmpty(e)||(o+=s(this).attr("data")+",")}),""!=o&&(o=o.substring(0,o.length-1));var r=s(".address-input").val(),a=s(".logistics_number").val(),d=s(".content-cls").val(),c=s(".phone-number").val(),m=s(".phone-number-header").val();if(!(n.isEmpty(i)&&n.isEmpty(o)&&n.isEmpty(r)&&n.isEmpty(a)&&n.isEmpty(d))){if(n.isEmpty(m))return n.toast({content:"请填写国家区号",closeDelay:3e3}),s(".phone-number-header").focus(),!1;if("86"==m&&!n.isMobile(c))return n.toast({content:"请填写正确手机号码",closeDelay:3e3}),s(".phone-number").focus(),!1}s(".submit-btn").attr("disabled","disabled"),s.ajax({method:"POST",url:l,data:{file_data:o,vedio_data:i,address:r,content:d,phone:c,logistics_number:a,phone_header:m,uuid:u},dataType:"json",beforeSend:function(){e.showIndicator()},success:function(e){e.success?(s(".submit-btn").removeAttr("disabled"),window.location.href=t.to("smart#success")):window.location.href=t.to("smart#error")},error:function(e){n.alert(e.responseText)},complete:function(t){s(".submit-btn").removeAttr("disabled"),e.hideIndicator()}})})},e.uploadImg=function(e){var t=this;o.ready(function(){o.chooseImage({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:function(n){n.localIds.length>0&&t.upload(n.localIds,e)}})})},e.upload=function(e,i){var r=this;return void 0==e[0]?"":void o.uploadImage({localId:e[0],isShowProgressTips:1,success:function(e){s.ajax({method:"POST",url:t.to("smart/default/update-serviceid"),data:{service_id:e.serverId},dataType:"json",beforeSend:function(){r.showIndicator()},success:function(e){try{if(e.success){var t=e.img_path,o="";0==s("#image-list").find(".convert-img").length&&(o='<div class="convert-img">封面</div>'),s('<li class="upload-li up-img"><div data="'+e.img_path+'" data-url="'+t+'" class="upload-item" style="background-image:url('+e.show_path+')">'+o+'</div><span class="del-img"></span></li>').insertBefore(i),d==s("#image-list").find(".up-img").length&&s(".upload-btn-li").hide()}else n.toast({content:e.message,closeDelay:3e3})}catch(r){n.toast({content:"出错",closeDelay:3e3})}},error:function(e){alert(e.responseText),n.toast({content:"提交出错,请联系系统管理员"+e.responseText})},complete:function(e){r.hideIndicator()}})},fail:function(e){r.app.alert(JSON.stringify(e))}})},e.loadAddress=function(){var e=this;s.ajax({method:"POST",url:t.to("smart/default/select-address"),data:{},dataType:"json",beforeSend:function(){e.showIndicator()},success:function(e){try{e.success&&""!=e.address&&(m=!0,s("#dropdown-address").html(e.address),s(".address-input").focus(function(e){m&&s("#dropdown-address").show()}),s(".address-input").blur(function(e){m&&s("#dropdown-address").hide()}))}catch(t){}},error:function(e){},complete:function(t){e.hideIndicator()}})},e}),define("smart/error-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7;Template7;return e.run=function(){var e=this;e.setPageTitle("激活结果"),e.render(),e.setTimer()},e.bindEvents=function(){r(".back-button").click(function(){window.history.go(-1)})},e.setTimer=function(){var e=4,i=window.setInterval(function(){return 0==e?(window.location.href=t.to("smart#index"),void(n.isEmpty(i)||clearInterval(i))):(r("#timerDiv").html(e+"秒后跳转到激活扫码页"),void e--)},1e3)},e}),define("smart/error-url-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7;Template7;return e.run=function(){var e=this;e.setPageTitle("激活标签"),e.render()},e.bindEvents=function(){r(".back-button").click(function(){window.history.go(-1)})},e}),define("smart/index-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7,s=(Template7,1),a=0,l=2;return e.run=function(){var e=this;e.setPageTitle("智能防伪扫码"),o.config({debug:!1,appId:window.$site.appid,timestamp:window.$site.timestamp,nonceStr:window.$site.noncestr,signature:window.$site.signature,jsApiList:["openLocation","getLocation","scanQRCode"]}),e.scanQrcode(),e.render(),r(".scan-button").attr("disabled","disabled"),r(".scan-button").text("正在调起扫码……")},e.bindEvents=function(){var e=this;r(".scan-button").click(function(){e.scanQrcode()})},e.scanQrcode=function(){var e=this;o.ready(function(){o.scanQRCode({needResult:1,desc:"scanQRCode desc",success:function(i){var o=i.resultStr,d=r.parseUrlQuery(o);if(null!=d&&void 0!==d&&null!=d.uuid&&void 0!==d.uuid){if(d.uuid.indexOf("@")==-1)return n.toast({content:"该智能防伪二维码无效"}),!1;var d=d.uuid.split("@"),c=t.to("smart#enter/"+d[0]),u=t.to("smart#actived"),m=t.to("smart#error-url");r.ajax({method:"POST",url:t.to("smart/default/check-active"),data:{uuid:d[0]},dataType:"json",beforeSend:function(){e.showIndicator()},success:function(e){e.success==s?window.location.href=u:e.success==a?window.location.href=c:e.success==l?window.location.href=m:window.location.href=m},error:function(e){},complete:function(t){e.hideIndicator()}})}else n.toast({content:"请扫描智能防伪二维码"})}}),setTimeout(function(){r(".scan-button").removeAttr("disabled"),r(".scan-button").text("点击扫描标签")},1e3)})},e}),define("smart/success-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7;Template7;return e.run=function(){var e=this;e.setPageTitle("激活结果"),e.render(),e.setTimer()},e.bindEvents=function(){r(".back-button").click(function(){window.history.go(-1)})},e.setTimer=function(){var e=4,i=window.setInterval(function(){return 0==e?(window.location.href=t.to("smart#index"),void(n.isEmpty(i)||clearInterval(i))):(r("#timerDiv").html(e+"秒后跳转到激活扫码页"),void e--)},1e3)},e});
2 1 \ No newline at end of file
  2 +define("smart/actived-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7;Template7;return e.run=function(){var e=this;e.setPageTitle("激活标签"),e.render()},e.bindEvents=function(){r(".back-button").click(function(){window.history.go(-1)})},e}),define("smart-app",["mk7/app"],function(e){var t=Dom7,n=function(){var e=t(".ui-loading-block");0==e.length&&(t(".view-main").html('<div class="ui-loading-block" id="ui-loading"><div class="ui-loading-cnt"><div class="spinner"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div><div id="loader-inner"><p></p></div> </div> </div>'),window.waitingTime=1e4,window.loaderTimer&&clearTimeout(window.loaderTimer),window.loaderTimer=setTimeout(function(){var e=document.getElementById("loader-inner"),t=document.createElement("p");t.className="notice",e&&(t.innerHTML='加载速度太慢?试试<a class="link" href="#" onclick="javascript:location.reload();return false;">重新加载</a>',e.appendChild(t))},window.waitingTime))},i=!0;return e.name="smart",e.routes={index:function(){return i=!1,n(),e.runController("index")},"enter/:uuid":function(t){i=!1,n();var o={uuid:t};return e.runController("enter",o)},"*":function(){return i=!1,n(),e.runController("index")},actived:function(){return i=!1,n(),e.runController("actived")},error:function(){return i=!1,n(),e.runController("error")},success:function(){return i=!1,n(),e.runController("success")},"error-url":function(){return i=!1,n(),e.runController("error-url")}},e}),define("smart/enter-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin","mk7/uploadjs"],function(e,t,n,i,o,r){var e=new e,s=Dom7,a=(Template7,"smart/default/upload-img"),l="smart/default/upload-vedio",c="smart/default/submit",d=3,u=1,m="",f=!1;return e.run=function(){var e=this;e.setPageTitle("激活标签"),o.config({debug:!1,appId:window.$site.appid,timestamp:window.$site.timestamp,nonceStr:window.$site.noncestr,signature:window.$site.signature,jsApiList:["chooseImage","previewImage","uploadImage","getLocalImgData"]}),m=e.params.uuid,e.hideAllNonBaseMenuItem(window.$site),e.render(),e.loadAddress()},e.bindEvents=function(){var e=this;s("#upload-btn").change(function(e){if(""!=s(this).val()&&null!=s(this).val()){var t=e.currentTarget.files[0].name,i=t.lastIndexOf("."),o=t.substr(i+1);if("jpg"!=o&&"gif"!=o&&"png"!=o&&"jpeg"!=o&&"ico"!=o&&"bmp"!=o)return n.toast({content:"该文件不能作为商品图片",closeDelay:3e3}),!1;if(d==s("#image-list").find(".up-img").length)return n.toast({content:"最多只能上传三张商品图片",closeDelay:3e3}),!1;var l=s(this).parents("li");r.uploadFile({selector:"#upload-btn",url:a,processAppendTo:"#enter",success:function(e,t){try{if(e.success){var i=e.tmpUrl,o="";0==s("#image-list").find(".convert-img").length&&(o='<div class="convert-img">封面</div>'),s('<li class="upload-li up-img"><div data="'+e.tmpFile+'" data-url="'+i+'" class="upload-item" style="background-image:url('+e.tmpMinUrl+')">'+o+'</div><span class="del-img"></span></li>').insertBefore(l),d==s("#image-list").find(".up-img").length&&s(".upload-btn-li").hide()}else n.toast({content:e.message,closeDelay:5e3})}catch(r){console.log(r),n.toast({content:"出错",closeDelay:5e3})}},error:function(e,t){n.toast({content:"文件上传失败",closeDelay:5e3})}})}}),s("#upload-vedio-btn").change(function(e){if(""!=s(this).val()&&null!=s(this).val()){var t=e.currentTarget.files[0].name,i=t.lastIndexOf(".");t.substr(i+1);if(u==s("#vedio-list").find(".up-vedio-img").length)return n.toast({content:"只能上传一个商品视频",closeDelay:3e3}),!1;var o=s(this).parents("li");r.uploadFile({selector:"#upload-vedio-btn",url:l,processAppendTo:"#enter",success:function(e,t){try{if(e.success){var i=e.tmpUrl,r="";0==s("#vedio-list").find(".convert-img").length&&(r='<div class="convert-img">封面</div>'),s('<li class="upload-vedio-li up-vedio-img"><div data="'+e.tmpFile+'" data-url="'+i+'" class="upload-vedio-item" style="background-image:url('+e.tmpMinUrl+')">'+r+'</div><span class="del-vedio-img"></span></li>').insertBefore(o),u==s("#vedio-list").find(".up-vedio-img").length&&s(".upload-vedio-btn-li").hide()}else n.toast({content:e.message,closeDelay:5e3})}catch(a){console.log(a),n.toast({content:"出错",closeDelay:5e3})}},error:function(e,t){n.toast({content:"文件上传失败",closeDelay:5e3})}})}}),s("#enter").on("click",".del-img",function(e){s(this).parent().remove(),d>=s("#image-list").find(".up-img").length&&s(".upload-btn-li").show()}),s("#enter").on("click",".del-vedio-img",function(e){s(this).parent().remove(),u>=s("#vedio-list").find(".up-vedio-img").length&&s(".upload-vedio-btn-li").show()}),s("#enter").on("click","#dropdown-address",function(e){s(".address-input").val(s(this).html())}),s("#enter").on("click",".submit-btn",function(){if(n.isEmpty(m))return n.toast({content:"进入方式不对,请从新扫码激活",closeDelay:3e3}),!1;var i=s(".upload-vedio-item").attr("data"),o="";s(".upload-item").each(function(){var e=s(this).attr("data");n.isEmpty(e)||(o+=s(this).attr("data")+",")}),""!=o&&(o=o.substring(0,o.length-1));var r=s(".address-input").val(),a=s(".logistics_number").val(),l=s(".content-cls").val(),d=s(".phone-number").val(),u=s(".phone-number-header").val();if(!(n.isEmpty(i)&&n.isEmpty(o)&&n.isEmpty(r)&&n.isEmpty(a)&&n.isEmpty(l))){if(n.isEmpty(u))return n.toast({content:"请填写国家区号",closeDelay:3e3}),s(".phone-number-header").focus(),!1;if("86"==u&&!n.isMobile(d))return n.toast({content:"请填写正确手机号码",closeDelay:3e3}),s(".phone-number").focus(),!1}s(".submit-btn").attr("disabled","disabled"),s.ajax({method:"POST",url:c,data:{file_data:o,vedio_data:i,address:r,content:l,phone:d,logistics_number:a,phone_header:u,uuid:m},dataType:"json",beforeSend:function(){e.showIndicator()},success:function(e){e.success?(s(".submit-btn").removeAttr("disabled"),window.location.href=t.to("smart#success")):window.location.href=t.to("smart#error")},error:function(e){n.alert(e.responseText)},complete:function(t){s(".submit-btn").removeAttr("disabled"),e.hideIndicator()}})})},e.uploadImg=function(e){var t=this;o.ready(function(){o.chooseImage({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:function(n){n.localIds.length>0&&t.upload(n.localIds,e)}})})},e.upload=function(e,i){var r=this;return void 0==e[0]?"":void o.uploadImage({localId:e[0],isShowProgressTips:1,success:function(e){s.ajax({method:"POST",url:t.to("smart/default/update-serviceid"),data:{service_id:e.serverId},dataType:"json",beforeSend:function(){r.showIndicator()},success:function(e){try{if(e.success){var t=e.img_path,o="";0==s("#image-list").find(".convert-img").length&&(o='<div class="convert-img">封面</div>'),s('<li class="upload-li up-img"><div data="'+e.img_path+'" data-url="'+t+'" class="upload-item" style="background-image:url('+e.show_path+')">'+o+'</div><span class="del-img"></span></li>').insertBefore(i),d==s("#image-list").find(".up-img").length&&s(".upload-btn-li").hide()}else n.toast({content:e.message,closeDelay:3e3})}catch(r){n.toast({content:"出错",closeDelay:3e3})}},error:function(e){alert(e.responseText),n.toast({content:"提交出错,请联系系统管理员"+e.responseText})},complete:function(e){r.hideIndicator()}})},fail:function(e){r.app.alert(JSON.stringify(e))}})},e.loadAddress=function(){var e=this;s.ajax({method:"POST",url:t.to("smart/default/select-address"),data:{},dataType:"json",beforeSend:function(){e.showIndicator()},success:function(e){try{e.success&&""!=e.address&&(f=!0,s("#dropdown-address").html(e.address),s(".address-input").focus(function(e){f&&s("#dropdown-address").show()}),s(".address-input").blur(function(e){f&&s("#dropdown-address").hide()}))}catch(t){}},error:function(e){},complete:function(t){e.hideIndicator()}})},e}),define("smart/error-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7;Template7;return e.run=function(){var e=this;e.setPageTitle("激活结果"),e.render(),e.setTimer()},e.bindEvents=function(){r(".back-button").click(function(){window.history.go(-1)})},e.setTimer=function(){var e=4,i=window.setInterval(function(){return 0==e?(window.location.href=t.to("smart#index"),void(n.isEmpty(i)||clearInterval(i))):(r("#timerDiv").html(e+"秒后跳转到激活扫码页"),void e--)},1e3)},e}),define("smart/error-url-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7;Template7;return e.run=function(){var e=this;e.setPageTitle("激活标签"),e.render()},e.bindEvents=function(){r(".back-button").click(function(){window.history.go(-1)})},e}),define("smart/index-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7,s=(Template7,1),a=0,l=2;return e.run=function(){var e=this;e.setPageTitle("智能防伪扫码"),o.config({debug:!1,appId:window.$site.appid,timestamp:window.$site.timestamp,nonceStr:window.$site.noncestr,signature:window.$site.signature,jsApiList:["openLocation","getLocation","scanQRCode"]}),e.scanQrcode(),e.render(),r(".scan-button").attr("disabled","disabled"),r(".scan-button").text("正在调起扫码……")},e.bindEvents=function(){var e=this;r(".scan-button").click(function(){e.scanQrcode()})},e.scanQrcode=function(){var e=this;o.ready(function(){o.scanQRCode({needResult:1,desc:"scanQRCode desc",success:function(i){var o=i.resultStr,c=r.parseUrlQuery(o);if(null!=c&&void 0!==c&&null!=c.uuid&&void 0!==c.uuid){if(c.uuid.indexOf("@")==-1)return n.toast({content:"该智能防伪二维码无效"}),!1;var c=c.uuid.split("@"),d=t.to("smart#enter/"+c[0]),u=t.to("smart#actived"),m=t.to("smart#error-url");r.ajax({method:"POST",url:t.to("smart/default/check-active"),data:{uuid:c[0]},dataType:"json",beforeSend:function(){e.showIndicator()},success:function(e){e.success==s?window.location.href=u:e.success==a?window.location.href=d:e.success==l?window.location.href=m:window.location.href=m},error:function(e){},complete:function(t){e.hideIndicator()}})}else n.toast({content:"请扫描智能防伪二维码"})}}),setTimeout(function(){r(".scan-button").removeAttr("disabled"),r(".scan-button").text("点击扫描标签")},1e3)})},e}),define("smart/success-controller",["mk7/controller","mk7/url","mk7/utils","mk7/modals","mk7/jweixin"],function(e,t,n,i,o){var e=new e,r=Dom7;Template7;return e.run=function(){var e=this;e.setPageTitle("激活结果"),e.render(),e.setTimer()},e.bindEvents=function(){r(".back-button").click(function(){window.history.go(-1)})},e.setTimer=function(){var e=4,i=window.setInterval(function(){return 0==e?(window.location.href=t.to("smart#index"),void(n.isEmpty(i)||clearInterval(i))):(r("#timerDiv").html(e+"秒后跳转到激活扫码页"),void e--)},1e3)},e});
3 3 \ No newline at end of file
... ...
app-wx/web/src/js/smart/enter-controller.js
... ... @@ -16,6 +16,7 @@ define(
16 16 var $$ = Dom7;
17 17 var t7 = Template7;
18 18 var uploadURL = 'smart/default/upload-img';
  19 + var uploadVedioURL = 'smart/default/upload-vedio';
19 20 var submitURL = 'smart/default/submit';
20 21 var imgLimit = 3;
21 22 var vedioLimit = 1;
... ... @@ -85,6 +86,9 @@ define(
85 86 console.log(ex)
86 87 utils.toast({content:'出错', closeDelay:5000});
87 88 }
  89 + },
  90 + error:function (response, e) {
  91 + utils.toast({content:'文件上传失败', closeDelay:5000});
88 92 }
89 93 });
90 94 })
... ... @@ -98,10 +102,10 @@ define(
98 102 var filename = e.currentTarget.files[0].name;
99 103 var index = filename.lastIndexOf(".");
100 104 var suffix = filename.substr(index+1);
101   - if ("mp4" != suffix && "mov" != suffix) {
  105 + /*if ("mp4" != suffix && "mov" != suffix) {
102 106 utils.toast({content:'商品视频格式只支持mov或mp4', closeDelay:3000});
103 107 return false;
104   - }
  108 + }*/
105 109  
106 110 if (vedioLimit == $$('#vedio-list').find('.up-vedio-img').length) {
107 111 utils.toast({content:'只能上传一个商品视频', closeDelay:3000});
... ... @@ -111,7 +115,7 @@ define(
111 115  
112 116 uploadjs.uploadFile({
113 117 selector:'#upload-vedio-btn',
114   - url:uploadURL,
  118 + url:uploadVedioURL,
115 119 processAppendTo:'#enter',
116 120 success:function(response, e) {
117 121 try {
... ... @@ -133,6 +137,9 @@ define(
133 137 console.log(ex)
134 138 utils.toast({content:'出错', closeDelay:5000});
135 139 }
  140 + },
  141 + error:function (response, e) {
  142 + utils.toast({content:'文件上传失败', closeDelay:5000});
136 143 }
137 144 });
138 145 })
... ...