diff --git a/apps/shopping/controllers/cart.js b/apps/shopping/controllers/cart.js
index 3f0c02d..cb7196f 100644
--- a/apps/shopping/controllers/cart.js
+++ b/apps/shopping/controllers/cart.js
@@ -9,12 +9,12 @@
 const cartModel = require('../models/cart');
 const _ = require('lodash');
 
+// 购物车首页
 exports.index = (req, res, next) => {
     const shoppingKey = req.cookies._SPK || null;
     const uid = req.user.uid || null;
 
     cartModel.getCartData(shoppingKey, uid).then((result) => {
-        // console.log('Cart current Data:', JSON.stringify(result, '', 4))
         if (result.code === 200) {
             res.display('cart', _.merge({
                 module: 'shopping',
@@ -32,11 +32,9 @@ exports.index = (req, res, next) => {
 };
 
 
-// 修改数量
+// 通过stepper修改购物车商品数量
 exports.changeProductNum = (req, res, next) => {
     const changeType = req.body.changeType;
-
-    // const changeTo = req.body.changeTo;
     const uid = req.user.uid;
     const shoppingKey = req.cookies._SPK;
     const sku = req.body.sku;
@@ -50,7 +48,6 @@ exports.changeProductNum = (req, res, next) => {
             sku,
             goodTpye
         }).then(result => {
-            // console.log('changeProductNum-INCREASE-result:', result);
             if (result.code === 200) {
                 cartModel.getCartData(shoppingKey, uid).then(cartData => {
                     res.json(_.merge(
@@ -62,7 +59,6 @@ exports.changeProductNum = (req, res, next) => {
                 res.json(result);
             }
         }).catch(next);
-
     } else if (changeType === 'DECREASE') {
         cartModel.modifyProductNum({
             decreaseNum: 1, // 默认是1
@@ -71,7 +67,6 @@ exports.changeProductNum = (req, res, next) => {
             sku,
             goodTpye
         }).then(result => {
-            // console.log('changeProductNum-DECREASE-result:', JSON.stringify(result));
             if (result.code === 200) {
                 cartModel.getCartData(shoppingKey, uid).then(cartData => {
                     res.json(_.merge(
@@ -105,10 +100,7 @@ exports.removeProduct = (req, res, next) => {
         _.merge(params, {product_sku_list: productSkuList});
     }
 
-    // console.log('remove---params:', params);
-
     cartModel.removeGoods(params).then(result => {
-        // console.log('remove-result:', result);
         res.json(_.merge(cartModel.filterCartData(result, uid), {code: result.code, message: result.message}));
     }).catch(next);
 };
@@ -127,34 +119,12 @@ exports.sendToFavorite = (req, res, next) => {
         _.merge(params, {product_sku_list: productSkuList});
     }
 
-    console.log('transferToFavorite---params:', params);
-
     cartModel.transferToFavorite(params).then(result => {
         console.log('transferToFavorite-result:', result);
         res.json(_.merge(cartModel.filterCartData(result, uid), {code: result.code, message: result.message}));
     }).catch(next);
 };
 
-// 编辑商品颜色和尺寸
-exports.editProduct = (req, res) => {
-    res.json({
-        code: '0',
-        defaultColor: '蓝',
-        defaultSize: 'M',
-        defaultImg: 'http://img10.static.yhbimg.com/goodsimg/2015/10/21/02/0128dc014524ccf208b4f6f7760c9b9cf2.jpg?imageMogr2/thumbnail/{width}x{height}/extent/{width}x{height}/background/d2hpdGU=/position/center/quality/80',
-        colors: [{
-            color: '蓝',
-            rgb: '#1b3c78',
-            pic: 'http://img10.static.yhbimg.com/goodsimg/2015/10/21/02/0128dc014524ccf208b4f6f7760c9b9cf2.jpg?imageMogr2/thumbnail/{width}x{height}/extent/{width}x{height}/background/d2hpdGU=/position/center/quality/80'
-        }, {
-            color: '黑',
-            rgb: '#000',
-            pic: 'http://img12.static.yhbimg.com/goodsimg/2015/10/21/05/024f60a070ab61981c139684f147d41f17.jpg?imageMogr2/thumbnail/{width}x{height}/extent/{width}x{height}/background/d2hpdGU=/position/center/quality/80'
-        }],
-        sizes: ['S', 'M', 'L', 'XL', 'XXL', 'XXXL']
-    });
-};
-
 // 添加商品到购物车
 exports.addToCart = (req, res, next) => {
     const productSku = req.body.productSku;
@@ -176,7 +146,6 @@ exports.toggleSelectGoods = (req, res, next) => {
     const params = {};
     const uid = req.user.uid;
     const shoppingKey = req.cookies._SPK;
-
     // 商品sku列表
     // skuList:
     // [{"goods_type":"advance","buy_number":1,"selected":"Y","product_sku":"1006277","promotion_id":0}, {...}]
@@ -195,21 +164,18 @@ exports.toggleSelectGoods = (req, res, next) => {
         _.merge(params, {product_sku_list: productSkuList});
     }
 
-    console.log('toggleSelectGoods---params:', params);
-
     cartModel.toggleSelectGoods(params).then(result => {
         res.json(_.merge(cartModel.filterCartData(result, uid), {code: result.code, message: result.message}));
     }).catch(next);
 };
 
 
-// 去结算检查库存
+// 点击去结算时检查库存
 exports.checkStorage = (req, res, next) => {
     const shoppingKey = req.cookies._SPK || null;
     const uid = req.user.uid || null;
 
     cartModel.getCartData(shoppingKey, uid).then((result) => {
-        // console.log('Cart current Data:', JSON.stringify(result, '', 4))
         res.json(_.merge(cartModel.filterCartData(result, uid), {code: result.code, message: result.message}));
     }).catch(next);
 };
@@ -218,14 +184,10 @@ exports.checkStorage = (req, res, next) => {
 exports.modifyProduct = (req, res, next) => {
     const uid = req.user && req.user.uid;
     const shoppingKey = req.cookies._SPK;
-
     // swapData => [{"buy_number":"1","selected":"Y","new_product_sku":"735172","old_product_sku":"735171"}]
     const swapData = req.body.swapData;
 
-    // console.log("swap data....", {swapData, shoppingKey, uid})
-
     cartModel.modifyProduct({swapData, shoppingKey, uid}).then((result) => {
-        // console.log('swap result...:', JSON.stringify(result, '', 4))
         if (result.code === 200) {
             cartModel.getCartData(shoppingKey, uid).then(cartData => {
                 res.json(_.merge(
@@ -237,6 +199,4 @@ exports.modifyProduct = (req, res, next) => {
             res.json(result);
         }
     }).catch(next);
-};
-
-
+};
\ No newline at end of file
diff --git a/apps/shopping/models/cart.js b/apps/shopping/models/cart.js
index 685cdd4..0f4e945 100644
--- a/apps/shopping/models/cart.js
+++ b/apps/shopping/models/cart.js
@@ -83,8 +83,6 @@ const addToCart = (options) => {
  * }
  */
 const getCartData = (shoppingKey, uid) => {
-    // console.log('SPK:', shoppingKey);
-    // console.log('uid:', uid);
     let params = {
         method: 'app.Shopping.cart'
     };
@@ -132,7 +130,6 @@ const toggleSelectGoods = (params) => {
     let method = 'app.Shopping.selectedAndCart';
 
     _.merge(params, {method});
-
     /*
     let resultData;
     let skus = JSON.parse(params.product_sku_list).map(sku => return sku.product_sku);
@@ -168,7 +165,6 @@ const toggleSelectGoods = (params) => {
         });
     });
     */
-
     return api.get('', params);
 };
 
@@ -248,8 +244,6 @@ const filterCartData = (result, uid) => {
     // 预售商品
     if (result.data && result.data.advance_cart_data) {
         advancedCartData = result.data.advance_cart_data;
-
-        // console.log('---------------advance------:', advancedCartData.goods_list.length);
         totalAdvanceMoney = advancedCartData.shopping_cart_data.last_order_amount;
         advancedGoods = _.concat(advancedGoods, advancedCartData.goods_list);
         invalidGoods = _.concat(invalidGoods, advancedCartData.off_shelves_goods_list);
@@ -274,8 +268,6 @@ const filterCartData = (result, uid) => {
     // 普通商品
     if (result.data && result.data.ordinary_cart_data) {
         ordinaryCartData = result.data.ordinary_cart_data;
-
-        // console.log('---------------ordinary------:', ordinaryCartData.goods_list.length);
         totalOrdinaryMoney = ordinaryCartData.shopping_cart_data.last_order_amount;
         ordinaryGoods = _.concat(ordinaryGoods, ordinaryCartData.goods_list);
         invalidGoods = _.concat(invalidGoods, ordinaryCartData.off_shelves_goods_list);
@@ -298,9 +290,6 @@ const filterCartData = (result, uid) => {
         });
     }
 
-    // console.log('ordinaryGoods:', ordinaryGoods);
-
-
     return _.merge(resData, {
         hasGoods: advancedGoods.length || ordinaryGoods.length || invalidGoods.length,
         preSalePros: advancedGoods.length ? _.groupBy(advancedGoods, 'brand_id') : [],
@@ -314,7 +303,7 @@ const filterCartData = (result, uid) => {
 };
 
 /**
- * 增减购物车商品数量
+ * 修改购物车商品数量
  * @function modifyProductNum
  * @param { Number } uid 用户ID
  * @param { String } sku 商品SKU
@@ -372,9 +361,6 @@ const modifyProductNum = (options) => {
     });
 
     return getCartData(shoppingKey, uid).then(function(result) {
-        // console.log('getCartData--pre-callback-result:', JSON.stringify(result, '', 4));
-        // console.log('modifyProductNum---params:', params);
-
         if (goodType === 'advance') {
             // 检查库存量
             // 同步
@@ -456,6 +442,14 @@ const modifyProductNum = (options) => {
     });
 };
 
+/**
+ * 修改商品颜色和尺寸
+ * @function modifyProduct
+ * @param { Number } uid 用户ID
+ * @param { String } swapData 商品修改信息
+ * @param { String } shoppingKey 未登录用户唯一识别码
+ * @return { Object } 接口返回单个商品修改结果
+ */
 const modifyProduct = (options) => {
     let params = {
         method: 'app.Shopping.swap'
diff --git a/public/js/shopping/cart.page.js b/public/js/shopping/cart.page.js
index 78174da..abb5d90 100644
--- a/public/js/shopping/cart.page.js
+++ b/public/js/shopping/cart.page.js
@@ -1,3 +1,9 @@
+/**
+ * [购物流程] 购物袋
+ * @author: jinhu.dong<jinhu.dong@yoho.cn>
+ * @date: 2016/7/1
+ */
+
 var $ = require('yoho-jquery');
 var Cart = require('./cart/cart');
 var Stepper = require('./cart/stepper');
diff --git a/public/js/shopping/cart/cart.js b/public/js/shopping/cart/cart.js
index 2cfe4cc..0e602ae 100644
--- a/public/js/shopping/cart/cart.js
+++ b/public/js/shopping/cart/cart.js
@@ -67,6 +67,7 @@ var Cart = {
     /*
      * 取消全选
      * @function [toggleCheckAllPros]
+     * @params { Boolean } checked 选择,取消选择
      */
     toggleCheckAllPros: function(checked) {
         var data = [],
@@ -93,6 +94,7 @@ var Cart = {
     /*
      *  根据服务端JSON,刷新购物车信息
      *  @function [refreshCart]
+     *  @params { Object } data 最新购物车数据
      */
     refreshCart: function(data) {
         var template;
@@ -103,8 +105,6 @@ var Cart = {
 
             if (num1 && num2) {
                 return num1 * num2;
-            } else {
-                console.error('multiplication needs two number parameters');
             }
         });
 
@@ -130,6 +130,7 @@ var Cart = {
     /*
      *  选择与取消选择
      *  @function [toggleSelectGoods]
+     *  @params { Array } data 选择与取消选择商品信息
      */
     toggleSelectGoods: function(data) {
         $.ajax({
@@ -152,7 +153,8 @@ var Cart = {
 
     /*
      *  单选每一个商品判断是否需要全选
-     *  @function [toggleCheckAll]
+     *  @function [toggleCheck]
+     *  @params { Object } target 单个商品
      */
     toggleCheck: function(target) {
         var $this = $(target),
@@ -220,8 +222,8 @@ var Cart = {
     },
 
     /*
-     *  删除商品
-     *  @function [removePro]
+     *  商品移入收藏夹
+     *  @function [sendToFavorite]
      *  @params { Array } products 商品列表
      */
     sendToFavorite: function(products) {
@@ -254,7 +256,14 @@ var Cart = {
         }
     },
 
-    // 编辑商品的颜色和尺寸
+    /*
+     *  修改商品颜色和尺寸
+     *  @function [editColorOrSize]
+     *  @params { String } productId 商品ID
+     *  @params { String } skn 商品skn
+     *  @params { String } defaultColor 商品默认颜色
+     *  @params { String } defaultSize 商品默认尺寸
+     */
     editColorOrSize: function(productId, skn, defaultColor, defaultSize) {
         var template;
         var index = 0;
@@ -321,10 +330,8 @@ var Cart = {
                 });
 
                 // helpers end
-
                 template = hbs.compile($('#edit-color-size-tpl').html());
 
-
                 editTarget.append(
                     template({
                         colors: filterSet,
@@ -390,6 +397,11 @@ var Cart = {
 
     },
 
+    /*
+     *  点击结算时检查商品库存
+     *  @function [checkStorage]
+     *  @params { Function } callback 检查完回调函数
+     */
     checkStorage: function(callback) {
         Util.ajax({
             url: '/shopping/cart/checkStorage',
diff --git a/public/js/shopping/cart/stepper.js b/public/js/shopping/cart/stepper.js
index a44c75c..05ce78a 100644
--- a/public/js/shopping/cart/stepper.js
+++ b/public/js/shopping/cart/stepper.js
@@ -9,7 +9,13 @@ var Util = require('./util');
 var $ = require('yoho-jquery');
 
 var Stepper = {
-    // 减少商品数量
+    /*
+     * 减少商品数量
+     * @function [decrease]
+     * @params { String } goodType 商品类型
+     * @params { String } sku 商品sku
+     * @params { String } currNum 商品当前购买数量
+     */
     decrease: function(goodType, sku, currNum) {
         if (parseInt(currNum, 10) <= 1) {
             // return callback(1);
@@ -32,7 +38,12 @@ var Stepper = {
 
     },
 
-    // 增加商品数量
+    /*
+     * 增加商品数量
+     * @function [increase]
+     * @params { String } goodType 商品类型
+     * @params { String } sku 商品sku
+     */
     increase: function(goodType, sku) {
         Util.ajax({
             url: '/shopping/cart/product/change_num',
@@ -50,6 +61,10 @@ var Stepper = {
         });
     },
 
+    /*
+     * 初始化
+     * @function [init]
+     */
     init: function() {
         var _this = this,
             $target,
@@ -123,4 +138,3 @@ var Stepper = {
 };
 
 module.exports = Stepper;
-
diff --git a/public/js/shopping/cart/util.js b/public/js/shopping/cart/util.js
index b3b425b..3486b34 100644
--- a/public/js/shopping/cart/util.js
+++ b/public/js/shopping/cart/util.js
@@ -9,6 +9,12 @@ var _alert = dialog.Alert;
 var hbs = require('yoho-handlebars');
 
 var Util = {
+
+    /*
+     * ajax请求封装
+     * @function [ajax]
+     * @params { Object } options ajax请求参数
+     */
     ajax: function(options) {
         $.ajax({
             type: options.type || 'GET',
@@ -33,6 +39,8 @@ var Util = {
     /*
      *  根据服务端JSON,刷新购物车信息
      *  @function [refreshCart]
+     *  @params { Object } data 最新购物车数据
+     *  @params { Function } callback 购物车刷新后回调
      */
     refreshCart: function(data, callback) {
         var template;
@@ -49,8 +57,6 @@ var Util = {
 
             if (num1 && num2) {
                 return num1 * num2;
-            } else {
-                console.error('multiplication needs two number parameters');
             }
         });