国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
歡迎來到微信jsapi測試界?-V型知識庫 h3>
? ?? ??? ?? ?? ???? ??? ?? jsapi, java? ??????? ?? ??? ??

???? ??? ?? jsapi, java? ??????? ?? ??? ??

Mar 26, 2017 pm 02:08 PM
?? ??

???? ??

http://m.miracleart.cn/wiki/835.html" target="_blank">width="346" valign="top" style="word-break:break-all">? 描述
appId 應用ID 登錄微信公眾號管理平臺可查詢
timestamp ?必填,生成簽名的時間戳?
nonceStr 必填,生成簽名的隨機串?
signature 必填,簽名,見附錄1?

? ?? ????? ?? ??? ?? ???? ??????. ???? ??? ??? ???? ?? ?????. WeChatjsapi? ??????. ? ? ?? ????? ?? ????, ??? ? ?? ??? ??? ?? ?? ????. ? ? ??? ?????. .

??? ??? java? servlet?? ?? ?? ???? ????, SpringMVC? ???? ?? ???? ??? ??? ? ????.

WxJsAPIServlet ??:

package com.test;

import java.io.IOException;

java.io.PrintWriter ????;

java.util.????;

javax.servlet.ServletException ????;

javax.servlet.http.HttpServlet ????;

???? javax.servlet.http.HttpServletRequest;

???? javax.servlet.http.HttpServletResponse;

???? com.test.util.JsapiTicketUtil;

com.test.util ???? .Sign;

???????WxJsAPIServlet????HttpServlet?{

/**

?????*???? ???.

?????*/

???????WxJsAPIServlet( )?{

????????super();

????}

/**

?????* ??? ??.?

?????*/

????public?void?destroy() {

????????super.destroy();?//???? '??'????? ????

????????//???? ??? ?????

????}

????/**

?????* ???? doGet ???.?

?????*

?????*?? ???? ??? ?? ? ???? get? ?? ? ?????.

?????*?

?????* @param ?????? ??? ??? ??

?????* @param ?? ??? ?????? ??? ??

?????* @throws ServletException???? ??? ??

?????* ??? ??? ?? @throws IOException

?????*/

????public?void?doGet(HttpServletRequest???,?HttpServletResponse???)

????????????ServletException,?IOException ???{

????????System.out.println("wxJSAPI========== ==========");

????????String?jsapi_ticket?=JsapiTicketUtil.getJSApiTicket();;

????????Map?map?=?Sign.sign(jsapi_ticket,?"http://www.vxzsk.com/weChat/wxJsAPIServlet");

??????????? ????? =?map.get("timestamp");

??????????? nonceStr?=?map.get("nonceStr");

????????String?signature?=?map.get("signature");

????????String?appId?=?"應?Id";

?????????? .setAttribute("appId",?appId);

????????request.setAttribute("timestamp",?timestamp);

????????request.setAttribute("signature",signature);

request.setAttribute("nonceStr",?nonceStr);

????????request.getRequestDispatcher("jsapi/jsapi.jsp").forward(??, ??);

????}

????/**

?????* ???? doPost ???.?

?????*

?????*?? ???? ??? ?? ? ???? post? ?? ? ?????.

?????*

?????* @param ??? ?????? ??? ??? ?????

?????* @param ?? ???? ?????? ??? ??

?????* @throws ServletException ??? ??? ??

?????* @throws IOException ??? ??? ??

?????* /

????public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)

????????????ServletException, IOException ???{

??????this.doGet(??, ??);

???????}

/**

?????* ??? ???.?

?????*

?????*???? ???? @throws?ServletException?

?????*/

????public?void?init()????ServletException? ????{

???????//???? ??? ?????

????}

}

第44行是生成?jsapi_ticket的工具類,下面有貼流工具類的代碼。

第45行?Sign類? ?? ??,把表格中? 最后三個參數(shù)封裝放到Map集信中了. 。

第49行appId替換成你自己的應用id,如果不知道應用id 可登陸微信公眾平臺管理中心查詢。

servlet對應的web.xml代碼

????This?is?the?description?of?my?J2EE?component

????display-name>This?is?the?display?name?of?my?J2EE?component

????WxJsAPIServlet

????com.test.WxJsAPIServlet

??

????WxJsAPIServlet

????/wxJsAPIServlet

??

????????? J2EE ???? ???????????- name>??? ? J2EE ????????WxJsAPIServlet????com? ?? ?????. test.WxJsAPIServlet??
????WxJsAPIServlet> ;????/wxJsAPIServlet??生成簽name算法類Sign代碼:
jsapi_ticket ????? ???? ?? ??? JsapiTicketUtil ??

package com.test.util;

/***

* V?? ????? www.vxzsk.com

*/

import java.util.UUID;

java.util.Map ????;

java.util.HashMap ????;

java.util.Formatter ????;

java.security.MessageDigest ???? ;

???? java.security.NoSuchAlgorithmException;

???? java.io.UnsupportedEncodingException;??

??public?class?Sign?{

????public?static?Map?sign(String?jsapi_ticket,?String?url)?{

????????Map?ret?=?new?HashMap();

????????String?nonce_str?=?create_nonce_str();

??????????? ????? =?create_timestamp();

??????????? string1 ;

??????????? ???=?"";

????????//注意這里參數(shù)name必須全part 小寫 且必須有序

????????string1?=?"jsapi_ticket="?+?jsapi_ticket +

"&noncestr="?+?nonce_str?+

??????????????????"×tamp="?+?timestamp?+

????????????????"&url="?+?url;

????????System.out.print ln(???1);

??????????

????????{

????????????MessageDigest?crypt?=?MessageDigest.getInstance("SHA-1");

????????????crypt. ??? ();

????????????crypt.up??(string1.getBytes("UTF-8"));

???????????????=?byteToHex(crypt.digest() );

????????}

????????catch?(NoSuchAlgorithmException?e)

????????{

???????????e.printStackTrace();

????????}

????????catch?(UnsupportedEncodingException?e)

????????{

????????????e.printStackTrace();

????????}

????????ret.put("url",?url);

????????ret.put("jsapi_ticket",?jsapi_ticket);

????????ret.put("nonceStr",?nonce_str);

????????ret.put("timestamp",?timestamp) ;

????????ret.put("signature",?signature);

????????return?ret;

????}

????private static String String byteToHex (?? ???[]???)?{

????????Formatter?formatter?=?new?Formatter();

???????(byte?b?:?hash)

????????{

????????????formatter.format("%02x",?b);

????????}

??? ?? = formatter.toString();

formatter.close();

?? ??;

}

private static String create_nonce_str () {

return UUID.randomUUID().toString();

}

private static String create_timestamp() {

return Long.toStr ing (System.currentTimeMillis() / 1000);

}

public static void main(String[] args) {

String jsapi_ticket = JsapiTicketUtil .getJSApiTicket();

????????????????? // URL? ???? ??? ???? ????? ? ????. /url? ???

??

?? ???? ???? ???? jsapi Map ret = sign(jsapi_ticket, url)

for (Map.Entry ??: ret.entrySet()) {

System.out.println(entry.getKey() + ", " + Entry.getValue());

}

};

}

package com.test.util;

import java.io.BufferedReader;

java.io.IOException ????;

java.io.InputStreamReader ????;

java.net.MalformedURLException ????;

java.net.URL ????;

java.net.URLConnection ????;

net.sf.json.JSONObject;

com.test.weixin.TestAcessToken;

?? ??? JsapiTicketUtil ????{

????/***

* ?? ?? ?????

* @param url

* @param charset

* @param timeout

* @return

*/

?????public?static?String?sendGet(String?url,?String?charset,?int?timeout)

??????{

??????????? ???=?"";

??????????

????????{

??????????URL?u?=?? URL(url);

????????????

??????????{

????????????URLConnection??? =?u.openConnection();

????????????conn.connect();

???????????conn.setConnectTimeout(timeout);

????????????BufferedReader?in?=?new?BufferedReader(new?Input StreamReader(conn.getInputStream (),??? ??));

????????????String?line="";

??????????????((line?=?in.readLine())?!= null)

????????????{

????????????? ???= ?? + ??;

????????????}

????????????in.close();

??????????}?catch?(IOException?e)?{

?????????????? ??;

??????????}

????????}

????????catch?(MalformedURLException?e)

????????{

???????????? ??;

????????}

?????????? ??;

??????}

??????? ?? ??? getAccessToken (){

????????????String?appid="你公眾號基本設置里的應用id";//應? ID

????????????String?appSecret="你公眾號基本設置里的應用密鑰";//(應?密鑰)

????????????????url?="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+appSecret+"";

??????????????? backData=TestAcessToken.sendGet(url,?"utf-8",?10000);

????????????String?accessToken?=?(String)?JSONObject.fromObject(backData).get("access_token");??

????????????return?accessToken;

?????}

????public?static?String?getJSApiTicket(){?

//?? ????

String acess_token= JsapiTicketUtil.getAccessToken();

String urlStr = "https://api.weixin.qq.com/cgi-bin/ticket/ getticket?access_token="+acess_token+"&type=jsapi";

String backData=TestAcessToken.sendGet(urlStr, "utf-8", 10000);

String ticket = (String) JSONObject .fromObject(backData).get("ticket");

?? ??

}

public static void main(String[] args) {

String jsapiTicket = JsapiTicketUtil.getJSApiTicket();

System.out.println("WeChat jsapi ?? ??? ??? ????. "+jsapiTicket);

}

}

? ???? access_token? ?? ??? ???, ????? ?? ??????

jsapi.jsp ??

???????=?request.getContextPath();

????basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request .getServerPort()+path+"/";

%>

HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">

??head>

????">

????

微信jsapi測試-V型知識庫

???????"?content="width=320.1,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">

???< ;script?src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js">?????>?

??

??

??

歡迎來到微信jsapi測試界?-V型知識庫 h3>

??

?????

timestamp:${?timestamp}

??

?????

nonceStr:${?nonceStr}

??

?????

??:${???}

??

?????

appId:${?appId}

??

????onclick="uploadImg();"/>??

????獲取當前位置"?onclick="getLocation();"/>??

??

??

??wx.config({??

???????:?true,?//?開啟調(diào)試模式, 調(diào)用的所有api的返回值會在客戶端alert Publish 來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會communicalog打出,僅在pc端時才會打印。??

????appId:?'${appId}',?//?必填,公眾號的唯一標識??

?????????: '${?timestamp}' ,?//?必填,生成簽名的時間戳??

????nonceStr:?'${?nonceStr}',?//?必填,生成簽名 隨機串??

??????:?'${?signature}' ,//?必填,簽name,見附錄1??

????jsApiList:?['chooseImage','getLocation','openLocation']?//?必填,需要使用的JS接口列表,所有JS接口列表見附錄2??

});??

wx.ready(function(){??

????alert("ready");??

});??

wx.error(function?(res)?{

??alert("調(diào)用微信jsapi返回的狀態(tài):"+res.errMsg);

});

function?uploadImg()?{??

????wx.checkJsApi({??

????????jsApiList:?['chooseImage','openLocation','getLocation'],?//?需要檢測的JS接口列表,所有JS接口列表見附錄2,??

??????????:???(res)?{??

????????????//?以鍵值對船? ??? 式返回,可用的api值true,不可為false??

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????.chooseImage ({

??

: 1, // ??? 9

SizeType: ['??', '??'], // ?? ?? ???? ?? ???? ??, ???? ? ?

sourceType: ['album', 'camera'], // ??? ???? ????? ??? ? ??? ???? ? ?

??: function (res ) {

var localIds = res.localIds; // ??? ??? ?? ID ??? ????, localId? src

???? ??? ? ????.

img ??

???

Alert(localIds) } }); ??> } ?

}); ?

}

function getLocation() {

var latitude = ""; = "";

wx.getLocation({

type: 'gcj02', // ???? wgs84? GPS ?????. openLocation? ?? ?? ??? ?? ?????, 'gcj02'? ??? ? ????

Success: function (res) {

??????????? latitude =?res.latitude; // ??, ?? ??? ?, ??? 90 ~ -90???.??????????????????????????~?????????????? ?? ?? ??? ?, ??? 90 ~ -90???.

var speed = res.speed; // ?? ?? ??? ??

var Accuracy = res.accuracy; // ?? ???

wx .openLocation( {

????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??, // ??, ??????, ??? 90~-90???.

??: '?? ??', // ?? ??

??: ' currentLocation', // ?? ?? ??

??: 26, //

??

??/?? ??, ?? ?, ??? 1~28???. ???? ?????.

Infourl: '' // ????? ? ???? ?? ????? ????

})

}

??? ????: WeChat ?? ??? ?? ??? ???? ?? ??? ??? ??? ? jsapi.jsp ????? ?? ??? ???? ?????? ?????. WeChat jsapi? ????? ????? ? ??? ?????? ?? ??? ?????.

WeChatServlet? WeChat? ??? ??????. ???? ?? ???? WeChat ?? ????? ?? ? ????.

package com.test;

import java.io.IOException;

java.io.PrintWriter ????;

java.util.Date ????;

java.util.Map ????;

javax.servlet.ServletException ????;

javax.servlet.http.HttpServlet ????;

javax.servlet.http.HttpServletRequest ????;

javax.servlet.http.HttpServletResponse;

com.test.message.resp.TextMessage ????;

import com.test.util.MessageUtil;

/**

* ?? ?? ?? ???

* doGet ???? weixinTest? ????. ?? ?? ?? ????? ?? ??? ?????.

*/

?? ??? WeChatServlet? HttpServlet ?? {

??????? ?? ?? ? serialVersionUID = 1508798736675904038L;

????/**

* ??? WeChat ???? ??? ??

*/

????public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throw?ServletException,?IOException?{

????????System.out.println(" v w w www.vxzsk.com ");

// 微信 加密 簽名 簽名 String signature = request.getParameter ("signature ");

???. out.println("微信加密簽namesignature:------------"+signature);

????????/?時間戳

??????????? ??????=?request.getParameter("timestamp");

????????System.out.println("時間戳timestamp:-- ------"+timestamp);

????????// 隨機數(shù)

????????String?nonce?=?request.getParameter("nonce");

????????System.out.println ("隨機數(shù)nonce:-------------------------"+nonce);

????????/?隨機

字符串

????????String?echostr?=?request.getParameter("echostr");

????????System.out.println("隨機字符串echostr:------------ ----------"+echostr);

????????//System.out.println("token------ ----:"+token);

????????PrintWriter?out?=?response.getWriter();

????????//?過檢驗signature對請求進行校驗,若校驗成功則原樣返回echostr ,表示接入成功,否則接入失敗

????????if?(SignUtil.checkSignature("weixinTest" ,?signature,?timestamp,?nonce))?{

???????????out.print(echostr );

???????????//System.out.println("這是:"+echostr);

????????}

????????out.close();

????????out?=?null;

????}

????/**

* ?? ???? ?? ??? ??

* ? ??? ?? ???? ???? ??? ????

*/

????public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)?ServletException,?IOException?{?

????????System.out .println("V型知識庫??創(chuàng)www.vxzsk.com");

????????System.out.println("微信服務器發(fā)來消息------------");

????????//?將請求、響應的編碼均設置為UTF-8(防止中文亂碼)

????????request.setCharacterEncoding("UTF-8");

??????????. setCharacterEncoding("UTF-8");

String respMessage = null;

try{

//xml ?? ?? ??

Map requestMap = MessageUtil.parse Xml(request);/ / WeChat?? ?? xml ??? ????. ??>

String toUserName = requestMap.get("ToUserName");

//??? ??

String msgType = requestMap.get("MsgType ");

//??? ?? ??

String createTime = requestMap.get("CreateTime");

//WeChat ???? ??? ???

String weixinContent = requestMap.get ("Content");

System.out.println("?? ?? ???? ?? ?? ??? ??: "+weixinContent);

//?? ?? ?? ?? ??? ?? ???

if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {//??? ?? ??? ?? "hh"? ?????. WeChat? ???? ? ???? ?????

/ /? ?? ?? ???? ?? > textMessage.setCreateTime(new Date().getTime());

textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);

textMessage.setFuncFlag(0);

//????? ?? ?? ??? n? ??? ?????.

? ? ? ? ? ? ? ? ? ? ? ? StringBuffer ? buffer ? = ? new ? StringBuffer(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 's' 's'? ?????. ‐ to ‐n‐? ? ??? ?????.

buffer.append("?????").append("n");

buffer.append("WeChat jsapi ??? ?????").append("nn");

buffer.append("? ???? 'hh'?? ??? ???? ??? ? ????.");

}

else

{

buffer.append("?????. ?? V? ?? ??????.");

}

textMessage. setContent(buffer.toString());

respMessage = MessageUtil.textMessageToXml(textMessage);//xml ???? ??

}

//?? ?? ???

PrintWriter out = response.getWriter();

out.print(respMessage); out.close();

}catch(?? e) {

e.printStackTrace();

}

}

}

MessageUtil ?? ???

package com.test.util;

import java.io.InputStream;

java.io.Writer ????;

java.util.HashMap ????;

java.util.List ????;

java.util.Map ????;

javax.servlet.http ????. HttpServletRequest;

import org.dom4j.??;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

com.test.message.resp.Article ????;

com.test.message.resp.MusicMessage ????;

com.test.message.resp.NewsMessage ????;

com.test.message.resp.TextMessage ????;

com.thoughtworks.xstream.XStream ????;

com.thoughtworks.xstream.core.util.QuickWriter ???? ;

com.thoughtworks.xstream.io.HierarchicalStreamWriter ????;

com.thoughtworks.xstream.io.xml.PrettyPrintWriter ????;

com.thoughtworks.xstream ????. io.xml.XppDriver;

/**

* ??? ?? ??

*/

???????MessageUtil?{

????/**

* ?? ??? ??: ???

*/

public static final String RESP_MESSAGE_TYPE_TEXT = "text";

????/**

* ?? ??? ??: ??

*/

????public static final String RESP_MESSAGE_TYPE_MUSIC = "music";

????/**

* ?? ??? ??: ???

*/

????public?static?final?String?RESP_MESSAGE_TYPE_NEWS?=?"news";

????/**

* ?? ??? ??: ???

*/

????public?static final String REQ_MESSAGE_TYPE_TEXT =?"text";

????/**

* ?? ??? ??: ??

*/

?????????????????REQ_MESSAGE_TYPE_IMAGE?=?"image";

????/**

* ?? ??? ??: ??

*/

?? ?? ?? ??? REQ_MESSAGE_TYPE_LINK =?"??";

????/**

* ?? ??? ??: ??? ??

*/

?????? ?? ?? ??? REQ_MESSAGE_TYPE_LOCATION =?"??";

????/**

* ?? ??? ??: ???

*/

????public?static?final?String?REQ_MESSAGE_TYPE_VOICE?=?"voice";

????/**

* ?? ??? ??: ??

*/

????public?static final?String REQ_MESSAGE_TYPE_EVENT?=?"event";

????/**

* ??? ?? : ??

*/

?????????????????EVENT_TYPE_SUBSCRIBE?=?"??";

????/**

* ??? ?? : unsubscribe (unsubscribe)

*/

?? ?? ?? ??? EVENT_TYPE_UNSUBSCRIBE =?"?? ??";

????/**

* ??? ?? : CLICK ( ?? ?? ?? ???)

*/

?????? ?? ?? ??? EVENT_TYPE_CLICK =?"??";

????/**

?????*?解析微信發(fā)來的請求(XML)

?????*?

?????*?@param???

?????* @return

?????*?@throws ??

*/

@SuppressWarnings("unchecked")

public static MapparseXml(HttpServletRequest request) throws Exception {

// ?? ??? ??? HashMap

Map map = new HashMap();

// ???? ?? ??? ????

InputStream inputStream = request.getInputStream();

//?? ??? ??

SAXReader reader = new SAXReader();

?? ?? = reader.read(inputStream) ;

// xml ?? ?? ????

Element root = document.getRootElement();

// ?? ??? ?? ?? ?? ????

List elementList = root.elements();

// ?? ?? ?? ??

for (Element e : elementList) {

map.put( e.getName( ), e.getText());

}

// ??? ??

inputStream.close();

inputStream = null;

?? ?;

}

/**

* xml? ??? ?? ??? ??

* @param textMessage ?? ??? ??

* @return xml

*/

public static String textMessageToXml(TextMessage textMessage) {

xstream .alias("xml", textMessage.getClass());

return xstream.toXML(textMessage);

}

/**

* xml? ??? ?? ??? ??

* @param musicMessage ?? ??? ??

* @return xml

*/

public static String musicMessageToXml(MusicMessage musicMessage) {

xstream.alias("xml", musicMessage.getClass());

return xstream.toXML( musicMessage);

}

/**

* ??? ??? ??? xml? ??

* @param newsMessage ??? ??? ??

* @return xml

*/

public static String newsMessageToXml(NewsMessage newsMessage) {

xstream.alias(" xml", newsMessage .getClass());

xstream.alias("item", new Article().getClass());

return xstream.toXML(newsMessage);

}

/**

* CDATA ??? ????? xstream ??

* @date

*/

private static XStream xstream = new XStream(new XppDriver() {

public HierarchicalStreamWriter createWriter(Writer out ) {

??? PrettyPrintWriter(out) ?? {

???????????????//?對所有xml節(jié)點的轉(zhuǎn)換本增加CDATA標記

????????????????? cdata =?true;

????????????????@SuppressWarnings("?? ???")

???????????????public?void?startNode(String name,?Class?clazz)?{

???????????????????super.startNode(name,?clazz);

???????????????}

????????????????protected void writeText( QuickWriter ???, ??? ???) {

???????????????????if?(cdata)?{

?????????????????????writer.write("

??????????????????????writer.write(text) ;

???????????????????????writer.write(" ]]>");

????????????????????}???? ????{

????????????????????writer.write(text);

???????????????????}

???????????????}

????????????} ;

????????}

????});

}

TextMessage代碼

package?com.test.message.resp;

public?class?TextMessage?extends?BaseMessage?{

????//?回復的消息內(nèi)容

????private?String?Content;

????public?String?getContent()?{

????????return?Content;

????}

????public?void?setContent(String?content)?{

????????Content?=?content;

????}

}

??? com.test.message.resp;
?? ??? TextMessage? BaseMessage? ?????. >????private?String?Content;????public?String?getContent()?{????????return?Content;????}????public?void?setContent(String?content)?{ ????????????=?content;????}}BaseMessage代碼

package?com.test.message.resp;

/**

?*?消息基類(公眾帳號?->?普通用戶)

?*/

public?class?BaseMessage?{

????//?接收方帳號(收到的OpenID)

????private?String?ToUserName;

????//?開發(fā)者微信號

????private?String?FromUserName;

????//?消息創(chuàng)建時間?(整型)

????private?long?CreateTime;

????//?消息類型(text/music/news)

????private?String?MsgType;

????//?位0x0001被標志時,星標剛收到的消息

????private?int?FuncFlag;

????public?String?getToUserName()?{

????????return?ToUserName;

????}

????public?void?setToUserName(String?toUserName)?{

????????ToUserName?=?toUserName;

????}

????public?String?getFromUserName()?{

????????return?FromUserName;

????}

????public?void?setFromUserName(String?fromUserName)?{

????????FromUserName?=?fromUserName;

????}

????public?long?getCreateTime()?{

????????return?CreateTime;

????}

????public?void?setCreateTime(long?createTime)?{

????????CreateTime?=?createTime;

????}

????public?String?getMsgType()?{

????????return?MsgType;

????}

????public?void?setMsgType(String?msgType)?{

????????MsgType?=?msgType;

????}

????public?int?getFuncFlag()?{

????????return?FuncFlag;

????}

????public?void?setFuncFlag(int?funcFlag)?{

????????FuncFlag?=?funcFlag;

????}

}

??? ??? ????.

???? ??? ?? jsapi, java? ??????? ?? ??? ??

???? ??? ?? jsapi, java? ??????? ?? ??? ??

???? ??? ?? jsapi, java? ??????? ?? ??? ??

???? ??? ?? jsapi, java? ??????? ?? ??? ??

? ??? ???? ??? ?? jsapi, java? ??????? ?? ??? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

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

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
PHP WeChat ??: ??? ??? ? ?? ?? ?? ?? PHP WeChat ??: ??? ??? ? ?? ?? ?? ?? May 13, 2023 am 11:40 AM

PHP? ? ?? ? ?? ? ?????, ?? WeChat ??? ?? ???? ?? ?? ???? ?????. ??? ?? ? ?? ??? ???? WeChat ??? PHP? ???? ???? ????. PHP? ??? ?? ???? ?? ?? ???? ?????. WeChat ???? ??? ??? ? ???? ??? ??? ???? ?? ??? ?? ??? ?????. ??? ? ??? ??? ?? ???? ?? ??? ?? ???? ??? ? ?? ????? ??? ? ? ????.

PHP WeChat ??: ?? ?? ?? ?? PHP WeChat ??: ?? ?? ?? ?? May 14, 2023 am 11:21 AM

WeChat ?? ??? ??? ? ?? ??? ?? ?????. ?? ??? ????? ?? ??? ??? ??? ? ?? ?? ????, ??? ?? ? ?? ??? ?? ??? ????? ???. ? ????? PHP? ???? WeChat ?? ??? ???? ??? ?????. WeChat ?? ?? ??? ???? ?? WeChat ?? ?? ??? ??? ???. WeChat ?? ?????? WeChat ?? ??, ?? ?? ? ?? ??? ???? ??? API ??? ???? ???. PHP ??? ???? ???? ???? WeChat?? ????? ???? PH? ???? ???.

PHP? ???? WeChat ?? ??? ?? ?? PHP? ???? WeChat ?? ??? ?? ?? May 13, 2023 pm 05:00 PM

WeChat? ??? ?? ?? ? ?? ??? WeChat? ??? ??? ???? ??????. WeChat ?? ??? ??? ??? WeChat ???? ???? ??? ?? ? ?????. ??? ?? ???? ????? ??? ?????? ?? ??? ?? ??? ?? ?????. ??? WeChat ?? ??? ??? ???? ?? ?? ?????. ? ????? PHP? ???? WeChat ?? ??? ??? ???? ??? ?????. 1. ?? ?? WeChat ?? ??? ??? ????? ?? ?? ??? ???? ???. PHP WeChat ?? ??? ??? ?? ?? ?? ?? ??: Sub

PHP WeChat ??: ?? ??? ?? ? ?? ?? ?? PHP WeChat ??: ?? ??? ?? ? ?? ?? ?? May 13, 2023 pm 05:51 PM

WeChat? ?? ???? ?? ? ??? ??? ??? ?? ??? ? ?????. ??? ???? ??? ?? ?? ? ?? ???? WeChat ???? ???? ??? ??????. WeChat ???? ??? ? ?? ???? ??? ?????. ?? ??? ?? ?? ? ? ???? ?? WeChat ??? PHP ??? ??? ? ????. 1. PHP ?? WeChat ?? PHP? ? ?? ???? ?? ???? ?? ?? ?? ? ???? ?????. WeChat ?? ????? ???? ?? ?????? ???? PHP ??? ???? WeChat? ??? ? ????.

PHP WeChat ??: ??? ?? ?? ?? ?? PHP WeChat ??: ??? ?? ?? ?? ?? May 13, 2023 pm 04:31 PM

WeChat ?? ?? ???? ??? ?? ??? ???? ???? ? ? ???? ??? ? ??? ?? ?? ??? ?????. ? ????? PHP? ???? WeChat ??? ?? ?? ??? ???? ??? ?????. 1. WeChat ???? openid? ?????. WeChat ??? ?? ?? ??? ???? ?? ?? ???? openid? ???? ???. WeChat ?? ??? ??? ? ??? ??? ?? openid? ?? ?? ???? ?????. ??? ??? ???? ?? ??? ?? ???? ?? ? ????.

PHP WeChat ??: ?? ??? ?? ??? ???? ?? PHP WeChat ??: ?? ??? ?? ??? ???? ?? May 13, 2023 pm 04:31 PM

WeChat? ???? ??? ?? ? ??? ?????? ??? ???, WeChat? ??? ??? ??? ?? ??? ??? ??? ??? ?? ????. ??? ?? WeChat? ??? ????? ???? ?? ??? ??? ???? WeChat ??? ???? ?? ?? ???? ????. ? ? ?? ?? ??? ?? ?? ?????. ???? PHP ??????? ?? ??? ?? ??? ??? ???? ???? ??? ??? ?????. 1. WeChat ?? ??? ??? ?? ??? ?????. ?? ??? ?? ??? ???? ??? ?????.

PHP? ???? WeChat ?? ?? ??? ???? ?? PHP? ???? WeChat ?? ?? ??? ???? ?? Jun 27, 2023 pm 12:26 PM

PHP? ???? WeChat ?? ??? ???? ?? WeChat ?? ??? ?? ??? ?? ? ?? ??? ?? ??? ??? ????, ????? ???? ? ??? PHP? ???? WeChat ?? ??? ??? ?? ????. ? ????? PHP? ???? WeChat ?? ??? ???? ???? ??? ?????. 1??: WeChat ?? ??? ??? ??? ????. WeChat ?? ?? ??? ???? ?? WeChat ?? ??? ??? ??? ???? ???. ???? ?? ??? WeChat ?? ??? ?? ????? ?????.

WeChat ??? PHP? ???? ??? ?????? WeChat ??? PHP? ???? ??? ?????? May 21, 2023 am 08:37 AM

???? ??? ??? ??? ???? WeChat? ?? ? ??? ???? ???? ?? ??? ?????. ?? ? ?????? ??? WeChat ??? PHP? ???? ??? ?? ???? ??? ?????. ? ????? ?? WeChat ??? PHP? ???? ??? ?? ?? ?? ???? ?? ? ? ?? ??? ?????. 1. ?? ?? ?? WeChat? ???? ?? ?? ?? ?? ??? ???? ???. ??, PHP ?? ??? WeChat ?? ???? ???? ???.

See all articles