- 博客(77)
- 资源 (3)
- 收藏
- 关注
原创 自己动手写一个移动端日期选择器组件
本文实现的日期选择器组件功能包括支持配置最大最小时间范围,支持切换不同的时间模式(比如年月日/年月/年月日时分秒),支持配置默认选中日期,以及支持自由嵌套在页面中使用。跟着文章一起来造个简单的轮子吧~
2022-02-12 18:39:37
4128
原创 小程序性能优化实践总结
项目简述 & 问题先简单介绍一下项目,就是一个比较常规的点餐小程序。界面如图:左边是分类菜单,右边是长列表,有多个分类的商品,单个分类滚动完后可以继续滚动切换到下一个分类,同时左边的分类菜单选中态会跟着切换到当前商品列表显示的分类。考虑到更好的用户体验,以及参考了美团等点餐小程序,这个商品列表的数据是一次性返回的。目前遇到的问题就是,当商品数量比较多时,首次渲染时间很长,而且页面会卡顿。优化方向逻辑优化小声bb:其实就是原来代码(由于历史原因)写得太烂了……OTL先放个图????
2020-10-28 14:54:41
579
原创 如何正确地 reset Vuex module state
这是项目之前遇到的一个bug,最终发现是由于 reset Vuex state 不正确,污染了 initState 导致的,隐藏得还挺深的,在这里记录一下。
2020-03-24 00:16:05
960
原创 网页如何与小程序交互通信
概述网页与小程序交互和通信需要在小程序里使用 web-view 组件打开网页,而且被访问的网页需要引入微信的 js-sdk,通过 js-sdk 提供的接口来给小程序发信息。具体可以参考小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html小程序后台配置业务域名这是小程序开发的限制,在 ...
2019-10-01 15:35:04
2396
原创 Nuxt 报错:render function or template not defined in component: anonymous
问题在 dev hot reload 模式下开发,本来是好的,添加了一段代码之后出现了这个错误。详细的错误信息如下:这提示看起来是系统级的错误,没什么头绪。于是google之,是找到挺多有提到这个错误的 issue,然而……都没看到有解决办法。好吧,还是靠自己先看一下。于是撤销大法好。。。我先注释掉添加的那部分代码,保存,果然没有再报错了。那就看看这部分添加的代码咯~分析&...
2019-05-07 00:42:02
8982
原创 win10 家庭版安装 Docker 踩坑
这个入门过程真是有点坑……我要记录一下2333前天想搞个 Docker 玩一下,官网下好了 Docker Desktop for Windows 的安装包,安装……抱歉 Docker 不支持 win10家庭版……我:……(从入门【还没】到放弃???)……怎么可能呢!!于是google之,发现是我自己的锅,官方文档其实已经写了系统要求和不满足的解决办法了,是我自己没看……= =ht...
2019-04-27 12:54:39
3033
原创 不使用 vue-cli 与 vue 模版,使用 Vue2.x + webpack4.x 从零开始一步步搭建项目框架
说明这是我根据慕课网上的一个课程 Vue+Webpack打造todo应用 过程一步步搭下来的框架,去掉了业务相关的逻辑。项目最终的效果包括了引入vue框架;使用CSS预处理器;使用babel;引用图片等静态资源;区分开发环境与生成环境,并做相应优化等。基本接近真正做项目时候的配置。**但是!!**毕竟是我个人根据练习课程搭的框架,跟真实工作可能有区别,请谨慎直接用于工作环境!!!项目的最终...
2018-11-01 17:10:05
3989
3
原创 使用 jekyll + github pages 搭建个人博客
本文首发于我的个人博客【https://dandelion-drq.github.io】这是我的个人博客,是用 jekyll + github page 搭建起来的。然后还使用了 jekyll-theme-H2O 这个主题。 目前就先这样吧,现在是离职状态,主要任务是学习,然后写写博文做记录。以后有空再自己写一个主题,也会慢慢地把自己以前的一些文章迁移过来。下面简单写一下搭建...
2018-08-14 23:18:16
1153
1
原创 javascript 正则表达式的使用
1. 语法有两种定义正则表达式的方式字面量形式var expression = /pattern/flags引用 MDN 的解释: pattern:正则表达式的文本。 flags:标志,可以是具有以下值的任意组合: g:全局匹配;找到所有匹配,而不是在第一个匹配后停止 i:忽略大小写 m:多行; 将开始和结束字符(^和$)视为在多行...
2018-07-27 18:11:17
361
原创 C# 使用 SmtpClient.SendAsync 方法发送邮件失败,总是返回 Cancelled
问题:调用 SmtpClient.SendAsync,在 SendCompleted 的回调函数里面总是获取到 e.Cancelled 为 true。 后来测试了一下,相同的代码,只是把 SmtpClient.SendAsync 改成 SmtpClient.Send 方法,邮件发送成功。原因:在发送邮件前把 SmtpClient 的实例释放了。因为 SendAsync 是一个异步...
2018-05-16 18:25:41
9126
原创 C# 使用 GDI+ 实现添加中心旋转(任意角度)的文字
需求分析&思路具体实现一个思考这篇文章是 GDI+ 总结系列的第三篇,如果对 GDI+ 的基础使用不熟悉的朋友可以先看第一篇文章《C# 使用 GDI+ 画图》。需求需求是要实现给图片添加任意角度旋转的文字,文字的旋转中心要是在文字区域中央,就像 CSS 的 rotate 函数一样的效果。如下: 分析&思路Graphics 类有个 ...
2018-04-09 00:30:04
2714
2
原创 C# 使用 GDI+ 给图片添加文字,并使文字自适应矩形区域
需求分析&思路具体实现需求需求是要做一个编辑文字的页面。用户在网页端写文字,文字区域是个矩形框,用户可以通过下方的拖动条调节文字大小。 如下图: 提交数据的时候前端传文字区域的左上角和右下角定位给后台。因为前端的字体大小单位与后端没什么关系,所以不能直接传字体大小,也就是后端要根据矩形区域以及文字内容来自己推算用什么样的字体大小合适。简单说就是知道...
2018-04-07 11:28:50
2212
原创 C# 使用 GDI+ 画图
需要用到的类如何创建画板如何保存画好的图片GDI+ 的坐标系使用 GDI+ 的一些注意事项最近做一个微信公众号服务,有一些简单的图片处理功能。主要就是用户在页面操作,前端做一些立刻显示的效果,然后提交保存时后端真正修改原图。 我们的后端是 ASP.NET,也就是 C# 语言了,C# 本身处理图片还是比较方便的,使用 GDI+ 就好,只需要添加 System.Drawin...
2018-04-01 16:27:15
2902
1
原创 IIS 配置 FTP 网站
在 服务器管理器 的 Web服务器IIS 上安装 FTP 服务在 IIS管理器 添加FTP网站配置防火墙规则说明:服务器环境是Windows Server 2008 R2,IIS7.5。1. 在 服务器管理器 的 Web服务器(IIS) 上安装 FTP 服务2. 在 IIS管理器 添加FTP网站 端口可以不用默认的,自己设置 ...
2018-02-23 18:43:27
4206
原创 Echarts 折线图y轴标签值太长时显示不全的解决办法
问题分析解决办法问题先看一下正常的情况 再看一下显示不全的情况 所有的数据都是从后台取的,也就是说动态变化的,一开始的时候数据量不大不会出现问题,后面y轴的值越来越大的时候就出现了这个显示不全的情况。分析先贴一下页面代码HTMLdiv class="row-wrapper"> div class="div-flex" st
2018-02-06 14:54:58
71755
8
原创 H5 audio 音频标签自定义样式修改以及添加播放控制事件
说明:需求要求这个音频标签首先要是可适配移动端浏览器的,音频样式就是参考微信做的。最终效果如下: 具体实现思路:H5 的 标签是由浏览器负责实现默认样式的。所以不同的浏览器样式不一样,有些还不太美观。所以我们一般会去掉默认样式,自己重新写。具体操作是定义 的时候去掉 controls 属性,这样就可以隐藏原生的 audio, 然后就可以加上自己写的 html
2017-08-28 14:43:54
26956
23
原创 EasyUI Datagrid 分页的情况下实现点击表头的小三角图标对数据库中所有数据重新排序
说明一下: 当点击 datagrid 表头某一列的小三角图标时,easyui 本身是有排序的,但是在当我们对 datagrid 进行了分页的情况下,点击排序只是对当前页的数据进行排序,而需求需要我对数据库里面的所有数据进行排序,这样的话只能从后台先排好序再返回了。看了一下文档,发现点击小三角图标时会触发 onSortColumn 事件,于是我们只要在触发这个事件的时候重新向后台请求一遍 datag
2017-08-23 12:01:07
1064
原创 log4net 部署到服务器后无法记录日志
在开发环境下是可以记录的,但是发布出去后不行。被这个问题困扰了好久,今天终于发现了原因!!我的 log4net 配置文件是另外写的,就保存在项目根目录下。 指定配置文件的方式是通过在 AssemblyInfo.cs 添加 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] 这
2017-07-10 17:46:07
4982
1
原创 C# 使用 ffmpeg 进行音频转码
先放一下 ffmpeg 的官方文档以及下载地址: 官方文档:http://ffmpeg.org/ffmpeg.html 下载地址:http://ffmpeg.org/download.html用 ffmpeg 进行转码很简单,全部都用默认参数的话用下面这句就行:ffmpeg.exe -i D:\test\1.aac -y D:\test\1.mp3 -- 1.aac是要转码的输入文件,1.
2017-06-27 23:31:08
5565
原创 ASP.NET 访问项目网站以外的目录文件
简单的说,可以通过在 IIS 添加虚拟目录的方法做到,获取访问路径的时候就用 HttpContext.Current.Server.MapPath("~/xxx"); 的方式。下面详细讲一下具体怎么做……首先看 IIS 上部署的项目网站结构:有两个项目网站,NewsAPI 和 FileAPI,现在想在 FileAPI 下访问 NewsAPI 下的 html 目录。 于是我在 FileAPI 下建了
2017-06-24 17:27:14
4802
原创 VS 提示:请考虑使用 app.config 将程序集“XXX”从版本“XX”重新映射到版本“XX”,以解决冲突并消除警告。
具体提示如下: 请考虑使用 app.config 将程序集“System.Web.Http.WebHost, Culture=neutral, PublicKeyToken=31bf3856ad364e35”从版本“5.0.0.0”[D:\Code…(项目路径就省略了)\bin\System.Web.Http.WebHost.dll]重新映射到版本“5.2.3.0”[D:\Code…\packa
2017-06-14 14:34:57
11427
原创 SQL SERVER 游标的使用
首先,关于什么是游标大家可以看看这篇文章,介绍得非常详细!! SQL Server基础之游标下面是我自己的应用场景……有个需求,需要把数据库表里面某一个字段的值设为随机不重复的值。表是这样的:这是一个爬虫抓取网址表。其中 CatchOrder 这一列就是要修改的列。CatchOrder 表示的是抓取顺序,本来这个值是等于 WebSiteId 的值的。新需求就是要把这一列的值修改为有限值范围内的随机
2017-06-06 22:16:55
579
原创 EasyUI 修改 Messager 消息框大小
需求是要修改确认消息窗口的大小。简单的调用方法是这样的:$.messager.confirm('操作确认', '确定批量编辑文章?', function (r) { ...}这个时候生成的弹窗默认宽度是300,高度是自适应的。这些在chrome执行 $.messager.defaults 可以看到。 所以我们要修改的话把这些默认值需要修改的重新定义一下,覆盖掉就好了。 代码如下:$.m
2017-05-16 17:35:01
17027
2
原创 SQL SERVER 字符串按数字排序
需求是这样的: 数据库表里面有一个字段类型是nvachar,存的值是数字和字符混合的,要实现先按数字排序,再按字母倒序。思路: 考虑这个字段的值是否是有规律可循的,把要按数字排序的部分转换为数字,再把剩下的字符排序。数据表是下面这样的:LevelName就是那个数字和字母混合的字段。 我这个表里存的LevelName都是数字+单个字符的格式。于是可以把前面的部分转换为数字,按数字排,剩下的部分
2017-03-31 23:18:51
7822
原创 C# 正则表达式的一些语法笔记
正则表达式包括纯文本,元字符与转义字符。反斜杠 + 元字符 表示匹配元字符本身。 eg:元字符 . 表示除换行符以外的任意字符,而 \. 表示匹配 . 。一般定义正则表达式字符串时会加上 @,表示不转义。 eg:string pattern = @"\bn\S*ion\b";如果要匹配双引号则需要用两个双引号。 eg:string pattern = "href=""\S+";可
2017-03-25 13:20:38
612
原创 EasyUI DataGrid 实现单行/多行编辑功能
要实现 EasyUI DataGrid 的可编辑很简单,在需要编辑的列添加 editor 【编辑器】就可以了。单行编辑// 初始化数据列表function initDatagrid() { $('#dg').datagrid({ loadMsg: '数据加载中请稍后……', striped: true, url: '/api/Employ
2017-02-22 22:30:52
13074
原创 EasyUI 动态创建对话框Dialog
// 拒绝审批通过function rejectApproval() { // 创建填写审批意见对话框 $("<div id='reject-comment'> </div>").dialog({ title: '请填写拒绝审批通过意见', closable: true, width: 350, height: 250
2017-02-22 21:13:45
2635
转载 InstallShield Limited Edition 打包软件安装包教程
从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“InstallShield Limited Edition for Visual Studio”,注意这个版本是免费的,只需要邮件注册下,就会有要注册码。虽然不知道微软这是何用意,但是既然他叫我们用,那就去用吧。(其实,早在VS2010中,微软就把InstallShield
2017-01-24 11:34:57
12136
1
原创 EasyUI combobox 的使用
获取值与设置值var val = $('#id').combobox("getValue"); // 获取值$('#id').combobox("setValue", 1); // 设置值初始化数据,增加一个“选择所有”的选择并默认选中该选项。// 初始化人员function initEmployee() { $.get('/api/Employee',
2017-01-22 16:16:53
1362
原创 EasyUI datagrid 使用小结
用了 Easyui 框架一段时间了,这个前端框架用起来还是挺方便的,也有很多现成的控件,看看官方文档应该还是能比较快用起来的。 在这里记录一下遇到过的bug或者当初耗了一点时间实现的功能吧……1. datagrid 跳到指定页var pager = $('#dg').datagrid('getPager'); // 获取分页Paper对象var pageSize = pager
2017-01-22 16:13:14
1526
原创 SQL Server 事务简单使用
-- 新建一个测试表demo,id自增create table demo( id int not null IDENTITY(1,1), val int not null)insert into demo values (5) insert into demo values (2) select * from demoset xact_abort on -- 设置当运行
2016-12-12 18:42:54
604
原创 Linux配置IP
先查看网卡和ip,确定要修改哪个网卡ifconfig如上图,我要改的是eth1这块网卡linux修改IP地址又两种方法,一种是临时的,用 ifconfig + 网卡名称 + IP ,这个重启机器后会恢复。另一种是修改配置文件,可以永久修改。下面讲第二种方法。IP的配置文件在/etc/sysconfig/network-scripts/目录下,每个网卡的配置文件名称为ifcfg-x[设备名],比如我e
2016-12-09 17:41:43
469
原创 在VirtualBox上安装CentOS 7
记录一下自己的安装过程,特别是其中的一些注意事项。添加虚拟机新建虚拟机,选择Linux,Red Hat(CentOS就是Red Hat发行版的开源发布版),名称自己起。 PS:名称那一栏点下拉框指定保存位置。分配内存,我的电脑内存是8G,这里就设置了4G。选择“现在创建虚拟硬盘”。文件类型选VDI。动态分配。硬盘大小我设置了50G。这里的50G是虚拟机可用硬盘大小的上限,而实际用多
2016-12-08 15:34:54
781
原创 使用putty连接VirtualBox上的CentOS 7
思路:先确保主机与虚拟机能ping通,才能用putty通过ssh连接虚拟机。在网上搜了一下,有两种办法。一种是设置虚拟机的IP,使其与主机处于相同网段。另一种比较简单,VirtualBox的虚拟机网络设置那里可以添加一个 host-only 网卡,添加之后通过这个网卡的ip主机与虚拟机就可以互相访问了。 PS:这时,虚拟机拥有两个网卡,既可以通过NAT网卡访问到Internet,又可以通过Host
2016-12-07 12:16:52
5475
1
原创 CentOS7:ifconfig command not found解决
问题描述 我是在VirtualBox上装的CentOS 7 Minimal,网上搜了一下原因,可能是CentOS 7的最小化安装少了一些工具,比如 ifconfig 及 netstat 等。因此解决办法很简单,把它们安装上就好了。首先判断一下是不是缺少了ifconfig,它是在/sbin目录下的[root@localhost ~]# cd /sbin`[root@localhost sbin
2016-12-07 11:30:44
58314
4
转载 配置Git绑定Git@OSC
用户名,这个名字会出现在以后的提交记录中。 git config --global user.name "Git@OSC用户名"然后是Email,同样,这个Email也会出现在你的提交记录中,此Email要与Git@OSC的注册Email一致。 git config --global user.email "Git@OSC账号"生成SSH key SSH key 可以让你在你的电脑和 Gi
2016-11-11 17:12:01
1848
原创 jQuery + Ajax + WebAPI 上传文件
HTML5 中已经可以用 Ajax 上传文件了,而且代码非常简单,借助 FormData 类即可发送文件数据。前端代码:<p><input type="file" id="upfile"></p><p><input type="button" id="upJS" value="用原生JS上传"></p><p><input type="button" id="upJQuery" value="用j
2016-09-11 22:49:35
5903
原创 ASP.NET MVC图片文件上传与下载
说明: 前后端代码中均只用到 ASP.NET MVC原生的技术,不需要用到ajax,WebAPI等。 下篇文章【 jQuery + Ajax + WebAPI 上传文件】会介绍使用Ajax POST来上传文件以及使用WebAPI做后台处理的方法。1. 上传文件ASP.NET MVC最简单的方式是使用表单来POST文件。前端代码如下:<form action="/B...
2016-08-19 14:57:24
5908
3
html5 audio demo【修复拖动进度条bug】
2018-07-06
计算机系统概论(原书第二版中文版)课后习题答案
2015-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人