分类 微擎技巧 下的文章

好坑的微擎1.0+版本

如果遇到报错显示SQL中包含禁用函数 那么你就要检查是否有包含以下单词命名的表
'load_file', 'floor', 'hex', 'substring', 'if', 'ord', 'char', 'benchmark', 'reverse', 'strcmp', 'datadir', 'updatexml', 'extractvalue', 'name_const', 'multipoint', 'database', 'user',注意是包含比如我命名表名yoby_user,一样会显示这个错误


扫码二维码阅读

win10遇到应用商城打不开显示灰色叹号解决方法

突然遇到windows10的应用商店变成灰色叹号,打不开了,下面方法能解决;
打开powershell路径C:\Windows\System32\WindowsPowerShell\v1.0
用管理员权限打开输出以下代码

Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

接着等他自动修复即可


扫码二维码阅读

微擎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以及传递的参数字段.


扫码二维码阅读

关于微信朋友圈发布内容只能自己看见解封说明

如果遇到自己公众号分享内容到朋友圈,别人都看不见,那么,你的公众号分享朋友圈被微信官方屏蔽了,一般不会有任何提示,这时候就要解封被屏蔽域名;并且公众号后台有时候并不显示违规.

微信官方解答连接http://kf.qq.com/faq/131117ne2MV7141117JzI32q.html,点击这里查看相关解决办法

1、请先对照上诉规范,将违规的规则、提示进行修改或删除,直至符合本解答相关规范为止。

2、修改后,可以通过电子邮件发送至腾讯指定邮箱:moment@tencent.com申请解封。

3、若公众帐号功能被封禁,请按公众平台的相应提示等待解封,目前此邮箱(moment@tencent.com)只接受朋友圈相关处罚的解封申请,不接受公众帐号解封申请。

邮件标题请采用如下格式:

【朋友圈解封申请】“申请人或企业” + “页面主题(如神经猫)”

正文请附上被拦截链接以及情况说明。并包含无法分享的开放平台应用appid和分享链接。

经审核被拦截内容修改后已符合本解答相关规范,方可解封


扫码二维码阅读

定时crontab

启用 crontab:
crontab -e

查看 crontab -l

删除 crontab -r

进入Vi输入i进入编辑模式
编辑一个定时
00 */1 * * * curl http://we7.yoby123.cn/xxx.php

退出esc 输入:wq

* 表示可能的值
, 表示取值 1,2,34,5
- 表示范围 1-5
/ 表示频率 /10 每十分钟 按分钟

1.png


扫码二维码阅读

dreamweaver cc 2017 试用报告

dw自从2014年以后,就没怎么使用过了,看到最近dw2017更新,就试着下载看看
QQ截图20161127235604.jpg
界面改变不是很大,但是编辑器比起以前好用多了,特别是自动提示功能现在做的更好了;

支持文件格式也更多了,比如PHP,less,scss,json,js等等,等有非常好的支持,虽然内存占用多些,但是比以前好的太多.

打算后面就采用这个编辑器来写.


扫码二维码阅读

requirejs按需加载css和js简单讲解

requirejs是一个加载css或js工具,使用比较简单

        require.config({
    paths: {
        validform:"{MODULE_URL}weui/validform",
        php:"{MODULE_URL}weui/php"
    },
    shim : {
        'validform': ["css!{MODULE_URL}weui/style.css"]
    }
});
require(['validform','php'], function() {
    $("#form2").Validform({
        tiptype:function(msg,o,cssctl){
            if(!o.obj.is("form")){
                var objtip=o.obj.siblings(".help-block");
                cssctl(objtip,o.type);
                objtip.text(msg);
            }
        }
    });
});

上面是一个个人开发中写的一个加载css和js;由于前面加载过jquery和css.min.js了,加载css需要requirejs插件css.min.js的.


扫码二维码阅读

POST和GET在curl中应用

在做爬虫,抓取网站,做同步,api开发,以及微信公众号开发中,curl使用非常重要,下面就来介绍curl使用;

函数两枚

//post提交
function post($url,$msg){//post ssl
$ch = curl_init();

if (class_exists('\CURLFile')) {
    curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
} else {
    if (defined('CURLOPT_SAFE_UPLOAD')) {
        curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
    }
}
//$msg = array('media'=>"@".$filepath);
//5.6+ $msg = array('media'=>new \CURLFile($filepath));
preg_match('/https:\/\//',$url)?$ssl=TRUE:$ssl=FALSE;
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL,$url);
if($ssl){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($ch, CURLOPT_POSTFIELDS,$msg);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
    }

//get获取
function get($url){   
 $ch = curl_init();
 preg_match('/https:\/\//',$url)?$ssl=TRUE:$ssl=FALSE;
 curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
if($ssl){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data  =  curl_exec($ch);
curl_close($ch);
return $data; 
}

两个函数都支持ssl,也就是https开头访问,能够自动判断是否是https网站;
特别注意5.6以上包括5.6版本php 上传可是和以前完全不一样,这是一个大坑


扫码二维码阅读

phpstudy使用配置常见的坑

在windows上搭建php环境,phpstudy套件是非常不错的,以win10来说明吧;

  1. 解压到某个磁盘,对于未分区的电脑只有一个C盘,那就解压在c盘,有d盘的尽量解压到d盘,注意路径千万不能有中文;
  2. 解压后就会自动启动套件,建议选择nginx+5.5的php版本,并且设置为系统服务,这样以后开机就会自动启动;坑就来了,很多时候可能不能启动nginx,那就要检查是不是使用管理员权限启动的,安装VC9,VC11,VC14这几个,下载地址https://pan.baidu.com/s/1boNPtd9
  3. nginx可以设置自己的网站目录,默认的不合适,一般在某个磁盘下建立www文件夹,就是网站目录;
  4. 可以设置列表形式显示文件和目录,最后设置mysql本地密码;
    根据上面来配置,基本上不会出现错误,x64指的是64位系统电脑,x86指的是32位电脑,现在新电脑基本上都是64位的,32位正在逐步淘汰,15年以后电脑不出32得了.

扫码二维码阅读

通过api实现积分兑换话费充值

###测试公众号 勉县小江南 关键字 话费充值(演示未填写充值apikey)

简介

在微擎微信管理系统中,很多模块都可能产生积分(余额类似,以积分为例子说明),积分除了通过积分商城来兑换礼品,另一种就是兑换话费,输入手机号,就能兑换话费直接充值到手机.

本功能使用http://www.apix.cn提供的接口来具体充值,这是一个支持1,2,5,10,20,30,50等额度的话费,移动,联动,电信,全国支持;相对于另一家聚合数据api,充值可选更多,接下来就说说具体功能.

功能

1 首次使用,先到apix网站注册帐号,冲一定量金额,用来充值话费的成本,根据需要决定多少,网站会提供一个apikey,是我们需要的蜜月,非常重要,要保存好,填到模块后台,就能使用模块了;

2 设置充值额度,从1元,2元,5元等选择需要的额度,注意为了美观,尽量选择3,6,9个数,这样排版美观,最后设置一下积分兑换比例,以1元为单位所需要的积分,比如10分;

3 模块可以限制只能兑换一次,做活动为了保证公平性,尽量限制只能兑换1次,模块另外也支持余额,一般余额都是RMB充值的.

4 支持设置兑换说明,需要注意填写说明换行应使用shift+enter 同时按下换行,这样不会出现新的一个大行,出现了会影响排版美观,排版使用weui开发,一般都要严格按照微信官方提供的格式才可以;

5 后台支持订单管理,可以查看兑换数据,apix也提供帐单管理;

6 真正充值接口是apix提供,本模块只做了UI界面和对接提供的api接口,话费延时,未成功需要联系apix服务商

- 阅读剩余部分 -