Commit b947053b authored by superman's avatar superman

update

parent 0b5038d5
......@@ -52,7 +52,7 @@
$errorDescription.empty();
});
$successDialog.on('click', 'modal-dialog-close', function (e) {
$successDialog.on('click', '.modal-dialog-close', function (e) {
$successDialog.fadeOut(300);
});
......@@ -66,7 +66,6 @@
description: description
}, 'POST').then(function () {
$successDialog.fadeIn(300);
alert('提交成功!');
}).catch(function () {
alert('提交失败, 请稍后再试!');
});
......
{"version":3,"sources":["project.jsx"],"names":[],"mappings":"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","file":"project.js","sourcesContent":["/**\n * Created by Administrator on 2016/7/27.\n */\n(()=> {\n const $form = $('#container .introducer');\n const $submit = $('input[type=\"submit\"]', $form);\n const $introducerMobile = $('#introducerMobile', $form);\n const $projectDescription = $('#projectDescription', $form);\n const $errorPhone = $('.error-phone', $form);\n const $errorDescription = $('.error-description', $form);\n const $successDialog = $('.modal-box-success');\n\n const filterMobileInput = ($mobile)=> {\n $mobile.val(($mobile.val() + '').replace(/[^\\d]/g, ''));\n };\n\n const validateMobile = ()=> {\n let mobile = $.trim($introducerMobile.val() + '');\n if (/^[\\d]{11}$/g.test(mobile)) {\n $errorPhone.empty();\n return mobile;\n } else {\n $errorPhone.html('手机号输入错误!');\n return false;\n }\n };\n\n const validateDescription = ()=> {\n let description = $.trim($projectDescription.val() + '');\n if (description.length) {\n $errorDescription.empty();\n return description;\n } else {\n $errorDescription.html('请输入项目描述内容!');\n return false;\n }\n };\n\n $introducerMobile.on('keyup', (e)=> {\n filterMobileInput($introducerMobile);\n }).on('change blur', (e)=> {\n validateMobile();\n }).on('focus', (e)=> {\n $errorPhone.empty();\n });\n\n $projectDescription.on('change blur', (e)=> {\n validateDescription();\n }).on('focus', (e)=> {\n $errorDescription.empty();\n });\n\n\n $successDialog.on('click', 'modal-dialog-close', (e)=> {\n $successDialog.fadeOut(300);\n });\n\n $form.on('submit', (e)=> {\n e.preventDefault();\n let mobile = validateMobile();\n let description = validateDescription();\n if (mobile && description) {\n request('/api/1.0/proj/add.json', {\n mobile,\n description\n }, 'POST').then(()=> {\n $successDialog.fadeIn(300);\n alert('提交成功!');\n }).catch(()=> {\n alert('提交失败, 请稍后再试!');\n });\n }\n });\n})();\n\n(()=> {\n const $modalBox = $('.modal-box');\n\n $('.hot-project-address').on('click', 'a', (e)=> {\n e.preventDefault();\n $modalBox.fadeIn(300);\n });\n\n $modalBox.on('click', '.modal-dialog-close', (e)=> {\n e.preventDefault();\n $modalBox.fadeOut(300);\n });\n\n\n})();\n\n\n// (function () {\n//\n//\n//\n//\n//\n// var $modalBoxProject = $('.modal-box-project');\n// var $modalBoxSuccess = $('.modal-box-success');\n//\n//\n//\n//\n// /**\n// * 地图项目地址弹框\n// */\n// $('.hot-project-address a').click(function (e) {\n// e.preventDefault();\n// $modalBox.fadeIn(300);\n// });\n// $('#modalBoxHidden').click(function (e) {\n// e.preventDefault();\n// $modalBox.fadeOut(300);\n// });\n//\n// /**\n// * 项目提交弹框\n// */\n// $submit.on('click',function(e){\n// e.preventDefault();\n// $modalBoxSuccess.fadeIn(300);\n// });\n// $('.modal-box-success a').on('click',function(e){\n// e.preventDefault();\n// $modalBoxSuccess.fadeOut(300);\n// });\n//\n//\n// })();"]}
\ No newline at end of file
{"version":3,"sources":["project.jsx"],"names":[],"mappings":"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","file":"project.js","sourcesContent":["/**\n * Created by Administrator on 2016/7/27.\n */\n(()=> {\n const $form = $('#container .introducer');\n const $submit = $('input[type=\"submit\"]', $form);\n const $introducerMobile = $('#introducerMobile', $form);\n const $projectDescription = $('#projectDescription', $form);\n const $errorPhone = $('.error-phone', $form);\n const $errorDescription = $('.error-description', $form);\n const $successDialog = $('.modal-box-success');\n\n const filterMobileInput = ($mobile)=> {\n $mobile.val(($mobile.val() + '').replace(/[^\\d]/g, ''));\n };\n\n const validateMobile = ()=> {\n let mobile = $.trim($introducerMobile.val() + '');\n if (/^[\\d]{11}$/g.test(mobile)) {\n $errorPhone.empty();\n return mobile;\n } else {\n $errorPhone.html('手机号输入错误!');\n return false;\n }\n };\n\n const validateDescription = ()=> {\n let description = $.trim($projectDescription.val() + '');\n if (description.length) {\n $errorDescription.empty();\n return description;\n } else {\n $errorDescription.html('请输入项目描述内容!');\n return false;\n }\n };\n\n $introducerMobile.on('keyup', (e)=> {\n filterMobileInput($introducerMobile);\n }).on('change blur', (e)=> {\n validateMobile();\n }).on('focus', (e)=> {\n $errorPhone.empty();\n });\n\n $projectDescription.on('change blur', (e)=> {\n validateDescription();\n }).on('focus', (e)=> {\n $errorDescription.empty();\n });\n\n\n $successDialog.on('click', '.modal-dialog-close', (e)=> {\n $successDialog.fadeOut(300);\n });\n\n $form.on('submit', (e)=> {\n e.preventDefault();\n let mobile = validateMobile();\n let description = validateDescription();\n if (mobile && description) {\n request('/api/1.0/proj/add.json', {\n mobile,\n description\n }, 'POST').then(()=> {\n $successDialog.fadeIn(300);\n }).catch(()=> {\n alert('提交失败, 请稍后再试!');\n });\n }\n });\n})();\n\n(()=> {\n const $modalBox = $('.modal-box');\n\n $('.hot-project-address').on('click', 'a', (e)=> {\n e.preventDefault();\n $modalBox.fadeIn(300);\n });\n\n $modalBox.on('click', '.modal-dialog-close', (e)=> {\n e.preventDefault();\n $modalBox.fadeOut(300);\n });\n\n\n})();\n\n\n// (function () {\n//\n//\n//\n//\n//\n// var $modalBoxProject = $('.modal-box-project');\n// var $modalBoxSuccess = $('.modal-box-success');\n//\n//\n//\n//\n// /**\n// * 地图项目地址弹框\n// */\n// $('.hot-project-address a').click(function (e) {\n// e.preventDefault();\n// $modalBox.fadeIn(300);\n// });\n// $('#modalBoxHidden').click(function (e) {\n// e.preventDefault();\n// $modalBox.fadeOut(300);\n// });\n//\n// /**\n// * 项目提交弹框\n// */\n// $submit.on('click',function(e){\n// e.preventDefault();\n// $modalBoxSuccess.fadeIn(300);\n// });\n// $('.modal-box-success a').on('click',function(e){\n// e.preventDefault();\n// $modalBoxSuccess.fadeOut(300);\n// });\n//\n//\n// })();"]}
\ No newline at end of file
......@@ -51,7 +51,7 @@
});
$successDialog.on('click', 'modal-dialog-close', (e)=> {
$successDialog.on('click', '.modal-dialog-close', (e)=> {
$successDialog.fadeOut(300);
});
......@@ -65,7 +65,6 @@
description
}, 'POST').then(()=> {
$successDialog.fadeIn(300);
alert('提交成功!');
}).catch(()=> {
alert('提交失败, 请稍后再试!');
});
......
"use strict";(function(){var $form=$("#container .introducer");var $submit=$('input[type="submit"]',$form);var $introducerMobile=$("#introducerMobile",$form);var $projectDescription=$("#projectDescription",$form);var $errorPhone=$(".error-phone",$form);var $errorDescription=$(".error-description",$form);var $successDialog=$(".modal-box-success");var filterMobileInput=function filterMobileInput($mobile){$mobile.val(($mobile.val()+"").replace(/[^\d]/g,""))};var validateMobile=function validateMobile(){var mobile=$.trim($introducerMobile.val()+"");if(/^[\d]{11}$/g.test(mobile)){$errorPhone.empty();return mobile}else{$errorPhone.html("手机号输入错误!");return false}};var validateDescription=function validateDescription(){var description=$.trim($projectDescription.val()+"");if(description.length){$errorDescription.empty();return description}else{$errorDescription.html("请输入项目描述内容!");return false}};$introducerMobile.on("keyup",function(e){filterMobileInput($introducerMobile)}).on("change blur",function(e){validateMobile()}).on("focus",function(e){$errorPhone.empty()});$projectDescription.on("change blur",function(e){validateDescription()}).on("focus",function(e){$errorDescription.empty()});$successDialog.on("click","modal-dialog-close",function(e){$successDialog.fadeOut(300)});$form.on("submit",function(e){e.preventDefault();var mobile=validateMobile();var description=validateDescription();if(mobile&&description){request("/api/1.0/proj/add.json",{mobile:mobile,description:description},"POST").then(function(){$successDialog.fadeIn(300);alert("提交成功!")}).catch(function(){alert("提交失败, 请稍后再试!")})}})})();(function(){var $modalBox=$(".modal-box");$(".hot-project-address").on("click","a",function(e){e.preventDefault();$modalBox.fadeIn(300)});$modalBox.on("click",".modal-dialog-close",function(e){e.preventDefault();$modalBox.fadeOut(300)})})();
\ No newline at end of file
"use strict";(function(){var $form=$("#container .introducer");var $submit=$('input[type="submit"]',$form);var $introducerMobile=$("#introducerMobile",$form);var $projectDescription=$("#projectDescription",$form);var $errorPhone=$(".error-phone",$form);var $errorDescription=$(".error-description",$form);var $successDialog=$(".modal-box-success");var filterMobileInput=function filterMobileInput($mobile){$mobile.val(($mobile.val()+"").replace(/[^\d]/g,""))};var validateMobile=function validateMobile(){var mobile=$.trim($introducerMobile.val()+"");if(/^[\d]{11}$/g.test(mobile)){$errorPhone.empty();return mobile}else{$errorPhone.html("手机号输入错误!");return false}};var validateDescription=function validateDescription(){var description=$.trim($projectDescription.val()+"");if(description.length){$errorDescription.empty();return description}else{$errorDescription.html("请输入项目描述内容!");return false}};$introducerMobile.on("keyup",function(e){filterMobileInput($introducerMobile)}).on("change blur",function(e){validateMobile()}).on("focus",function(e){$errorPhone.empty()});$projectDescription.on("change blur",function(e){validateDescription()}).on("focus",function(e){$errorDescription.empty()});$successDialog.on("click",".modal-dialog-close",function(e){$successDialog.fadeOut(300)});$form.on("submit",function(e){e.preventDefault();var mobile=validateMobile();var description=validateDescription();if(mobile&&description){request("/api/1.0/proj/add.json",{mobile:mobile,description:description},"POST").then(function(){$successDialog.fadeIn(300)}).catch(function(){alert("提交失败, 请稍后再试!")})}})})();(function(){var $modalBox=$(".modal-box");$(".hot-project-address").on("click","a",function(e){e.preventDefault();$modalBox.fadeIn(300)});$modalBox.on("click",".modal-dialog-close",function(e){e.preventDefault();$modalBox.fadeOut(300)})})();
\ No newline at end of file
......@@ -213,138 +213,96 @@
/* .hot-project-address end */
/* .hot-project-tabs start */
.hot-project-tabs {
width: 100%;
height: 690px;
background: #f6f6f6;
padding: 180px 0 160px 0;
}
.hot-project-tabs ul {
width: 1203px;
height: 350px;
margin: 180px auto 160px;
width: 1150px;
margin: 0 auto;
border: 1px solid #43abb6;
}
.hot-project-tabs ul li {
width: 300px;
height: 100%;
width: 25%;
float: left;
font-size: 16px;
color: #000;
text-align: center;
background: #f6f6f6;
transition-delay: .1s;
transition: background .5s, color .5s;
}
.hot-project-tabs ul li dl {
width: 100%;
.hot-project-tabs ul li > div {
border-right: 1px solid #43abb6;
height: 200px;
padding-top: 160px;
position: relative;
}
.hot-project-tabs ul li dl dt {
width: 115px;
.hot-project-tabs ul li > div:before,
.hot-project-tabs ul li > div:after {
content: '';
position: absolute;
top: 44px;
left: 50%;
margin-left: -58px;
height: 115px;
margin: 44px auto 0;
width: 115px;
background: url(https://res.fudou6.com/c/4/20160801/by15pyq5qCH6aKYLTFfMDE=_480x240.png) 0 0 no-repeat;
opacity: 0;
transform: scale(0);
transition-delay: .1s;
transition: .5s;
}
.hot-project-tabs ul li dl dd {
line-height: 28px;
.hot-project-tabs ul li > div:before {
transform: scale(1);
opacity: 1;
}
.hot-project-tabs ul li:last-child > div {
border-right: 0;
}
.hot-project-tabs ul li dl dd h4 {
.hot-project-tabs ul li h4 {
font-size: 28px;
color: #43abb6;
margin: 14px 0 24px;
margin: 10px 0 20px;
}
.hot-project-tabs ul li:nth-child(1) {
border-right: 1px solid #43abb6;
.hot-project-tabs ul li:nth-child(1) > div:before {
background-position: -360px -120px;
}
.hot-project-tabs ul li:nth-child(1) dt {
background: url("https://res.fudou6.com/c/4/20160801/nbrdGFiczA1X2I=_115x115.png") no-repeat;
.hot-project-tabs ul li:nth-child(1) > div:after {
background-position: -360px 0px;
}
.hot-project-tabs ul li:nth-child(2) {
border-right: 1px solid #43abb6;
.hot-project-tabs ul li:nth-child(2) > div:before {
background-position: -240px -120px;
}
.hot-project-tabs ul li:nth-child(2) dt {
background: url("https://res.fudou6.com/c/4/20160801/dgndGFiczA0X2I=_115x115.png") no-repeat;
.hot-project-tabs ul li:nth-child(2) > div:after {
background-position: -240px 0px;
}
.hot-project-tabs ul li:nth-child(3) {
border-right: 1px solid #43abb6;
.hot-project-tabs ul li:nth-child(3) > div:before {
background-position: -120px -120px;
}
.hot-project-tabs ul li:nth-child(3) > div:after {
background-position: -120px 0px;
}
.hot-project-tabs ul li:nth-child(3) dt {
background: url("https://res.fudou6.com/c/4/20160801/p8edGFiczAzX2I=_115x115.png") no-repeat;
.hot-project-tabs ul li:nth-child(4) > div:before {
background-position: 0px -120px;
}
.hot-project-tabs ul li:nth-child(4) dt {
background: url("https://res.fudou6.com/c/4/20160801/6jpdGFiczAyX2I=_115x115.png") no-repeat;
.hot-project-tabs ul li:nth-child(4) > div:after {
background-position: 0px 0px;
}
.hot-project-tabs ul li:hover {
transition-delay: 0s;
color: #fff;
background: #43abb6;
}
.hot-project-tabs ul li:hover h4 {
color: #fff;
}
@-webkit-keyframes changeOne {
0% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/nbrdGFiczA1X2I=_115x115.png") no-repeat;
}
50% {
opacity: 0;
}
100% {
background: url("https://res.fudou6.com/c/4/20160801/u42dGFiczA1X2E=_115x115.png") no-repeat;
opacity: 1;
}
}
.hot-project-tabs ul li:nth-child(1):hover dt {
animation-name: changeOne;
animation-duration: 0.5s;
animation-fill-mode: forwards;
}
@-webkit-keyframes changeTwo {
0% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/dgndGFiczA0X2I=_115x115.png") no-repeat;
}
50% {
opacity: 0;
}
100% {
background: url("https://res.fudou6.com/c/4/20160801/n3ndGFiczA0X2E=_115x115.png") no-repeat;
opacity: 1;
}
}
.hot-project-tabs ul li:nth-child(2):hover dt {
animation-name: changeTwo;
animation-duration: 0.5s;
animation-fill-mode: forwards;
}
@-webkit-keyframes changeThree {
0% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/p8edGFiczAzX2I=_115x115.png") no-repeat;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/za5dGFiczAzX2E=_115x115.png") no-repeat;
}
}
.hot-project-tabs ul li:nth-child(3):hover dt {
animation-name: changeThree;
animation-duration: 0.5s;
animation-fill-mode: forwards;
}
@-webkit-keyframes changeFour {
0% {
background: url("https://res.fudou6.com/c/4/20160801/6jpdGFiczAyX2I=_115x115.png") no-repeat;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/zsedGFiczAyX2E=_115x115.png") no-repeat;
}
.hot-project-tabs ul li:hover > div:before {
opacity: 0;
transform: scale(0);
}
.hot-project-tabs ul li:nth-child(4):hover dt {
animation-name: changeFour;
animation-duration: 0.5s;
animation-fill-mode: forwards;
.hot-project-tabs ul li:hover > div:after {
opacity: 1;
transform: scale(1);
}
/* .hot-project-tabs end */
/* .modal-box start */
......
......@@ -297,147 +297,109 @@
/* .hot-project-tabs start */
.hot-project-tabs {
width: 100%;
height: 690px;
background: #f6f6f6;
padding: 180px 0 160px 0;
ul {
width: 1203px;
height: 350px;
margin: 180px auto 160px;
width: @container-width;
margin: 0 auto;
border: 1px solid #43abb6;
li {
width: 300px;
height: 100%;
width: 25%;
float: left;
font-size: 16px;
color: #000;
text-align: center;
dl {
width: 100%;
dt {
width: 115px;
background: #f6f6f6;
transition-delay: .1s;
transition: background .5s, color .5s;
& > div {
border-right: 1px solid #43abb6;
height: 200px;
padding-top: 160px;
position: relative;
&:before,
&:after {
content: '';
position: absolute;
top: 44px;
left: 50%;
margin-left: -58px;
height: 115px;
margin: 44px auto 0;
width: 115px;
background: url(https://res.fudou6.com/c/4/20160801/by15pyq5qCH6aKYLTFfMDE=_480x240.png) 0 0 no-repeat;
opacity: 0;
transform: scale(0);
transition-delay: .1s;
transition: .5s;
}
dd {
line-height: 28px;
h4 {
font-size: 28px;
color: #43abb6;
margin: 14px 0 24px;
}
&:before {
transform: scale(1);
opacity: 1;
}
}
}
li:nth-child(1) {
border-right: 1px solid #43abb6;
dt {
background: url("https://res.fudou6.com/c/4/20160801/nbrdGFiczA1X2I=_115x115.png") no-repeat;
}
}
li:nth-child(2) {
border-right: 1px solid #43abb6;
dt {
background: url("https://res.fudou6.com/c/4/20160801/dgndGFiczA0X2I=_115x115.png") no-repeat;
}
}
li:nth-child(3) {
border-right: 1px solid #43abb6;
dt {
background: url("https://res.fudou6.com/c/4/20160801/p8edGFiczAzX2I=_115x115.png") no-repeat;
&:last-child > div {
border-right: 0;
}
}
li:nth-child(4) {
dt {
background: url("https://res.fudou6.com/c/4/20160801/6jpdGFiczAyX2I=_115x115.png") no-repeat;
}
}
li:hover {
color: #fff;
background: #43abb6;
h4 {
color: #fff;
font-size: 28px;
color: #43abb6;
margin: 10px 0 20px;
}
}
li:nth-child(1):hover {
@-webkit-keyframes changeOne {
0% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/nbrdGFiczA1X2I=_115x115.png") no-repeat;
}
50% {
opacity: 0;
&:nth-child(1) > div {
&:before {
background-position: -360px -120px;
}
100% {
background: url("https://res.fudou6.com/c/4/20160801/u42dGFiczA1X2E=_115x115.png") no-repeat;
opacity: 1;
&:after {
background-position: -360px 0px;
}
}
dt {
animation-name: changeOne;
animation-duration: 0.5s;
animation-fill-mode: forwards;
}
}
li:nth-child(2):hover {
@-webkit-keyframes changeTwo {
0% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/dgndGFiczA0X2I=_115x115.png") no-repeat;
&:nth-child(2) > div {
&:before {
background-position: -240px -120px;
}
50% {
opacity: 0;
}
100% {
background: url("https://res.fudou6.com/c/4/20160801/n3ndGFiczA0X2E=_115x115.png") no-repeat;
opacity: 1;
&:after {
background-position: -240px 0px;
}
}
dt {
animation-name: changeTwo;
animation-duration: 0.5s;
animation-fill-mode: forwards;
}
}
li:nth-child(3):hover {
@-webkit-keyframes changeThree {
0% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/p8edGFiczAzX2I=_115x115.png") no-repeat;
&:nth-child(3) > div {
&:before {
background-position: -120px -120px;
}
50% {
opacity: 0;
&:after {
background-position: -120px 0px;
}
100% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/za5dGFiczAzX2E=_115x115.png") no-repeat;
}
}
dt {
animation-name: changeThree;
animation-duration: 0.5s;
animation-fill-mode: forwards;
}
}
li:nth-child(4):hover {
@-webkit-keyframes changeFour {
0% {
background: url("https://res.fudou6.com/c/4/20160801/6jpdGFiczAyX2I=_115x115.png") no-repeat;
&:nth-child(4) > div {
&:before {
background-position: 0px -120px;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
background: url("https://res.fudou6.com/c/4/20160801/zsedGFiczAyX2E=_115x115.png") no-repeat;
&:after {
background-position: 0px 0px;
}
}
dt {
animation-name: changeFour;
animation-duration: 0.5s;
animation-fill-mode: forwards;
&:hover {
transition-delay: 0s;
color: #fff;
background: #43abb6;
h4 {
color: #fff;
}
& > div {
&:before {
opacity: 0;
transform: scale(0);
}
&:after {
opacity: 1;
transform: scale(1);
}
}
}
}
}
}
......
......@@ -6,6 +6,7 @@ var product = require('./product');
/* GET home page. */
router.get('/', function (req, res) {
res.render('index', {
navIndex:'active',
styles: ['index'],
scripts:[],
character: [
......@@ -81,12 +82,14 @@ router.get('/', function (req, res) {
router.get('/about', function (req, res) {
res.render('about', {
navAbout:'active',
styles: ['about'],
});
});
router.get('/project', function (req, res) {
res.render('project', {
navProject:'active',
styles: ['project'],
scripts:['utils','project'],
});
......@@ -98,6 +101,7 @@ router.get('/project', function (req, res) {
router.get('/products', function (req, res) {
res.render('products', {
navProducts:'active',
styles: ['products'],
scripts:['utils','products'],
});
......
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(['module', 'exports', '../utils/xFetch', 'express'], factory);
} else if (typeof exports !== "undefined") {
factory(module, exports, require('../utils/xFetch'), require('express'));
} else {
var mod = {
exports: {}
};
factory(mod, mod.exports, global.xFetch, global.express);
global.product = mod.exports;
}
})(this, function (module, exports, _xFetch, express) {
'use strict';
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.formatDateTime = exports.leftPad = exports.productStatusToString = exports.PRODUCT_STATUS = undefined;
exports.formatMoney = formatMoney;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.formatDateTime = exports.leftPad = exports.productStatusToString = exports.PRODUCT_STATUS = undefined;
var _xFetch2 = _interopRequireDefault(_xFetch);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
exports.formatMoney = formatMoney;
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
var _xFetch = require('../utils/xFetch');
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
var _xFetch2 = _interopRequireDefault(_xFetch);
return target;
};
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PRODUCT_STATUS = exports.PRODUCT_STATUS = {
'-9': '草稿',
0: '已删除',
1: '未发布',
5: '预热中',
11: '募集中',
17: '已暂停',
21: '已封账',
31: '已成立'
};
var express = require('express');
var productStatusToString = exports.productStatusToString = function productStatusToString(status) {
return PRODUCT_STATUS[status] || '未定义';
};
var PRODUCT_STATUS = exports.PRODUCT_STATUS = {
'-9': '草稿',
0: '已删除',
1: '未发布',
5: '预热中',
11: '募集中',
17: '已暂停',
21: '已封账',
31: '已成立'
};
function formatMoney() {
var money = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
var ret = void 0;
if (isNaN(money)) {
ret = '0';
} else if (money >= 1E10) {
ret = money / 1E10 + '亿';
} else if (money >= 1E6) {
ret = money / 1E6 + '万';
} else {
ret = money / 1E2;
}
return ret;
}
var productStatusToString = exports.productStatusToString = function productStatusToString(status) {
return PRODUCT_STATUS[status] || '未定义';
};
var leftPad = exports.leftPad = function leftPad(num) {
return num >= 10 ? num : '0' + num;
};
function formatMoney() {
var money = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
var formatDateTime = exports.formatDateTime = function formatDateTime() {
var time = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
var format = arguments.length <= 1 || arguments[1] === undefined ? 'YYYY-MM-DD hh:mm:ss' : arguments[1];
var date = new Date(time);
var data = {
YYYY: date.getFullYear(),
MM: leftPad(date.getMonth() + 1),
DD: leftPad(date.getDate()),
hh: leftPad(date.getHours()),
mm: leftPad(date.getMinutes()),
ss: leftPad(date.getSeconds())
};
return format.replace(/[A-Za-z]+/g, function (metch) {
return data[metch];
});
var ret = void 0;
if (isNaN(money)) {
ret = '0';
} else if (money >= 1E10) {
ret = money / 1E10 + '亿';
} else if (money >= 1E6) {
ret = money / 1E6 + '万';
} else {
ret = money / 1E2;
}
return ret;
}
var leftPad = exports.leftPad = function leftPad(num) {
return num >= 10 ? num : '0' + num;
};
var formatDateTime = exports.formatDateTime = function formatDateTime() {
var time = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
var format = arguments.length <= 1 || arguments[1] === undefined ? 'YYYY-MM-DD hh:mm:ss' : arguments[1];
var date = new Date(time);
var data = {
YYYY: date.getFullYear(),
MM: leftPad(date.getMonth() + 1),
DD: leftPad(date.getDate()),
hh: leftPad(date.getHours()),
mm: leftPad(date.getMinutes()),
ss: leftPad(date.getSeconds())
};
return format.replace(/[A-Za-z]+/g, function (metch) {
return data[metch];
});
};
module.exports = function (req, res, next) {
Promise.all([(0, _xFetch2.default)('https://m.fudou6.com/api/1.0/cate/cates.json'), (0, _xFetch2.default)('https://m.fudou6.com/api/1.0/prod/detail.json?itemId=' + req.params.id)]).then(function (arr) {
var pCates = arr[0].pCates;
var item = arr[1].item;
if (!item || !pCates) {
var err = new Error('Not Found');
err.status = 404;
next(err);
}
pCates.forEach(function (cate) {
cate.subCates.forEach(function (scate) {
if (scate.id == item.categoryId) {
item.categoryName = scate.name;
item.categoryParentId = cate.id;
item.categroyParentName = cate.name;
}
});
});
item.elements = JSON.parse(item.elements);
Object.keys(item.elements).forEach(function (key) {
console.log('%s\t%s\t%s', key, item.elements[key][0], item.elements[key][1]);
item.elements[key] = item.elements[key][1];
});
item.commissionAlg = JSON.parse(item.commissionAlg);
module.exports = function (req, res, next) {
Promise.all([(0, _xFetch2.default)('https://m.fudou6.com/api/1.0/cate/cates.json'), (0, _xFetch2.default)('https://m.fudou6.com/api/1.0/prod/detail.json?itemId=' + req.params.id)]).then(function (arr) {
var pCates = arr[0].pCates;
var item = arr[1].item;
item.commissionAlg = item.commissionAlg.map(function (it) {
var _ref = it.result || {};
var sy = _ref.sy;
var yj = _ref.yj;
if (!item || !pCates) {
var err = new Error('Not Found');
err.status = 404;
next(err);
}
return {
rowspan: item.commissionAlg.length,
range: (it.min ? formatMoney(it.min) + ' ≤ ' : '') + ' x ' + (it.max ? ' < ' + formatMoney(it.max) : ''),
min: it.min,
max: it.max,
sy: sy, yj: yj
};
pCates.forEach(function (cate) {
cate.subCates.forEach(function (scate) {
if (scate.id == item.categoryId) {
item.categoryName = scate.name;
item.categoryParentId = cate.id;
item.categroyParentName = cate.name;
}
});
});
item.fundRaisedStartTimeString = item.fundRaisedStartTime && formatDateTime(item.fundRaisedStartTime);
item.fundRaisedEndTimeString = item.fundRaisedEndTime && formatDateTime(item.fundRaisedEndTime);
item.elements = JSON.parse(item.elements);
item.statusString = productStatusToString(item.status);
Object.keys(item.elements).forEach(function (key) {
//console.log('%s\t%s\t%s', key, item.elements[key][0], item.elements[key][1]);
item.elements[key] = item.elements[key][1];
});
//募集目标
item.fundRaisedTargetString = formatMoney(item.fundRaisedTarget);
//已募集
item.fundRaisedOverString = formatMoney(item.fundRaisedOver);
item.fundRaisedPercentage = item.fundRaisedOver / item.fundRaisedTarget * 100;
//募集剩余
item.fundRaisedSurplus = Math.max(item.fundRaisedTarget - item.fundRaisedOver, 0);
item.commissionAlg = JSON.parse(item.commissionAlg);
item.fundRaisedSurplusString = formatMoney(item.fundRaisedSurplus);
//最小投资
item.minimumAmountString = formatMoney(item.minimumAmount);
item.commissionAlg = item.commissionAlg.map(function (it) {
var _ref = it.result || {};
//console.log(item);
var sy = _ref.sy;
var yj = _ref.yj;
res.render('product', _extends({
styles: ['product'],
scripts: ['utils', 'product']
}, item));
}).catch(function (err) {
console.log(err);
next(err);
return {
rowspan: item.commissionAlg.length,
range: (it.min ? formatMoney(it.min) + ' ≤ ' : '') + ' x ' + (it.max ? ' < ' + formatMoney(it.max) : ''),
min: it.min,
max: it.max,
sy: sy, yj: yj
};
});
};
});
item.fundRaisedStartTimeString = item.fundRaisedStartTime && formatDateTime(item.fundRaisedStartTime);
item.fundRaisedEndTimeString = item.fundRaisedEndTime && formatDateTime(item.fundRaisedEndTime);
item.statusString = productStatusToString(item.status);
//募集目标
item.fundRaisedTargetString = formatMoney(item.fundRaisedTarget);
//已募集
item.fundRaisedOverString = formatMoney(item.fundRaisedOver);
item.fundRaisedPercentage = item.fundRaisedOver / item.fundRaisedTarget * 100;
//募集剩余
item.fundRaisedSurplus = Math.max(item.fundRaisedTarget - item.fundRaisedOver, 0);
item.fundRaisedSurplusString = formatMoney(item.fundRaisedSurplus);
//最小投资
item.minimumAmountString = formatMoney(item.minimumAmount);
//console.log(item);
res.render('product', _extends({
navProducts: 'active',
styles: ['product'],
scripts: ['utils', 'product']
}, item));
}).catch(function (err) {
console.log(err);
next(err);
});
};
//# sourceMappingURL=product.js.map
\ No newline at end of file
{"version":3,"sources":["product.jsx"],"names":[],"mappings":"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","file":"product.js","sourcesContent":["import xFetch from '../utils/xFetch';\n\nvar express = require('express');\n\nexport const PRODUCT_STATUS = {\n '-9': '草稿',\n 0: '已删除',\n 1: '未发布',\n 5: '预热中',\n 11: '募集中',\n 17: '已暂停',\n 21: '已封账',\n 31: '已成立',\n}\n\nexport const productStatusToString = status => {\n return PRODUCT_STATUS[status] || '未定义';\n};\n\nexport function formatMoney(money = 0) {\n let ret;\n if (isNaN(money)) {\n ret = '0';\n } else if (money >= 1E10) {\n ret = (money / 1E10) + '亿';\n } else if (money >= 1E6) {\n ret = (money / 1E6) + '万';\n } else {\n ret = (money / 1E2);\n }\n return ret;\n}\n\n\nexport const leftPad = num => {\n return num >= 10 ? num : ('0' + num);\n};\n\nexport const formatDateTime = (time = 0, format = 'YYYY-MM-DD hh:mm:ss') => {\n const date = new Date(time);\n const data = {\n YYYY: date.getFullYear(),\n MM: leftPad(date.getMonth() + 1),\n DD: leftPad(date.getDate()),\n hh: leftPad(date.getHours()),\n mm: leftPad(date.getMinutes()),\n ss: leftPad(date.getSeconds())\n };\n return format.replace(/[A-Za-z]+/g, metch => {\n return data[metch];\n });\n};\n\n\nmodule.exports = function (req, res, next) {\n Promise.all([\n xFetch('https://m.fudou6.com/api/1.0/cate/cates.json'),\n xFetch('https://m.fudou6.com/api/1.0/prod/detail.json?itemId=' + req.params.id)\n ]).then((arr)=> {\n const {pCates} = arr[0];\n const {item} = arr[1];\n\n\n\n if (!item || !pCates) {\n var err = new Error('Not Found');\n err.status = 404;\n next(err);\n }\n\n\n pCates.forEach(cate=> {\n cate.subCates.forEach(scate=> {\n if (scate.id == item.categoryId) {\n item.categoryName = scate.name;\n item.categoryParentId = cate.id;\n item.categroyParentName = cate.name;\n }\n });\n });\n\n item.elements = JSON.parse(item.elements);\n\n Object.keys(item.elements).forEach(key=>{\n console.log('%s\\t%s\\t%s', key, item.elements[key][0], item.elements[key][1]);\n item.elements[key] = item.elements[key][1];\n });\n\n item.commissionAlg = JSON.parse(item.commissionAlg);\n\n item.commissionAlg = item.commissionAlg.map(it=> {\n const {sy, yj} = (it.result || {});\n return {\n rowspan:item.commissionAlg.length,\n range: (it.min ? formatMoney(it.min)+' ≤ ':'') + ' x ' + (it.max ? ' < '+formatMoney(it.max) : ''),\n min: it.min,\n max: it.max,\n sy, yj\n };\n });\n\n item.fundRaisedStartTimeString = item.fundRaisedStartTime && formatDateTime(item.fundRaisedStartTime);\n item.fundRaisedEndTimeString = item.fundRaisedEndTime && formatDateTime(item.fundRaisedEndTime);\n\n\n\n item.statusString = productStatusToString(item.status);\n\n //募集目标\n item.fundRaisedTargetString = formatMoney(item.fundRaisedTarget);\n //已募集\n item.fundRaisedOverString = formatMoney(item.fundRaisedOver);\n item.fundRaisedPercentage = item.fundRaisedOver / item.fundRaisedTarget * 100;\n //募集剩余\n item.fundRaisedSurplus = Math.max(item.fundRaisedTarget - item.fundRaisedOver, 0);\n\n item.fundRaisedSurplusString = formatMoney(item.fundRaisedSurplus);\n //最小投资\n item.minimumAmountString = formatMoney(item.minimumAmount);\n\n //console.log(item);\n\n res.render('product', {\n styles:['product'],\n scripts:['utils','product'],\n ...item\n });\n\n }).catch(err=> {\n console.log(err);\n next(err);\n });\n\n};\n"]}
\ No newline at end of file
{"version":3,"sources":["product.jsx"],"names":[],"mappings":"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","file":"product.js","sourcesContent":["import xFetch from '../utils/xFetch';\n\nvar express = require('express');\n\nexport const PRODUCT_STATUS = {\n '-9': '草稿',\n 0: '已删除',\n 1: '未发布',\n 5: '预热中',\n 11: '募集中',\n 17: '已暂停',\n 21: '已封账',\n 31: '已成立',\n}\n\nexport const productStatusToString = status => {\n return PRODUCT_STATUS[status] || '未定义';\n};\n\nexport function formatMoney(money = 0) {\n let ret;\n if (isNaN(money)) {\n ret = '0';\n } else if (money >= 1E10) {\n ret = (money / 1E10) + '亿';\n } else if (money >= 1E6) {\n ret = (money / 1E6) + '万';\n } else {\n ret = (money / 1E2);\n }\n return ret;\n}\n\n\nexport const leftPad = num => {\n return num >= 10 ? num : ('0' + num);\n};\n\nexport const formatDateTime = (time = 0, format = 'YYYY-MM-DD hh:mm:ss') => {\n const date = new Date(time);\n const data = {\n YYYY: date.getFullYear(),\n MM: leftPad(date.getMonth() + 1),\n DD: leftPad(date.getDate()),\n hh: leftPad(date.getHours()),\n mm: leftPad(date.getMinutes()),\n ss: leftPad(date.getSeconds())\n };\n return format.replace(/[A-Za-z]+/g, metch => {\n return data[metch];\n });\n};\n\n\nmodule.exports = function (req, res, next) {\n Promise.all([\n xFetch('https://m.fudou6.com/api/1.0/cate/cates.json'),\n xFetch('https://m.fudou6.com/api/1.0/prod/detail.json?itemId=' + req.params.id)\n ]).then((arr)=> {\n const {pCates} = arr[0];\n const {item} = arr[1];\n\n\n\n if (!item || !pCates) {\n var err = new Error('Not Found');\n err.status = 404;\n next(err);\n }\n\n\n pCates.forEach(cate=> {\n cate.subCates.forEach(scate=> {\n if (scate.id == item.categoryId) {\n item.categoryName = scate.name;\n item.categoryParentId = cate.id;\n item.categroyParentName = cate.name;\n }\n });\n });\n\n item.elements = JSON.parse(item.elements);\n\n Object.keys(item.elements).forEach(key=>{\n //console.log('%s\\t%s\\t%s', key, item.elements[key][0], item.elements[key][1]);\n item.elements[key] = item.elements[key][1];\n });\n\n item.commissionAlg = JSON.parse(item.commissionAlg);\n\n item.commissionAlg = item.commissionAlg.map(it=> {\n const {sy, yj} = (it.result || {});\n return {\n rowspan:item.commissionAlg.length,\n range: (it.min ? formatMoney(it.min)+' ≤ ':'') + ' x ' + (it.max ? ' < '+formatMoney(it.max) : ''),\n min: it.min,\n max: it.max,\n sy, yj\n };\n });\n\n item.fundRaisedStartTimeString = item.fundRaisedStartTime && formatDateTime(item.fundRaisedStartTime);\n item.fundRaisedEndTimeString = item.fundRaisedEndTime && formatDateTime(item.fundRaisedEndTime);\n\n\n\n item.statusString = productStatusToString(item.status);\n\n //募集目标\n item.fundRaisedTargetString = formatMoney(item.fundRaisedTarget);\n //已募集\n item.fundRaisedOverString = formatMoney(item.fundRaisedOver);\n item.fundRaisedPercentage = item.fundRaisedOver / item.fundRaisedTarget * 100;\n //募集剩余\n item.fundRaisedSurplus = Math.max(item.fundRaisedTarget - item.fundRaisedOver, 0);\n\n item.fundRaisedSurplusString = formatMoney(item.fundRaisedSurplus);\n //最小投资\n item.minimumAmountString = formatMoney(item.minimumAmount);\n\n //console.log(item);\n\n res.render('product', {\n navProducts:'active',\n styles:['product'],\n scripts:['utils','product'],\n ...item\n });\n\n }).catch(err=> {\n console.log(err);\n next(err);\n });\n\n};\n"]}
\ No newline at end of file
......@@ -82,7 +82,7 @@ module.exports = function (req, res, next) {
item.elements = JSON.parse(item.elements);
Object.keys(item.elements).forEach(key=>{
console.log('%s\t%s\t%s', key, item.elements[key][0], item.elements[key][1]);
//console.log('%s\t%s\t%s', key, item.elements[key][0], item.elements[key][1]);
item.elements[key] = item.elements[key][1];
});
......@@ -121,6 +121,7 @@ module.exports = function (req, res, next) {
//console.log(item);
res.render('product', {
navProducts:'active',
styles:['product'],
scripts:['utils','product'],
...item
......
......@@ -14,10 +14,10 @@
<div class="container">
<a class="logo" href="/"><img src="/images/logo.png" alt="logo"></a>
<nav class="clear">
<span><a href="/">首页 / HOME</a></span>
<span><a href="/project">项目合作 / PROJECT</a></span>
<span><a href="/products">最新产品 / PRODUCT</a></span>
<span><a href="/about">关于我们 / ABOUT</a></span>
<span><a href="/" class="{{navIndex}}">首页 / HOME</a></span>
<span><a href="/project" class="{{navProject}}">项目合作 / PROJECT</a></span>
<span><a href="/products" class="{{navProducts}}">最新产品 / PRODUCT</a></span>
<span><a href="/about" class="{{navAbout}}">关于我们 / ABOUT</a></span>
</nav>
</div>
</header>
......
......@@ -46,23 +46,21 @@
<p>{{statusString}}</p>
</div>
</div>
<div class="appointment">
<h2 class="info-title">在线预约</h2>
<p>留下联系方式我们帮您第一时间抢占稀缺额度</p>
<form id="form">
<div>
<input type="text" name="userName" placeholder="请填写您的姓名" />
<input type="text" name="userTel" placeholder="请填写手机号" maxlength="11"/>
<input type="submit" value="提交"/>
</div>
<div>
<span class="errorName"></span>
<span class="errorTel" ></span>
</div>
</form>
</div>
<!--<div class="appointment">-->
<!--<h2 class="info-title">在线预约</h2>-->
<!--<p>留下联系方式我们帮您第一时间抢占稀缺额度</p>-->
<!--<form id="form">-->
<!--<div>-->
<!--<input type="text" name="userName" placeholder="请填写您的姓名" />-->
<!--<input type="text" name="userTel" placeholder="请填写手机号" maxlength="11"/>-->
<!--<input type="submit" value="提交"/>-->
<!--</div>-->
<!--<div>-->
<!--<span class="errorName"></span>-->
<!--<span class="errorTel" ></span>-->
<!--</div>-->
<!--</form>-->
<!--</div>-->
<div class="detail">
<h2 class="info-title">产品详情</h2>
<table>
......
......@@ -64,40 +64,44 @@
</div>
<div class="hot-project-tabs clear">
<ul class="clear">
<li class="fl">
<dl>
<dt></dt>
<dd><h4>海量资金</h4></dd>
<dd>20多万资金方</dd>
<dd>3万亿资金,快速融资</dd>
</dl>
<li>
<div>
<h4>海量资金</h4>
<p>
20多万资金方<br/>
3万亿资金,快速融资
</p>
</div>
</li>
<li class="fl">
<dl>
<dt></dt>
<dd><h4>安全可靠</h4></dd>
<dd>以对项目质量的严格把控。</dd>
<dd>和清晰的流程设计</dd>
<dd>让合投更规范、高效</dd>
</dl>
<li>
<div>
<h4>安全可靠</h4>
<p>
以对项目质量的严格把控<br/>
和清晰的流程设计<br/>
让合投更规范、高效
</p>
</div>
</li>
<li class="fl">
<dl>
<dt></dt>
<dd><h4>融资高效</h4></dd>
<dd>多个大型项目经验,</dd>
<dd>融资流程</dd>
<dd>简单\迅速\到账快捷</dd>
</dl>
<li>
<div>
<h4>融资高效</h4>
<p>
多个大型项目经验<br/>
融资流程<br/>
简单\迅速\到账快捷
</p>
</div>
</li>
<li class="fl">
<dl>
<dt></dt>
<dd><h4>专业服务</h4></dd>
<dd>专业的投资团队,</dd>
<dd>全程免费的投融资指导,</dd>
<dd>精准的对接推荐</dd>
</dl>
<li>
<div>
<h4>专业服务</h4>
<p>
专业的投资团队<br/>
全程免费的投融资指导<br/>
精准的对接推荐
</p>
</div>
</li>
</ul>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment