免费:微信公众号实现会员卡领取功能
优采云 发布时间: 2022-10-27 08:26免费:微信公众号实现会员卡领取功能
我是悠悠家博主的坚强鸭子。近期开发采集的这篇文章主要介绍微信公众号实现会员卡采集功能。我认为这是非常好的。现在我将与您分享。参考。
概述
1.获取会员卡也需要js-sdk接口(可以参考微信公众号获取获取用户地理位置信息)(参考网站:)
2、除了获取用户的地理位置信息之外,还需要单独获取签名包,而且签名的方式也不同于获取用户的地理位置(获取签名包的方式这里会讲到) )
获取 js-sdk 签名包:
1.结合当前url、时间戳、随机字符串、jsapicket
//调用js-sdk的签名包
public function getSignPackage() {
$jsapiTicket = $this->getJsApiTicket();
// 注意 URL 一定要动态获取,不能 hardcode.(获取当前网页的url)
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
//时间戳
$timestamp = time();
//随机字符串获取
$nonceStr = $this->createNonceStr();
// 这里参数的顺序要按照 key 值 ASCII 码升序排序
$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";
//生成字符串是用来签名用的
$signature = sha1($string);
$signPackage = array(
"appId" => $this->appid,
"nonceStr" => $nonceStr,
"timestamp" => $timestamp,
"url" => $url,
"signature" => $signature,
"rawString" => $string
);
return $signPackage;
}
获取会员卡签名包:
//使用会员卡领取的签名包
public function getHuiYuanSignPackage() {
$apiTicket = $this->getApiTicket();
// 注意 URL 一定要动态获取,不能 hardcode.(获取当前网页的url)
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
//时间戳
$timestamp = time();
//随机字符串获取
// $nonceStr = $this->createNonceStr();
// 这里参数的顺序要按照 key 值 ASCII 码升序排序
$string = $timestamp.$apiTicket."pVYA_t3RCVF_yhNcO6QCeAmb-1UI";
//生成字符串是用来签名用的
$signature = sha1($string);
$signPackage = array(
"timestamp" => $timestamp,
"signature" => $signature,
);
return $signPackage;
}
详细代码说明:
HTML页面:
//引入微信js文件
//配置信息验证接口(填写的js-sdk获取的签名包的参数)
wx.config({
debug: false,
appId: '',
timestamp: '',
nonceStr: '',
signature: '',
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'addCard'
]
});
wx.ready(function(){
//添加卡券
document.querySelector('#addCard').onclick = function () {
wx.addCard({
cardList: [
{
cardId: "",//微信公众号内创建的会员卡的id
cardExt: '{"timestamp":"","signature":""}'//会员卡的签名包
}
],
//成功之后的回调的函数(通过回调函数该表数据库是否领取会员卡的状态)
success: function (res) {
$.ajax({
url: '__CONTROLLER__/editHuiYuan',
type: 'post',
dataType: 'json',
data: {is_LingQu: '1',user_id:""},
success:function(){
$("#addCard").html("我的会员卡");
}
})
}
});
};
});
控制器中的代码:
类库:
public function index(){
$user_id = session('user_id');
if($user_id){
$jssdk = new \Home\Model\WechatModel();
$signPackage = $jssdk->GetSignPackage();//获取js-sdk签名包
$huiyuanPackage = $jssdk->getHuiYuanSignPackage();获取会员卡签名包
//获取用户信息
$user = M('user')->where(array('user_id' => $user_id))->find();
//产品收藏数量统计
<p>
$goods_count = M('goods_shoucang')->where(array('user_id' => $user_id))->count();
//门店收藏数量统计
$shop_count = M('shop_shoucang')->where(array('user_id' => $user_id))->count();
}else{
//判断该用户是否存在
$model = new \Home\Model\WechatModel();
$openid_accesstoken = $model->openId();
$rst = M('user')->where(array('user_openid' => $openid_accesstoken['openid']))->find();
if($rst){
session('openid',$openid_accesstoken['openid']);
session('user_id', $rst['user_id']);
$jssdk = new \Home\Model\WechatModel();
$signPackage = $jssdk->GetSignPackage();
$huiyuanPackage = $jssdk->getHuiYuanSignPackage();
//获取用户信息
$user = M('user')->where(array('user_id' => $rst['user_id']))->find();
//产品收藏数量统计
$goods_count = M('goods_shoucang')->where(array('user_id' => $rst['user_id']))->count();
//门店收藏数量统计
$shop_count = M('shop_shoucang')->where(array('user_id' => $rst['user_id']))->count();
}else{
$userInfo = $model->getOpenId($openid_accesstoken['openid'],$openid_accesstoken['access_token']);
$data = array(
'user_img' => $userInfo['headimgurl'],
'user_openid' => $userInfo['openid'],
'user_name' => filter($userInfo['nickname']),
'user_register_time' => time(),
'city' => $userInfo['province'].'-'.$userInfo['city'],
);
$id = M('user')->add($data);
session('openid', $userInfo['openid']);
session('user_id',$id);
$jssdk = new \Home\Model\WechatModel();
$signPackage = $jssdk->GetSignPackage();
$huiyuanPackage = $jssdk->getHuiYuanSignPackage();
//获取用户信息
$user = M('user')->where(array('user_id' => $id))->find();
//产品收藏数量统计
$goods_count = M('goods_shoucang')->where(array('user_id' => $id))->count();
//门店收藏数量统计
$shop_count = M('shop_shoucang')->where(array('user_id' => $id))->count();
}
}
$this->assign('signPackage', $signPackage);
$this->assign('huiyuanPackage', $huiyuanPackage);
$this->assign('user', $user);
$this->assign('shop_count', $shop_count);
$this->assign('goods_count', $goods_count);
$this->display();
}</p>
以上就是小编为大家介绍的实现会员卡收款功能的微信公众号。我希望它对你有帮助。有任何问题请给我留言,小编会及时回复你的。还要感谢大家对脚本之家网站的支持!
总结
以上是您为实现会员卡收款功能为您采集整理的微信公众号全部内容。希望文章能帮助大家解决微信公众号实现收会员卡功能遇到的程序。发展问题。
如果你觉得悠悠家网站的内容还不错,欢迎向你的程序员朋友推荐悠悠家网站。
最新版本:Discuz采集之免费Discuz采集发布插件方法点解
Discuz 是北京康盛新创科技*敏*感*词*推出的一套通用社区论坛软件系统。Discuz! 自 2001 年 6 月推出以来!拥有超过 15 年的应用历史和超过 200 万个网站 用户案例。它是世界上最成熟、覆盖面最广的论坛软件系统之一。Discuz采集插件也配置了很多SEO功能,不仅通过Discuz插件实现采集伪原创发布,还有很多SEO功能。
Discuz采集插件可以本地化图片或存储其他平台,支持百度云、七牛云、阿里云、优派云、腾讯云、华为云等。如何使用Discuz采集插件来做长尾关键词? Discuz采集插件可以批量监控不同的cms网站数据,Discuz采集插件无论你的网站是Empire、Yiyou、ZBLOG、织梦、WP、Whirlwind、站群、PB、Apple、搜外等主要cms工具,可同时批量管理和发布。
众所周知,对于普通的小型 网站,目标 关键词 驱动了绝大多数 网站 的总搜索流量。网站 目录页面和内容页面上存在的关键词 也会带来流量,但不会太多。网站对非定向关键词,还可以带来搜索流量关键词,称为长尾关键词。
Discuz 采集插件可以做伪原创保留字,当文章原创未被伪原创使用时设置长尾关键词。长尾关键词的特点是:比较长,通常由2-3个词,甚至是词组组成。存在于内容页中,除了内容页的标题外,还存在于内容中。搜索量非常低且不稳定。长尾关键词带来的客户转化为网站产品客户的概率远低于目标关键词。Discuz采集插件可以定时发布(定时发布网站内容可以让搜索引擎养成定时抓取网页的习惯,从而提升网站的收录)数百个数千个 cms网站 可以实现统一管理。有大中型的网站s,有大量的长尾关键词s,它们带来的总流量非常大。使用大量长尾关键词做Discuz采集,你网站带来的总流量是相当可观的。
在使用Discuz采集插件进行关键词位置、密度、处理设置时,需要注意以下几点。Discuz采集出现在Discuz网站的网站 URL(英文),Discuz采集出现在已发布网页的标题关键词(1-3 ), Discuz< 关键词 (1-3) 出现在采集采集 发布的文章关键词 标签中
关键词出现在Discuz发布的文章的描述标签中采集(主要的关键词重复了两次),关键词自然出现在Discuz发布的内容中采集 >,Discuz 采集发布文章内容的首尾两段出现关键词,Discuz 采集发布文章在H1, 关键词出现在 H2 标签中。Discuz采集 插件可以插入内容关键词 以合理增加关键词 的密度。
Discuz插件可以自动过滤其他网站宣传信息/支持其他网站信息替换。Discuz采集插件导出链接锚文本收录关键词。Discuz采集发布采集到文件名收录 关键词 的图像。Discuz采集出现在图片的ALT属性中,但是要控制关键词的密度在6-8%之间,通过Discuz插件采集填充内容,根据关键词采集文章。Pboot 插件也配置了 关键词采集 函数。您还可以使用 Discuz采集 插件来粗体或斜体 关键词。Discuz采集伪原创的内容最好,不要多次转载
内容独立,与其他页面至少有30%的差异,Discuz采集的文章字数应该是1000-2000字,合理切分。Discuz采集我们要定期更新,最好是每天Discuz采集的内容都围绕着页面关键词,这个页面关系到整个网站的主题,Discuz采集 支持搜索引擎推送,Discuz采集 采集文章发布成功后,主动向搜索引擎推送文章,保证新链接能被搜索引擎及时搜索到收录。
如果Discuz采集插件开启了评论功能,评论中会出现关键词,而且Discuz采集的导入链接和锚文本也可以收录关键词。Discuz采集插件直接监控已发布、待发布、是否伪原创、发布状态、URL、节目、发布时间等。 Discuz采集插件可直接查看每日蜘蛛、收录 和 网站 权重。
Discuz插件拥有多个新闻源采集sources采集,Discuz插件涵盖所有行业新闻源,内容库庞大,采集新内容自动批量挂机采集、无缝对接各大cms发布者,采集伪原创会自动发布推送到搜索引擎,可以支持百度、神马、360、搜狗等搜索引擎推送。Discuz采集插件在为我们做重复性工作的同时,也应该多关注SEO的其他方面,以达到全面优化的目的。