Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
yii2_fecshop
提交
a78a1d11
Y
yii2_fecshop
项目概览
OpenDocCN
/
yii2_fecshop
通知
18
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
yii2_fecshop
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a78a1d11
编写于
1月 03, 2018
作者:
T
Terry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
手机检测跳转
上级
70fbfcfb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
4 deletion
+20
-4
services/Store.php
services/Store.php
+20
-4
未找到文件。
services/Store.php
浏览文件 @
a78a1d11
...
...
@@ -184,17 +184,19 @@ class Store extends Service
$condition
=
isset
(
$store
[
'mobile'
][
'condition'
])
?
$store
[
'mobile'
][
'condition'
]
:
false
;
$redirectDomain
=
isset
(
$store
[
'mobile'
][
'redirectDomain'
])
?
$store
[
'mobile'
][
'redirectDomain'
]
:
false
;
if
(
is_array
(
$condition
)
&&
!
empty
(
$condition
)
&&
!
empty
(
$redirectDomain
))
{
$mobile_https
=
(
isset
(
$store
[
'mobile'
][
'https'
])
&&
$store
[
'mobile'
][
'https'
])
?
true
:
false
;
if
(
in_array
(
'phone'
,
$condition
)
&&
in_array
(
'tablet'
,
$condition
))
{
if
(
$mobileDetect
->
isMobile
())
{
$this
->
redirectMobile
(
$store_code
,
$redirectDomain
);
$this
->
redirectMobile
(
$store_code
,
$redirectDomain
,
$mobile_https
);
}
}
elseif
(
in_array
(
'phone'
,
$condition
))
{
if
(
$mobileDetect
->
isMobile
()
&&
!
$mobileDetect
->
isTablet
())
{
$this
->
redirectMobile
(
$store_code
,
$redirectDomain
);
$this
->
redirectMobile
(
$store_code
,
$redirectDomain
,
$mobile_https
);
}
}
elseif
(
in_array
(
'tablet'
,
$condition
))
{
if
(
$mobileDetect
->
isTablet
())
{
$this
->
redirectMobile
(
$store_code
,
$redirectDomain
);
$this
->
redirectMobile
(
$store_code
,
$redirectDomain
,
$mobile_https
);
}
}
}
...
...
@@ -205,10 +207,24 @@ class Store extends Service
* @property $redirectDomain | String
* 设备满足什么条件的时候进行跳转。
*/
protected
function
redirectMobile
(
$store_code
,
$redirectDomain
)
protected
function
redirectMobile
(
$store_code
,
$redirectDomain
,
$mobile_https
)
{
$currentUrl
=
Yii
::
$service
->
url
->
getCurrentUrl
();
$redirectUrl
=
str_replace
(
$store_code
,
$redirectDomain
,
$currentUrl
);
// pc端跳转到html5,可能一个是https,一个是http,因此需要下面的代码进行转换。
if
(
$mobile_https
)
{
if
(
strstr
(
$redirectUrl
,
'https://'
)
||
strstr
(
$redirectUrl
,
'http://'
))
{
$redirectUrl
=
str_replace
(
'http://'
,
'https://'
,
$redirectUrl
);
}
else
{
$redirectUrl
=
'https:'
.
$redirectUrl
;
}
}
else
{
if
(
strstr
(
$redirectUrl
,
'https://'
)
||
strstr
(
$redirectUrl
,
'http://'
))
{
$redirectUrl
=
str_replace
(
'https://'
,
'http://'
,
$redirectUrl
);
}
else
{
$redirectUrl
=
'http:'
.
$redirectUrl
;
}
}
header
(
'Location:'
.
$redirectUrl
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录