@@ -32,6 +32,30 @@ public function __construct(WechatApiService $service) {
3232 $ this ->wechat_api = $ service ;
3333 }
3434
35+ protected static $ test_array = [
36+ 'event ' => [
37+ 'subscribe ' => 'func1 ' ,
38+ 'unsubscribe ' => 'func2 '
39+ ],
40+ 'text ' => 'recv_text ' ,
41+ 'image ' => 'recv_image ' ,
42+ ];
43+
44+ public function recv_image ($ str ) {
45+ dpm ('image: ' . $ str );
46+ }
47+
48+ public function recv_text ($ str ) {
49+ dpm ('text: ' . $ str );
50+ }
51+
52+ public function func1 ($ int ) {
53+ dpm ('func1: ' . $ int );
54+ }
55+ public function func2 ($ int ) {
56+ dpm ('func2: ' . $ int );
57+ }
58+
3559 /**
3660 * Build the simple form.
3761 *
@@ -62,6 +86,13 @@ public function buildForm(array $form, FormStateInterface $form_state) {
6286 $ ref_ids = $ node ['field_ref_wechat_api ' ];
6387 //dpm($ref_ids);
6488
89+ //$func = $test_array['event']['unsubscribe'];
90+ $ func = self ::$ test_array ['text ' ];
91+ $ this ->$ func ('hello ' );
92+
93+ $ func = self ::$ test_array ['event ' ]['subscribe ' ];
94+ $ this ->$ func (4 );
95+
6596// $token = \Drupal::config('dld.wxapp.config')->get('get access token');
6697// $AppID = \Drupal::config('dld.wxapp.config')->get('AppID');
6798// $AppSecret = \Drupal::config('dld.wxapp.config')->get('AppSecret');
@@ -73,55 +104,54 @@ public function buildForm(array $form, FormStateInterface $form_state) {
73104
74105 //\Drupal::logger('DtForm')->notice( 'ip addr: <pre>@data</pre>', array('@data' => print_r($this->wechat_api->get_ip_server(), true)) );
75106
76- $ service = \Drupal::service ('service.wechatmsgcrypt ' );
77-
78- //$encodingAesKey = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG";
79- $ encodingAesKey = "jNzJclldDQ0Nt6A2z4EdFLOMbGp3jTo3ilpFLN8qcZl " ;
80- $ token = "pamtest " ;
81- $ timeStamp = "1409304348 " ;
82- $ nonce = "xxxxxx " ;
83- $ appId = "wxb11529c136998cb6 " ;
84- $ text = "<xml><ToUserName><![CDATA[oia2Tj我是中文jewbmiOUlr6X-1crbLOvLw]]></ToUserName><FromUserName><![CDATA[gh_7f083739789a]]></FromUserName><CreateTime>1407743423</CreateTime><MsgType><![CDATA[video]]></MsgType><Video><MediaId><![CDATA[eYJ1MbwPRJtOvIEabaxHs7TX2D-HV71s79GUxqdUkjm6Gs2Ed1KF3ulAOA9H1xG0]]></MediaId><Title><![CDATA[testCallBackReplyVideo]]></Title><Description><![CDATA[testCallBackReplyVideo]]></Description></Video></xml> " ;
85-
86-
87- $ service ->SetParameters ($ token , $ encodingAesKey , $ appId );
88-
89- $ encryptMsg = '' ;
90- $ errCode = $ service ->encryptMsg ($ text , $ timeStamp , $ nonce , $ encryptMsg );
91- if ($ errCode == 0 ) {
92- \Drupal::logger ('DtForm ' )->notice ('$encryptMsg: @data ' , array ('@data ' => $ encryptMsg ));
93- } else {
94- dpm ("errcode " . $ errCode );
95- }
96-
97- $ xmldata = simplexml_load_string ($ encryptMsg , 'SimpleXMLElement ' , LIBXML_NOCDATA );
98- $ xml_post = $ this ->xml2array ($ xmldata );
99- dpm ($ xml_post );
100-
101- $ encrypt = $ xml_post ['Encrypt ' ];
102- $ msg_sign = $ xml_post ['MsgSignature ' ];
103- //$xml_tree = new DOMDocument();
104- //$xml_tree->loadXML($encryptMsg);
105- //$array_e = $xml_tree->getElementsByTagName('Encrypt');
106- //$array_s = $xml_tree->getElementsByTagName('MsgSignature');
107- //$encrypt = $array_e->item(0)->nodeValue;
108- //$msg_sign = $array_s->item(0)->nodeValue;
107+ // $service = \Drupal::service('service.wechatmsgcrypt');
108+ ////$encodingAesKey = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG";
109+ //$encodingAesKey = "jNzJclldDQ0Nt6A2z4EdFLOMbGp3jTo3ilpFLN8qcZl";
110+ //$token = "pamtest";
111+ //$timeStamp = "1409304348";
112+ //$nonce = "xxxxxx";
113+ //$appId = "wxb11529c136998cb6";
114+ //$text = "<xml><ToUserName><![CDATA[oia2Tj我是中文jewbmiOUlr6X-1crbLOvLw]]></ToUserName><FromUserName><![CDATA[gh_7f083739789a]]></FromUserName><CreateTime>1407743423</CreateTime><MsgType><![CDATA[video]]></MsgType><Video><MediaId><![CDATA[eYJ1MbwPRJtOvIEabaxHs7TX2D-HV71s79GUxqdUkjm6Gs2Ed1KF3ulAOA9H1xG0]]></MediaId><Title><![CDATA[testCallBackReplyVideo]]></Title><Description><![CDATA[testCallBackReplyVideo]]></Description></Video></xml>";
115+ //
116+ //
117+ //$service->SetParameters($token, $encodingAesKey, $appId);
118+ //
119+ //$encryptMsg = '';
120+ //$errCode = $service->encryptMsg($text, $timeStamp, $nonce, $encryptMsg);
121+ //if ($errCode == 0) {
122+ // \Drupal::logger('DtForm')->notice('$encryptMsg: @data', array('@data' => $encryptMsg));
123+ //} else {
124+ // dpm("errcode " . $errCode);
125+ //}
126+ //
127+ //$xmldata = simplexml_load_string($encryptMsg, 'SimpleXMLElement', LIBXML_NOCDATA);
128+ //$xml_post = $this->xml2array($xmldata);
129+ //dpm($xml_post);
130+ //
131+ //$encrypt = $xml_post['Encrypt'];
132+ //$msg_sign = $xml_post['MsgSignature'];
133+ ////$xml_tree = new DOMDocument();
134+ ////$xml_tree->loadXML($encryptMsg);
135+ ////$array_e = $xml_tree->getElementsByTagName('Encrypt');
136+ ////$array_s = $xml_tree->getElementsByTagName('MsgSignature');
137+ ////$encrypt = $array_e->item(0)->nodeValue;
138+ ////$msg_sign = $array_s->item(0)->nodeValue;
139+ ////
140+ //
141+ //$format = "<xml><ToUserName><![CDATA[toUser]]></ToUserName><Encrypt><![CDATA[%s]]></Encrypt></xml>";
142+ //$from_xml = sprintf($format, $encrypt);
143+ //
144+ //// 第三方收到公众号平台发送的消息
145+ //$msg = '';
146+ //$errCode = $service->decryptMsg($msg_sign, $timeStamp, $nonce, $from_xml, $msg);
147+ //if ($errCode == 0) {
148+ // \Drupal::logger('DtForm')->notice('$msg: @data', array('@data' => $msg));
149+ // dpm("解密后: " . $msg);
150+ //} else {
151+ // dpm("errcode " . $errCode);
152+ //}
153+ //
109154//
110-
111- $ format = "<xml><ToUserName><![CDATA[toUser]]></ToUserName><Encrypt><![CDATA[%s]]></Encrypt></xml> " ;
112- $ from_xml = sprintf ($ format , $ encrypt );
113-
114- // 第三方收到公众号平台发送的消息
115- $ msg = '' ;
116- $ errCode = $ service ->decryptMsg ($ msg_sign , $ timeStamp , $ nonce , $ from_xml , $ msg );
117- if ($ errCode == 0 ) {
118- \Drupal::logger ('DtForm ' )->notice ('$msg: @data ' , array ('@data ' => $ msg ));
119- dpm ("解密后: " . $ msg );
120- } else {
121- dpm ("errcode " . $ errCode );
122- }
123-
124-
125155
126156// dpm($this->wechat_api->get_access_token());
127157//
0 commit comments