微信模板消息

微信模板消息

1,微信公众平台选择合适的模板消息进行添加

2,写model类

/**
 * 微信客服接口操作类
 */
class TemplateMessageModel extends Model {
	protected $tableName = 'user';
	/* 货到付款订单成功通知 */
	public function replyOrderSuccess($uid,$first='',$orderId='',$orderPrice='',$orderYhPrice='',$remark="",$url='',$templateId='') {
		$first == '' && $first='您的订单成功,您选择的支付方式是货到付款,请等待我们发货';
		$orderId=='' && $orderId=time_format(time(),'YmdHis');
		$remark =='' && $remark='货到付款请留意发货信息,谢谢!';
		$orderYhPrice =='' && $orderYhPrice='0';
		$param['data']['first']['value']=$first;
		$param['data']['first']['color']="#173177";
	
		$param['data']['keyword1']['value']=$orderId;
		$param['data']['keyword1']['color']="#173177";
		 
		$param['data']['keyword2']['value']=date("Y-m-d H:i:s");
		$param['data']['keyword2']['color']="#173177";
		
		$param['data']['keyword3']['value']=$orderPrice;
		$param['data']['keyword3']['color']="#173177";
		
		$param['data']['keyword4']['value']=$orderYhPrice;
		$param['data']['keyword4']['color']="#173177";
			
		$param['data']['remark']['value']=$remark;
		$param['data']['remark']['color']="#173177";
		 
		$templateId=='' && $templateId='OdB9-G6_r_nkm20QNQo_t2G6nTOE0rzGb-q84ra1TGs';
		return $this->_replyData ( $uid, $param, $templateId,$url);
	}
	/* 发送回复模板消息到微信平台 */
	function _replyData($uid, $param,$template_id,$jumpUrl='') {
		$map ['token'] = get_token ();
		$map ['uid'] = $uid;
		$param ['touser'] = M ( 'public_follow' )->where ( $map )->getField ( 'openid' );
        $param['template_id']=$template_id;
        $param['url']=$jumpUrl;
		
		$url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=' . get_access_token ();
		// dump($param);
		// die;
		$result ['status'] = 0;
		$result ['msg'] = '发送失败';
		$res = post_data ( $url, $param );
		
		if ($res ['errcode'] != 0) {
			$result ['msg'] = error_msg ( $res );
		} else {
			$result ['status'] = 1;
			$result ['msg'] = '发送成功';
		}
		return $result;
	}
}

3,function.php

// 获取当前用户的Token
function get_token($token = NULL) {
	$stoken = session ( 'token' );
	$domain = explode ( '.', SITE_DOMAIN );
	
	if ($token !== NULL && $token != '-1') {
		session ( 'token', $token );
	} elseif (empty ( $stoken ) && C ( 'DIV_DOMAIN' ) && ! is_numeric ( $domain [0] ) && SITE_DOMAIN != 'localhost') { // 泛域名支持
		$domain = explode ( '.', SITE_DOMAIN );
		$map ['domain'] = $domain [0];
		! $GLOBALS ['is_wap'] && $GLOBALS ['mid'] && $map ['uid'] = $GLOBALS ['uid'];
		$token = D ( 'Common/Public' )->where ( $map )->getField ( 'token' );
		$token && session ( 'token', $token );
	} elseif (! empty ( $_REQUEST ['token'] ) && $_REQUEST ['token'] != '-1') {
		session ( 'token', $_REQUEST ['token'] );
	} elseif (! empty ( $_REQUEST ['publicid'] )) {
		$publicid = I ( 'publicid' );
		$token = D ( 'Common/Public' )->getInfo ( $publicid, 'token' );
		$token && session ( 'token', $token );
	}
	$token = session ( 'token' );
	
	if (empty ( $token ) || $token == '-1') {
		// $map ['uid'] = session ( 'mid' );
		// if ($map ['uid'] > 0) {
		// $user = get_userinfo ( $map ['uid'] );
		
		// $user ['level'] < 2 && $user ['manager_id'] > 0 && $map ['uid'] = $user ['manager_id'];
		// $token = $user ['level'] < 2 || $user ['has_public'] ? D ( 'Common/Public' )->where ( $map )->getField ( 'token' ) : DEFAULT_TOKEN;
		
		// isset ( $user ['has_public'] ) && $token && session ( 'token', $token );
		// } else {
		$token = DEFAULT_TOKEN;
		// }
	}
	
	return $token;
}

4,使用

$goods_string = implode(",", $goods_array);//商品名称
$url1 =XXX;
$rs = D ( 'TemplateMessage' )->replyOrderSh($follow_id,"",$order_info['send_time'],$goods_string,$follow['nickname'],"",$url1);



回复列表


回复操作