Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
数据应用
ThinkLibrary
提交
dd690f8d
T
ThinkLibrary
项目概览
数据应用
/
ThinkLibrary
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
代码片段
项目成员
Pages
T
ThinkLibrary
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
dd690f8d
编写于
5月 16, 2020
作者:
李光春
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- update service wechat
上级
cd0c59c2
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
59 addition
and
30 deletion
+59
-30
src/service/WeChat/WebApps.php
src/service/WeChat/WebApps.php
+59
-30
未找到文件。
src/service/WeChat/WebApps.php
浏览文件 @
dd690f8d
...
...
@@ -206,37 +206,8 @@ class WebApps extends Service
public
function
share
()
{
$this
->
grant_type
=
"client_credential"
;
// 文件名
$file
=
"
{
$this
->
app
->
getRootPath
()
}
runtime/
{
$this
->
app_id
}
_access_token.json"
;
// 获取数据
$accessToken
=
file_exists
(
$file
)
?
json_decode
(
file_get_contents
(
$file
),
true
)
:
[];
if
(
empty
(
$accessToken
)
||
!
is_array
(
$accessToken
))
$accessToken
=
[
'access_token'
=>
''
,
'expires_in'
=>
''
,
'expires_time'
=>
''
,
];
if
(
empty
(
$accessToken
[
'expires_time'
]))
{
$accessToken_res
=
HttpService
::
instance
()
->
url
(
"
{
$this
->
api_url
}
cgi-bin/token?grant_type=
{
$this
->
grant_type
}
&appid=
{
$this
->
app_id
}
&secret=
{
$this
->
app_secret
}
"
)
->
toArray
();
$accessToken_res
[
'expires_time'
]
=
time
()
+
6000
;
file_put_contents
(
$file
,
json_encode
(
$accessToken_res
,
JSON_UNESCAPED_UNICODE
));
$accessToken
=
$accessToken_res
;
}
else
if
(
!
isset
(
$accessToken
[
'access_token'
]))
{
$accessToken_res
=
HttpService
::
instance
()
->
url
(
"
{
$this
->
api_url
}
cgi-bin/token?grant_type=
{
$this
->
grant_type
}
&appid=
{
$this
->
app_id
}
&secret=
{
$this
->
app_secret
}
"
)
->
toArray
();
$accessToken_res
[
'expires_time'
]
=
time
()
+
6000
;
file_put_contents
(
$file
,
json_encode
(
$accessToken_res
,
JSON_UNESCAPED_UNICODE
));
$accessToken
=
$accessToken_res
;
}
else
if
(
$accessToken
[
'expires_time'
]
<=
time
())
{
$accessToken_res
=
HttpService
::
instance
()
->
url
(
"
{
$this
->
api_url
}
cgi-bin/token?grant_type=
{
$this
->
grant_type
}
&appid=
{
$this
->
app_id
}
&secret=
{
$this
->
app_secret
}
"
)
->
toArray
();
$accessToken_res
[
'expires_time'
]
=
time
()
+
6000
;
file_put_contents
(
$file
,
json_encode
(
$accessToken_res
,
JSON_UNESCAPED_UNICODE
));
$accessToken
=
$accessToken_res
;
}
$accessToken
=
$this
->
getAccessToken
();
if
(
!
isset
(
$accessToken
[
'access_token'
]))
throw
new
WeChatException
(
"获取access_token错误,"
.
$accessToken
[
'errmsg'
]);
$res
=
HttpService
::
instance
()
->
url
(
"
{
$this
->
api_url
}
cgi-bin/ticket/getticket?access_token=
{
$accessToken
[
'access_token'
]
}
&type=jsapi"
)
...
...
@@ -268,4 +239,62 @@ class WebApps extends Service
for
(
$i
=
0
;
$i
<
$length
;
$i
++
)
$str
.
=
substr
(
$chars
,
mt_rand
(
0
,
strlen
(
$chars
)
-
1
),
1
);
return
$str
;
}
/**
* 生成二维码
* @param array $data
* @return array|bool|mixed|string
* @throws CurlException
*/
public
function
qrCode
(
array
$data
)
{
// 获取数据
$accessToken
=
$this
->
getAccessToken
();
return
HttpService
::
instance
()
->
url
(
"
{
$this
->
api_url
}
cgi-bin/qrcode/create?access_token=
{
$accessToken
[
'access_token'
]
}
"
)
->
data
(
$data
)
->
post
()
->
toArray
();
}
/**
* 获取access_token信息
* @return array|bool|mixed|string|string[]
* @throws CurlException
*/
private
function
getAccessToken
()
{
// 文件名
$file
=
"
{
$this
->
app
->
getRootPath
()
}
runtime/
{
$this
->
app_id
}
_access_token.json"
;
// 获取数据
$accessToken
=
file_exists
(
$file
)
?
json_decode
(
file_get_contents
(
$file
),
true
)
:
[];
if
(
empty
(
$accessToken
)
||
!
is_array
(
$accessToken
))
$accessToken
=
[
'access_token'
=>
''
,
'expires_in'
=>
''
,
'expires_time'
=>
''
,
];
if
(
empty
(
$accessToken
[
'expires_time'
]))
{
$accessToken_res
=
HttpService
::
instance
()
->
url
(
"
{
$this
->
api_url
}
cgi-bin/token?grant_type=
{
$this
->
grant_type
}
&appid=
{
$this
->
app_id
}
&secret=
{
$this
->
app_secret
}
"
)
->
toArray
();
$accessToken_res
[
'expires_time'
]
=
time
()
+
6000
;
file_put_contents
(
$file
,
json_encode
(
$accessToken_res
,
JSON_UNESCAPED_UNICODE
));
$accessToken
=
$accessToken_res
;
}
else
if
(
!
isset
(
$accessToken
[
'access_token'
]))
{
$accessToken_res
=
HttpService
::
instance
()
->
url
(
"
{
$this
->
api_url
}
cgi-bin/token?grant_type=
{
$this
->
grant_type
}
&appid=
{
$this
->
app_id
}
&secret=
{
$this
->
app_secret
}
"
)
->
toArray
();
$accessToken_res
[
'expires_time'
]
=
time
()
+
6000
;
file_put_contents
(
$file
,
json_encode
(
$accessToken_res
,
JSON_UNESCAPED_UNICODE
));
$accessToken
=
$accessToken_res
;
}
else
if
(
$accessToken
[
'expires_time'
]
<=
time
())
{
$accessToken_res
=
HttpService
::
instance
()
->
url
(
"
{
$this
->
api_url
}
cgi-bin/token?grant_type=
{
$this
->
grant_type
}
&appid=
{
$this
->
app_id
}
&secret=
{
$this
->
app_secret
}
"
)
->
toArray
();
$accessToken_res
[
'expires_time'
]
=
time
()
+
6000
;
file_put_contents
(
$file
,
json_encode
(
$accessToken_res
,
JSON_UNESCAPED_UNICODE
));
$accessToken
=
$accessToken_res
;
}
return
$accessToken
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录