Ecshop 4.0 微信登录 一直循环授权登录

部署 ecshop 4.0 H5端,发现循环弹出微信授权登录,初步判断是登录状态问题,和前端联调发现前端拿不到 cookie,api 接口(api.test.demo)给 h5端(h5.test.deom) 设置 cookie,直接给 h5.test.demo 设置,cookie不会生效,只能给主域 test.demo 设置才会生效。 查看微信登录回调接口 appserver\app\Http\Controllers\v2\UserController.php 中的 webCallback 方法, if (isset($_GET['referer'])) { Log::info('微信认证回调成功', $data); if (isset($data['openid'])) { Log::info('设置的cookie为' . config('app.domain_url')); setcookie('o', $data['openid'], time()+7200, '/', config('app.domain_url')); } if (isset($data['token'])) { setcookie('t', $data['token'], time()+7200, '/', config('app.domain_url')); } return redirect(urldecode($_GET['referer'])); } 可以看到是给 domain_url 设置cookie 所以需要注意 appserver/.evn 中的 DOMAIN_URL 配置 #商城Domain (此处必须为主域名,设置二级域名无效,api域名、H5域名必须为此主域下的域名) DOMAIN_URL=test.demo #商城url SHOP_URL=http://h5.test.demo #分享url SHARE_URL=http://:h5.test.demo/h5 #H5商城 SHOP_H5=http://h5.test.demo/h5

2019-03-14 13:55:21 · 王二

Ecstore & Ecshop对比

1、来源 Ecstore可以说是shopex的升级版,基于商派最新一代的电子商务操作系统ECOS,具备高负载、高安全、高可扩展、高可维护性等优良特征,是商派融合10年电商领域行业经验推出的最新一代B2C系统。 Ecshop是06年开发好的,08年商派为了平衡市场竞争,从其他程序商收购而来。 2、升级 Ecstore在不断升级中,从最开始的1.0到1.2;2.0到2.1;到现在的2.3等等,以后还会继续升级,因为这是目前商派主要的产品之一,也是目前国内最好的一款电子商务软件。 ECSHOP从收购后,印象中就升级2次,从2.7.0到2.7.1;从2.7.1到2.7.2;2014年又升级了一次,现在最新版是2.7.3。 软件出来这么久了,才做了几次的升级,以后还会不会升级,这个还是未知数,谁也说不清。 3、周边程序 Ecstore:只是商派的一个平台,现在商派还基于Ecstore推出了一系列的产品,比如CRM、ERP以及saas部署的易开店等等。一步步完善了电商的生态圈。 ecshop:就一个版本 4、价格 Ecstore:是商业的电子商务软件,必须要购买他们的授权才能使用,最低的一个版本是快速启动版,授权费是6.8W,其他更高阶的版本,几万到几十万不等。Ecstore系统费用价格可参考下图: Ecshop:可以免费下载使用,但是不能用于商业,如果需要用于商业的话,需要购买授权,授权费是5000元。 5、开源 Ecstore:是商业程序,有开源版本,但是费用相对比较高,但是Ecstore的开发机制是很灵活的,Ecstore 基础版采用SOA(面向服务)架构,采用模块化开发,同时内置完善的API接口,可无缝对接第三方应用插件。并且Ecstore 标准版引入应用程序接入机制(APP),用户可自主选择、添加、维护或删除应用程序,如通过安装APP,可便捷实现信任登录功能。 Ecshop:是一款开源免费的通用电子商务平台构建软件,用户可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能。 6、模板设计 Ecstore:具有强大的模板自由定制功能,内置多套模板,您可随时更换调整,更可对每个模板进行个性化编辑,不再千人一面;清风设计也可以为您量身定制个性化模板,Ecstore免费开放模板接口,您也可以自行设计、使用全新模板。并且Ecstore的模板支持可视化编辑,很方便用户操作。 ECSHOP:对Dreamweaver模板机制提供完美支持。可使用Dreamweaver制作和查看自己的模板。同时程序提供对模板显示内容控制。如可以在页面上灵活添加指定分类的商品,或指定品牌的商品等。可随意调整广告的显示,而无需手动修改模板。 7、搜索优化 Ecstore:标准版针对搜索引擎进行优化,结合用户自定义URL等手段,在基本描述内容外,根据系统页面分布,针对性增加nofollow、noindex等SEO标签,引导搜索引擎蜘蛛爬行,避免商品分类等内容重复度较高页面出现重复,极大提升SEO效果。 ECShop:在SEO(搜索引擎优化)上,独家支持两种 URL 重写方式,并且是同类软件中第一家支持 google / yahoo / microsoft 三家共同发布的 sitemaps 0.9 网站索引规范,能够为站点被搜索引擎收录做到最大限度的支持和帮助。 8、数据承载 Ecstore:支持日常2500万PV/日,峰值5000万PV/日,强大的负载能力。 Ecshop:支持日常2500PV/日,峰值5000PV/日。 9、促销模式 ECstore:拥有业内领先的促销引擎,可结合商品、订单属性,实现千变万化的促销规则,默认可支持近200种促销规则实例,更可支持订单重量、商品类型、商品数量等等数百种条件组合。 ECSHOP:提供了积分、红包、赠品,夺宝奇兵等7种促销方法。 10、常规功能 Ecstore:控制面板立足于“系统配置、数据管理、地区管理、支付管理和配送设置” 等,做到准确到位,全局管控;Ecstore拥有先进订单管理系统,从“订单确认、订单指派、单据管理,到售后服务管理”,结构清晰、逻辑规范,用户轻松上手。 Ecshop:针对常规功能尤其是后台管理和购物流程,ECShop进行了更简洁的设计,实现更好的用户体验。 11、多接触点用户移动触屏体验管理 ECstore:移动触屏组件采用最新的HTML5技术,能够根据手机终端的不同型号进行应用的自动适配,完全各种电子销售渠道的自动延伸和扩展,在不同的终端带给用户一致的用户体验;微信商城基于微信平台,让微信5亿用户更了解企业品牌,减少宣传成本,建立企业与消费者、客户的一对一互动和沟通,提供更好的促销、推广、宣传、售后等服务,打造更具影响力的品牌形象。 Ecshop:WAP 12、性能方面 Ecstore:基于ShopEx自主研发的新一代电子商务引擎ECOS,提供更加安全稳定的底层架构,全方位优化系统架构,同时引入HTML静态生成技术和多级缓存技术,减轻服务器负担,使得前台响应速度和系统负载能力得到极大的提升。 通过大量的测试表明,即使有较大的访问量和数据处理时,Ecstore依然能流畅的提供各项日程服务,即使因营销推广如秒杀等活动造成瞬时大流量,配合ShopEx救援服务依然能确保电商平台的有序运作。 Ecshop:通过优化代码与数据库结构,配合ecshop独家设计的缓存机制,在不考虑网速的情况下,网店动态页面与纯静态页面访问速度相当。 总结: 在以上的几个回合的比较中,Ecstore无论是从功能和架构上面都占据了上方,但也非并表示它拥有绝对的优势,可以看出Ecstore的系统费用是相对比较高的。而ecshop作为一款免费、开源的电商软件,从价格方面可以取胜,但是从后台的功能操作,模板的编辑,都不是很便捷的。

2015-07-29 14:41:11 · 王二

Ecshop之smarty与js冲突问题

在使用 smarty 的时候,如果没有更改 smarty 配置,smarty 的定界符是{ },大家经常可能碰到模板页中js无法正确执行的问题。 这就是因为 smarty 引擎把js中 { } 之间的内容也当做 smarty 语句来处理,本人总结的解决这个问题主要有三个: 更改 smarty 配置文件中的定界符。 把 javascript代码写到一个js文件中,在模板页中引用即可。 使用 smarty 内置的 literal 标签,此标签内的数据将会被当做文本处理。例如 {literal} <script language="javascript"> ........ </script> {/literal} 有时,我们需要输出定界符 { },则可以使用 {ldelim} 和 {rdelim} 标签来输出左右定界符。

2015-05-29 15:36:50 · 王二

Ecshop 广告位宽度值必须在1 1024之间 修改方法

一、打开文件 \admin\ad_position.php,将其中的1024改为你需要的最大值。 二、打开文件 \admin\templates\ad_position_info.htm,将其中的1024改为你需要的最大值。

2015-05-29 09:33:09 · 王二

Ecshop自定义调用指定广告位

一、在 includes/lib_common.php 文件中最下方添加如下函数: /*自定义调用指定广告位*/ function getads($cat,$num) { $time = gmtime(); $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('ad') . " where position_id=".$cat." and start_time <= '" . $time . "' AND end_time >= '" . $time . "' ORDER BY ad_id desc limit ".$num; $res = $GLOBALS['db']->getAll($sql); $arr = array(); foreach ($res AS $idx => $row) { $arr[$idx]['id'] = $row['ad_id']; $arr[$idx]['title'] = $row['ad_name']; $arr[$idx]['ad_link'] = $row['ad_link']; $arr[$idx]['ad_code'] = "data/afficheimg/".$row['ad_code']; } return $arr; } 二、在需要调用广告的页面(例如首页)的控制文件(index....

2014-11-26 10:31:49 · 王二

Ecshop首页获取指定分类的推荐商品

ecshop自带函数就可以实现这个功能,函数如下: include/lib_goods.php 中的 get_category_recommend_goods($type = '', $cats = '', $brand = 0, $min =0, $max = 0, $ext='') 函数。 调用步骤: 第一步:在根目录 index.php 文件 $smarty->assign('shop_notice', $_CFG['shop_notice']); // 商店公告 下方(约128行),插入如下代码: $smarty->assign('category_recommend_goods22', get_category_recommend_goods('hot',22)); //调用指定分类下推荐商品 其中 category_recommend_goods22 为在模板中调用的名称,hot 为要调用的推荐类型,22 为指定分类的分类id。 第二步:打开你的首页模板文件,在需要调用的地方插入下边代码: <!--{foreach from=$category_recommend_goods22 item=goods name="category_recommend_goods"}--> <!-- {if $smarty.foreach.category_recommend_goods.iteration < 7} **商品显示数量 --> <li><a href="{$goods.url}"><img src="{$goods.thumb}" width="194" height="172" /></a><div><br /> <a href="{$goods.url}">{$goods.name|truncate:10:"...":true}</a><br />{$goods.brief}<br /> ¥{$goods.shop_price}</div> </li> <!--{/if}--> <!--{/foreach}--> 完成上边两部基本上就大功告成了,但是有个问题,就是不能获取到该指定分类的子分类下的推荐商品,这样就需要对默认的函数进行改造,方法见第三步。 第三步:找到第一步用到的函数 get_category_recommend_goods,查找 if (!empty($cats)) { $sql ....

2014-11-11 10:44:28 · 王二

Ecshop 重置后台密码 MD5+salt

ecshop密码加密方式: MD5 32位+salt,简单来说就是明文密码用MD5加密一次,然后在得到的 MD5 字符后边加上 salt 字段值(salt值为系统随机生成,生成以后不再改变)再进行一次 MD5 加密,得到的结果插入 password 字段。 所以如果忘记后台密码需要重置的话要进行以下操作: 以把密码重置成admin123为例: 一、用MD5加密工具对 admin123 进行32位加密得到 0192023a7bbd73250516f069df18b500; 二、用 phpmyadmin 打开数据库 ecs_admin_user 表,查看后台用户 salt 字段的值例如 3996; 三、对字符串 0192023a7bbd73250516f069df18b5003996再次进行 MD5 32 位加密得到ff7c0d9076ca4dcc6a88e6141a18a2d6; 四、将第三步得到的字符串填写到 ecs_admin_user 表后台用户的 passowrd 字段,然后执行。 经过以上四步,后台密码就重置成 admin123 了。

2014-06-10 10:51:39 · 王二

Ecshop加入购物车js报错

点击加入购物车没反应,用浏览器调试一看,点一下报一个错误,错误代码如下: Uncaught transport.js/parseResult() error: can't parse to JSON. <br /> <b>Warning</b>: number_format() expects parameter 1 to be double, string given in <b>D:\xampp\htdocs\ecshop\includes\lib_common.php</b> on line <b>959</b><br /> {"error":6,"me...<omitted>...0} transport.js:412 Transport.parseResult transport.js:412 xhr.onreadystatechange 相信很多跟我一样的菜鸟都碰到这个问题了,而且官网的模板同样有这个错误,各种百度、google你懂的,都是相互转载的东西,问题也没得到解决。后来终于找到一个大神的帖子,问题解决了。 方法如下: 按照错误提示打开 \includes\lib_common.php 文件,对应的959行,将代码: $price = number_format($price, 2, '.', ''); 改为: $price = number_format((double)$price, 2, '.', ''); OK问题解决! 大神原帖:http://bbs.ecshop.com/thread-152014-1-1.html 四楼那位大师!

2014-05-15 11:29:28 · 王二

Ecshop 去掉头部版权信息

打开文件:\includes\cls_template.php,查找 Generator,在1102行, 删除或注释以下代码就OK了! /* 在头部加入版本信息 */ $source = preg_replace('/<head>/i', "<head>\r\n<meta name=\"Generator\" content=\"" . APPNAME .' ' . VERSION . "\" />", $source);

2014-05-06 15:57:54 · 王二

echsop “transport.js/run() error:'process_request' 未定义”-解决方法

由于工作需要才接触ecshop时间不长,今天套模板的时候,N个页面总是弹出如下错误: transport.js/run() error:‘process_request’ 未定义 总之弹窗无处不在! 各种搜索以后发现原来是修改模板时删除了 library 目录下 “page_header.lbi” 文件顶部的系统关键代码: <script type="text/javascript"> var process_request = "{$lang.process_request}"; </script> OK!那就再给它加回去,问题解决! 多谢这位仁兄:http://hi.baidu.com/hudnc/item/6fbdcbd74d68dacb1b72b40b

2014-05-05 17:30:15 · 王二