WeChat ???? ????? ? ?? ??? ?????? ??? ?????. ? ?? ??? ???? ?? ??? ??????.
?? ??? ??? ??? JSon? ?? ??? ?????? ??? ???.
?? JSON ???? ??????.
package com.lwz.wx.bean.kf; // 這個(gè)是最外層的 也可以說(shuō)是基類吧、 public class Basebean { private String touser; private String msgtype; public String getTouser() { return touser; } public void setTouser(String touser) { this.touser = touser; } public String getMsgtype() { return msgtype; } public void setMsgtype(String msgtype) { this.msgtype = msgtype; } }
//這個(gè)類是繼承基類、 package com.lwz.wx.bean.kf; public class BaseNews extends Basebean{ private Kfnews news; public Kfnews getNews() { return news; } public void setNews(Kfnews news) { this.news = news; } } //
package com.lwz.wx.bean.kf; import java.util.List; public class Kfnews { private List<articles> articles; public List<articles> getArticles() { return articles; } public void setArticles(List<articles> articles) { this.articles = articles; } } //
package com.lwz.wx.bean.kf; public class articles { private String title; private String description; private String url; private String picurl; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getPicurl() { return picurl; } public void setPicurl(String picurl) { this.picurl = picurl; } }
? ???
?? ??? JSON ???
package com.lwz.wx.main; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import net.sf.json.JSONObject; import com.lwz.wx.bean.AccessToken; import com.lwz.wx.bean.Articles; import com.lwz.wx.bean.kf.BaseNews; import com.lwz.wx.bean.kf.BaseText; import com.lwz.wx.bean.kf.Basebean; import com.lwz.wx.bean.kf.Kfnews; import com.lwz.wx.bean.kf.articles; import com.lwz.wx.bean.kf.text; import com.lwz.wx.util.WeixinUtil; public class KfManager { private final static Logger log = Logger.getLogger(Basebean.class); public static void Gotokf(String openid){ String appId =""; //填上自己的APPID 下同 需要認(rèn)證過(guò)的哦 String appSecret=""; // 調(diào)用接口獲取access_token AccessToken at = WeixinUtil.getAccessToken(appId, appSecret); if (null != at) { // 調(diào)用接口發(fā)送消息 int result = WeixinUtil.Runkf( getkfnews(openid), at.getToken()); // 這個(gè)方法會(huì)在下面 展示 //int result = WeixinUtil.createMenu(getMenu(),"1832148947"); // 判斷菜單創(chuàng)建結(jié)果 if (0 == result) log.info("調(diào)用客服信息發(fā)送成功!"); else log.info("客服調(diào)用失敗,錯(cuò)誤碼:" + result); } }
private static BaseNews getkfnews(String openid) { articles art1=new articles(); art1.setDescription("1"); art1.setPicurl("http://www.baidu.com"); art1.setTitle("測(cè)試1"); art1.setUrl("http://www.baidu.com"); articles art2=new articles(); art2.setDescription("1"); art2.setPicurl("http://www.baidu.com"); art2.setTitle("測(cè)試1"); art2.setUrl("http://www.baidu.com"); List<articles> list = new ArrayList<articles>(); Kfnews news=new Kfnews(); list.add(art1); list.add(art2); news.setArticles(list); BaseNews kfbean=new BaseNews(); kfbean.setMsgtype("news"); kfbean.setTouser(openid); kfbean.setNews(news); String jsonkfbean = JSONObject.fromObject(kfbean).toString(); System.out.println(jsonkfbean); return kfbean; } private static BaseText getkftext(String openid) { text text=new text(); text.setContent("文本內(nèi)容"); BaseText textbean=new BaseText(); textbean.setMsgtype("text"); textbean.setTouser(openid); textbean.setText(text); String jsonkfbean = JSONObject.fromObject(textbean).toString(); System.out.println(jsonkfbean); return textbean; } } // 上面的有用到一個(gè)調(diào)用接口的方法如下: public static String kf_news_url= "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN"; public static int Runkf(Basebean getkfnews, String token) { int result = 0; // 拼裝創(chuàng)建的url String url = kf_news_url.replace("ACCESS_TOKEN", token); // 將對(duì)象轉(zhuǎn)換成json字符 String jsonnews = JSONObject.fromObject(getkfnews).toString(); //System.out.println(jsonMenu); // 調(diào)用接口創(chuàng)建 JSONObject jsonObject = httpRequest(url, "POST", jsonnews); if (null != jsonObject) { if (0 != jsonObject.getInt("errcode")) { result = jsonObject.getInt("errcode"); log.error("調(diào)用客服接口失敗 errcode:{} errmsg:{}"); } } return result; }
? ???? ????. ???????. . ? ?? ?? ????. ?? ???? ??? ?????
? ??? WeChat ?? ?? ?? ?? ??? ????? ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!
? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??
?? ?? ?? ??? | Uma Musume Pretty Derby
1 ? ? ?
By Jack chen
<night> : ???? 99 ? - ?? ?? ? ?? ?? ??
4 ? ? ?
By DDD
Uma Musume Pretty Derby ?? ?? (2025 ? 7 ?)
1 ? ? ?
By Jack chen
?? ? ??? ????? Rimworld Odyssey ?? ???
3 ? ? ?
By Jack chen
Windows ??? ?? ??? ??? ???? ????
1 ? ? ?
By 下次還敢

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)