切换导航条
此项目
正在载入...
登录
景龙
/
xingqiu
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
jinglong
6 years ago
提交
60586b6faa3cbf320f160dced5963e149f054140
1 个父辈
fcacb7a6
1 个管道 的构建
通过
耗费 0 秒
调式分享
变更
2
构建
1
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
1 行增加
和
76 行删除
public/themes/simpleboot3_mobile/public/slide.html
simplewind/cmf/controller/HomeBaseController.php
public/themes/simpleboot3_mobile/public/slide.html
查看文件 @
60586b6
...
...
@@ -35,4 +35,3 @@
</ul>
</div>
<!--微信分享-->
<include
file=
"public@share"
/>
...
...
simplewind/cmf/controller/HomeBaseController.php
查看文件 @
60586b6
...
...
@@ -21,8 +21,7 @@ use think\Session;
class
HomeBaseController
extends
BaseController
{
private
$appkey2
=
'wx0bd7bc2aa0f332d6'
;
//微信公众号appkey
private
$appsecret2
=
'b62e49f48f48de7b7fff2ea0af3939de'
;
//微信公众号appsecret
protected
function
initialize
()
{
// 监听home_init
...
...
@@ -38,7 +37,6 @@ class HomeBaseController extends BaseController
$this
->
is_collection
();
$this
->
is_like
();
$this
->
getShareCount
();
$this
->
wxShare
();
$keyword
=
$this
->
request
->
param
(
'keyword'
);
$this
->
assign
(
'keyword'
,
$keyword
);
}
...
...
@@ -398,76 +396,4 @@ hello;
$this
->
assign
(
'share'
,
$share
);
}
//获取微信分享配置信息
public
function
wxShare
(
$url
=
''
){
$jsapiTicket
=
$this
->
getSignature
();
// 注意 URL 一定要动态获取,不能 hardcode.
$protocol
=
(
!
empty
(
$_SERVER
[
'HTTPS'
])
&&
$_SERVER
[
'HTTPS'
]
!==
'off'
||
$_SERVER
[
'SERVER_PORT'
]
==
443
)
?
"https://"
:
"http://"
;
if
(
$url
===
''
)
{
$url
=
"
$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]
"
;
}
$timestamp
=
time
();
$nonceStr
=
$this
->
createNonceStr
();
$string
=
'jsapi_ticket='
.
$jsapiTicket
.
'&noncestr='
.
$nonceStr
.
'×tamp='
.
$timestamp
.
'&url='
.
$url
;
$signature
=
sha1
(
$string
);
$data
=
[
"appId"
=>
$this
->
appkey2
,
"nonceStr"
=>
$nonceStr
,
"timestamp"
=>
$timestamp
,
"url"
=>
$url
,
"signature"
=>
$signature
,
"rawString"
=>
$string
];
$this
->
assign
(
'data'
,
$data
);
}
//获取微信分享签名随机字符串
public
function
createNonceStr
(
$length
=
16
)
{
$chars
=
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
;
$str
=
""
;
for
(
$i
=
0
;
$i
<
$length
;
$i
++
)
{
$str
.=
substr
(
$chars
,
mt_rand
(
0
,
strlen
(
$chars
)
-
1
),
1
);
}
return
$str
;
}
//获取access_token
public
function
getWxAccessToken
(){
$url
=
'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='
.
$this
->
appkey2
.
'&secret='
.
$this
->
appsecret2
;
$res
=
$this
->
http_get
(
$url
);
$json_arr
=
json_decode
(
$res
,
true
);
$token
=
$json_arr
[
'access_token'
];
return
$token
;
}
//获取微信分享签名
public
function
getSignature
(){
if
(
isset
(
$_SESSION
[
'ticket_expire_time'
])
&&
$_SESSION
[
'ticket_expire_time'
]
>
time
()
&&
$_SESSION
[
'ticket'
]){
$ticket
=
$_SESSION
[
'ticket'
];
}
else
{
$token
=
$this
->
getWxAccessToken
();
$url
=
'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='
.
$token
.
'&type=jsapi'
;
$res
=
$this
->
http_get
(
$url
);
$json_arr
=
json_decode
(
$res
,
true
);
$ticket
=
$json_arr
[
'ticket'
];
$_SESSION
[
'ticket'
]
=
$ticket
;
$_SESSION
[
'ticket_expire_time'
]
=
time
()
+
7000
;
}
return
$ticket
;
}
//curl get请求
public
function
http_get
(
$url
){
$curl
=
curl_init
();
//启动一个CURL会话
curl_setopt
(
$curl
,
CURLOPT_URL
,
$url
);
curl_setopt
(
$curl
,
CURLOPT_SSL_VERIFYPEER
,
false
);
// 对认证证书来源的检查
curl_setopt
(
$curl
,
CURLOPT_SSL_VERIFYHOST
,
false
);
// 从证书中检查SSL加密算法是否存在
curl_setopt
(
$curl
,
CURLOPT_TIMEOUT
,
30
);
// 设置超时限制防止死循环
curl_setopt
(
$curl
,
CURLOPT_HEADER
,
false
);
//不开启header
curl_setopt
(
$curl
,
CURLOPT_RETURNTRANSFER
,
true
);
// 获取的信息以文件流的形式返回
$result
=
curl_exec
(
$curl
);
//执行操作
curl_close
(
$curl
);
return
$result
;
}
}
\ No newline at end of file
...
...
请
注册
或
登录
后发表评论