主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
教程中的内容尚未实现识别哪个帖子或文章收到了付费。当然,我的网站已经实现了。你可以试试。好久没写实战文章了,今天分享一篇,用yii小编houjs+yii2-wx实现微信的送礼功能。
先来个效果图。
简单来说,点击“发送礼物”按钮后,会出现一个弹出框,里面有很多礼物。点击礼物后,弹出框刷新,出现二维码。微信扫码支付。
当然,这笔钱会进入会员的个人账户,然后被提现。
为什么要做这样的功能?说实话,我真的没想过我能熬过这一关。这更像是一种激励。如果你在我们的学习社区分享有价值的文章,你很有可能收到我的礼物。
好了,我们来说说函数。有多少功能?
建立数据表结构(礼品和送礼日志)
使用houjs完成前景弹出框。
用yii2-wx实现支付二维码
为用户添加帐户功能。
企业使用yii2-wx支付变和yii2的控制台模式,其实就是用户的赚钱功能(2元大于等于时赚钱)。
我靠,全是干货。开始了。
既然数据表结构是用来送礼的,那么自然包括了送礼表和送礼日志表。我的计划如下。
礼品表礼品
礼品日志表gift_log
对于gift_log表,可以省略Lang_id,这里添加这个字段是为了方便统计。
整体用户送礼的整体逻辑如下
点击“赠送礼物”与后台互动,获取本社区的礼物列表。
获取数据后,使用jsmart引擎渲染具体礼物的html代码。
使用modal将礼物列表放入弹出框中并弹出。
点击礼物与后台互动,后台生成二维码返回。
用户扫码支付。
支付成功。
获取礼物列表接下来,我们使用houjs来构建前台函数。对于houjs的使用,可以去社区查门户。我们主要使用它的模态弹出助手和jsmart模板引擎。
首先,指定一个按钮
ltbutton class = ui绿色按钮 id = giftBtn data -URL = ; lt?= Url::to(
我非常喜欢它。modal使用yii2和houjs J,完成了礼物列表的功能。接下来我们要做一件重要的事情,和后台交互,获取支付二维码。
获取支付二维码在本章中,我们使用yii2-wx扩展来实现微信支付功能。想法是点击礼物,获得付款二维码。
在继续之前,我们优化了上一步中的js方法,并将代码放入一个单独的js模块中。在houjs中,我们建议将业务js代码放入houjs/js/modules中,如下所示
define(function(require,exports,modules){ var modal = require( # 39;MODS/modal # 39;);var jSmart = require( # 39;jSmart # 39);exports . list = function(){ $( # 39;# giftBtn # 39).click(function(){ var url = $(this)。attr( # 39;数据-网址 # 39;);$.getJSON(url,{},function(d){ if(d . result = = = # 39;好 # 39;){ var TPL text = $( # 39;# giftTpl # 39).html();var compiled template = new jSmart(TPL text);var output = compiled template . fetch(d);modal.alert(output,{ inPage:false,title: # 39;给作者的礼物 # 39;,大小: # 39;tiny # 39});} else { modal . msg(d . message);} });});};});因此获取礼物列表的js代码调用变得很简单,如下所示
要求js(
在礼物的右边,我加了一个P来存储二维码,在没有选择的时候填了一些帮助。这个二维码的存储是通过gift.qrcode()方法实现的。
$('# payQrcode # 39).html( ; ltimg width = # 39120'src = # 39"+d . QR code+ ;'/ gt;");相应的礼物列表模板也增加了支付区域。
lt脚本id = giftTpl type = text/x-jsmart -tmpl ; gt ltp class = gifts -box ; gt ltp class = 礼物 gt{ foreach $ data as $ key = gt$ gift } lta class = _ get _ qrcode href = JavaScript:;"data -URL = ; lt?= Url::to(
用户通过手机支付。用户拿到支付二维码,必须通过扫码支付。接下来有两件事要做。
Yii2处理微信支付结果通知,将该礼品日志设置为已支付。
上次浏览器礼物列表二维码消失,表示支付成功。
先处理结果通知吧。这很容易用yii2-wx实现。在GiftController中添加通知操作。
//gift controller . PHP lt;?phpnamespace应用程序\控制器;使用app \ models \ Gift使用app \ models \ GiftLog使用yii \ data \ ActiveDataProvider使用yii \ helpers \ Url使用abei2017 \ wx \ Application用Da \ QrCode \ QrCode使用Yii使用yii \ base \ ExceptionGiftController类扩展了NBase { public $ enableCsrfValidation = false;......公共函数action notify(){ $ conf = Yii::$ app - gt;参数
还不错。
离成功越来越近!接下来我们要解决一个问题,就是用户付款后浏览器上礼物列表的变化。希望二维码消失,出现支付成功的页面。
我需要一个投票,所以我们开始吧。为此我在gift.js中添加了一个轮询功能,在渲染二维码后触发。
//gift . js exports . aski pay = function(id){ var URL = # 39;/gift/is-pay . html # 39;;$.getJSON(url,{id:id},function(d){ if(d . result = = = # 39;好 # 39;){ $('# payQrcode # 39).空()。html( ; lth1 gt支付成功
...if(d . result = = = # 39;好 # 39;){ $('# payQrcode # 39).空()。html( ; ltimg width = # 39120'src = # 39"+d . QR code+ ;'/ gt;");exports . aski pay(d . oid);} else { modal . msg(d . message);} ...当然,我们必须在服务器上创建一个新的控制器。
// GiftController.phppublic函数actionIsPay($ id){ Yii::$ app - gt;response->format = # 39json # 39;请尝试{ $ model = gift log::findOne($ id);if($ model - gt;状态= = # 39;unpay # 39){抛出新的异常( # 39;还没付钱 # 39;);}返回
综上所述,我们完成了从不打赏礼物的全过程。我们来数一下上半部分。在下半部分,我们将对用户账户进行具体的支付,并使用yii2-wx调用微信企业支付到零钱包接口,实现钱到微信的功能。
相关建议:
微信小程序开发实用视频教程
TP5.0实现简单的管理员登录注册功能以上是三招教你如何实现微信礼物打赏功能的细节(完整代码)。请多关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- RFCHost三网CMI专线KVM VPS 10%优惠:13.5美元/月起,支持支付宝/微信支付/Paypal
- Friendhosting日本VPS评级:东京计算机实验室硬盘良好,联通可观看超过8万个视频,3网络旁路延迟高
- Phanes Cloud 荷兰 VPS 首月 70% 优惠:每月 1.2 欧元起,支持支付宝/微信支付/Paypal [有评论]
- DMIT美国CN2 GIA VPS评测:三网出站路由优化和回程GIA,低延迟,全带宽视频显示速度快,硬件强大
- Spinservers美国达拉斯专用服务器:E3-1280v5/32G/1TB NVMe/无限流量/500M/USD 79/月,支持支付宝/微信支付/Paypal
本文由主机参考刊发,转载请注明:三招教你如何实现微信礼物打赏功能(完整代码) https://zhujicankao.com/79985.html
评论前必须登录!
注册