瀏覽代碼

add index control

stanley-king 9 年之前
父節點
當前提交
6935924797

+ 1 - 0
admin/control/mb_special.php

@@ -109,6 +109,7 @@ class mb_specialControl extends SystemControl{
      * 编辑专题
      */
     public function special_editOp() {
+        
         $model_mb_special = Model('mb_special');
 
         $special_item_list = $model_mb_special->getMbSpecialItemListByID($_GET['special_id']);

+ 4 - 0
core/framework/libraries/validate.php

@@ -57,6 +57,10 @@ Class Validate{
     {
         return array('input' => $val,'require' => "true", 'validator'=>'length','min'=>4,'max'=>4,'message' =>"短信验证码长度只能为4.");
     }
+	static public function verify_number($val,$error = '输入的值不是数字类型.')
+	{
+		return array('input' => $val,'validator' => "number", 'require' => true,'message' => $error);
+	}
 
 	/**
 	 * 验证数组中的值

+ 13 - 12
data/config/config.ini.php

@@ -3,18 +3,19 @@
 //defined('InShopNC') or exit('Access Invalid!');
 $config = array();
 
-$config['base_site_url']        = 'http://shopnc.yage.com';
-$config['shop_site_url'] 		= 'http://shopnc.yage.com/shop';
-$config['cms_site_url'] 		= 'http://shopnc.yage.com/cms';
-$config['microshop_site_url'] 	= 'http://shopnc.yage.com/microshop';
-$config['circle_site_url'] 		= 'http://shopnc.yage.com/circle';
-$config['admin_site_url'] 		= 'http://shopnc.yage.com/admin';
-$config['mobile_site_url'] 		= 'http://shopnc.yage.com/mobile';
-$config['wap_site_url'] 		= 'http://shopnc.yage.com/wap';
-$config['chat_site_url'] 		= 'http://shopnc.yage.com/chat';
+$config['base_site_url']        = 'http://192.168.1.105';
+$config['shop_site_url'] 		= 'http://192.168.1.105/shop';
+$config['cms_site_url'] 		= 'http://192.168.1.105/cms';
+$config['microshop_site_url'] 	= 'http://192.168.1.105/microshop';
+$config['circle_site_url'] 		= 'http://192.168.1.105/circle';
+$config['admin_site_url'] 		= 'http://192.168.1.105/admin';
+$config['mobile_site_url'] 		= 'http://192.168.1.105/mobile';
+$config['wap_site_url'] 		= 'http://192.168.1.105/wap';
+$config['chat_site_url'] 		= 'http://192.168.1.105/chat';
+
 $config['node_site_url'] 		= 'http://127.0.0.1:8090';
-$config['upload_site_url']		= 'http://shopnc.yage.com/data/upload';
-$config['resource_site_url']	= 'http://shopnc.yage.com/data/resource';
+$config['upload_site_url']		= 'http://192.168.1.105/data/upload';
+$config['resource_site_url']	= 'http://192.168.1.105/data/resource';
 $config['version'] 		= '201502020388';
 $config['setup_date'] 	= '2015-08-22 15:52:34';
 $config['gip'] 			= 0;
@@ -61,4 +62,4 @@ $config['queue']['host'] = '127.0.0.1';
 $config['queue']['port'] = 6379;
 $config['cache_open'] = true;
 
-$config['delivery_site_url']    = 'http://shopnc.yage.com/delivery';
+$config['delivery_site_url']    = 'http://192.168.1.105/delivery';

+ 46 - 46
data/model/mb_special.model.php

@@ -103,6 +103,48 @@ class mb_specialModel extends Model
 	 * @param int $special_id
      *
      */
+    public function getMbSpecialItemUsableListByIDEx($special_id)
+    {
+        $prefix = 'mb_special';
+        $item_list = rcache($special_id, $prefix);
+        //缓存有效
+        if(!empty($item_list)) {
+            return unserialize($item_list['special']);
+        }
+
+        //缓存无效查库并缓存
+        $condition = array();
+        $condition['special_id'] = $special_id;
+        $condition['item_usable'] = self::SPECIAL_ITEM_USABLE;
+        $item_list = $this->_getMbSpecialItemList($condition);
+        if(!empty($item_list))
+        {
+            $pages = array();
+            foreach ($item_list as $value)
+            {
+                //处理图片
+                $items = array();
+                $items['item_id'] = $value['item_id'];
+                $items['special_id'] = $value['item_id'];
+                $items['item_type'] = $value['item_type'];
+                $items['item_sort'] = $value['item_sort'];
+                $item_data = $this->_formatMbSpecialData($value['item_data'], $value['item_type']);
+
+                if($value['item_type'] === 'adv_list') {
+                    $items['item_data'] = $item_data['item'];
+                } else {
+                    $items['item_data'] = $item_data;
+                }
+                
+                array_push($pages,$items);
+            }
+            $item_list = $pages;
+        }
+        $cache = array('special' => serialize($item_list));
+        wcache($special_id, $cache, $prefix);
+        return $item_list;
+    }
+
     public function getMbSpecialItemUsableListByID($special_id)
     {
         $prefix = 'mb_special';
@@ -118,24 +160,16 @@ class mb_specialModel extends Model
         $condition['special_id'] = $special_id;
         $condition['item_usable'] = self::SPECIAL_ITEM_USABLE;
         $item_list = $this->_getMbSpecialItemList($condition);
-
-        $home_specials = array();
         if(!empty($item_list))
         {
+            $new_item_list = array();
             foreach ($item_list as $value) {
                 //处理图片
-                $item_data = $this->_formatMbSpecialDataEx($value['item_data'], $value['item_type']);
-                switch($value['item_type'])
-                {
-                    case 'home1' :
-                        array_push($home_specials,$item_data);
-                        break;
-                    case 'adv_list':
-                        $home_advs = $item_data;
-                }
+                $item_data = $this->_formatMbSpecialData($value['item_data'], $value['item_type']);
+                $new_item_list[] = array($value['item_type'] => $item_data);
             }
+            $item_list = $new_item_list;
         }
-        $item_list = array('adv_list' => $home_advs,'specials' => $home_specials);
         $cache = array('special' => serialize($item_list));
         wcache($special_id, $cache, $prefix);
         return $item_list;
@@ -151,40 +185,6 @@ class mb_specialModel extends Model
     /**
      * 处理专题数据,拼接图片URL
      */
-    private function _formatMbSpecialDataEx($item_data, $item_type)
-    {
-        switch ($item_type) {
-            case 'home1':
-                $item_data['image'] = getMbSpecialImageUrl($item_data['image']);
-                break;
-            case 'home2':
-            case 'home4':
-                $item_data['square_image'] = getMbSpecialImageUrl($item_data['square_image']);
-                $item_data['rectangle1_image'] = getMbSpecialImageUrl($item_data['rectangle1_image']);
-                $item_data['rectangle2_image'] = getMbSpecialImageUrl($item_data['rectangle2_image']);
-                break;
-            case 'goods':
-                $new_item = array();
-                foreach ((array) $item_data['item'] as $value) {
-                    $value['goods_image'] = cthumb($value['goods_image']);
-                    $new_item[] = $value;
-                }
-                $item_data['item'] = $new_item;
-                break;
-            default:
-                $new_item = array();
-                foreach ((array) $item_data['item'] as $key => $value) {
-                    $value['image'] = getMbSpecialImageUrl($value['image']);
-                    $new_item[] = $value;
-                }
-                $item_data = $new_item;
-        }
-        return $item_data;
-    }
-
-    /**
-     * 处理专题数据,拼接图片URL
-     */
     private function _formatMbSpecialData($item_data, $item_type)
     {
         switch ($item_type) {

+ 68 - 18
mobile/control/index.php

@@ -12,6 +12,8 @@ defined('InShopNC') or exit('Access Invalid!');
 class indexControl extends mobileHomeControl
 {
     private $mb_special;
+    const HomeSpecialID = 0;
+
     public function __construct() {
         parent::__construct();
         $this->mb_special = Model('mb_special');
@@ -22,15 +24,72 @@ class indexControl extends mobileHomeControl
      */
 	public function indexOp()
     {
-        $data = $this->mb_special->getMbSpecialIndex();
-        $tops = $this->toplist();
-        $data['sale_list'] = $tops;
-        $this->_output_special($data, $_GET['type']);
+        $special_list = $this->mb_special->getMbSpecialItemUsableListByIDEx(self::HomeSpecialID);
+        $sale_list = $this->sale_list();
+
+        $this->_output_special(array('special_list' => $special_list,'sale_list' => $sale_list),$_GET['type']);
 	}
+
+    /**
+     * 专题
+     */
+    public function specialOp() {
+        $model_mb_special = Model('mb_special');
+        $special_list = $model_mb_special->getMbSpecialItemUsableListByIDEx($_GET['special_id']);
+        $this->_output_special(array('special_list' => $special_list),$_GET['type'], $_GET['special_id']);
+    }
+
+    static private function validate_type($type,$data)
+    {
+        $types = array('keyword','special','goods','url');
+        if (empty($type) || !in_array($type,$types)) {
+            joutput_error(errcode::ErrSpecial,'error type.');
+            return false;
+        }
+        $validator = new Validate();
+        if($type === 'special') {
+            $validator->setValidate(Validate::verify_number($data,'special data error.'));
+        } elseif ($type === 'keyword') {
+
+        } elseif ($type === 'goods') {
+
+        } else {
+
+        }
+
+        $err = $validator->validate();
+        if ($err != '') {
+            joutput_error(errcode::ErrSpecial,$err);
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    public function advOp()
+    {
+        $type = $_GET['type'];
+        $data = $_GET['data'];
+
+        if(self::validate_type($type,$data) == false) return;
+
+        if($type === 'special') {
+            $ret = $this->mb_special->getMbSpecialItemUsableListByID($data);
+        } elseif ($type === 'keyword') {
+
+        } elseif ($type === 'goods') {
+
+        } else {
+
+        }
+
+        joutput_data($ret);
+    }
+
     /**
      * 获取打赏接口数据
      */
-    private function toplist()
+    private function sale_list()
     {
         $prefix = 'mb_salelist';
         $codeid = 122;
@@ -71,27 +130,20 @@ class indexControl extends mobileHomeControl
     {
 
     }
-    /**
-     * 专题
-     */
-	public function specialOp() {
-        $model_mb_special = Model('mb_special'); 
-        $data = $model_mb_special->getMbSpecialItemUsableListByID($_GET['special_id']);
-        $this->_output_special($data, $_GET['type'], $_GET['special_id']);
-	}
+
 
     /**
      * 输出专题
      */
-    private function _output_special($data, $type = 'json', $special_id = 0) 
+    private function _output_special($data,$type = 'json', $special_id = 0)
     {
         $model_special = Model('mb_special');
-        if($_GET['type'] == 'html') 
+        if($type == 'html')
         {
             $html_path = $model_special->getMbSpecialHtmlPath($special_id);
             if(!is_file($html_path)) {
                 ob_start();
-                Tpl::output('list', $data);
+                Tpl::output('list', $data['special_list']);
                 Tpl::showpage('mb_special');
                 file_put_contents($html_path, ob_get_clean());
             }
@@ -102,8 +154,6 @@ class indexControl extends mobileHomeControl
 			if(empty($data)) {
 				$data=array();
 			}
-			//$data['site_mobile_logo']=array(C('site_mobile_logo'));
-			//print_r($data);
             joutput_data($data);
         }
     }

+ 10 - 7
mobile/control/member_cart.php

@@ -12,8 +12,8 @@
 
 defined('InShopNC') or exit('Access Invalid!');
 
-class member_cartControl extends mobileMemberControl {
-
+class member_cartControl extends mobileMemberControl
+{
 	public function __construct() {
 		parent::__construct();
 	}
@@ -39,7 +39,8 @@ class member_cartControl extends mobileMemberControl {
     /**
      * 购物车添加
      */
-    public function cart_addOp() {
+    public function cart_addOp()
+    {
         $goods_id = intval($_POST['goods_id']);
         $quantity = intval($_POST['quantity']);
         if($goods_id <= 0 || $quantity <= 0) {
@@ -90,7 +91,8 @@ class member_cartControl extends mobileMemberControl {
     /**
      * 购物车删除
      */
-    public function cart_delOp() {
+    public function cart_delOp()
+    {
         $cart_id = intval($_POST['cart_id']);
 
         $model_cart = Model('cart');
@@ -109,7 +111,8 @@ class member_cartControl extends mobileMemberControl {
     /**
      * 更新购物车购买数量
      */
-    public function cart_edit_quantityOp() {
+    public function cart_edit_quantityOp()
+    {
 		$cart_id = intval(abs($_POST['cart_id']));
 		$quantity = intval(abs($_POST['quantity']));
 		if(empty($cart_id) || empty($quantity)) {
@@ -147,7 +150,8 @@ class member_cartControl extends mobileMemberControl {
     /**
      * 检查库存是否充足
      */
-    private function _check_goods_storage($cart_info, $quantity, $member_id) {
+    private function _check_goods_storage($cart_info, $quantity, $member_id)
+    {
 		$model_goods= Model('goods');
         $model_bl = Model('p_bundling');
         $logic_buy_1 = Logic('buy_1');
@@ -184,5 +188,4 @@ class member_cartControl extends mobileMemberControl {
 		}
         return true;
     }
-
 }

+ 6 - 4
mobile/util/errcode.php

@@ -5,6 +5,7 @@ class errcode extends SplEnum
     const __default = self::Success;
     
     const Success = 200;
+
     const ErrApptype  = 10000;
     const ErrParamter = 10001;
     const ErrLogin    = 10002;
@@ -15,12 +16,11 @@ class errcode extends SplEnum
     const ErrSmscode = 10007;
     const ErrIDbinded = 10008;
 
-    const ErrDB      = 11000;
+    const ErrSpecial  = 10100;
 
+    const ErrDB      = 11000;
     const ErrSms 	 = 12000;
 
-
-    
     static function msg($code) 
     {
         switch ($code) {
@@ -33,7 +33,9 @@ class errcode extends SplEnum
             case errcode::ErrSmscodeExpire : return 'ErrSmscodeExpire';
             case errcode::ErrSmscode: return 'ErrSmscode';
             case errcode::ErrIDbinded: return 'ErrIDbinded id has been binded.';
-            
+            case errcode::ErrSpecial: return 'ErrSpecial.';
+
+
             case errcode::ErrDB : return 'ErrorDB';
 
             case errcode::ErrSms : return 'ErrSms,Send sms error.';