整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          永久圖文素材代碼

          永久圖文素材代碼
          C#新增永久圖文素材
          新增永久圖文素材
          接口調用請求說明
          http請求方式: POST,https協議 https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=ACCESS_TOKEN
          //同步公眾號素材
                              JavaScriptSerializer Jss=new JavaScriptSerializer();
                              string respText=cwebcms.Web.user.BasicApi.WebRequestPostOrGet(string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", AppID, AppSecret), "");
                              Dictionary<string, object> respDic=(Dictionary<string, object>)Jss.DeserializeObject(respText);
                              string accessToken=respDic["access_token"].ToString();
                              //上傳封面圖片獲取media_id
                              string ssPath=Server.MapPath(uc.PicURL);
                              string re=cwebcms.Common.Public.add_material("image/jpeg", ssPath, accessToken);
                              string thumb_media_id="";
                              respDic=(Dictionary<string, object>)Jss.DeserializeObject(re);
                              if (respDic.ContainsKey("media_id"))
                              {
                                  thumb_media_id=respDic["media_id"].ToString();
                              }
          
                              cwebcms.Common.Public.saveLogFiles(5, "re" + re, "errmsg:", "thumb_media_id:" + thumb_media_id);
                              //上傳圖文消息內的圖片獲取URL
          //替換內容區的所有圖片為素材中的圖片
                              string content=uc.Content;
                              string pattern="\\<img\\ [\\s\\S]*?src=['\"]?(?<f>[^'\"\\>\\ ]+)['\"\\>\\ ]";
                              Regex reg=new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
                              Match match=reg.Match(content);
                              string gPicURL="", img_url="";
                              int Picnumj=1;
                              while (match.Success)
                              {
                                  gPicURL=match.Groups["f"].Value;
                                  ssPath=Server.MapPath(gPicURL);
                                  re=cwebcms.Common.Public.uploadimg(ssPath, accessToken);
                                  respDic=(Dictionary<string, object>)Jss.DeserializeObject(re);
                                  if (respDic.ContainsKey("url"))
                                  {
                                      img_url=respDic["url"].ToString();
                                  }
                                  content=content.Replace(gPicURL, img_url);
                                  Picnumj++;
                                  match=match.NextMatch();
                              }
          
                              string url="https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=" + accessToken;
                              string str="{" +
                                          "\"articles\": [{" +
                                           "\"title\": \"" + uc.NewsTitle + "\"," +
                                          "\"thumb_media_id\": \"" + thumb_media_id + "\"," +
                                          "\"author\": \"" + uc.Author + "\"," +
                                          "\"digest\": \"" + uc.naviContent + "\"," +
                                          "\"show_cover_pic\": 1," +
                                          "\"content\": \"" + content.Replace("\"", "\'") + "\"," +
                                          "\"content_source_url\": \"https://ft.cwebcrm.cn/mmg/user/view_detail.html?companyid=gzh&id=" + uc.ID + "\"," +
                                          "\"need_open_comment\":1," +
                                          "\"only_fans_can_comment\":1" +
                                          "\"}," +
                                          //若新增的是多圖文素材,則此處應還有幾段articles結構
                                          "\"]" +
                                          "\"}        ";
          
          
                              cwebcms.Common.Public.saveLogFiles(5, "@url" + url, "errmsg:", "str:" + str);核心代碼
                              string media_id="";
                              string strReturn=cwebcms.Common.Public.PostUrl(@url, str);
                              cwebcms.Common.Public.saveLogFiles(5, "n", "", "strReturn:" + strReturn);
                              respDic=(Dictionary<string, object>)Jss.DeserializeObject(strReturn);
                              if (respDic.ContainsKey("media_id"))
                              {
                                  media_id=respDic["media_id"].ToString();
                              }
                              string sql="update cwebcms_news set media_id='" + media_id + "' where NewsID='" + uc.NewsID + "'";
                              int n=sd.updatesql(sql); 
          //上傳封面圖片
          上傳圖文消息內的圖片獲取URL
          本接口所上傳的圖片不占用公眾號的素材庫中圖片數量的100000個的限制。圖片僅支持jpg/png格式,大小必須在1MB以下。
          接口調用請求說明
          http請求方式: POST,https協議 https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN 調用示例(使用curl命令,用FORM表單方式上傳一個圖片): curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN"
          public static  string uploadimg(string file,string accessToken)
                  {
                      string fileName=file;
                      string url=string.Format("https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token={0}", accessToken);
                      FileStream fs=new FileStream(file, FileMode.OpenOrCreate, FileAccess.Read);
                      byte[] fileByte=new byte[fs.Length];
                      fs.Read(fileByte, 0, fileByte.Length);
                      fs.Close();
                      // 設置參數
                      HttpWebRequest request=WebRequest.Create(url) as HttpWebRequest;
                      CookieContainer cookieContainer=new CookieContainer();
                      request.CookieContainer=cookieContainer;
                      request.AllowAutoRedirect=true;
                      request.Method="POST";
                      string boundary=DateTime.Now.Ticks.ToString("X"); // 隨機分隔線
                      request.ContentType="multipart/form-data;charset=utf-8;boundary=" + boundary;
                      byte[] itemBoundaryBytes=Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
                      byte[] endBoundaryBytes=Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
                      //請求頭部信息
                      StringBuilder sbHeader=        new StringBuilder(
                              string.Format(
                                  "Content-Disposition:form-data;name=\"media\";filename=\"{0}\"\r\nContent-Type:application/octet-stream\r\n\r\n",
                                  fileName));
                      byte[] postHeaderBytes=Encoding.UTF8.GetBytes(sbHeader.ToString());
                      Stream postStream=request.GetRequestStream();
                      postStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);
                      postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
                      postStream.Write(fileByte, 0, fileByte.Length);
                      postStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
                      postStream.Close();
           
                      HttpWebResponse response=request.GetResponse() as HttpWebResponse;
                      Stream instream=response.GetResponseStream();
                      StreamReader sr=new StreamReader(instream, Encoding.UTF8);
                      string content=sr.ReadToEnd();
                      return content;
                  }
          新增其他類型永久素材(注意視頻接口不可用,上傳也不審核)
          接口調用請求說明
          通過POST表單來調用接口,表單id為media,包含需要上傳的素材內容,有filename、filelength、content-type等信息。請注意:圖片素材將進入公眾平臺官網素材管理模塊中的默認分組。
          http請求方式: POST,需使用https https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&type=TYPE 調用示例(使用curl命令,用FORM表單方式新增一個其他類型的永久素材,curl命令的使用請自行查閱資料)
          
          public static string add_material(string type, string file,  string accessToken)
                  {
                      string fileName=file;
                      string url=string.Format("https://api.weixin.qq.com/cgi-bin/material/add_material?access_token={0}&type={1}", accessToken, type);
                      FileStream fs=new FileStream(file, FileMode.OpenOrCreate, FileAccess.Read);
                      byte[] fileByte=new byte[fs.Length];
                      fs.Read(fileByte, 0, fileByte.Length);
                      fs.Close();
                      // 設置參數
                      HttpWebRequest request=WebRequest.Create(url) as HttpWebRequest;
                      CookieContainer cookieContainer=new CookieContainer();
                      request.CookieContainer=cookieContainer;
                      request.AllowAutoRedirect=true;
                      request.Method="POST";
                      string boundary=DateTime.Now.Ticks.ToString("X"); // 隨機分隔線
                      request.ContentType="multipart/form-data;charset=utf-8;boundary=" + boundary;
                      byte[] itemBoundaryBytes=Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
                      byte[] endBoundaryBytes=Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
                      //請求頭部信息
                      StringBuilder sbHeader=        new StringBuilder(
                              string.Format(
                                  "Content-Disposition:form-data;name=\"media\";filename=\"{0}\"\r\nContent-Type:application/octet-stream\r\n\r\n",
                                  fileName));
                      byte[] postHeaderBytes=Encoding.UTF8.GetBytes(sbHeader.ToString());
                      Stream postStream=request.GetRequestStream();
                      postStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);
                      postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
                      postStream.Write(fileByte, 0, fileByte.Length);
                      postStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
                      postStream.Close();
          
                      HttpWebResponse response=request.GetResponse() as HttpWebResponse;
                      Stream instream=response.GetResponseStream();
                      StreamReader sr=new StreamReader(instream, Encoding.UTF8);
                      string content=sr.ReadToEnd();
                      return content;
                  }
          //
          public static string PostUrl(string url, string postData)
                  {
                      string result="";
          
                      HttpWebRequest req=(HttpWebRequest)WebRequest.Create(url);
          
                      req.Method="POST";
          
                      req.Timeout=5000;//設置請求超時時間,單位為毫秒
          
                      req.ContentType="application/json";
          
                      byte[] data=Encoding.UTF8.GetBytes(postData);
          
                      req.ContentLength=data.Length;
          
                      using (Stream reqStream=req.GetRequestStream())
                      {
                          reqStream.Write(data, 0, data.Length);
          
                          reqStream.Close();
                      }
          
                      HttpWebResponse resp=(HttpWebResponse)req.GetResponse();
          
                      Stream stream=resp.GetResponseStream();
          
                      //獲取響應內容
                      using (StreamReader reader=new StreamReader(stream, Encoding.UTF8))
                      {
                          result=reader.ReadToEnd();
                      }
          
                      return result;
                  }

          家好,我是Echa。

          又到周五啦,提前祝大家周末愉快!今天來分享一些實用的前端工具!

          1. Small Dev tools

          Small Dev Tools 是一個前端工具網站,包含了很多實用的功能,比如JSON解碼器、JSON格式化程序、UTF8編碼、Base64編碼、Base64解碼、CSS格式化程序、CSS壓縮器等。

          官網:https://smalldev.tools/

          2. Carbon

          Carbon 是一個在線工具,可以生成漂亮的不同風格的代碼圖片。

          官網:https://carbon.now.sh/

          3. UI Design Daily

          UI 設計日報,提供免費優質的 UI 資源。

          官網:https://www.uidesigndaily.com/

          4. Color Hunt

          ColorHunt,即顏色獵人,是一個在線設計配色的網站,其最大的特點就是使用飽和度調配配色方案。每天會根據瀏覽量進行更新排版,并可以直接使用。

          官網:https://colorhunt.co/

          5. SCHEME COLOR

          SCHEME COLOR 是一個在線的配色工具網站,可以根據顏色、類型等查找合適的配色方案。

          官網:https://www.schemecolor.com/

          6. Keyframes

          Keyframes 可以用來創建動畫、陰影和使用顏色,幫助我們編寫更好的CSS。

          官網:https://keyframes.app/

          7. Design Resources

          Design Resources 是一個設計資源的集合。

          官網:https://www.designresourc.es/

          8. Omatsuri

          Omatsuri 是一個開源項目,包含12個實用的前端工具。

          官網:https://omatsuri.app/

          9. UI Snippets

          UI Snippets 是一個前端動畫合集,可以通過右鍵點擊想要的動畫直接復制對應的 CSS 或 SCSS 代碼。

          官網:https://ui-snippets.dev/

          10. Pattern CSS

          Pattern CSS 可以用漂亮的圖案填充空白背景。

          官網:https://bansal.io/pattern-css

          11. Can I use

          Can I use 可以用來查詢 HTML5、CSS、JS、SVG 在各種流行瀏覽器中的特性和兼容性。

          官網:https://caniuse.com/

          12. CSS Gradient

          CSS Gradient 是一個用來快速方便的創建 CSS 漸變的網站。

          官網:https://cssgradient.io/

          13.CSS matic

          CSS matic 是一個 CSS 工具,目前包含4個很有用的工具,分別是:支持各種顏色和透明度的漸變工具,使用漸變工具,可以創建漸變平滑的色彩變化效果和微妙的透明膠片;邊框圓角工具可以幫助你方便的實現需要的圓角效果;噪聲紋理可以幫助你創造奇妙的背景圖案,能夠實時預覽結果;盒陰影工具可以控制模糊半徑的變化,顏色變化,陰影大小,可以實現你想要的任何效果。

          官網:https://www.cssmatic.com/

          14.Am I Responsive

          Am I Responsive 用來測試響應式網頁。輸入鏈接即可生成預覽,Am I Responsive 能幫我們測試出頁面在手機、平板電腦、筆記本電腦和桌面端設備上的瀏覽體驗。

          官網:http://ami.responsivedesign.is/

          15. CSS Generator

          這是一個實用的 CSS 生成器,可以實時查看調試效果。

          官網:https://html-css-js.com/css/generator/

          16. My Brand New Logo

          My Brand New Logo 是一個CSS 調色板生成器,用來創建一致的調色板方案。

          官網:https://mybrandnewlogo.com/color-palette-generator

          17. 裁剪路徑生成器

          CSS cli-path 功能能夠構建復雜的形狀,該工具讓我們可以輕松地以交互方式構建該多邊形。

          官網:https://bennettfeely.com/clippy/

          18. CSS Grid Generator

          CSS Grid Generator 是一個 Grid 布局生成器,通過這個工具可以快速創建自定義CSS Grid布局。

          官網:https://cssgrid-generator.netlify.app/

          19. CSS Layout Generator

          CSS Layout Generator 布局生成器可以為布局組件創建 CSS 和 HTML 的工具。

          官網:https://layout.bradwoods.io/

          20. Fluid-responsive font-size calculator

          Fluid-responsive font-size calculator 即響應式字體計算器,可以輕松創建流暢的排版體驗。它有更廣泛的支持,可以用幾行 CSS 來實現。

          官網:https://websemantics.uk/tools/responsive-font-calculator/

          21. regex101

          Regex101是學習、測試正則表達式的工具網站。

          官網:https://regex101.com/

          22. Regex-Vis

          Regex-Vis 是一個正則表達式可視化器和編輯器。


          官網:https://regex-vis.com/

          23. Loupe

          Loupe 是一個可視化工具,可幫助我們了解 JavaScript 的調用堆棧/事件循環/回調隊列是如何執行的。

          官網:http://latentflip.com/loupe/

          24. RunJS

          RunJS 是一個桌面應用程序,可幫助我們編寫專門的 Javascript 和 Typescript 代碼。它的一些優勢是可以快速測試代碼,輕松導入和測試庫代碼,并且能夠修改界面、主題和字體以適應偏好。

          官網:https://runjs.dev/

          25. Wrap SVG Online

          Wrap SVG Online 通過拖放從計算機上傳圖像,可以輕松地編輯網頁的 SVG 圖像。

          官網:https://pavellaptev.github.io/warp-svg/

          26. SVG Path Visualizer

          SVG Path Visualizer 可以幫助我們通過輸入 SVG 路徑數據來快速直觀地查看 SVG 圖像。此外,該工具還提供了詳細的說明,以便了解如何創建基本的 SVG 形狀,如直線、曲線、三角形等。

          官網:https://svg-path-visualizer.netlify.app/

          27. BGJar

          BGJar 是一個在線工具,可以輕松快速地為網站創建 SVG 背景。只需編輯必要的信息,它將自動導出圖像或代碼供我們應用到網站。

          官網:https://bgjar.com/

          28. Wavesnippets

          Wavesnippets 可以將代碼分步設置為動畫、視頻或 GIF。

          官網:https://www.wavesnippets.com/

          29. Generate SVG Waves

          Generate SVG Waves 可以用來創建 SVG 波形背景。

          官網:https://svgwave.in/

          30. CodeSandbox

          CodeSandbox 是一個為 Web 應用程序開發而構建的在線編輯器,支持多種主流框架。

          官網:https://codesandbox.io/

          31. Openbase

          Openbase 幫助開發人員在數以百萬計的開源軟件包中進行選擇和使用。

          官網:https://openbase.com/

          32. CodePen

          CodePen 是一個在線的前端代碼編輯工具,可用于制作測試頁面、代碼調試,所見即所得。

          官網:https://codepen.io/

          33. JSONLint

          JSONLint 是一個 JSON 調試工具,如果遺漏了語法中的某些內容,它會進行檢查。JSONLint 是處理大型 JSON 格式的絕佳工具,而且很容易上手。

          官網:https://jsonlint.com/

          34. Minify

          Minifier 可以對 JavaScript 和 CSS 代碼進行壓縮,通過縮小可以提高網站加載速度。Minifier 通過刪除 .js 和 .css 文件中的空白并重新格式化它們以減小大小。

          官網:https://www.minifier.org/

          35. Unminify

          Unminify 和 Minifier 恰恰相反。使用 Unminify 可以使 .js 或 .css 文件可讀。這兩種工具都非常容易使用。

          官網:https://unminify.com/

          36. CRADIENT.ART

          CRADIENT.ART 是一個高級 CSS 漸變編輯器,使用帶有分層、設計工具和免費云存儲的功能豐富的編輯器設計插圖、圖案、圖標等。

          官網:https://gra.dient.art/

          37. 3DPop

          3DPop 可以使用 CSS 生成很棒的 3D 文本效果。

          官網:https://textpop3d.web.app/

          38. CSS Photo Filters

          CSS Photo Filters 是一個CSS圖片濾鏡工具,提供了 36 個 CSS 過濾器供我們使用。

          官網:https://baseline.is/tools/css-photo-filters/



          在字符串查找處理程序中,正則表達式是一個不可忽略的處理方式。

          我們能夠利用正則表達式輕松地做到檢索、替換那些符合某個模(規則)的字符串。

          正則表達式有著很強的靈活性、邏輯性及功能性, 可以迅速地用極簡單的方式達到字符串的復雜控制。

          但對于初學者來說,比較晦澀難懂;再者,正則表達式在實際開發過程中使用不會很頻繁。這樣的情況下,每次遇到編寫正則表達式處理問題時,就需要花費很多時間去調試驗證我們的正則匹配模式。

          今天,我們來分享一個正則表達式在線調試工具-regex101 。

          介紹

          regex101 是一個在線生成,測試及調試正則表達式的工具。

          regex101 支持測試多種語言(PCRE,Python2.7, ECMAScript(JavaScript),Java,Go等)的正則表達式解析,提供高亮匹配公式、正則解析步驟分析、匹配詳情等功能。


          主要特性

          正則匹配測試

          表達式編輯器中能夠提示對應正則表達式含義,提示測試字符串匹配到的正則表達式,并且可以選擇匹配模式修飾符。

          多語言引擎支持

          支持PCRE2,PCRE,ECMAScript(Javascript),Python2.7,Golang,Java8的正則表達式引擎解析。


          正則表達式解析流程展示

          字符串匹配詳情

          快速語法參考

          代碼生成工具

          分享表達式鏈接


          最后

          以上就是對regex101功能的基本使用說明, 通過以上對regex101的介紹,我們就可以使用regex101來調試我們的正則表達式了。

          希望能給大家在學習工作中提供少許幫助,為大家在日常項目中提高使用正則表達式的效率。


          參考:

          https://regex101.com/


          主站蜘蛛池模板: 美女AV一区二区三区| 亚洲av福利无码无一区二区| 亚洲欧洲∨国产一区二区三区| 国产精品一区在线播放| 波多野结衣一区二区免费视频| 久久国产精品最新一区| 婷婷国产成人精品一区二| 精品少妇人妻AV一区二区| 亚洲国产一区二区三区| 在线观看日本亚洲一区| 无码精品一区二区三区在线| 国产视频一区在线观看| 久久无码精品一区二区三区| 亚洲第一区在线观看| 日亚毛片免费乱码不卡一区 | 色欲AV蜜臀一区二区三区| V一区无码内射国产| 一区二区不卡久久精品| 日本一区二区三区在线视频| 国产一区二区精品久久91| 国产精品电影一区二区三区 | 日韩社区一区二区三区| 精品一区二区AV天堂| 日本夜爽爽一区二区三区| 在线观看国产一区亚洲bd| 在线观看日韩一区| 一区二区三区四区精品| 亚洲国产一区视频| 在线精品亚洲一区二区小说| 亚洲国产综合无码一区| 中文字幕日韩一区二区三区不卡| 免费无码一区二区三区| 无码日韩精品一区二区免费| 在线不卡一区二区三区日韩| 日本中文一区二区三区亚洲| 中文字幕一区二区日产乱码| 射精专区一区二区朝鲜| 亚洲AV无码一区二区三区牲色| 天美传媒一区二区三区| 亚洲一区二区视频在线观看| 国产在线无码视频一区二区三区|