微擎中的一些技巧

1.0删除时,弹出确认对话框:

          
f698b12221c67ea15eec928bd386518.png

3449f13aa3c34447ed6182ae9d5b91c.png

2.0微擎富文本的后台用法不多BB。

前台显示要进行转化。

$aa=htmlspecialchars_decode($result['fuwenben']);
 strip_tags//去除html标签

3.0微擎的支付PHP

public function doMobilePay() {
    //获取用户要充值的金额数
    $fee = floatval($_GPC['money']);
    if($fee <= 0) {
        message('支付错误, 金额小于0');
    }
    // 一些业务代码。
    //构造支付请求中的参数
    $params = array(
        'tid' => $chargerecord['tid'],      //充值模块中的订单号,此号码用于业务模块中区分订单,交易的识别码
        'ordersn' => $chargerecord['tid'],  //收银台中显示的订单号
        'title' => '系统充值余额',          //收银台中显示的标题
        'fee' => $chargerecord['fee'],      //收银台中显示需要支付的金额,只能大于 0
        'user' => $_W['member']['uid'],     //付款用户, 付款的用户名(选填项)
    );
    //调用pay方法
    $this->pay($params);
}

4.0验证支付

public function payResult($params) {
    //一些业务代码
    //根据参数params中的result来判断支付是否成功
    if ($params['result'] == 'success' && $params['from'] == 'notify') {
        //此处会处理一些支付成功的业务代码
    }
    //因为支付完成通知有两种方式 notify,return,notify为后台通知,return为前台通知,需要给用户展示提示信息
    //return做为通知是不稳定的,用户很可能直接关闭页面,所以状态变更以notify为准
    //如果消息是用户直接返回(非通知),则提示一个付款成功
    //如果是JS版的支付此处的跳转则没有意义
    if ($params['from'] == 'return') {
        if ($params['result'] == 'success') {
            message('支付成功!', '../../app/' . url('mc/home'), 'success');
        } else {
            message('支付失败!', '../../app/' . url('mc/home'), 'error');
        }
    }
}

5.0时间的前台显示

{php echo date('Y-m-d H:i:s', $value['fttime'])}

6.0微擎封装+原生的sql语句

$result=pdo_fetchall("SELECT a . * , b . nickname,b.realname,b.avatar
FROM ims_ewei_shop_donation AS a
LEFT JOIN ims_ewei_shop_member AS b ON a.openid = b.openid where style= :style and state= :state",array(':style'=>1,':state'=>1));

7.0微擎封装的分页

//定义页码
$pindex = max(1, intval($_GPC['page']));
//定义记录数
$psize = 2;
//排序与每页多少条记录
$limit = " ORDER BY tongguotime DESC LIMIT " . ($pindex -1) * $psize . ", {$psize}";
//数据查询条件
$where = ' WHERE reward = 0 ';
//对应公众号id
//$param = array(':uniacid' => $_W['uniacid']);
//根据前面定义的条件查询出总记录数
$total = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('hc_user_chuti') . " {$where}");
//数据数组
$result = pdo_fetchall('SELECT * FROM ' . tablename('hc_user_chuti') . " {$where} {$limit}");
//分页按钮
$pager = pagination($total, $pindex, $psize);

8.0微擎封装的分页,多表联查版

$pindex = max(1, intval($_GPC['page']));
//定义记录数
$psize = 10;
//排序与每页多少条记录
$limit = " ORDER BY time DESC LIMIT " . ($pindex -1) * $psize . ", {$psize}";
//数据查询条件
$where = ' WHERE style = 1 AND state=1 ';
//对应公众号id
//$param = array(':uniacid' => $_W['uniacid']);
//根据前面定义的条件查询出总记录数
$total = pdo_fetchcolumn('SELECT COUNT(*)
FROM ims_ewei_shop_donation AS a
LEFT JOIN ims_ewei_shop_member AS b ON a.openid = b.openid' . " {$where}");
//数据数组
$result = pdo_fetchall('SELECT a . * , b . nickname,b.realname,b.avatar
FROM ims_ewei_shop_donation AS a
LEFT JOIN ims_ewei_shop_member AS b ON a.openid = b.openid' . " {$where} {$limit}");
//分页按钮
$pager = pagination($total, $pindex, $psize);

9.0分页效果图

10.0图片:

{php echo tomedia($v['images'])} 

11.1 微擎建立缓存。

isetcookie ('hpenid', $mobile, 604800);
第一个参数就是全局的变量名:随便取
第二个参数就是每个人的唯一值。这里使用在登录后,然后手机号作为唯一值。
第三个参数是秒数:604800s就是一周,建立缓存的存在时间是一周。
在其他界面使用$_GPC['hpenid'];

12.0微擎中发送文本消息,公众号发给用户:

$custom = array(
                        'msgtype' => 'text',
                        'text' => array(
                        'content' => urlencode("您的朋友".$a['nickname']."领取了您送的酒券\n"."酒券名称:".$ss['title']),            
                        ),
                        'touser' => $openid,
                    );
$account_api = WeAccount::create();
$result = $account_api->sendCustomNotice($custom);

你可能感兴趣的:(微擎中的一些技巧)