Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
纵之格
ShopXO
提交
28febe6a
ShopXO
项目概览
纵之格
/
ShopXO
通知
394
Star
16
Fork
11
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
28febe6a
编写于
4月 06, 2022
作者:
G
gongfuxiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增小程序订阅消息发送方法
上级
afe6d300
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
88 addition
and
1 deletion
+88
-1
extend/base/Wechat.php
extend/base/Wechat.php
+88
-1
未找到文件。
extend/base/Wechat.php
浏览文件 @
28febe6a
...
...
@@ -42,7 +42,94 @@ class Wechat
}
/**
* [DecryptData 检验数据的真实性,并且获取解密后的明文]
* 小程序发送订阅消息
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2022-04-06
* @desc description
* @param [string] $params['page'] [页面地址]
* @param [string] $params['scene'] [参数]
* @return [string] [成功返回文件流, 失败则空]
*/
public
function
MiniSubscribeMessage
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'touser'
,
'error_msg'
=>
'openid不能为空'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'template_id'
,
'error_msg'
=>
'template_id不能为空'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'data'
,
'error_msg'
=>
'data不能为空'
,
],
];
$ret
=
ParamsChecked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 获取access_token
$access_token
=
$this
->
GetMiniAccessToken
();
if
(
$access_token
===
false
)
{
return
DataReturn
(
'access_token获取失败'
,
-
1
);
}
// 发送订阅消息
$url
=
'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='
.
$access_token
;
$data
=
[
'touser'
=>
$params
[
'touser'
],
'template_id'
=>
$params
[
'template_id'
],
'data'
=>
$params
[
'data'
],
];
// 跳转页面,可以不传 仅限本小程序内的页面。支持带参数,(示例index?foo=bar)
if
(
isset
(
$params
[
'page'
])
&&
!
empty
(
$params
[
'page'
])){
$data
[
'page'
]
=
$params
[
'page'
];
}
// 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
if
(
isset
(
$params
[
'miniprogram_state'
])
&&
!
empty
(
$params
[
'miniprogram_state'
])){
$data
[
'miniprogram_state'
]
=
$params
[
'miniprogram_state'
];
}
// 进入小程序查看的语言类型,支持zh_CN(简中)、en_US(英文)、zh_HK(繁中)、zh_TW(繁中),默认为zh_CN
if
(
isset
(
$params
[
'lang'
])
&&
!
empty
(
$params
[
'lang'
])){
$data
[
'lang'
]
=
$params
[
'lang'
];
}
$res
=
$this
->
HttpRequestPost
(
$url
,
json_encode
(
$data
),
false
);
if
(
!
empty
(
$res
))
{
if
(
stripos
(
$res
,
'errcode'
)
===
false
)
{
return
DataReturn
(
'发送成功'
,
0
,
$res
);
}
$res
=
json_decode
(
$res
,
true
);
$msg
=
isset
(
$res
[
'errmsg'
])
?
$res
[
'errmsg'
]
:
'消息发送失败'
;
if
(
$msg
==
'ok'
){
return
DataReturn
(
'发送成功'
,
0
,
$res
);
}
else
{
$msg
=
isset
(
$res
[
'errcode'
])
?
$res
[
'errcode'
]
.
':'
.
$msg
:
$msg
;
}
}
else
{
$msg
=
'消息发送失败2'
;
}
return
DataReturn
(
$msg
,
-
1
);
}
/**
* 检验数据的真实性,并且获取解密后的明文
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录