{ Hello Magento 2 }

解决 Magento 2 应用问题,更注重深度挖掘。(ง •̀_•́)ง

0%

ECshop 3.6 初探

曾经的 ECshop 占据了国内相当大的一部分市场,现在出 3.6 了,所以博主想看看 ecshop 有没有什么变化。 下载的话,还需要注册,博主把自己下载的搁在这里,有兴趣的可以下载下来看看。 以下是安装截图,看看就好。 大致看了下代码,没有命名空间,主要是面向过程的写法,smarty 模版机制,MySQLi 的连接方式。主要有三个入口,appserver 负责 API ,这个给 APP 调用(需要另外付费)。ecshop/h5 负责 H5 页面,ecshop 负责 PC 入口。(如果我说的不对,欢迎纠正) 这样的话,代码架构有点过时了,可维护性会很差。 然后我找到了判断是 PC 还是手机的代码,整理后是这样的

1
2
3
4
5
6
7
8
9
10
<?php
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);

$uachar = "/(nokiasonyericssonmotsamsungsghlgphilipspanasonicalcatellenovocldcmidpmobile)/i";

if ($ua == '' preg_match($uachar, $ua)) {
echo '手机端';
} else {
echo 'pc';
}

虽然不全面,倒还算简洁可用,所以先放这里吧。 然后我又找了一个更全面点的,也顺带放这里吧,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function isMobile()
{
//正则表达式,批配不同手机浏览器UA关键词。
$regex_match = "/(nokiaiphoneandroidmotorola^mot\-softbankfomadocomokddiup\.browserup\.link";
$regex_match .= "htcdopodblazernetfrontheliohosinhuaweinovarraCoolPadwebostechfaithpalmsource";
$regex_match .= "blackberryalcatelamoiktouchnexiansamsung^sam\-s[cg]h^lgeericssonphilipssagemwellcombunjalloomaui";
$regex_match .= "symbiansmartphonemidpwapphonewindows ceiemobile^spice^bird^zte\-longcospantechgionee^sie\-portalmmm";
$regex_match .= "jig\s browserhiptop^ucweb^benqhaier^lctopera\s*mobiopera\*mini320x320240x320176x220";
$regex_match .= ")/i";
return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT'])); //如果UA中存在上面的关键词则返回真。
}

if (isMobile()) {
//如果为真,则进行WAP页面。
echo 'WAP';
} else {
//如果为假,则进行PC页面。
echo 'PC';
//return;
}

然后我又顺道去看了国内其他一些系统,然后就发现了开源但不可二开这种奇葩的协议,反正就是要购买授权啦。 提一个 ShopSN ,基于 ThinkPHP 3.2.3,据说是要做全网的,但是目前还没有看到演示的手机端,但是协议还是让人放心的,付费去版权,不付费也可以用。过一段时间再看看吧。 2017/05/19 更新 之前在 ecshop 注册了,这不销售打电话过来了。以下是了解到的信息。 正式使用需要授权,授权费用是 7800 包括 PC 和 H5 ,下载的测试代码可以看到 PC 但是看不了 H5 APP 需要单独授权,Android 和 IOS 一起 2.44 万,不提供源代码。 提供源代码,一起总共 7.58 万。