研究了一天官方的“自定义付款/支付/收费”接口(https://www.xunruicms.com/doc/458.html),可能是自己才疏学浅也可能官方这个接口是真不太好用,唉,都有点想放弃了。
发完牢骚具体问大家个问题:
// 付款数据
// $id 记录id; $num 数量; $sku 自定义属性; $siteid 站点id
public function get_row($id, $num, $sku, $siteid) {
// 查询数据记录,判断是否存在
$data = $this->_get_row($id, $siteid);
//这里做判断,如果不满足则报错
return [
'price' => $this->get_price($id, $num, $sku, $siteid),
'title' => '支付记录标题'.$data['title'],
'sell_uid' => 0, // 商家uid
'sell_username' => '', // 商家账号
];
}上面get_row函数中我想做一些判断,如果不满足条件则报错,但是看框架中这个接口是这样调用的:
dayrui\Fcms\Model\Pay.php
case 'my':
// 来自二次开发
$obj = $this->my_pay_obj($rid);
if (method_exists($obj, 'get_row')) {
$row = $obj->get_row($fid, $num, $sku, SITE_ID);
if (!$row) {
return dr_return_data(0, dr_lang('主题不存在'));
}
} else {
return dr_return_data(0, dr_lang('类方法[get_row]未定义'));
}这里只是获取了接口中get_row方法的返回值,没法调用dr_return_data或$this->json来弹出报错提示,请问这里该怎么解决?
// $id 记录id; $num 数量; $sku 自定义属性; $siteid 站点id public function get_row($id, $num, $sku, $siteid) { // 查询数据记录,判断是否存在 $data = $this->_get_row($id, $siteid); //这里做判断,如果不满足则报错 if ($this->get_price($id, $num, $sku, $siteid) < 20) { \Phpcmf\Service:C()->_json(0, '不能少于20元'); } return [ 'price' => $this->get_price($id, $num, $sku, $siteid), 'title' => '支付记录标题'.$data['title'], 'sell_uid' => 0, // 商家uid 'sell_username' => '', // 商家账号 ]; }