Merge branch 'develop' of http://git.dev.yoho.cn/web/yohobuy into develop
Showing
3 changed files
with
202 additions
and
7 deletions
web-static/gulpfile.js
0 → 100644
1 | +/** | ||
2 | + * GULP-FILE | ||
3 | + * author: xuqi(qi.xu@yoho.cn) | ||
4 | + * date: 2015/9/30 | ||
5 | + */ | ||
6 | + | ||
7 | +var gulp = require('gulp'), | ||
8 | + compass = require('gulp-compass'), | ||
9 | + cp = require('child_process'); | ||
10 | + | ||
11 | +var fs = require('fs'), | ||
12 | + ftp = require('gulp-ftp'), | ||
13 | + gutil = require('gulp-util'), | ||
14 | + uglify = require('gulp-uglify'), | ||
15 | + Package = require('father').SpmPackage, | ||
16 | + transport = require('gulp-spm'), | ||
17 | + concat = require('gulp-concat'); | ||
18 | + | ||
19 | +var config = JSON.parse(fs.readFileSync('./package.json').toString()); | ||
20 | + | ||
21 | +var rootDist = 'dist/yohobuy/', | ||
22 | + ftpConfig = { | ||
23 | + host: '218.94.75.58', | ||
24 | + user: 'php', | ||
25 | + pass: 'yoho9646' | ||
26 | + }; | ||
27 | + | ||
28 | +var distDir = { | ||
29 | + js: rootDist + config.version, | ||
30 | + css: rootDist + config.version, | ||
31 | + img: rootDist + 'assets/img', | ||
32 | + font: rootDist + 'assets/font' | ||
33 | +}; | ||
34 | + | ||
35 | +gulp.task('default', ['compass', 'compass-watch', 'spm-doc']); | ||
36 | + | ||
37 | +// compass | ||
38 | +gulp.task('compass', function() { | ||
39 | + gulp.src('sass/**/*.scss') | ||
40 | + .pipe( | ||
41 | + compass({ | ||
42 | + config_file: 'config.rb', | ||
43 | + css: 'css', | ||
44 | + sass: 'sass' | ||
45 | + }) | ||
46 | + ).on('error', function(error) { | ||
47 | + console.log(error); | ||
48 | + this.emit('end'); | ||
49 | + }); | ||
50 | +}); | ||
51 | + | ||
52 | +// compass watch | ||
53 | +gulp.task('compass-watch', function() { | ||
54 | + gulp.watch('sass/**/*.scss', ['compass']); | ||
55 | +}); | ||
56 | + | ||
57 | +// start spm server | ||
58 | +gulp.task('spm-doc', function() { | ||
59 | + var sd = cp.exec('spm doc'); | ||
60 | + | ||
61 | + // sd.stdout.on('data', function(data) { | ||
62 | + // console.log(data); | ||
63 | + // }); | ||
64 | + | ||
65 | + sd.stderr.on('data', function(data) { | ||
66 | + console.log(data); | ||
67 | + }); | ||
68 | + | ||
69 | + sd.on('exit', function(code) { | ||
70 | + console.log('process spm doc exit with code ' + code); | ||
71 | + }); | ||
72 | +}); | ||
73 | + | ||
74 | +//生成发布目录,可用于上传测试机 | ||
75 | +gulp.task('ge', ['assets', 'compass-production', 'build', 'script']); | ||
76 | + | ||
77 | +//发布 | ||
78 | +gulp.task('dist', ['assets', 'compass-production', 'build', 'script'], function() { | ||
79 | + var ftpstream = ftp(ftpConfig); | ||
80 | + | ||
81 | + return gulp.src('dist/**/') | ||
82 | + .pipe(ftpstream) | ||
83 | + .pipe(gutil.noop()); | ||
84 | +}); | ||
85 | + | ||
86 | +//font+img->dist/assets | ||
87 | +gulp.task('assets', function() { | ||
88 | + gulp.src('img/**') | ||
89 | + .pipe(gulp.dest(distDir.img)); | ||
90 | + gulp.src('font/*') | ||
91 | + .pipe(gulp.dest(distDir.font)); | ||
92 | +}); | ||
93 | + | ||
94 | +//compass | ||
95 | +gulp.task('compass-production', ['assets'], function() { | ||
96 | + gulp.src('sass/index.scss') | ||
97 | + .pipe( | ||
98 | + compass({ | ||
99 | + css: distDir.css, | ||
100 | + sass: 'sass', | ||
101 | + image: distDir.img, | ||
102 | + font: distDir.font, | ||
103 | + http_path: '/', | ||
104 | + style: 'compressed' | ||
105 | + }) | ||
106 | + ) | ||
107 | + .on('error', function(error) { | ||
108 | + console.log(error); | ||
109 | + this.emit('end'); | ||
110 | + }); | ||
111 | +}); | ||
112 | + | ||
113 | +//spm build | ||
114 | +gulp.task('build', ['libs', 'business']); | ||
115 | + | ||
116 | +//libs | ||
117 | +gulp.task('libs', ['pre-libs', 'concat-min-libs', 'clear-libs']); | ||
118 | + | ||
119 | +gulp.task('pre-libs', function() { | ||
120 | + var obj = { | ||
121 | + name: '', | ||
122 | + version: config.version, | ||
123 | + spm: config.spm | ||
124 | + }; | ||
125 | + var packages = [], | ||
126 | + libsjs = ''; | ||
127 | + | ||
128 | + var libCon, key, i; | ||
129 | + | ||
130 | + var pkg; | ||
131 | + | ||
132 | + obj.spm.main = 'libs.js'; | ||
133 | + obj.spm.buildArgs = '--idleading {{}} --include all'; | ||
134 | + | ||
135 | + libCon = JSON.stringify(obj); | ||
136 | + | ||
137 | + fs.renameSync('package.json', 'package.bak.json'); | ||
138 | + fs.writeFileSync('package.json', libCon); | ||
139 | + | ||
140 | + for (key in obj.spm.dependencies) { | ||
141 | + if (obj.spm.inside && obj.spm.inside[key]) { | ||
142 | + packages.push(obj.spm.inside[key]); | ||
143 | + } else { | ||
144 | + packages.push(key); | ||
145 | + } | ||
146 | + } | ||
147 | + | ||
148 | + for (i = 0; i < packages.length; i++) { | ||
149 | + libsjs += 'require("' + packages[i] + '");'; | ||
150 | + } | ||
151 | + | ||
152 | + fs.writeFileSync('libs.js', libsjs); //重写入口文件 | ||
153 | + | ||
154 | + pkg = new Package(__dirname); | ||
155 | + | ||
156 | + return gulp.src(pkg.main) | ||
157 | + .pipe(transport({ | ||
158 | + pkg: pkg | ||
159 | + })) | ||
160 | + .pipe(gulp.dest(distDir.js)); | ||
161 | +}); | ||
162 | + | ||
163 | +gulp.task('concat-min-libs', ['pre-libs'], function() { | ||
164 | + var path = distDir.js + '/libs.js'; | ||
165 | + var jsStr = fs.readFileSync(path).toString(); | ||
166 | + | ||
167 | + fs.writeFileSync(path, jsStr.substr(jsStr.indexOf('});') + 4)); | ||
168 | + | ||
169 | + return gulp.src(['js/sea.js', distDir.js + '/libs.js']) | ||
170 | + .pipe(concat('lib.js')) | ||
171 | + .pipe(uglify()) | ||
172 | + .pipe(gulp.dest(distDir.js)); | ||
173 | +}); | ||
174 | + | ||
175 | +gulp.task('clear-libs', ['concat-min-libs'], function() { | ||
176 | + fs.renameSync('package.bak.json', 'package.json'); | ||
177 | + fs.unlinkSync('./libs.js'); | ||
178 | + fs.unlinkSync(distDir.js + '/libs.js'); | ||
179 | +}); | ||
180 | + | ||
181 | +gulp.task('business', ['libs'], function() { | ||
182 | + var pkg = new Package(__dirname); | ||
183 | + | ||
184 | + return gulp.src(pkg.main) | ||
185 | + .pipe(transport({ | ||
186 | + pkg: pkg | ||
187 | + })) | ||
188 | + .pipe(concat('index-debug.js')) | ||
189 | + .pipe(gulp.dest(distDir.js)) | ||
190 | + .pipe(uglify()) | ||
191 | + .pipe(concat('index.js')) | ||
192 | + .pipe(gulp.dest(distDir.js)); | ||
193 | +}); | ||
194 | + | ||
195 | +//页面需要直接标签引用的JS | ||
196 | +gulp.task('script', function() { | ||
197 | + gulp.src('plugin/page-use/*') | ||
198 | + .pipe(gulp.dest(rootDist)); | ||
199 | +}); |
@@ -26,17 +26,13 @@ class CommonController extends WebAction | @@ -26,17 +26,13 @@ class CommonController extends WebAction | ||
26 | /** | 26 | /** |
27 | * 新品上架 接口数据 | 27 | * 新品上架 接口数据 |
28 | * | 28 | * |
29 | - * @param | ||
30 | - * string channel 当前频道 | ||
31 | - * @param | ||
32 | - * int pageIndex 当前页数 | ||
33 | - * @param | ||
34 | - * int pageCount 一页显示个数 | 29 | + * @param string channel 当前频道 |
30 | + * @param int pageIndex 当前页数 | ||
31 | + * @param int pageCount 一页显示个数 | ||
35 | */ | 32 | */ |
36 | public function getNewArrivalAction() | 33 | public function getNewArrivalAction() |
37 | { | 34 | { |
38 | $result = $data = array(); | 35 | $result = $data = array(); |
39 | - $data = HomeModel::getNewArrival('lifestyle'); | ||
40 | do { | 36 | do { |
41 | /* 判断是不是AJAX请求 */ | 37 | /* 判断是不是AJAX请求 */ |
42 | if (! $this->isAjax()) { | 38 | if (! $this->isAjax()) { |
-
Please register or login to post a comment