记一次微信公众号的开发与后台搭建
2018-06-22 07:51:35来源:未知 阅读 ()
一.背景
刚入新公司不久,就碰见一个同事要离职,就交接了这个项目给我。同事的离职比较仓促,所以交接的也不是很好,这也是后面问题偏多的一个客观原因。项目如题所示,前端采用vue.js+node.js开发,后台采用c#开发接口,还需要开发一个c#的网站来展示数据。上一份工作做的是erp,用的是powerbuilder,所以这个项目还是涉及到比较多的生疏知识。
二.遇到的问题
1.微信测试环境搭建
微信的测试环境搭建还是比较麻烦的(对于新手来说),但是我回过头去看的时候,也不知道该写些什么,还是网上找教程吧。
/// <SUMMARY> /// 下载保存多媒体文件,返回多媒体保存路径 /// </SUMMARY> /// <PARAM name="ACCESS_TOKEN"></PARAM> /// <PARAM name="MEDIA_ID"></PARAM> /// <RETURNS></RETURNS> public string GetMultimedia(string ACCESS_TOKEN, string MEDIA_ID) { string file = string.Empty; string strpath = string.Empty; string stUrl = Common.TextHelper.WXUploadMediaUrl+"?access_token=" + ACCESS_TOKEN + "&media_id=" + MEDIA_ID; HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(stUrl); req.Method = "GET"; using (WebResponse wr = req.GetResponse()) { HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse(); strpath = myResponse.ResponseUri.ToString(); WebClient mywebclient = new WebClient(); string basePath = AppDomain.CurrentDomain.BaseDirectory + "Attachment";//附件临时存放路径 string amrFile = DateTime.Now.ToString("yyyyMMddhhmmssms")+".amr"; string mp3File= DateTime.Now.ToString("yyyyMMddhhmmssms")+".mp3"; try { mywebclient.DownloadFile(strpath, Path.Combine(basePath, amrFile)); ConvertToMp3(Path.Combine(basePath, amrFile), Path.Combine(basePath, mp3File)); file = mp3File; //file = amrFile; } catch (Exception ex) { //savepath = ex.ToString(); } } return file ; }
public string ConvertToMp3(string pathBefore, string pathLater) { string c = System.Web.HttpContext.Current.Server.MapPath("/ffmpeg/") + @"ffmpeg.exe -i " + pathBefore + " " + pathLater; log.WriteLine(c); string str = RunCmd(c); return str; } /// <summary> /// 执行Cmd命令 /// </summary> private string RunCmd(string c) { try { ProcessStartInfo info = new ProcessStartInfo("cmd.exe"); info.RedirectStandardOutput = false; info.UseShellExecute = false; Process p = Process.Start(info); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.Start(); p.StandardInput.WriteLine(c); p.StandardInput.AutoFlush = true; Thread.Sleep(1000); p.StandardInput.WriteLine("exit"); p.WaitForExit(); string outStr = p.StandardOutput.ReadToEnd(); p.Close(); return outStr; } catch (Exception ex) { return "error" + ex.Message; } }
function rotate(row) { var deg = eval('get' + $("#" + row).css('transform'));//构造getmatrix函数,返回上次旋转度数 var step = 90;//每次旋转多少度 $("#" + row).css({ 'transform': 'rotate(' + (deg + step) % 360 + 'deg)' }); } function getmatrix(a, b, c, d, e, f) { var aa = Math.round(180 * Math.asin(a) / Math.PI); var bb = Math.round(180 * Math.acos(b) / Math.PI); var cc = Math.round(180 * Math.asin(c) / Math.PI); var dd = Math.round(180 * Math.acos(d) / Math.PI); var deg = 0; if (aa == bb || -aa == bb) { deg = dd; } else if (-aa + bb == 180) { deg = 180 + cc; } else if (aa + bb == 180) { deg = 360 - cc || 360 - dd; } return deg >= 360 ? 0 : deg; //return (aa+','+bb+','+cc+','+dd); }
参考文档: http://m.blog.csdn.net/cengjingcanghai123/article/details/53537242
三.总结
花了将近一个月的时间,虽然过程磕磕碰碰,但总体来说还是完成了任务。不足之处有很多,比如前端样式贼丑(虽然我不是前端,不过小公司只能前后端兼收并蓄了),比如效率略低(这个是因为我之前做的是pb,c#虽然有基础,但是实际的开发经验并不多)。大体来说,对自己的表现还算满意,毕竟涉及到的东西都不太熟悉,一个月的时候能够完成任务,打个60分吧!我的优点在于逻辑能力与数据库(上一份工作是做erp的,虐出来),缺点也很明显(基础不够好,所以还是需要狠补基础),希望再接再厉!如果写下的这篇文章能够解决某个猿的部分问题,可以让某些猿少踩一个坑,我就挺开心的!文笔不好,絮絮叨叨,求轻虐!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:DIV实现水平或垂直滚动条
- .net微信服务号发送红包 2020-02-27
- .NET微信开发之PC 端微信扫码注册和登录功能实现 2020-02-23
- ASP.NET Core集成微信登录 2020-02-17
- ASP.NET第一次访问慢的解决方法(MVC,Web Api) 2019-07-10
- ASP.NET微信公众号用于给指定OpenId用户发送红包 2019-01-21
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash