Weidianオープンプラットフォームの独立したアプリケーションの注文メッセージプッシュ機能を通じて、Weidian仮想商品の自動配信が実現されます。
使用 URL の形式は次のとおりです: http://wd.17train.com/index.php/Admin/Index/api/uid/3パブリック関数 API(){<br>
$get = implode("-",$_GET);<br>
$getinfo = explode("-",$get);<br>
<br>
if (!file_exists('Public/Data/'.$getinfo[0])){ <br>
mkdir ('Public/Data/'.$getinfo[0]);<br>
}<br>
if(!empty($_POST)){<br>
file_put_contents('Public/Data/'.$getinfo[0].'/'.$getinfo[1].'.txt',$_POST);<br>
<br>
$this->json_jx($getinfo[1],$getinfo[0]);<br>
}<br>
}<br>
<br>
public function json_jx($filename,$uid){<br>
<br>
$str = file_get_contents("http://".$_SERVER['SERVER_NAME']."/Public/Data/".$uid."/".$filename.".txt");<br>
$str = str_replace('{"x_forwarded_for":null}',"",$str);<br>
$json = json_decode($str,true);<br>
if($json['type'] == 'weidian.order.already_payment'){<br>
if(empty($json['message']['send_time'])){ $time = time();}else{ $time = $json['message']['send_time'];}<br>
if(empty($json['message']['pay_time'])){ $time2 = time();}else{ $time2 = $json['message']['pay_time'];}<br>
$arr = array(<br>
'order_id'=>$json['message']['order_id'],<br>
'buyer_note'=>$json['message']['note'],<br>
'item_id'=>$json['message']['items'][0]['item_id'],<br>
'sku_id'=>$json['message']['items'][0]['sku_id'],<br>
'uid'=>$uid,<br>
'時間'=>$時間、<br>
'order_time'=>$time2,<br>
'ステータス'=>$json['メッセージ']['ステータス']<br>
);<br>
$res = M('order')->add($arr);<br>
$grinfo = M('mail')->where('uid = '.$uid)->find();<br>
if($grinfo['type'] == 1){<br>
$conf = array(<br>
'MAIL_HOST' =>$grinfo['smtp'],//smtp サーバーの名前<br>
'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证<br>'MAIL_USERNAME' =>$grinfo['username'],//あなたのメール名<br>
'MAIL_FROM' =>$grinfo['username'],//送信者アドレス<br>
'MAIL_FROMNAME'=>'Weidian自動配送アシスタント',//送信者の名前<br>
'MAIL_PASSWORD' =>$grinfo['password'],//メールパスワード<br>
'MAIL_CHARSET' =>'utf-8',//メールのエンコードを設定します<br>
'mail_ishtml' =>
);<br>
}その他{<br>
$conf = array(<br>
'MAIL_HOST' =>'smtp.163.com',//SMTP サーバーの名前<br>
'MAIL_SMTPAUTH' =>TRUE, //SMTP 認証を有効にする<br>
'MAIL_USERNAME' =>'weidianzhushou@163.com',//あなたのメール名<br>
'MAIL_FROM' =>'weidianzhushou@163.com',//送信者アドレス<br>
'MAIL_FROMNAME'=>'Weidian自動配送アシスタント',//送信者の名前<br>
'MAIL_PASSWORD' =>'xxxxxxxxxx',//メールパスワード<br>
'MAIL_CHARSET' =>'utf-8',//メールのエンコーディングを設定します<br>
'Mail_ishtml' = & gt; // HTML 形式のメールかどうか <br>
);<br>
}<br>
$mail = M('send')->where("sku_id = '".$arr['sku_id']."'")->find();<br>
$mail2 = M('send_gami')->where("`sku_id` = ".$arr['sku_id']." and `isuse` = 0 ")->find();<br>
If($mail['type'] == 0){<br>
$title = $mail['title'];<br>
$content = $mail['content'];<br>
}その他{<br>
$title = $mail['title'];<br>
$content = $mail2['kahao']."--".$mail2['mima'];<br>
}<br>
$srs = SendMail($arr['buyer_note'],$title,$content,$conf);<br>
if($mail['type'] == 1){<br>
$ww = array(<br>
'isuse'=>1<br>
);<br>
M('send_kami')->where('id = '.$mail2['id'])->save($ww);<br>
}<br>
<br>
$ress = M('user')->where('id = '.$uid)->find();<br>
if($ress['sctime'] != date('Ymd')){<br>
$this->aksc($uid);<br>
$ress = M('user')->where('id = '.$uid)->find();<br>
}<br>
<br>
$ak = $ress['ak'];<br>
$url = "http://api.vdian.com/api?param={"order_id":"{$arr['order_id']}","express_type":"999","express_no":"1234566788" }&public={"メソッド":"vdian.order.deliver","access_token":"{$ak}","バージョン":"1.0","フォーマット":"json"}";<br>
$ra = https_request($url,$ra);<br>
$results = json_decode($ra,true);<br>
$crr = array(<br>
'isfh'=>1<br>
);<br>
M('order')->where('order_id = '.$arr['order_id'])->save($crr);<br>
}<br>
<br>
<br>
}<br>
<br>
public function wdfh($uid,$order_id){<br>
$where['id'] = $uid;<br>
$res = M('user')->where($where)->find();<br>
if($res['sctime'] != date('Ymd')){<br>
$this->aksc($where['id']);<br>
}<br>
<br>
$ra = https_request($urls,$ra);<br>
$results = json_decode($ra,true);<br>
if($results['status']['status_reason'] == 'success'){<br>
$w['ステータス'] = '送信';<br>
M('order')->where("order_id = '".$order_id."'")->save($w);<br>
}<br>
}<br>
<br>
パブリック関数aksc($uid){<br> $where['id'] = $uid;<br>
$res = M('user')->where($where)->find();<br>
$url = "https://api.vdian.com/token?grant_type=client_credential&appkey=".$res['appkey']."&secret=".$res['secret'];<br>
<br>
$r = https_request($url,$r);<br>
$akarr = json_decode($r,true);<br>
if(!empty($akarr)){<br>
$aa = array(<br>
'ak'=>$akarr['result']['access_token'],<br>
'sctime'=>date('Ymd')<br>
);<br>
$rr = M('user')->where("id = ".$uid)->save($aa);<br>
return $rr;<br>
}<br>
}
関数数/**<br>
*メール送信機能<br>
*/<br>
function sendMail($to, $title, $content,$conf) {<br>
<br>
Vendor('PHPMailer.PHPMailerAutoload'); <br>
$mail = 新しい PHPMailer(); //实例化<br>
$mail->IsSMTP(); // SMTP 用<br>
$mail->Host=$conf['MAIL_HOST']; //smtp サーバーの名前 (ここでは QQ ボックスの例)<br>
$mail->SMTPAuth = $conf['MAIL_SMTPAUTH']; //启用smtp认证<br>
$mail->ユーザー名 = $conf['MAIL_USERNAME']; //你的邮箱名<br>
$mail->パスワード = $conf['MAIL_PASSWORD'] ; //邮箱密码<br>
$mail->From = $conf['MAIL_FROM']; //発行人地址(也就是你的邮箱地址)<br>
$mail->FromName = $conf['MAIL_FROMNAME']; //発行者姓名<br>
$mail->AddAddress($to,"尊敬する客户");<br>
$mail->WordWrap = 50; //設置每行字符長度<br>
$mail->IsHTML($conf['MAIL_ISHTML']); // 否かHTML形式邮件<br>
$mail->CharSet=$conf['MAIL_CHARSET']; //設置邮件编码<br>
$mail->件名=$title; //邮件主题<br>
$mail->本文 = $content; //ファイルの内容<br>
$mail->AltBody = "これは非营利の HTML 電子邮件客户端にある本文の身体です"; //邮件正文不サポートHTMLの备用显示<br>
return($mail->Send());<br>
}<br>
<br>
<br>
function https_request($url, $data = null)<br>
{<br>
$curl = curl_init();<br>
curl_setopt($curl, CURLOPT_URL, $url);<br>
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);<br>
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);<br>
if (!empty($data)){<br>curl_setopt($curl, CURLOPT_POST, 1);<br>
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);<br>
}<br>
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);<br>
$output =curl_exec($curl);<br>
curl_close($curl);<br>
return $output;<br>
}<br>
テーブル構造
添付ファイルはデータベース構造です
ウェイディアン.zip (1.88 KB ダウンロード: 0 回)
広告: 本当に無料、ドメイン名 + 仮想マシン + 企業メール = 0 元