早早街是真的吗?

早早街是真的吗?

早早街是以二级代理的模式,发展下线,但同时也是一款很不错的淘宝天猫优惠券领取APP,不加入会员一样省钱.
加入会员代理,可以在省钱的同时,轻松获取购物佣金.

作为二级代理,完全规避了传销模式,是很不错的自用省钱,会员赚钱的优惠券APP.

同样的作为淘客的新推广方式,通过早早街APP,就可以避免微信重复发优惠券被封号的问题.

也是广大淘客们的新选择.

现在回头看早早街是真的吗?这个问题,当然是真的了.

 

 

淘宝客API申请后如何获取sessionkey

更新:

淘宝官方提供SessionKey获取辅助工具

http://open.taobao.com/apitools/sessionPage.htm?spm=0.0.0.0.FeS4Qc

 

正式环境下获取SessionKey

客户端应用

访问 http://my.open.taobao.com/auth/authorize.htm?appkey={appkey},即可获得授权码

通过http方式访问 http://container.open.taobao.com/container?authcode={授权码},会得到类似如下的字符串top_appkey=1142&top_parameters=xxx&top_session=xxx&top_sign=xxx&encode=utf-8

字符串里面的top_session值即为SessionKey(后边xxx)

网站应用

网页打开http://my.open.taobao.com/auth/authorize.htm?appkey={appkey},

 

正常登录后会显示授权码。

网页打开   http://container.open.taobao.com/container?authcode={授权码}
网页打开后有类似如下的字符串top_appkey=1142&top_parameters=xxx&top_session=xxx&top_sign=xxx&encode=utf-8

字符串里面的top_session值即为SessionKey(后边xxx).

至此得到sessionkey

面向对象设计的SOLID原则

S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。

SRP [The Single Responsibility Principle ] 单一责任原则
OCP [The Open Closed Principle] 开放封闭原则
LSP [The Liskov Substitution Principle] 里氏替换原则
DIP [The Dependency Inversion Principle] 依赖倒置原则
ISP [The Interface Segregation Principle] 接口分离原则
  1. 单一责任原则: 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。
  2. 开放封闭原则 软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。
  3. 里氏替换原则 当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系(is-a 指的是类的父子继承关系,例如类D是另一个类B的子类(类B是类D的父类))
  4. 依赖倒置原则1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象 2. 抽象不应该依赖于细节,细节应该依赖于抽象
  5. 接口分离原则 不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。

 

为什么小米的饥饿营销总有人买单?

说起喜欢用饥饿营销的品牌,很多伙伴第一想到的就是小米,虽然小米的饥饿营销随着竞品的迭出而大失效果,但依然让人忘不了小米曾经的疯狂。

为什么小米的饥饿营销有那么多人买单?

本期就以小米为来说说饥饿营销背后的动机。

 

 

1、什么是饥饿营销?

“饥饿营销”,是指商品提供者造成产品人为地短缺,吊足消费者的胃口,让其购买欲望达到极点,以期达到调控供求关系、制造供不应求“假象”,维持商品较高售价和利润率的目的。关键点在于产品对消费者的吸引力,以及如何让消费者感受到供不应求的紧迫感。

饥饿营销策略必须在满足市场竞争不激烈、替代品少或者替代品性价比低、产品质量优异及有大量的品牌忠诚者的消费动机前提下发挥作用。

 

 

2、饥饿营销的实施条件

(1)市场竞争不充分

如果企业细分市场内竞争激烈,应用“饥饿营销”就有难度。因为在采取饥饿营销时,消费者会转移到其他竞争者那里去。为了在激烈的竞争中立于不败之地,企业就应该货源充足,每出现一位消费者就直接促成其购买行为。所以在这种情况下,就不应该使用“饥饿营销”这种策略(这也是小米现在饥饿营销行不通的一个原因)。

相反,如果企业细分市场内没有竞争,或竞争程度较低,市场状况为卖方市场时,这时企业处于主动地位,就可以采用“饥饿营销”策略。因为即使企业供货不足,消费者也不会转而消费其他产品,只能加剧消费者占有这种商品的欲望。

(2)消费者消费心理不成熟

消费者的购买动机有求实、求安、求廉、求同、求新、求美、求名七种动机。使用马斯洛需要层次理论,求实、求安、求廉动机是生理、安全等低层次需要的反映,求同、求新、求美是社会需要层次的反映,求名动机是尊重需要层次的反映。而能够应用“饥饿营销”并取得成功的动机主要有求同、求新、求美及求名这四个动机。

“求同”、“求新”、“求美”、“求名”本是消费者正常消费心理,但是消费者这种心理反应如果很容易被营销者的任何策略牵着走,那就说明当前消费者心理状态还不成熟,还不是靠理智来决定购买。而恰恰是消费者心理的这种不成熟状态为企业实施各种营销策略尤其是“饥饿营销”策略提供了条件。

(3)产品综合竞争能力较强

购买到物美价廉、性价比高的商品往往是大多数消费者最普遍的想法。产品质量水平高,就会使消费者乐于选择这种商品。一旦这种高质量的商品供不应求、价格又低于同类产品的时候,就会形成消费者的抢购。而消费者一旦开始对某种商品进行抢购,所有以前理智的购买心理都会消失,此时企业及时使用“饥饿营销”,也会为其带来无法预料的效果。

而在现代企业里,质量意识越来越强,企业更加重视商品质量水平。在提升企业产品质量时,其质量经营战略主要包括追求零缺陷、营造质量文化、开展质量教育与塑造质量形象等内容。这些都会为企业未来实施“饥饿营销”奠定基础。

 

 

3、小米手机的饥饿营销

2012年8月23日上午10点,小米手机1S首轮开放购买正式开始,官方给出的公告显示,20万台小米1S已经在29分36秒内被全部抢完,截止2012年10月10号,小米总销量超过500万台。而这500多万台手机从手机首台开放购买时间计算一共花了不到十个月的时间,每次开放购买都是在一分钟左右售罄,这是因为小米手机在开放购买日前提供网上预约服务,要真是到了开放购买的时问再去抢购,基本上是没有机会的。在中国这是亘古未有的手机销售记录,而且是由一个刚成立两年多的手机公司做到的。

(1)饥饿营销首先要把握饥饿“度”

饥饿营销在尺度把控上首先要注意的问题是:确定市场容量和需求情况。饥饿营销在实现前要对市场容量进行充分的调查与了解,充分了解需求大小,有多少人对此产品感兴趣,有购买需求。

其次,饥饿营销在实施过程中,需要保证产品或服务必须具有不可替代和复制的独特性,该商品具有其他同类商品不可替代的优势,只有这样饥饿营销才能实施。饥饿营销在一定程度上是企业在利用消费者信息不对称这一优势在实施营销策略。如果只是一味地吊起消费者的胃口,会使一部分消费者失去耐心,给其他竞争者有可趁之机。

(2)灵活应对市场

一方面市场是瞬息万变的,随着竞争的加剧,强劲的竞争对手也许能够提供更先进的产品和更优质的服务,企业在实施饥饿营销的时候要密切关注竞争对手的动向,只有知己知彼才能百战不殆。

另一方面消费者的购买需求也在不断发生变化,消费者购买行为的关键性因素也会发生不规则的变动,导致消费者发生感情转移,购买冲动发生转向。

因此企业营销人员必须密切关注市场环境的变化,尤其是竞争对手的营销策略的变化,以及由此引发的消费者的购买心理和购买行为可能的变化,提高企业的快速反应能力,制定切实可行的营销方案。

(3)加快产品与技术革新

企业实施饥饿营销尤其需要有强有力的品牌和优质产品作为支撑,只有在小断的产品和技术革新中才能与竞争者的产品有差异,才会引起消费者的持续注意,也才能更好地实施饥饿营销。

 

Destoon供应模块增加房产筛选功能

先看看完成后的效果图:

下面一步步来实现这样的效果。
首先我们把这个筛选模块的html结构写出来,如下:

<!--搜索区域开始-->
<div class="center">
<div class="search_area-top"></div>
<div style="POSITION: relative" class="search_area-center">
<div class="search_area-text" id="Tzone">
<h1>区域:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tzone',0)">全部</a></li>
<li><a href="javascript:goSort('Tzone',1)">桂林</a></li>
<li><a href="javascript:goSort('Tzone',2)">上海</a> </li>
<li><a href="javascript:goSort('Tzone',3)">南宁</a> </li>
</ul>
</div>

<div class="search_area-text2" id="Tarea">
<h1>面积:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tarea',0);">全部</a> </li>
<li><a href="javascript:goSort('Tarea',1);">500平米以下</a>
</li>
<li><a href="javascript:goSort('Tarea',2);">500-1000平米</a>
</li>
<li><a href="javascript:goSort('Tarea',3);">1000-1500平米</a>
</li>
<li><a href="javascript:goSort('Tarea',8);">1500平米以上</a>
</li></ul></div>
<div class="search_area-text2" id="Tprice">
<h1>租金:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tprice',0);">全部</a> </li>
<li><a href="javascript:goSort('Tprice',1);">10元/平米以下</a>
</li>
<li><a href="javascript:goSort('Tprice',2);">10-15元/平米</a>
</li>
<li><a href="javascript:goSort('Tprice',3);">15-20元/平米</a>
</li>
<li><a href="javascript:goSort('Tprice',4);">20-25元/平米</a>
</li>
<li><a href="javascript:goSort('Tprice',5);">25元/平米以上</a>
</li></ul></div>
<div class="search_area-text2" id="Tfloor">
<h1>楼层:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tfloor',0);">全部</a> </li>
<li><a href="javascript:goSort('Tfloor',1);">一楼</a> </li>
<li><a href="javascript:goSort('Tfloor',2);">二楼以上</a>
</li>
</ul>
</div>
<div class="search_area-text2" id="Tstructure">
<h1>结构:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tstructure',0);">全部</a> </li>
<li><a href="javascript:goSort('Tstructure',1);">标准厂房</a>
</li>
<li><a href="javascript:goSort('Tstructure',2);">简易厂房</a>
</li>
<li><a href="javascript:goSort('Tstructure',3);">钢结构</a>
</li>
<li><a href="javascript:goSort('Tstructure',4);">其他</a>
</li>
</ul>
</div>
</div>
<div class="search_area-foot"></div>
</div>
<!--搜索区域结束-->

然后在skin/default/sell.css里,为此模块增加相应的css,如下:

/*For search nav*/
.search_area-top{background:url(image/searcharea_top.jpg) no-repeat; height:16px;}
.search_area-center{ border-left:1px solid #f4c0a7; border-right:1px solid #f4c0a7; background:#FFFFFF; padding-left:22px; line-height:20px;}
.search_area-center2{ border-left:1px solid #f4c0a7; border-right:1px solid #f4c0a7; background:#FFFFFF; padding-left:30px; padding-right:20px;}
.search_area-text{ overflow:hidden; height:100%; padding-top:5px; padding-bottom:5px;}
.search_area-text h1{ color:#6a6a6a; font-weight:bold; float:left; font-size:12px; margin:0px; padding:0px;}
.search_area-text ul{ margin:0; padding:0; list-style:none; float:left; overflow:hidden; height:100%; width:710px;}
.search_area-text li{ list-style:none; color:#6a6a6a; float:left; width:50px; padding-left:8px; padding-right:5px; white-space:nowrap}
.search_area-text li a{ list-style:none; color:#6a6a6a;}
.search_area-text li a:hover{ list-style:none; color:#ed6b2e; font-weight:bold; text-decoration:underline;}
.search_area-text li.selected{color:#ed6b2e; font-weight:bold;}
.search_area-text li.selected a{color:#ed6b2e;}
.search_area-text li.selected a:hover{color:#ed6b2e;}
.search_area-textdown{ overflow:hidden; height:100%; width:705px; padding-top:5px; padding-bottom:3px; background:#fff7f5}
.search_area-textdown ul{ margin:0; padding:0; list-style:none; float:left; overflow:hidden; height:100%;}
.search_area-textdown li{ list-style:none; color:#ed8d61; text-decoration:underline; float:left; padding-left:10px; padding-right:10px;}
.search_area-textdown li a{color:#ed8d61; text-decoration:underline;}
.search_area-textdown li a:hover{color:#ed8d61; text-decoration:underline;}
.search_area-textdown li.selected{color:#ed8d61; font-weight:bold;}

.search_area-text2{ overflow:hidden; height:100%; padding-top:5px; padding-bottom:5px;}
.search_area-text2 h1{ color:#6a6a6a; font-weight:bold; float:left; font-size:12px; margin:0px; padding:0px;}
.search_area-text2 ul{ margin:0; padding:0; list-style:none; float:left; overflow:hidden; height:100%; width:710px;}
.search_area-text2 li{ list-style:none; font-family:Verdana, Arial, Helvetica, sans-serif; color:#6a6a6a; float:left; padding-left:8px; padding-right:5px; white-space:nowrap}
.search_area-text2 li a{ list-style:none; color:#6a6a6a;}
.search_area-text2 li a:hover{ list-style:none; color:#ed6b2e; font-weight:bold; text-decoration:underline;}
.search_area-text2 li.selected a{color:#ed6b2e; font-weight:bold;}

.search_area-foot{background:url(image/searcharea_foot.jpg) no-repeat; height:18px;}

下一步,为此模块增加javascript代码来进行控制,如下:
(这里使用到了jquery,所以需要在template/default/sell/index.htm 页里先引入jquery 1.7版本;<script src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.7.2/jquery.min.js”></script>
)
下面添加控制的js代码:

function getQueryString(){
     var result = location.search.match(new RegExp("[?&][^?&]+=[^?&]+","g")); 
     if(result == null){
         return "";
     }
     for(var i = 0; i < result.length; i++){          result[i] = result[i].substring(1);      }      return result; } function goSort(name,value){ 	var string_array = getQueryString(); 	var oldUrl = (document.URL.indexOf("index.php")==-1)?document.URL+"index.php":document.URL; 	var newUrl; 	if(string_array.length>0)//如果已经有筛选条件
	{	var repeatField = false;	
		for(var i=0;i<string_array.length;i++){
			if(!(string_array[i].indexOf(name)==-1)){
				repeatField = true;//如果有重复筛选条件,替换条件值
				newUrl = oldUrl.replace(string_array[i],name+"="+value);
			}	
		}
		
		//如果没有重复的筛选字段
		if(repeatField == false){
			newUrl = oldUrl+"&"+name+"="+value;
		}
		
	}else{//如果还没有筛选条件
		newUrl = oldUrl+"?"+name+"="+value;
	}
	
	//跳转
	window.location = newUrl;
}

function setSelected(name,value){
	var all_li = $("#"+name).find("li");
	//清除所有li标签的selected类
	all_li.each(function(){
		$(this).removeClass("selected");
	});
	//为选中的li增加selected类
	all_li.eq(value).addClass("selected");
}

$(document).ready(function(){
	var string_array = getQueryString();
	for(var i=0;i<string_array.length;i++){
		var tempArr = string_array[i].split("=");
		setSelected(tempArr[0],tempArr[1]);//设置选中的筛选条件
	}
});

进入系统后台,在供应模块的模块设置里增加几个自定义字段,字段对应筛选模块的筛选条件:

因为我们是以get方式来提交筛选条件的,所以需要对sell/index.php做一些调整,把接收到的筛选参数加入到当前变量表中,
这样当module/sell/index.inc.php调用相应的index.htm模板时,可以以变量的方式在页面取到筛选条件的值,修改如下:

 <?php
define('DT_REWRITE', true);
require 'config.inc.php';
require '../common.inc.php';
extract($GET,EXTR_OVERWRITE);//筛选条件参数加入到当前变量列表
require DT_ROOT.'/module/'.$module.'/index.inc.php';
?>

接下来我们要做的就是根据筛选条件,刷新页面这一块的内容就行了:

这一块在template/default/sell/index.htm页面里是以标签的方式来调用内容的:
<!--{tag("moduleid=$moduleid&condition=status=3$dtype&areaid=$cityid&catid=$catid&pagesize=".$MOD[pagesize]."&page=$page&showpage=1&datetype=5&order=".$MOD[order]."&fields=".$MOD[fields]."&template=list-sell")}-->
所以我们只要把筛选条件拼接到condition里,就可以了,当然筛选条件还需要进行一些处理,这里我写死了,改成如下代码:

{php $condition = "status=3";}
{php $Tarea_array = array(1=>'czzmj<500',2=>'czzmj between 500 and 1000',3=>'czzmj between 1000 and 1500',4=>'czzmj>1500');}
{php $Tprice_array = array(1=>'price=10',2=>'price between 10 and 15',3=>'price between 15 and 20',4=>'price between 20 and 25',5=>'price>25');}
{php $Tfloor_array = array(1=>'floor=1',2=>'floor>=2');}
{php $Tstructure_array = array(1=>'标准厂房',2=>'简易厂房',3=>'钢结构');}


{if isset($Tzone)&&($Tzone!=0)}
{php $condition.=" and areaid=$Tzone";}
{/if}
{if isset($Tarea)&&($Tarea!=0)}
{php $condition.=" and $Tarea_array[$Tarea]";}
{/if}
{if isset($Tprice)&&($Tprice!=0)}
{php $condition.=" and $Tprice_array[$Tprice]";}
{/if}
{if isset($Tfloor)&&($Tfloor!=0)}
{php $condition.=" and $Tfloor_array[$Tfloor]";}
{/if}
{if isset($Tstructure)&&($Tstructure!=0)}
{php $condition.=" and structure=$Tstructure";}
{/if}

这样一个粗糙的筛选模块就制作好了。