Contoh ini adalah untuk mewujudkan penambahan dan manajemen penghapusan menu WeChat di latar belakang manajemen.
1. Pertama kita perlu membuat tabel basis data baru untuk menyimpan item menu
Bidang yang dapat disertakan adalah ID, ID kelas induk, nama, sortir, apakah akan menampilkan, mengetik (lihat, klik), tautan, addDate
Perhatikan bahwa ketika data menu disimpan di latar belakang, ParentId = -1 adalah menu tingkat pertama, atau ParentID adalah ID dari menu tingkat pertama sebagai menu tingkat kedua di bawah menu tingkat pertama.
2. Selama menu Pengaturan, Anda harus meneruskan string menuJSON ke antarmuka WeChat, jadi Anda harus terlebih dahulu menyambungkan string dan mendefinisikan createMenu () di latar belakang.
Public Bool CreatMenu () {String menuJson = ""; // Di sini ParentID default = -1 adalah menu terluar, isActive = 1 adalah tampilan, responseType = 1 adalah tipe klik tipe datatable dtamenu = service.selectDataTable ("id, nama, responseType, jsonstr, url", "weixInMenu", "parentid = -1 dan iSactive = 1 order"); if (dtamenu.rows.count> 0) {menuJson = "{/" button/": ["; untuk (int i = 0; i <dtamenu.rows.count; i ++) {datatable dtbMenu = service.selectDataTable ("id, name, responseType, jsonstr, url", wx, "parentid =" + dtamenu.rows [i] ["id"]. Tostring = " + dtamenu.rows [i] [" id "]. if (dtbMenu.rows.count> 0) {menuJson + = "{/" name/":/" " + dtamenu.rows [i] [" name "]. ToString () +"/",/" Sub_Button/": ["; untuk (int j = 0; j <dtbmenu.rows.count; j ++) {if (convert.toint32 (dtbmenu.rows [j] ["responseType"]) == 2) {menuJson += "{/" type/":" view/",/" nama/":/" + "/",/"url/":/"" + dtbmenu.rows [j] ["jsonstr"]. tostring () + "/"}, "; } else {menuJson + = "{/" type/":/" click/",/" name/":/" " + dtbmenu.rows [j] [" name "]. ToString () +"/",/" Key/":/" Eventkey_ " + dtbMenu.rows [j] ["]. }} menuJson = menuJson.trimend (','); menuJson += "]},"; } else {// if (convert.toint32 (dtamenu.rows [i] ["responseType"]) == 2) // {menuJson + = "{/" type/":/" view/",/" name/":/" " + dtamenu.rows [i] [" name "]. dtamenu.rows [i] ["jsonstr"]. tostring () + "/"}, "; //} // else // {// menuJson + = "{/" type/":/" click/",/" name/":/" " + dtamenu.rows [i] [" name "]. ToString () +"/",/" key/":/" eventkey_ " + dtamenu.rows [i] [i] [". " //}} dtbMenu.dispose (); } dtamenu.dispose (); menuJson = menuJson.trimend (','); menuJson += "]}"; menuJson = menuJson.trim (); return requestzmtocreatment (menuJson); } else {return false; }}3. Setelah mendapatkan string menuJSON, hubungi antarmuka WeChat untuk membuat menu. Anda perlu mendapatkan token penilaian terlebih dahulu. Untuk token penilaian, silakan merujuk: dapatkan AccessToken
/// <summary> /// minta ke server weChat untuk membuat menu khusus /// </summary> /// <param name = "jsonstr"> </param> /// <returns> </eturns> /// permintaan bool privatezmtocrereatment (string jsonstr) {try {var accesstoken = "";//accesstoreatment (string jsonstr) {try {var accesstoken = "";//accesstoreRment (string jsonstr) {try {var accesstoken = "";//accesstoRErtment (string jsonstr) {try {var accesstoken = "";//accesstoRErte to nears to nears To. Secara umum, Anda bisa mendapatkan database di awal dan mendapatkannya dari database lain kali. Perhatikan bahwa AccessToken valid selama 7200 detik // mendeklarasikan httpwebRequest String InterfaceUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + AccessToken; HttpWebRequest request = (httpwebRequest) WebRequest.Create (antarmukaurl); // atur permintaan batas waktu koneksi.timeout = 30000; request.keepalive = true; Encode encodeType = encoding.getEncoding ("UTF-8"); request.headers.set ("Pragma", "No-Cache"); request.method = "post"; request.contentType = "Application/X-WWW-Form-Urlencoded"; request.useragent = "mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.2; sv1; maxthon; .net clr 1.1.4322); http stdns"; request.accept = "gambar/gif, gambar/x-xbitmap, gambar/jpeg, gambar/pjpeg, aplikasi/x-shockwave-flash, aplikasi/vnd.ms-excel, aplikasi/vnd.ms-powerpoint, aplikasi/msword, */ *"; request.cookiecontainer = cookiecontainer baru (); byte [] bytes = encodeType.getBytes (jsonstr); request.contentlength = bytes.length; request.allowautoredirect = true; // Kirim data menggunakan (stream writer = request.getRequestStream ()) {writer.write (bytes, 0, bytes.length); writer.close (); } StringBuilder strb = new StringBuilder (); // menerima data menggunakan (stream reader = request.getResponse (). GetResponseStream ()) {streamReader sr = streamReader baru (pembaca, encodeType); strb.append (sr.readtoEnd ()); sr.close (); reader.close (); } if ((strb.toString (). indexOf ("/" errcode/": 42001")! = -1) || (strb.toString (). IndexOf ("/" errcode/": 40001")! = -1) || (strb.toString (). IndexOf ("/"/") (strb.toString (). indexOf ("/" errcode/": 41001")! = -1)) // Access_Token error {// accessToken = getAccessToken (); getzmaccesstoken (); pengembalian permintaanzmtocreatment (jsonstr); } else {if (strb.toString () == "{/" errcode/": 0,/" errmsg/":/" ok/"}") {return true; } else {return false; }}} catch (exception exp) {return false; }}Meringkaskan
Di atas adalah contoh kode untuk mengatur menu khusus untuk pengembangan akun publik WeChat yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!