【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】怎么實(shí)現(xiàn)小程序推送模板消息_第1頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】怎么實(shí)現(xiàn)小程序推送模板消息_第2頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】怎么實(shí)現(xiàn)小程序推送模板消息_第3頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】怎么實(shí)現(xiàn)小程序推送模板消息_第4頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】怎么實(shí)現(xiàn)小程序推送模板消息_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】怎么實(shí)現(xiàn)小程序推送模板消息

這篇文章主要介紹怎么實(shí)現(xiàn)小程序推送模板消息,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!如何實(shí)現(xiàn)小程序推送模板消息?以下為開(kāi)發(fā)步驟獲取用戶(hù)的openid獲取form_id或者prepay_id獲取access_token發(fā)送模板消息DEMO下載地址重要提示此方法為利用PHP內(nèi)置curl模塊發(fā)送請(qǐng)求,開(kāi)發(fā)中都是以此方法訪問(wèn)微信服務(wù)器獲取數(shù)據(jù),其中url為接口地址,params為攜帶參數(shù),ispost為請(qǐng)求方式,https為證書(shū)校驗(yàn)

public

static

function

curl($url,

$params

=

false,

$ispost

=

0,

$https

=

0)

{

$httpInfo

=

array();

$ch

=

curl_init();

curl_setopt($ch,

CURLOPT_HTTP_VERSION,

CURL_HTTP_VERSION_1_1);

curl_setopt(

$ch,

CURLOPT_HTTPHEADER,

array(

'Content-Type:

application/json;

charset=utf-8'

)

);

curl_setopt($ch,

CURLOPT_USERAGENT,

'Mozilla/5.0

(Windows

NT

10.0;

WOW64)

AppleWebKit/537.36

(KHTML,

like

Gecko)

Chrome/41.0.2272.118

Safari/537.36');

curl_setopt($ch,

CURLOPT_CONNECTTIMEOUT,

30);

curl_setopt($ch,

CURLOPT_TIMEOUT,

30);

curl_setopt($ch,

CURLOPT_RETURNTRANSFER,

true);

if

($https)

{

curl_setopt($ch,

CURLOPT_SSL_VERIFYPEER,

FALSE);

//

對(duì)認(rèn)證證書(shū)來(lái)源的檢查

curl_setopt($ch,

CURLOPT_SSL_VERIFYHOST,

FALSE);

//

從證書(shū)中檢查SSL加密算法是否存在

}

if

($ispost)

{

curl_setopt($ch,

CURLOPT_POST,

true);

curl_setopt($ch,

CURLOPT_POSTFIELDS,

$params);

curl_setopt($ch,

CURLOPT_URL,

$url);

}

else

{

if

($params)

{

if

(is_array($params))

{

$params

=

http_build_query($params);

}

curl_setopt($ch,

CURLOPT_URL,

$url

.

'?'

.

$params);

}

else

{

curl_setopt($ch,

CURLOPT_URL,

$url);

}

}

$response

=

curl_exec($ch);

if

($response

===

FALSE)

{

return

false;

}

$httpCode

=

curl_getinfo($ch,

CURLINFO_HTTP_CODE);

$httpInfo

=

array_merge($httpInfo,

curl_getinfo($ch));

curl_close($ch);

return

$response;

}獲取用戶(hù)的openid微信小程序代碼,建議放在app.js全局保存,方便調(diào)用wx.login({

success:

function

(res)

{

wx.request({

url:

"",

//你的服務(wù)器接口地址

data:

{

code:res.code

//通過(guò)wx.login獲取code發(fā)送至服務(wù)器

},

header:

{

'content-type':

'application/json'

},

success:

function

(res)

{

that.globalData.OpenId=res.data.openid

//存儲(chǔ)openid

}

})

}

})服務(wù)器端PHP代碼,我用的是laravel框架,可自行重構(gòu)public

function

getUserInfo(Request

$request)

{

$code

=

$request->get("code");

$appid="";

//小程序appid

$secret="";

//小程序secret

$Url

=

'/sns/jscode2session?appid='

.

$appid

.

'&secret='

.

$secre

.

'&js_code='

.

$code

.

'&grant_type=authorization_code';

//微信官方給出的接口,利用小程序內(nèi)獲取的code置換openid

$UserInfo=HttpUtils::curl($Url,

$params

=

false,

$ispost

=

0,

$https

=

1);

//上文給出的curl方法

echo

$UserInfo;

//輸出結(jié)果,其中包含openid

}獲取form_id或者prepay_id本篇只做簡(jiǎn)要介紹,留到下篇博客微信支付講解1.form_id為小程序內(nèi)提交表單時(shí)所產(chǎn)生的id,當(dāng)用戶(hù)在小程序內(nèi)發(fā)生過(guò)提交表單行為且該表單聲明為要發(fā)模板消息的,開(kāi)發(fā)者需要向用戶(hù)提供服務(wù)時(shí),可允許開(kāi)發(fā)者向用戶(hù)在7天內(nèi)推送有限條數(shù)的模板消息(1次提交表單可下發(fā)1條,多次提交下發(fā)條數(shù)獨(dú)立,相互不影響)2.prepay_id為小程序拉起微信支付時(shí)所產(chǎn)生的預(yù)支付id,當(dāng)用戶(hù)在小程序內(nèi)完成過(guò)支付行為,可允許開(kāi)發(fā)者向用戶(hù)在7天內(nèi)推送有限條數(shù)的模板消息(1次支付可下發(fā)3條,多次支付下發(fā)條數(shù)獨(dú)立,互相不影響)獲取access_token此方法為獲取access_token為后續(xù)發(fā)送模板消息提供參數(shù),我用的是laravel框架,可自行重構(gòu)public

static

function

access_token(){

$appid="";

//小程序appid

$secret="";

//小程序secret

$Url="/cgi-bin/token?grant_type=client_credential&appid=".

$appid."&secret=".$secret;

//微信給出的獲取access_token的接口

$access_token=Cache::get("access_token");

//查詢(xún)緩存中是否已存在access_token

if($access_token==""){

$access_token=json_decode(self::curl($Url))->{"access_token"};

//訪問(wèn)接口獲取access_token

Cache::put("access_token",$access_token,120);

//設(shè)置緩存,過(guò)期時(shí)間2小時(shí)

}

return

$access_token;

}發(fā)送模板消息發(fā)送模板消息方法public

static

function

SendMsg($data,$access_token){

$MsgUrl="/cgi-bin/message/wxopen/template/send?access_token=".$access_token;

//微信官方接口,需要拼接access_token

return

json_decode(self::curl($MsgUrl,$params=json_encode($data),$ispost=1,$https=1));

//訪問(wèn)接口,返回參數(shù)

}調(diào)用示例public

function

test(Request

$request){

$form_id=$request->get("form_id");

$openid=$request->get("openid");

$access_token=WxUtils::access_token();

$data=[

"touser"=>$openid,

//接收用戶(hù)的openid

"template_id"=>"k03-Sk5c4eNlQKrS4VqI4cKjEil7JyvcouxtKBFkVcs",

//模板id

"page"=>"pages/index/index",//點(diǎn)擊模板消息跳轉(zhuǎn)至小程序的頁(yè)面

"form_id"=>$form_id,

//可為表單提交時(shí)form_id,也可是支付產(chǎn)生的prepay_id

"data"=>[

"keyword1"=>[

"value"=>

"五公司",

//自定義參數(shù)

"color"=>

'#173177'//自定義文字顏色

],

"keyword2"=>[

"value"=>

"保潔服務(wù)",//自定義參數(shù)

"color"=>

'#173177'//自定義文字顏色

],

"keyword3"=>[

"value"=>

"2018年10月",//自定義參數(shù)

"color"=>

'#173177'//自定義文字顏色

],

"keyword4"=>[

"value"=>

"已發(fā)布",//自定義參數(shù)

"color"=>

'#173177'//自定義文字顏色

],

"keyword5"=>[

"value"=>

"請(qǐng)至小程序訂單列表進(jìn)行查看",//自定義參數(shù)

"color"=>

'#173177'//自定義文字顏色

],

]

];

$res=WxUtils::SendMsg($data,$access_token);

//返回結(jié)果

}總結(jié)1.openid獲取挺簡(jiǎn)單的,就

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論