标签 方法 下的文章

微擎js支付中的应用讲解和代码实例

js支付体验好,不需要跳转,直接在本页面内完成支付,但是微擎给的代码非常简单,在实际开发中还是有很多的坑,感谢黄河指导,完成了支付的开发.

首先需要配置支付信息,在这里不多说了,主要是微擎后台和商户里面,重点说开发.先说前端,对于我们没有加载微擎公共开头结尾,那就要自己加载一些必须的代码.

<a href="javascript:void(0);" data-name="李白"  class="weui_btn weui_btn_plain_primary weui_btn_inline">支付</a>
<?php
$wx = $_W['account']['jssdkconfig'];
$wx['url'] ='http://'.$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ;
?>
<script>
    window.sysinfo = {"uniacid":{php echo $this->weid},"acid":{$_W['acid']}};

    var appIdstr = "{$wx['appId']}";
    var timestampstr = "{$wx['timestamp']}";
    var nonceStrstr = "{$wx['nonceStr']}";
    var signaturestr = "{$wx['signature']}";
wx.config({
    debug: false,
    appId: appIdstr,
    timestamp: timestampstr,
    nonceStr: nonceStrstr,
    signature: signaturestr,
        jsApiList: [
        'checkJsApi',
        'onMenuShareTimeline',
        'onMenuShareAppMessage','showMenuItems','hideOptionMenu','chooseWXPay',
    ]
});
</script>
<script type="text/javascript" src='http://res.wx.qq.com/open/js/jweixin-1.0.0.js'></script>
 <script src="{php echo $this->yobyurl}zepto.min.js"></script>
<script type="text/javascript" src="{$_W['siteroot']}app/resource/js/lib/mui.min.js"></script>
<script type="text/javascript" src="{$_W['siteroot']}app/resource/js/app/util.js"></script>
<script>
$(function(){

document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

$('.weui_btn').click(function(){
        $.getJSON("{$ajaxurl}",{name:name}, function(data, status){
        //这里传递参数到生成订单
            if(status == 'success'){
           
                util.pay({
                    orderFee : data.fee,
                    payMethod : 'wechat',
                    orderTitle : '微信支付金额' + data.fee + '元',
                    orderTid : data.ordertid,
                    module : 'yoby_test',
                    success : function(result) {//支付成功
                    $.alert('支付成功');
                   //可不写   
                    },
                    fail : function(result) {//支付失败
                       $.alert('支付失败');
                    },
                    complete : function(result) {//无论成功失败
                    //可不写
                    }
                });
            }
        });
       
        });
});
});

</script>

js代码就上面这么多,当然实际开发中需要自己调整代码,接着需要在site.php里面重要两个方法,一个是生成订单,一个是成功支付后的业务处理.开发终是不能传递参数到支付后的,所以首先把需要参数保存到订单中,一般

    public function doMobilepay() {//生成订单 $ajaxurl就是指向这里的方法
echo json_encode(array('fee'=>$n,'ordertid'=>$sn));//生成订单要返回一个json,一般包括金额和订单号即可,注意订单号需要唯一
}

public function payResult($params) {//支付成功处理,非常重要,你支付后业务处理要放到这里面
if ($params['result'] == 'success' && $params['from'] == 'notify') {//里面放业务代码
需要注意,这里面$_W['openid']是获取不到的,用下面代码
$uid = $params['tag']['uid'];
$openid = $params['user'];
$weid = $params['uniacid'];
$tid=$params['tid'];//这就是生成的唯一订单号 
$fee = $params['fee'];//金额
然后到订单表查询这个订单的信息包括传递的参数

}

}

到此支付开发就完成了,送一个生成订单函数

//生成sn订单,22位
function sn(){
return date('YmdHis').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
}

支付涉及钱的处理,所以要经过多重测试,可以用0.01元来测试,确认没问题再正式上线,有条件可以公测.开发中订单表至少包含金额,订单号,openid,weid以及传递的参数字段.


扫码二维码阅读

老游戏如何在win10上边运行教程

老游戏如何在win10运行

很多老的游戏,比如以前一些经典游戏血战上海滩,血战缅甸等,在win10上边由于分辨率问题,一般都是不能运行的,通过改分辨率也是可以的,不过每次都要修改还原,非常麻烦,下面就介绍一种简单方法.

下载setres.exe

这个软件只有17kb可以用来修改电脑分辨率,网上很多教程让复制到windows文件夹下,我觉得不需要,这样侵入系统不是很好,我们只需要和游戏运行程序放在一起即可,以血战上海滩为例.

新建bat

玩游戏只需要点击 游戏.bat 内容如下

@echo off
C:\server\sh\setres.exe h800 v600
shanghai.exe -windows
C:\server\sh\setres.exe h1366 v768
exit

解释一下代码
第二行是游戏路径的改分辨率软件 h800表示游戏分辨率横向800 纵向600 老游戏很多就是这个
第三行是游戏运行文件名,其他游戏只需要改成游戏运行文件即可 后边带上统一的 -windows
第三行是还原分辨率,游戏退出后自动还原你自己电脑分辨率,这是我的1366X768

#下载sh.zip
解压里面东西,复制到你的游戏中...
这样所有以前老游戏都能正常玩了


扫码二维码阅读

js模板推荐tpl推荐

js模板简介

js模板主要是解决js拼接容易出错而产生的,今天推荐一个不到0.5KB的js模板,支持PC电脑和手机,微信,weui+已内置此模板;

使用方法

<div id="content1"></div>
<script id="test" type="text/html">
    <% for (var i=0;i<list.length;i++) { %>
        <div><%=i%>. <%=list[i]%>
         <%=this.title1||'不存在则输出'%>
         <%= (this.t!=undefined)?"存在":"不存在"%>
        </div>
    <%}%>
    <%=title%>
    <% for(var j in list){%>
    
    <%=list[j]%>
    
    <%}%>
</script>
<script>
var data = {
    title: '标签',
    list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = tpl(document.getElementById('test').innerHTML, data);

document.getElementById('content1').innerHTML = html;
</script>

    <div id="content"></div>
<script>
var data={
    txt:"登鹳雀楼",
    list:[
        "白日依山尽",
        "黄河入海流",
        "欲群千里目",
        "更上一层楼"
    ]
}
var tplHTML=' <div><%=txt%></div>'+
        '<% for(var i=0;i<list.length;i++){ %>'+
                    '<p><%=list[i]%></p>'+
                '<% } %>';
var dest=tpl(tplHTML,data);
document.getElementById('content').innerHTML = dest;
</script>

- 阅读剩余部分 -

如何仿制微信公众号游戏和功能界面详解

导言

对于微信公众号里面小游戏,小功能,如果想要仿制UI界面,只需要把页面发送到电脑端即可,不过如果使用了OAuth的公众号,想要仿制就没有那么简单了,下面将从技术方面来说说几种仿制方法.

工具

Firefox浏览器,安装firebug插件,User Agent Switcher两个插件;以及微信web开发者工具;

方法1

对于一般没有Oauth微信公众号上面网页,只需要登录电脑端微信https://wx.qq.com/即可,然后发送网页到电脑端,如果有些限制只能手机端打开,就需要开启User Agent Switcher插件,本插件可以模拟ios,android端,下面是ios 和 android user agent代码

Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69 MicroMessenger/6.3.16 NetType/WIFI Language/zh_CN

Mozilla/5.0 (Linux; Android 5.1; m3 note Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036849 Safari/537.36 MicroMessenger/6.3.27.880 NetType/WIFI Language/zh_CN

这样就能正常打开了;

方法2

对于Oauth网页,或许不能模拟打开,弹出只能微信上打开,此时只需要复制地址栏里代码到微信电脑版,发送到手机,然后通过手机打开这个地址,此时点击电脑端这个链接很容易打开;

方法3

对于2方法,有些网页或许还是不能打开,此时就有个小技巧,修改网址中userinfo为base,反之亦可,注意如果还不能,就需要在Oauth授权过程中复制网页,速度要快,就是点击右上角弹出;

方法4

如果还是不能,就使用微信web开发者工具,这个工具,非常方便,但是相对上面几种方法,效率低下;

基本上来说,就是以上几种方法,利用好微信网页版,web开发者工具,以及手机,就能很容易解决,

没有扒不下来的网页


扫码二维码阅读