├── tests ├── 1.png ├── wzblog.png ├── decode.php ├── encode.php ├── demo │ ├── decode.php │ ├── encode.php │ └── index.html └── text.txt ├── src ├── CharToImageException.php ├── Drive │ ├── Input │ │ ├── JpegIn.php │ │ ├── PngIn.php │ │ ├── WbmpIn.php │ │ ├── WebpIn.php │ │ ├── XbmIn.php │ │ ├── XpmIn.php │ │ └── StringIn.php │ ├── InputBase.php │ ├── Output │ │ ├── BmpOut.php │ │ ├── PngOut.php │ │ ├── XbmOut.php │ │ ├── WbmpOut.php │ │ ├── WebpOut.php │ │ └── JpegOut.php │ └── OutputBase.php └── CharToImage.php ├── README.md ├── .gitignore ├── composer.json └── LICENSE /tests/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iHunterDev/CharToImage/master/tests/1.png -------------------------------------------------------------------------------- /tests/wzblog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iHunterDev/CharToImage/master/tests/wzblog.png -------------------------------------------------------------------------------- /src/CharToImageException.php: -------------------------------------------------------------------------------- 1 | =7.0" 12 | }, 13 | "autoload": { 14 | "psr-4": { 15 | "CharToImage\\": "src/" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/decode.php: -------------------------------------------------------------------------------- 1 | readText(); 22 | 23 | echo $str; -------------------------------------------------------------------------------- /src/Drive/InputBase.php: -------------------------------------------------------------------------------- 1 | write($str, '1.png'); -------------------------------------------------------------------------------- /src/Drive/Output/BmpOut.php: -------------------------------------------------------------------------------- 1 | 0 ) { 19 | throw new Exception("文件上传失败" . $_FILES['file']['error']); 20 | } 21 | 22 | // 拿到文件保存位置 23 | $filepath = $_FILES['file']['tmp_name']; 24 | 25 | 26 | $input = new PngIn; 27 | $output = new PngOut; 28 | 29 | $cti = new CharToImage($input, $output, $filepath); 30 | 31 | $str = $cti->readText(); 32 | 33 | echo $str; -------------------------------------------------------------------------------- /tests/demo/encode.php: -------------------------------------------------------------------------------- 1 | 0 ) { 21 | throw new Exception("文件上传失败" . $_FILES['file']['error']); 22 | } 23 | 24 | // 拿到文件保存位置 25 | $filepath = $_FILES['file']['tmp_name']; 26 | 27 | 28 | $input = new PngIn; 29 | $output = new PngOut; 30 | 31 | $cti = new CharToImage($input, $output, $filepath); 32 | 33 | $cti->write($_POST['content']); 34 | 35 | 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 WZBLOG 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /tests/demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ChatToImage Demo by: wzblog 6 | 7 | 13 | 14 |

ChatToImage Demo by: wzblog

15 | 16 |

注: 因本demo只写了png图片输入, 所以请上传png格式图片, 如需使用其他格式自行查看 README.md 修改代码实现

17 | 18 |

编码

19 |
20 |
21 |
22 | 23 |
24 |
25 |
26 | 27 |
28 | 29 |
30 | 31 |
32 |

解码

33 |
34 |
35 |
36 | 37 |
38 | 39 |
40 | 41 | 42 | -------------------------------------------------------------------------------- /src/CharToImage.php: -------------------------------------------------------------------------------- 1 | InObj = $InObj; 68 | $this->OutputObj = $OutputObj; 69 | 70 | // 读取图片 71 | $this->read($path); 72 | 73 | // 获取坐标 74 | $this->getX(); 75 | $this->getY(); 76 | 77 | // 最大字符保存数 78 | $this->charMax = $this->x * $this->y - 1; 79 | } 80 | 81 | 82 | /** 83 | * [write 写入数据] 84 | * @param [string] $string [需要写入的字符串] 85 | * @param mixed $path [图片文件保存地址] 86 | * @return [mixed] [图片地址或者直接返回图片] 87 | */ 88 | public function write($string, $path=false) 89 | { 90 | $this->string = $string; 91 | 92 | // 切割字符串 93 | $this->split(); 94 | 95 | // 判断是否超出大小 96 | if ($this->charMax < $this->strTotal) throw new CharToImageException('文字超出图片最大存储访问,请更换图片.'); 97 | 98 | $this_x = 1; 99 | $this_y = 1; 100 | 101 | foreach ($this->string_array as $key => $value) { 102 | $mark = false; 103 | // 计算 y 坐标 104 | if (($key + 1) > $this->x) $this_y = ceil(($key + 1) / $this->x); 105 | // echo ceil(($key + 1) / $this->x); 106 | // echo '
'; 107 | 108 | // 计算 x 坐标 109 | $this_x = (($key + 1) % $this->x) == 0 ? 48 : (($key + 1) % $this->x); 110 | 111 | if ($value == 'end') { 112 | $mark = true; 113 | } 114 | $color = $this->setColor($value, $mark); 115 | 116 | // echo $this_x, ':', $this_y, ':', $this_x * $this_y, ':', $key+1, '
'; 117 | 118 | 119 | imagesetpixel($this->im, $this_x, $this_y, $color); 120 | 121 | } 122 | 123 | 124 | if ($path) { 125 | if (! is_writable(dirname($path))) throw new CharToImageException("没有权限写入文件"); 126 | 127 | $res = $this->OutputObj->write($this->im, $path); 128 | 129 | if ($res) return $path; 130 | throw new CharToImageException("文件保存失败,未知原因"); 131 | } else { 132 | header("Content-Type: image/{$this->OutputObj->type}; charset=utf-8"); 133 | header("Content-Disposition: attachment; filename=" . md5(time()) . '.' . $this->OutputObj->type); 134 | return $this->OutputObj->return($this->im); 135 | } 136 | } 137 | 138 | 139 | /** 140 | * [readText 读取保存在像素中的文本] 141 | * @return [string] [解码后的字符] 142 | */ 143 | public function readText() 144 | { 145 | $num = 0; 146 | 147 | $this_x = 1; 148 | $this_y = 1; 149 | 150 | $encode_str = ''; 151 | 152 | while(true) { 153 | // 计算 y 坐标 154 | if (($num + 1) > $this->x) $this_y = ceil(($num + 1) / $this->x); 155 | 156 | // 计算 x 坐标 157 | $this_x = (($num + 1) % $this->x) == 0 ? 48 : (($num + 1) % $this->x); 158 | 159 | $color_index = imagecolorat($this->im, $this_x, $this_y); 160 | 161 | $rgba = imagecolorsforindex($this->im, $color_index); 162 | 163 | $hex = $this->dec2hex($rgba); 164 | 165 | // 当读到纯黑色方块时, 结束读取 166 | if ($hex == '000000') { 167 | break; 168 | } 169 | 170 | $encode_str .= hex2bin($hex); 171 | 172 | // 防止死循环 173 | if (++$num > ($this->charMax - 1)) break; 174 | } 175 | 176 | return $encode_str; 177 | } 178 | 179 | 180 | 181 | 182 | //+--------------------------------------------------------- 183 | //+--------------------------------------------------------- 184 | //| 辅助方法 185 | //+--------------------------------------------------------- 186 | //+--------------------------------------------------------- 187 | 188 | 189 | /** 190 | * [getX 获取图片x轴长度] 191 | * @return [int] [图片x轴长度] 192 | */ 193 | protected function getX() 194 | { 195 | return $this->x = imagesx($this->im); 196 | } 197 | 198 | 199 | /** 200 | * [getY 获取图片y轴长度] 201 | * @return [int] [图片y轴长度] 202 | */ 203 | protected function getY() 204 | { 205 | return $this->y = imagesy($this->im); 206 | } 207 | 208 | protected function read($path) 209 | { 210 | if (! file_exists($path)) throw new CharToImageException('图片不存在'); 211 | if (! is_readable($path)) throw new CharToImageException('图片不可读'); 212 | return $this->im = $this->InObj->read($path); 213 | } 214 | 215 | 216 | /** 217 | * [split 字符串切割] 218 | * @param integer $length [块的大小] 219 | * @param [string] $string [要切割的字符串, 默认为$this->string] 220 | * @return [array] [切割后的块数组] 221 | */ 222 | protected function split($length=1, $string=null) 223 | { 224 | $mark = false; 225 | if (! $string) { 226 | $string = $this->string; 227 | $mark = true; 228 | } 229 | 230 | $start = 0; 231 | $strlen = mb_strlen($string); 232 | while ($strlen) { 233 | $array[] = mb_substr($string, $start, $length, "utf8"); 234 | $string = mb_substr($string, $length, $strlen, "utf8"); 235 | $strlen = mb_strlen($string); 236 | } 237 | 238 | // 加入结尾 239 | if ($mark) { 240 | array_push($array, 'end'); 241 | $this->string_array = $array; 242 | 243 | // 统计字符总数 244 | $this->strTotal = count($array); 245 | } 246 | return $array; 247 | } 248 | 249 | 250 | /** 251 | * [setColor 设置颜色] 252 | * @param [string] $char [需要写入的字符] 253 | * @param boolean $end [是否是字符串结尾] 254 | * @return [response] [资源对象] 255 | */ 256 | protected function setColor($char, $end = false) 257 | { 258 | if ($end) return imagecolorallocate($this->im, 0, 0, 0); 259 | 260 | $hex = bin2hex($char); 261 | 262 | if (strlen($hex) != 6 && strlen($hex) != 4 && strlen($hex) != 2) throw new CharToImageException('暂不支持此字符'); 263 | 264 | $rgb = $this->split(2, $hex); 265 | switch (count($rgb)) { 266 | case 2: 267 | array_unshift($rgb, '00'); 268 | break; 269 | 270 | case 1: 271 | array_unshift($rgb, '00', '00'); 272 | break; 273 | } 274 | 275 | // 由于参数要求 int 类型, 所以将 16 进制转为 10 进制, 读取时记得转为 16 进制 276 | $color = imagecolorallocate($this->im, hexdec($rgb[0]), hexdec($rgb[1]), hexdec($rgb[2])); 277 | 278 | 279 | return $color; 280 | } 281 | 282 | 283 | /** 284 | * [dec2hex 10进制转16进制] 285 | * @param [array] $rgba [rgba] 286 | * @return [string] [返回16进制] 287 | */ 288 | protected function dec2hex($rgba) 289 | { 290 | 291 | $dec_str = join('', $rgba); 292 | 293 | switch ($dec_str) { 294 | case '00130': 295 | return '0d0a'; 296 | break; 297 | case '00320': 298 | return '20'; 299 | break; 300 | case '000000': 301 | return '000000'; 302 | break; 303 | } 304 | 305 | $arr = ['red', 'green', 'blue']; 306 | foreach ($arr as $key => $value) { 307 | if ($rgba[$value] < 16) { 308 | if ($rgba[$value] == 0) { 309 | $rgba[$value] = null; 310 | } else { 311 | $rgba[$value] = 20; 312 | } 313 | } else { 314 | $rgba[$value] = dechex($rgba[$value]); 315 | } 316 | 317 | } 318 | 319 | // 移除透明度 320 | array_pop($rgba); 321 | 322 | return join('', $rgba); 323 | } 324 | } -------------------------------------------------------------------------------- /tests/text.txt: -------------------------------------------------------------------------------- 1 | 2 | 1 页 共 8 页 毕业综合实习总结报告 07网络 顾丽娜 一、概述 十几年的学生生活,即将划上一个句号。作为一名还没有真正踏出大学校门的大学生,我已经在社会摸爬滚打了近一年的时间,体验了作为一个淘宝客服或是说一个淘宝卖家的艰辛,这一年中,有太多泪水,犹豫,迷茫,恐惧,无助,孤独,种种挫折,每天都在想着要坚持,有时候又害怕自己的坚持本身就是一个错误,可是错误总是要到最后才能被发现它是个错误,既然如此那还是坚持吧,因为谁也无法预料它是不是个错误,也许放弃才是那个错误,洛克菲勒说:“自信能给你勇气,使你敢于向任何困难挑战;自信也能使你急中生智,化险为夷;自信更能使你赢得别人的信任,从而帮助你成功。” 确认自己所走的路是正确的,相信经过自己努力,一定会打造出美好的明天。只有拥有自信,才能够客服一切,去实现自己的理想,创造自己的人生。 二、招聘过程: 首先,是找寻去应聘的路,在网上我搜索了很多的招聘网站,本来我最理想的工作是找与我专业相关的工作,最好是广告公司之类的,可以处理图像,做一些设计方面的工作,对于工资要求不高,总要一步一步做出来的,但是我发现这么低的要求还是让我没有办法找到合适的公司,一般都不愿意接受没有工作经验的实习生,在投了几份简历无望后,我放弃了,不是我没有坚持的心,因为我现在的阶段,找这类的工作相当困难,就算我找到了一份我心里比较满意的工作,但到那里后才发现,对这个工作满意的人有无数多个,我只是一个小小的应聘者,只要我有一点点不怎么符合的地方,代替我的人还排着长长的队伍! 三、开始工作 2009年6月底,我只身来到郑州,帮我表哥打理他的网店,开始只是觉得电子商务应该有着很好的前途,和我所学的计算机有一定的关联,我觉得我可以胜任。 可是想象在现实面前往往是最幼稚和可笑的,一切的理想和美好的憧憬都破碎的惨目忍睹。网店看似简单,可是真正接触才会知道你所要学习的知识有多少,这是一个新的开始,一个新的学习过程,现在的知识都是书本上接触不到的,我什么都不懂,面对电脑我很无助,不知道从哪里学起。我曾无数次的怀疑自己,这份工作我能胜任吗,我可以做好吗,我开始犹豫,开始逃避,但是我不想自己就这么被轻易的打败,我给自己敲响警钟:不要半途而废,做事情不可以只有三分钟热度'.我信心十足的对自己说:“我一定会坚持到底。” 四、专业知识得应用 开店肯定要进行大批量的宝贝图片处理及水印添加工作,以防其他的店铺盗用我们的图片。这项工作即繁琐又花时间,但还得必须做!图片是网站的“灵魂”这也是我的日常工作 经常作图摸索出了一个批量修改图片的方法, 1、打开PhostoShop,再打开水印图片 2、打开一张将要处理的照片,单击Photoshop界面上的“历史记录”窗口上的“动作”标签,然后单击“新建动作”按钮(绿圈),这时弹出“新动作”窗口,在名称栏输入“图像批处理”(名称可以自已取),接着单击“记录”按钮。这时,“动作”标签上的“开始记录”按钮由原来的灰色变成了红色。 3、对要处理的照片进行图像大小设置:单击“图像”菜单中“图像大小”,分别设置高度和宽度。 4、对要处理的照片进行亮度/对比度设置:单击“图像”菜单中“调整”中的“亮度/对比度”,出现如图所示的窗口,分别设置亮度/对比度。 5、对要处理的照片添加水印: (1)单击已打开的水印图片,使用“矩形选框工具”选中水印图形,选择“编辑”菜单 3 | 2 页 共 8 页 中“拷贝”; (2)单击要处理的照片,选择“编辑”菜单中的“粘贴”,下面使用“移动工具”将粘贴过来的水印图形移动到照片中的合理位置; (3)选择“图层”菜单中的“合拼图层”; (4)选择“文件”菜单中的“存储为”将处理好的照片保存(保存类型:JPG ) (5)把要处理的照片窗口关闭(注意不要把水印图片关掉哟!),然后单击“历史记录”窗口中“动作”标签的“停止”按钮 6、上面五步就是将要处理的所有操作全部记录下来!(称之为“动作记录”)。下面就可对几百张或更多图片 使用刚才作好的动作记录进行大批量自动处理: (1)选择“文件”菜单中的“自动”中的“批处理”,出现“批处理”窗口 (2)在“动作”下拉菜单中选取“图像批处理。 (3)在“源”下位菜单中选取“文件夹”,单击其下的“选取”按钮,在弹出的对话中选中你要处理的照片所在的文件夹; (4)把“包含所有子文件夹”和“禁止颜色配置文件警告”两个选项打勾; (5)在“目的”下位菜单中选取“文件夹”,单击其下的“选择”按钮,在弹出的对话中选中你照片处理完成 之后所放的文件夹;把“覆盖动作存储为命令”选项打勾; (6)在“文件命名”框中的两个下拉菜单分别选为“文档名称”和“扩展名(小写)”,最后单击“好”按钮。可以明显看到处理后文件夹中所有照片全部改变了大小和亮度/对比度,然后就是加上了水印! 五、学习相关知识,要抓紧时间学习,要在最短的时间里学到最多的知识。 1、要自主学习——工作后不再象在学校里学习那样,有课堂,有作业,有考试,而是一切要自己主动去学去做。作为客服学习的机会有很多,每一个顾客都是一次经验的积累,当每次把所学的知识得到运用的时候,才会发现原来理论跟实际是有很大的差距的,一个人的知识和能力只有在实践中才能发挥作用,才能得到丰富、完善和发展 2、积极进取的工作态度——在工作中,不只要为店铺创造了效益,同时也是通过做来给自己积累经验,平时需要主动争取多做事,这样才能多积累多提高。 3、和顾客相处——作为网店客服,每天都要和数百的客户接触,什么样的人都有,就要我们做到妥善处理,要多沟通,并要设身处地从对方角度换位思考,而不是一味的指责。一天数十小时的工作,在下班后还要抱着电脑到淘宝大学看一些淘宝的规则,论坛的一些卖家经验,如何的装修店铺,选择物流···· 真的说不出是什么感觉,伴着时间,每天就像在和自己的影子赛跑,经常不经意的感受有种东西在过去,也许更适合的只有那句话:时不待我,怎可驻足。 店铺不是开张就可以的,要不断的完善自己,要经常从顾客的角度考虑,从顾客的角度改善自己,要学习其他店铺的经营技巧。我总结了一些皇冠金冠店铺的经营经验。希望能提搞自己店铺的销量。从买家的角度分析我们的销售,首先要明确经营目标,视网店为事业,一般认为,每个经营者开店的目的都是卖出商品以赚取利润。其实,在网上开店与实体商店不尽相同,其差别之一就是经营目标。由于在网上开店只需要虚拟空间,具有交易成本低、交易范围广等优势,很多人轻轻松松就可以成为网店“老板”。因此,网店的经营者中不乏有的人(尤其是一开始)只是为了消遣或是好玩,把家里闲置的物品用数码相机拍下照片,上传到网站就可以拍卖了,只要拍价能接受就可以成交,既变废为宝有了收益,又丰富了业余生活。有的注册了两三年的网店,累积成交的商品也不过几十件,网页上展示的商品很少而且二手货较多。从买家的角度看,这样的小店不专业、不长久,可信度差。如果同一商品、 4 | 3 页 共 8 页 同一价位的话,可能就会选择其它店铺。其实,要把网店做大、做强,在注册登记之前就要树立明确的经营目标,投入充分的精力和时间,把网店当作自己的事业来经营。有了远大、明确立经营目标,才能更好地为开店做好各方面的准备。所有到网店买家应该都知道,信用是网店的立足之本。买家看中商品后,为了减小购物风险,必然要关注卖家的信用状况,选择好评率高的商家。在每次完成交易之后,买家可以对网店做出好评、中评和差评的评价。不要说差评,即使是做出比较中肯的评论,也会影响到网店的信誉。因此,这就要求我们客服重视与光顾店铺的每一个买家的沟通交流,真诚地对待每一个顾客。与实体店铺不同,网店顾客不能够体验、接触商品,只能从网页上浏览到我哦们卖家对商品材质、尺码、物理性能等相关信息的描述。在有了购买意向之后,顾客一般都需要与商家进行实时交流。在与顾客沟通过程中的每一个细节都不仅仅关系到交易的成败,还关系到成交后顾客对卖家的评价。所以就要求我们客服要真诚、耐心地对待每一个访客的每一次询问,既要视顾客为朋友,又要做好顾客的导师,因为自己的商品自己最了解。不仅要回答顾客的所有问询,为顾客提出中肯的建议,还要主动告知商品存在的瑕疵,不能为了促成交易故意隐瞒一些不良信息。这样,既让顾客感觉卖家的诚意,又可以避免成交后因为双方意见分歧而产生的退换货等纠纷,更重要的是赢得了买家好评。 买家就像逛街,网页制作可以视为网店的装修。制作美观、便捷、信息充分的网页,以恰如其分的方式推介商品也是网店制胜的要件之一。恰当地推介商品,绝非简单的“王婆卖瓜”,因为虚拟店铺与实体店铺还有不同,买家们直接感知、触摸自己感兴趣的商品,需要客服以文字、图片等形式全方位展示自己的商品。在店铺装修方面要注意以下几个方面: 一 1、.商品的图片一定要清晰、全面。买家了解商品,最先感知的就是外观,尤其是服装服饰类的商品。拍出的照片既要真实反映实物的色彩、纹理,还要尽可能多拍几张不同角度的照片,以全面展示商品的外观。对某些重点部位还要突出展示,比如商品的商标、吊牌等,以增强说服力。 2、.要避免有很多与商品无关的图片。有的商家也许是为了表现自己制作网页的专业水准吧,在店铺主页上加了很多与商品无关的flash图片。虽然看起来很美,但影响了浏览的速度。要知道顾客进店来不是欣赏动画,而是对你的商品感兴趣。 3、名称编写要突出产品的特色。每个消费者都有自己的消费偏好,比如购买服装时会注重品牌、风格、颜色、面料等等。网友在光顾购物网站时,就会按自己偏好,输入关键词搜索商品。如果卖家编写的商品名称太过笼统,就不容易被搜索到。比如同一件衣服,如果商品名称是“女外套”就不及“紫澜门★咖啡色淑女羊绒大衣”方便顾客查找。 4、产品的介绍要尽量详尽。恰当的产品名称可以帮助网友搜索到产品,详尽而专业的产品介绍则是顾客进一步了解商品的关键渠道。如果描述得当,既可以引导、说服顾客,打消顾客的一些疑虑,也可以省去买卖双方宝贵的时间。有的卖家在介绍产品时只有寥寥几句:成分,颜色,感官特征等。过于简短的介绍一般很难令顾客信服,即便是顾客非常看好该产品,还需要和卖家另外沟通很多问题。就像我们卖化妆品的店铺,店主在其产品描述中除了描述产品的成分、规格、等等之外,还包括该产品的产地、适合的皮肤、里面产品的颜色、适合的季节。以及所发快递,邮费价格,到货的时间,如此详尽的介绍给顾客的感觉首先是卖家很专业、可信,充分的信息又给了顾客很好的指导,也节约了交易双方一对一交流的时间。 很多买家在线淘宝与逛街购物有着同样的心理:浏览自己感兴趣的商品,有合适的商品时就做进一步了解和接触。可以想象,如果站在橱窗外面看到喜欢的商品时,而商店门上却写着:“员工有事外出,请顾客稍候”,恐怕顾客百分之百会调头走开。我们基本是从早8点到晚12点全天在线,保证在顾客经常上网的时间总是在线,随时解答顾客提出的有关问题, 5 | 4 页 共 8 页 揣摸顾客的心理,了解顾客的需求,并做好相应的记录。只有专一,才会成功。 影响顾客购买决策的因素,除了商品本身,邮费也是一个影响因素。尽管商品价位合理,如果邮费太高,也会让顾客产生疑虑,因为在实体商店购物没有这一项支出,顾客会认为这是额外负担。因此,我们合作了几家快递,争取到合理的邮费,然给顾客受益,这样既能留住老顾客,也能增加一些新顾客。 如何推广产品,不是店铺开张,产品上架,就等着顾客上门就可以的。电子商务的推广方式有很多种。主要有淘宝站内推广: 1、直通车。这个超级厉害。点击付费,超高的展示量。超低的价格。不点击不要钱。点击后付费最多也不会超过自己设定的额度。而且还可以设置投放时间,投放金额。顶级推荐的推广方式。 2、秒杀。说到秒杀,对于买家来说那就是玩心跳,同样的对于卖家也是玩心跳。卖家可以看到自己的宝贝在瞬间就被秒完时,而且带来超高的访问量。推广费用来说,就是几件货物的钱。这也是推荐卖家们必要要做的推广方式。 3、淘宝客。淘宝客的推广方式为佣金推广,卖家设置好宝贝的推广佣金,只有宝贝成交后才付给淘宝客佣金。不成交不付款。如此优秀的推广方式。让全淘宝都成为你的员工帮你效力,只需要支付交易成功的“员工”费用。 4、论坛推广。只需要发发帖,打打字就可以免费赚取浏览及成交量。绝大多数的淘宝卖家都游走于淘宝论坛之中。而且淘宝卖家也是买家。淘宝几亿的注册用户都成为你潜在的用户。只要发布一贴精华帖,那么你就等着接单吧。当然淘宝站内的推广方式还有很多,例如钻石展位等等。 六、销售方式 销售,客服最主要就是和顾客沟通给顾客介绍介绍产品,要完善自己和顾客的交流,改善推广方式把客人引导到自己的店铺来,最关键的环节就是销售,有了好的销售手段,那么将事半功倍。举个例子,某位亲想购买“XX品牌的洗面奶”。2个不同的客服用了不同的销售手段。 A客服是这样销售的。 亲:老板,您好! A客服:您好。 亲:请问XX品牌洗面奶有货吗? A客服:没了。 亲:哦,打扰了。 B客服是这样销售的。 亲:老板,您好! B客服:您好,请问有什么可以帮助到您的? 亲:请问XX品牌洗面奶有货吗? B客服:亲,不好意思!目前这款洗面奶断货了,厂家暂时缺货,不过亲可以试试我们家每时每刻牌子的哦,而且质量与口碑都超级好的,我们已经做了两年多了。亲可以看看我们其他顾客的评价哦。亲看是否需要了解一下呢? 亲:好的,那你发来吧。 B客服:亲,这是链接:XXXXXXXXX.taobao.com。而且目前购买这个品牌的产品满200元包邮还有赠品相送哦。 亲:嗯。好的,那我就买这瓶了。顺便再加几个这个品牌的产品吧,那你们包邮哦~ B客服:好的,祝您购物愉快。同时您下次再购买我们家的产品都会有精美礼品赠送哟~ 同样是销售。B客服的方式就大大的增加了销售技巧,使得这位顾客成功的转换,提高了销 6 | 5 页 共 8 页 售量。销售手法在于了解顾客的心理,主动推荐顾客购买商品,将被动转换为主动。同时配合店铺的促销活动,提高顾客的购买欲,主动推销自己的宝贝给顾客,这样自己的宝贝就能最大程度的销售了。虽然都是每一个顾客都能轻易的选择其他的牌子,但是这种机会还是有的,不能放弃每一个机会。 谈一些影响网店盈利的一些因素,我们要与时俱进,不能仅仅了解淘宝,要了解整个电子商务的环境。 七、网上零售企业的特征及其成功界定标准 1.参与网上零售的企业类型及特点 目前参与网上零售的企业主要有经营离线商店的零售商、纯粹的虚拟零售企业,以及商品制造商等几种类型。 (1)经营离线商店的零售商。此种网店采用网上开店与网下开店结合经营的方式,网上零售只是作为企业开拓市场的一条渠道,如美国的Wall-mart、中国的新华书店等。因为有网下店铺支持,它们在商品价位、销售技巧方面都更高一筹,也容易取得消费者的信任。目前国内外这类网店的成功率最高,如瑞典为58%,美国为56%,中国能盈利的网店也主要是这种类型。 (2)纯粹的虚拟零售企业。这类企业是电子商务的产物,网上零售是其惟一的销售方式,零售利润是其收入的主要来源,他们依靠网上零售生存,如亚马逊网上书店。 (3)商品制造商。这类企业可以网上开店与网下开店相结合开展网上零售业务,也可以纯粹借助虚拟网店直销零售,如海尔集团、戴尔电脑公司。由于企业本身就是产品制造者,采取网上直销既给顾客带来价格优势,又减少了商品库存的压力。 2.网上零售商店经营成功的界定标准 企业成功的界定是一个复杂的问题,而能否盈利则是问题的关键。据有关研究机构对十个主要行业近百个B2C网站的盈利模式调查,网上零售商店的盈利模式 ——即在一个时期内相对稳定的利润来源主要是商业零售。因此,在确立网上零售商店成功的界定标准时,可以把网店是否盈利作为一个主要指标,把网店的生存期或业主持有时间长短作为辅助指标;而网店盈利与否可以用其销售增长率、利润额、利润增长率为标准进行界定。 八、网上商店经营关键成功因素模型 1.影响网上商店经营的成功因素 影响网上零售商店经营成功的因素除网店的盈利模式外,其他因素归纳起来主要有以下方面: (1)主力商品与货源:网店主力商品经营的好坏直接影响网店盈利的高低,决定着店主投入精力、体力、时间、感情的收益指标,也确定了网店在“市场”及买家心目中的定位;而掌握物美价廉的货源则是网店成功经营的关键。 (2)网店的店址:网店拥有好的网络地址,就拥有了稳定的访问客流量,为网店经营成功提供了基础保证。 (3)品牌形象与商家信誉:值得信赖的网店品牌形象与良好的商家信誉,可以增加客户的信赖及品牌的忠诚度。 (4)店内商品定价:最能影响中国网上购物用户购买决策的因素是产品的价格高低和定价模式,据iResearch的市场调查显示,其比例为42.7%4,居各项因素之首。通常消费者较偏好将包装、运费成本内含在售价内的定价模式。 (5)网上购物的物流配送:物流配送是影响网上零售的一个重要方面,许多网店经营一段时间后难以为继的一个重要原因就是物流配送问题所致。在物流的产品包装环节,产品包装的完整性和超值性从心理上影响顾客对网店的评价。 (6)客户服务:良好的客户服务是建立客户忠诚度的最佳办法,包括网店所呈现的服务 7 | 6 页 共 8 页 态度、回应客户需求、退换货品服务或申诉处理的速度等,都能影响客户对网店的信任感。在网店显著位置上强调其客户服务的详细内容,可以加强客户对网店的信心及购物意愿。 (7)顾客隐私权维护:采取一系列信息保密手段,维护客户的隐私权,这是网络消费者十分关心和顾虑较多的问题。在资料上传时,要强调不会将客户资料作为他用,未经客户同意不会乱寄广告信函等信息,以免造成顾客反感。 (8)诚信环境:诚信问题是困扰网上开店成功的重要环境因素。据中国消协提供的数据显示,2004年涉及网上交易的投诉为3663起,到2005年增至7189起,增幅达到96.3%。成功的网店经营者十分重视自己的信用记录。 2.网上商店经营关键成功因素模型 依据上文提出的网上零售商店经营成功的界定标准,综合考虑影响网上零售经营效益的主要因素,以及这些因素之间的内在联系,将其归纳为盈利模式、基本条件、管理策略、经营细节、社会环境五个子要素,构建起一个网上零售商店经营的成功因素模型。 盈利模式是影响网上零售商店经营效益的核心因素,网店基本条件与社会环境是其经营的客观基础,管理策略与经营细节则是网店经营的主观条件,这五大要素协同作用,共同促成网上零售商店经营成功;其中盈利模式、基本条件、管理策略是现阶段网上零售经营的关键成功因素。 九、了解专线产品,玛凯玛莉: 玛凯玛莉是迄今为止中国女性既专业又完善的皮肤抗衰老护理体系,根据中国女性所处的大气环境和饮食习惯及老化的成因,分别针对不同肤质的老化问题分别设计了中性、干性、油性、混合性肤质的抗衰老解决方案,以及针对不同年龄阶段的老化问题设计了25—35、35—50 、50岁以上皮肤的抗衰老解决方案。 清妍 25-35岁油性肌肤 清雅 35-50岁油性肌肤 洁妍 25-35岁混合性肌肤 洁雅 35-50岁混合性肌肤 润妍 25-35岁干性肌肤 润雅 35-50岁干性肌肤 润梦 50岁以上干性肌肤 姿妍 中性肌肤 清爽型 姿雅 中性肌肤 柔润型 抗衰老专家makeMay的研究人员发现,相同人种的人皮肤的肤质存在干燥、油腻等各种差异,但不同人种皮肤的性质则完全不同。如在中国妇女中,60至70岁老人的皮肤对冷、风及干燥的敏感性最强;而对法国妇女来说,随着年龄的增长,对上述因素的敏感性会逐渐增强,但在60岁以后则开始逐渐减弱。再如,90%被调查的中国妇女在酒精及其它外界刺激情况下皮肤会出现红斑,而这一比例在被接受调查的法国妇女中仅为62%。 抗衰老专家makeMay的研究专家认为,随着年龄的增长,人的皮肤会逐渐失去往日的光泽,然而对不同人种来说,导致他们皮肤失去光泽的因素完全不同。如导致法国人皮肤失去光泽的因素是血管老化,而导致中国人的则是皮肤黑素化。研究人员表示,这项发现将有助于有针对性地研制适合不同人种的护肤品。抗衰老化妆品的开发比普通化妆品要复杂的多,研发参照系数细化到肤质、大气环境、饮食、所承受的压力等因素,有的放矢,对症下药。 二十一世纪,解决本质性抗衰老问题将成为皮肤护理的主题。新型的化妆品开发必须具有创新性和高科技含量。研究开发的进展将集中在两个领域:活性成分和释放系统。这两个因素是产生有效抗衰老产品的关键。 8 | 7 页 共 8 页 目前,在这两个领域取得成功突破的法国Sederma公司,是国际著名的化妆品配方研究及植物活性成分开发研究机构。特别在多种植物活性成分之间的相融性研究方面是世界先驱。另外,其最新科研成果千层微囊包裹指定负载及定时释放技术成功解决了活性成分的有效释放问题,作为多种植物活性成分的载体,直接深入皮下组织,达到定点、定时缓慢释放的效果。抗衰老专家makeMay的推出可以说是抗衰老化妆品研究发展进程的一次典范。 随着地球环境污染日益加剧,紫外辐射、物理损肤和化学蚀肤等问题也日趋严重,目前,抗衰老专家 makeMay研究人员在开创性的研究沙漠、南北极等干旱、严寒环境中的植物。从这些善于抵御恶劣环境的植物中,提取筑起护卫皮肤屏障的有效成分。在护肤品中利用生态原理,这也开创了国内护肤品的又一个第一。 同时生命科学的进展将会破译每个人皮肤的奥秘,针对人们不同肤质的护肤产品、护肤技术应运而生。人们将拥有由专业美容医师为个人检查、设计的独有抗衰老化妆品。极度个人主义的护肤调理已经是世界性潮流,相信很快也会在国内流行起来。 抗衰老专家makeMay系出名门。由广州蝶恋花公司与法国Sederma公司、香港进新公司,强强联手,经过两年反复的实验和论证,联袂打造出专为中国女性开发研究的抗衰老产品——抗衰老专家makeMay.她是迄今为止中国女性既专业又完善的抗衰老品牌,其技术体系应用法国Sederma公司的最新科研成果作为抗衰老专家makeMay的技术核心,并使用了数十项国际专利。由法国公司提供配方、原料及成套工艺技术,并授权广州蝶恋花公司在中国境内独家使用。 广州蝶恋花公司:国内“基因美容”的首创者,成功推出第一个基因美容品牌“细胞活能”;公司秉承用产品质量和服务质量打造企业诚信形象的信念,坚持用诚信服务于我们的客户与消费者。 法国Sederma:国际著名的化妆品配方研究及植物活性成分开发研究机构,一直为欧莱雅、香奈儿、娇韵诗、迪奥、雅诗兰黛、资生堂、圣罗兰等国际著名品牌提供成套技术合作。法国国家级INPI奖项得主。 香港进新公司:多家国际知名化妆品植物活性成分及化妆品成套研究技术亚太地区总代理。 十、一年来的的经验和心得 作为客服,要耐心的对待每一个到店铺咨询的客户,哪怕有的客户给麻烦,在很忙很忙的情况之下,也以选择觉得有把握马上搞定的买家,和接待那些咨询店铺利润高的买家。 细心整理每一个买家与您的聊天记录,有些买家不会在买家留言那里写上自己的要求,标注定单之前,切记一定要看聊天记录,尺码以及快递方式要看清楚..尤其注意登记临时更换款式和地址的买家.,和那些缺货换款的买家。真诚的对待您的客户,一般客服那里是没有实物的,要对买家作出解释和说明,不能欺骗客户,有时候出错了。您把事实告诉买家真诚的给他说.他会理解和原谅.假如欺骗则后果相当严重的哦,, 当售后不在线的时候,往往货物有问题的买家会直接找上客服,收到不满意商品或者发错货的买家他们态度有点过激,说话比较强硬,不管怎么样都需要态度很好的对待客户,多说几次对不起,多说几次抱歉,等买家把不满意的说完后,您在给他解释和处理。要认真的处理买家说的情况,在不忙的情况之下,客服应该处理一些售后如一些发错货和有质量问题的要时写备忘,以免顾客多是忘记备注。还有运费也要和买家协商好。在交易过程中,客服也应该要懂得说一些善意的谎言.避免与顾客发生冲突,应该让冲突最小化。买家讲价,客服应该知道商品价格的底线,以及买家的心理。例如就差一两块钱的顾客,你要是看他挺好说话的就可以直接抹掉,你要是不给他抹,过一会他卡里的钱也就够了。只要真诚,和一个顾客交流想朋友一样。每做成一笔订单都会有一种满足感。 9 | 8 页 共 8 页 实习,是一次我们可以直接面对和接触现实社会的机会。这个机会很难得,它会让我们一直习惯于书本的眼睛和大脑发生一些细微的变化,也许应接不暇的“怪现象”会扑面而来,充斥我们的眼睛和大脑,但是我们必须经受这样的冲击。就像我们国家的发展一样,要实行市场经济,就应该培育和锻炼市场经济主体应对激烈竞争,适应多变市场,分散风险的这样一种能力,不适应的就应该被淘汰,最后留下的是质量优良的社会资产和适应能力强的经济主体。从某种角度上讲,可以说我们现在还是被保护的还没有经过社会洗涤的知识分子,我们每一个人,没有哪一个是天生注定要被洗涤掉的,但是如果有些人怕受伤而逃避社会的竞争,那么被淘汰的标签就会被在他们的背上。不允许等自己已经变成“不合格产品”的时候才开始后悔。 回想自己在这期间的工作情况,不尽如意。对此我思考过,学习经验自然是一个因素,然而 更重要的是心态的转变没有做到位。现在发现了这个不足之处,应该还算是及时吧,因为我明白了何谓工作,工作要追求完美,在工作中,不允许丝毫的马虎,严谨认真是时刻要牢记的在接下来的日子里,我会朝这个方向努力,我相信自己能够把那些不该再存在的“特点”抹掉。 想象收获的种种真的很多很多,看看自己的实习周记,一篇一篇的记录着自己所学到的知识,也许学习,并不像我想象的那样轻松和惬意,而是充满了挑战和艰辛,我庆幸我没有放弃,我一步一步的走到现在,相比现在的快乐,现在各项业务的得心应手,老板的称赞,看看自己做成的一笔笔的订单,所付出的一切都是值得的,也是 在这里我学到了我离开校园的第一笔知识,这些从书本上学不到的知识。并会在我毕业后的实际工作中不断地得到印证,我会持续地理解和体会实习中所学到的知识,期望在未来的工作中把学到的理论知识和实践经验不断的应用到实际工作中来,充分展示我的个人价值和人生价值,为实现自我的理想和光明的前程而努力。 --------------------------------------------------------------------------------