checkPath($param['qrcode_path']); if ($checkpath_result["code"] != 0) return $checkpath_result; $urlParam = ''; if (!empty($param['data'])) { foreach ($param['data'] as $key => $value) { if ($urlParam == '') $urlParam .= '?' . $key . '=' . $value; else $urlParam .= '&' . $key . '=' . $value; } } $param['appId'] = model('uni_account')->getInfo([['site_id', '=', $param['site_id']], ['app_type', '=', 'aliapp']])['appid']; $domain = 'alipays://platformapi/startapp?appId=' . $param['appId'] . '&page='; $alipays_url = $domain . $param['page'] . urlencode($urlParam); $url = 'https://ds.alipay.com/?scheme=' . urlencode($alipays_url); $filename = $param['qrcode_path'] . '/' . $param['qrcode_name'] . '_' . $param['appId'] . '_' . $param['app_type'] . '.png'; QRcodeExtend::png($alipays_url, $filename, 'L', 4, 1); return $this->success(['path' => $filename, 'url' => $url, 'alipays' => $alipays_url]); } catch (\Exception $e) { return $this->error('', $e->getMessage()); } } /** * 校验目录是否可写 * @param unknown $path * @return multitype:number unknown |multitype:unknown */ private function checkPath($path) { if (is_dir($path) || mkdir($path, intval('0755', 8), true)) { return $this->success(); } return $this->error('', "directory {$path} creation failed"); } }