/**
* 示例
*/
public function confirm_distributor()
{
$d = input('post.');
$wx = WxUser::where('id','eq',$d['uid'])->find();
$data = ['id'=>$d['id'],'appoint'=>$d['distributorid'],'status'=>3];
if($d['type'] == 1){
$ret = OrderGoods::update($data);
$page = 'pages/orderDetails/orderDetails?id='.$d['id'].'&order_id='.$d['orderid'].'&act=2&order_act=1';
}
if($d['type'] == 2){
$ret = IntegralOrderGoods::update($data);
$page = 'pages/integralorderDetails/integralorderDetails?id='.$d['id'].'&order_id='.$d['orderid'].'&act=1&order_act=2';
}
$franchise = Db::name('franchise')->where('id','eq',$d['franchise_id'])->find();
//模板消息
$data = [
'keyword1'=>[ //下单时间
'value'=> $d['create_time'],
],
'keyword2'=>[ //所属店铺
'value'=> $franchise['shop_name'],
],
'keyword3'=>[ //订单编号
'value'=> $d['orderid'],
],
'keyword4'=>[ //配送员
'value'=> $d['clerk_name'],
],
'keyword5'=>[ //配送员电话
'value'=> $d['clerk_phone'],
],
'keyword6'=>[ //配送状态
'value'=>'正在配送',
],
'keyword7'=>[ //配送商品
'value'=> $d['goods_name'].'...',
],
'keyword8'=>[ //订单金额
'value'=> $d['type'] == 1 ? '¥'.$d['price'] : $d['price'].'积分',
],
'keyword9'=>[ //联系人
'value'=> $d['realname'],
],
'keyword10'=>[ //收货地点
'value'=> $d['address'],
],
];
$template_id = '登录微信小程序上创建模板消息的模板秘钥';
$res = $this->send_template($wx['openid'],$template_id,$d['formid'],$data,$d['id'],$d['orderid'],2,1,$page);
return json_encode(array('code':200,'msg'=>'kkkk'));
}
/**
* [send_template 推送模板消息]
* @param [type] $openid [openid]
* @param [type] $template_id [模板消息id]
* @param [type] $formid [表单id]
* @param [type] $data [内容]
* @param [type] $id[商品id]
* @param [type] $order_id [订单编号]
* @param [type] $act[查看标识]
* @param [type] $order_act [查看标识]
* @return [type] [description]
*/
function send_template($openid,$template_id,$formid,$data,$id,$order_id,$act='2',$order_act='1',$page){
//form_id 表单提交场景下,为submit事件带上的formId;支付场景下,为本次支付的prepay_id
//获取token值
$config = Db::name('wx_config')->where('id','eq','1')->find();
$url = "https://api./cgi-bin/token?grant_type=client_credential&appid=".$config['x_appid']."&secret=".$config['x_appsecret'];
$result = curl_get($url);
$access_token = $result['access_token'];
//拼装URL
$url = "https://api./cgi-bin/message/wxopen/template/send?access_token=".$access_token;
//拼装模板消息
// $data = [
// 'keyword1'=>[
//'value'=>"“".$textname."”",
//'color'=>'#000000'
// ],
// ];
$template_data=[
'touser'=>$openid,
'template_id'=>$template_id,
'page'=>$page,
'form_id'=>$formid,
'data'=>$data,
'emphasis_keyword'=>'',
];
$template_data = json_encode($template_data);
$result = curl_post_https($url,$template_data);
return $result;
}
/* PHP CURL HTTPS POST */
function curl_post_https($url,$data){ // 模拟提交数据函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);//捕抓异常
}
curl_close($curl); // 关闭CURL会话
return $tmpInfo; // 返回数据,json格式
}