- 博客(302)
- 资源 (67)
- 收藏
- 关注
原创 钉钉接口调用的莫名错误listOwnGroup
钉钉的H5微应用一直运转的好好的,昨天同事反映,出错了。使用了很多方法,都没有找到原因。后面再三排查后,发现很可能出现在接口的调用上,因为该错误的产生是一个按钮触发的,而按钮操作了之后,服务端并没有相应的日志,说明没有到后端,还是在前端。而该按钮只是调用了钉钉接口,于是怀疑是接口冲是。立即查了钉钉的API文档,发现接口多了两个参数,而之前开发的,一直是使用原有的接口和参数。原来的调用代码如下:dd.biz.chat.chooseConversationByCorpId({
2021-05-20 12:01:26 1394
原创 自定义半整型的数值类型
我们常用的数值类型有int、uint、short、long、float、double,假定有某种特殊的需要,需要一种仅可以赋值为整数或0.5倍数的数值类型,这时常用的数值类型就用不了了。这时我们可以自定义一种新的数值类型来适应这种需求,比如我们将其命名为“半整型”。半整型,HalfInt,要实现这样的数值类型,则需要实现相应的加法、减法、乘法、除法、赋值、等于、不等于,这样在书写的时候才会方便。比如说HalfInt a=10,a+=3;a-=2;a*=4a/=4;if(a==10){
2020-07-20 09:57:48 645
原创 Mqtt协议无法接收到离线消息
Mqtt协议的实现,网上有很多文章、源码,可以下载来慢慢研究。比如《自己动手实现MQTT协议》,我参考的是这篇文章,按协议一点一点实现的。但对于离线消息的接收,所说的不多,一般的文章都是说到,要将ClearSession的标识设置为0,而用QoS要为1或者2,然后重新连接就可以收到离线消息了。但在用C#实现的过程中,连接已经正常了,QoS也设置为2了,就是收不到离线的消息。后来发现,问题不是出现在协议上,而是在数据的接收上。在接收数据时,用socket.Receive来接收,在连接的时候,会返回数据,而
2020-07-14 16:49:24 3920
原创 IOS微信支付后网络请求NSPOSIXErrorDomain错误
在IOS中使用Objective-c开发,加入微信支付的SDK,一开始都还比较顺利,可是在微信支付完成后,要将支付的结果通过网络请求更新到数据库时,不管怎么试,都提示NSPOSIXErrorDomain的错误,展开userInfo的信息,是“_NSURLErrorFailingURLSessionTaskErrorKey和_NSURLErrorRelatedURLSessionTaskErrorK...
2019-08-29 15:30:21 1184
转载 (转载)EditText限定输入小数位数
通过构造方法传入小数点后面的位数,如果调用方法为:edittext.setLongClickable(false); //禁用粘贴edittext.setFilters(new InputFilter[]{new DecimalDigitsInputFilter(2)});//限定两位小数public class DecimalDigitsInputFilter implement...
2019-07-11 17:12:11 1065 2
原创 FileUpload上传过大文件异常
在Asp.net中使用FileUpload上传文件,对于小文件一般是没有问题的,但是对于大的文件则会出问题。提示“未显示页面,因为请求实体过大”,网上找了资料,按照所说的方法来处理,都未能解决该问题。在web.config中的configuration/system.web节点中已经作了如下配置,但依旧异常。<httpRuntime targetFramework="4.5" ex...
2019-07-11 10:59:34 2159
转载 双指针技巧汇总(转)
我认为双指针技巧还可以分为两类,一类是「快慢指针」,另一类是「左右指针」。前者解决主要解决链表中的问题,比如典型的判定链表中是否包含环;后者主要解决数组(或者字符串)中的问题,比如二分查找。一、快慢指针的常见算法快慢指针一般都初始化指向链表的头结点 head,前进时快指针 fast 在前,慢指针 slow 在后,巧妙解决一些链表中的问题。1、判定链表中是否含有环这应该属于链表最基本...
2019-06-26 14:01:48 1283 1
原创 SQL中的NULL是标记而不是值
在SQL中,经常会碰到NULL的数据,由于编程语言如C、C++、C#、JAVA等都有NULL,于是会理所当然的将两者等价,实际上两者是不等价的。在C、C++、C#、JAVA等语中,NULL其实是作为值而存在的。比如C#中创建一个对象Object,我们可以赋值为null,而此时有一点很明确就是这个数据是Object类型。但在SQL中,数据为NULL却是未知的类型,或许有人会说了数据库的列在设计的时候...
2019-06-17 09:54:42 654
原创 Asp.net+Vue+EmelentUI的实现(七)权限控制
基于业务的需求,每一个页面会有不同的功能,对不同的功能又需要进行权限管控,那基于Asp.net和Vue要如何实现权限管控呢?比如有增加、删除、修改的功能,需要控制对应的权限,如果这些功能的按钮在没有权限时不渲染出来,那就达到了目的。所以解决权限控制的关键,在前端就是控制是否渲染。基于这样的思考,于是有了这样的思路:使用vue的v-if来控制渲染,v-if的值由asp.net的后台代码来给定,示...
2019-05-31 10:12:13 2833 3
转载 (转载)使用vs2019进行Linux远程开发
作者:@apocelipes本文为作者原创,转载请注明出处:https://www.cnblogs.com/apocelipes/p/10899484.html通常,当我们开发Linux程序时有两种方案:在Linux上直接编写程序并进行运行测试和调试 在Windows或Mac OS X上借助工具进行远程开发虽然我自己是在Linux环境上直接进行开发的,但也有许多的人是在Windows...
2019-05-22 09:19:17 4713 2
原创 Asp.net+Vue+EmelentUI的实现(六)扩展ElementUI的图标
ElementUI提供的图标数量有限,无法满足项目的要求,这时我们需要扩展图标。那要如何扩展呢?我们可以利用Iconfont来扩展。1.登录Iconfont,搜索到所要的图标,加入到购物车.2.点击右上角的购物车图标,可以看到刚刚加入到购物车的图标3.将图标【添加至项目】没有项目则新建一个项目,如下图假如项目名称为【TEST】,则确定后进入到项目中,如下图...
2019-05-10 11:36:50 4268
原创 Asp.net+Vue+EmelentUI的实现(五)全局组件的注册
Vue注册全局组件,只要直接注册即可,代码如下Vue.component('name', { props: [], template:' '})如果我们生成一个vue-comment.js的JS文件,并且通过PageBase的自动加载方式来加载,那么就可以实现自动载入了。在PageBase的载入默认JS的地方,加入载入vue-component.js的代码,新代码如下...
2019-05-10 09:29:42 3515 8
原创 Android的自定义长按
android的弹出菜单,使用activity来实现,但是长按的时间太短,容易与其他view的触摸逻辑相冲突,代码如下 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l...
2019-05-09 11:33:35 1221
原创 PopupMenu弹出位置的控制
PopupMenu作为弹出菜单是很好用的,但是默认只能弹出在view的下方,而实际中这样的弹出位置可能无法满足需求,比如自定义的canvasView,要在canvasView长按的位置弹出菜单,PopupMenu只有一个show的方法,没有可以设置位置的方法,但当我们跟进源码去看时发现了这样的一段代码:PopupMenu.classpublic void show() { ...
2019-05-09 10:57:41 11052 4
原创 Asp.net+Vue+EmelentUI的实现(四)菜单栏与页面的路由载入
基于vue和emelent ui来创建菜单栏,可以通过官方的demo来实现,而页面的载入,由于我们没有使用vue-route的路由式的载入,所以我们选用iframe来载入,实现的效果如下图default.aspx的页面代码如下<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" In...
2019-05-06 15:48:35 3003
原创 Asp.net+Vue+EmelentUI的实现(三)JS和CSS的自动载入
在前面的文章中实现了框架的简单搭建、身份的验证,但每个页面都要引入vue和element等相关的js、css,这样相当繁琐,那有没有什么方式能够自动实现的呢?有的。这就要用到asp.net的机制。因为aspx的每一个页面都是通过后台请求来推送到前端的,所以可以在收到请求后,作出一定的处理,把需要加载的js、css直接赋进去。为此,我们增加了一个PageBase类,代码如下。/// <s...
2019-05-06 15:24:17 2755
原创 Asp.net+Vue+EmelentUI的实现(二)登录验证
在《Asp.net+Vue+EmelentUI的实现(一)框架搭建》一文中实现了简单的框架搭建,现在继续登录验证的实现。我们采用的是Asp.net来构建的,所以首选asp.net的验证机制。1.web.config的配置<?xml version="1.0" encoding="utf-8"?><!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问...
2019-05-06 14:55:34 8760 3
原创 Asp.net+Vue+EmelentUI的实现(一)框架搭建
vue对于web端的开发优势是很明显的,特别是单页应用,响应、数据等都很明显,而且开发效率也高,又有很多资料可查、有社区的支持。但vue对于开发较大的项目时,则会显得笨重,因为编译成了单页应用,非常臃肿,首次加载变的很慢。而且在使用VS来开发时,虽然VS可以创建vue的项目,但是基于node.js来编译的,不好操作,而且经常出现卡死现象,于是就考虑有没有其他的方式来应用vue。vue本质上是一...
2019-05-06 13:46:09 33403 18
原创 SQL中用OFFSET FETCH NEXT 分页的坑
在SQL2012后的版本中支持了OFFSET index FETCH NEXT page_size ROWS ONLY的分页方式,但要分页就必须要有排序,而排序的字段选择的不对,就有可能造成分页结果不正确,比如第1页和第2页的数据有重复。为什么呢?究其原因,是因为排序字段的数据不唯一,或才有null,比如按价格排序,有同一价格的商品很多,结果就会造成排序错误。所以需要选择唯一值的字段来排序,比...
2019-04-10 09:12:24 9840
原创 android的图形旋转与点内判断
android的图形绘制是基于canvas,旋转也是对canvas进行旋转,但是因为旋转是直接旋转了canvas,所以必须在旋转前保存(save),然后再旋转后再恢复(restore),否则后续的图形都会绘制在旋转后的canvas上。示例代码如下/** * 绘制图形 * * @param canvas */ private void drawG...
2019-04-08 14:49:50 1068
原创 android wifi调试(无需安装插件)
android开发时,用数据线连接来调试,非常麻烦,我们可以用adb命令来实现wifi的无线调试。1.将设备用数据库连到电脑上,注意一定得是数据线,有的是充电线,并不具备数据连接的功能,会导致设备识别不到。2.在Android Studio连接到设备上调试,确认设备连接调试是OK的。3.打开CMD输入命令 adb tcpip 5555,端口5555可自行指定4.adb开启后,再输入...
2019-03-21 10:00:05 2281
原创 微信支付签名失败与回调无响应的坑
一、按微信官方的c#部分demo的代码,付款或退款时签名失败,总结了一下,大致以下几种可能。1.参数没有按官方的接口传输。2.参数正常,但转换成xml传输时,字符串放到CDATA内,没有放到XML节点中,实际上字符串放到CDATA和XML节点中都是可行的。官方的demo是放到CDATA中,而官方文档是放到XML节点中。所以严格来说,这个不算是坑。3.按官方demo的代码,在生成签名时m...
2019-03-13 09:43:31 3813 2
转载 异步 API 的设计
网站的前后端通信,往往会有异步请求,这时应该怎么设计 API?我最近读到一篇文章,作者介绍了他的做法,设计得很精细,我觉得值得借鉴,可以当作异步 API 的标准设计。一、同步 API为了便于比较,先看看同步 API 的设计。下面是一个很简单的例子。客户端发出一个请求,要求创建资源。POST https://api.service.io/starsname='Deat...
2018-12-13 11:59:22 1601
原创 Newtonsoft.Json的循环引用解决方案
网上有很多关于Newtonsoft.Json循环引用的解决方案,比如设置循环引用为Ignore,这样在输出JSON时就不会输出。 var setting = new JsonSerializerSettings(); setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; var json = JsonConver...
2018-08-31 11:37:22 7738 6
原创 WebApi的Swagger中实现area分级Controller
Asp.Net的WebApi中使用Swagger作为说明和测试的页面是非常不错的,比起WebApiTestClient来至少在界面上的很大的提升。但是使用Swagger时如果只是一般的控制器直接放到Controller下就可以了,而如果因不同的业务需求而需要分类或者有同名的类名时时则没办法很好的处理,有的人是在Controller下直接手动以不同的前缀或者后缀来区分,有的是只能改成其他的名字,总之...
2018-08-20 11:58:25 6469 3
原创 VS编译间接引用的DLL不一定输出
如果A引用B,B引用C,那么A对C就是间接引用,一般的编译A时会输出B的DLL,而因为B对C有引用,所以也会输出C的DLL。但是实际编译时发现,并不一定都会输出C的DLL。后面不断的追查原因,最终发现是与B对C引用时代码的调用有关。如果B对C的调用都是常量的方式,比如C中都是CONST常量,或者B只调用了C的CONST常量。那么编译的时候,B不会带上C的引用,这个可以ildasm工具,去查看B的D...
2018-05-24 16:06:16 1302
原创 RGB转8色16色256色
RGB色的图片有255*255*255=16581375种颜色,如果再加上透明度ARGB就要再乘以255,这么多的颜色在图形处理中有时不需要使用那么多的颜色,只需要转化成8色、16色或者256色就可以了,而透明度则作特殊处理,比如在阀值80以下的定为透明,80以上的定为不透明,透明的则用0号索引色,不透明的就用大于0的索引色,这样就在一定程度上转化了图片的颜色同时又保留了一定的透明度,在有些场景中...
2018-05-17 08:38:02 8234 1
原创 小程序之退款失败
小程序的微信支付调用的是JSAPI下的支付方式,但在退款的时候需要通过HTTPS来交互。在发起HTTPS请求时,需要读取证书,关键代码如下: //是否使用证书 if (isUseCert) { string path = HttpContext.Cur...
2018-04-18 10:45:40 4811 1
原创 WebAPI中HttpResponseException返回JSON
在WebApi的开发中,通常会Global.asax中使用config.Filters.Add(new GlobalExceptionAttribute())来注册一个全局的异常GlobalExceptionAttribute来处理异常,比如UnauthorizedAccessException,ValidationException等,但这些异常只是直接抛回了html的页,在WebAPI的请求中...
2018-04-18 10:32:02 2722
原创 WebApi的Area中的WebApiTestClient
使用asp.net的来开发WebApi可以达到事半功倍的效果,而一般的xxxxController是放到Controller文件夹下的,如果需要进行不同的业务层的划分则不好处理,因为所以有controller都会编译到同一命名空间下,无法再细分。那有没有其他的方法可以实现呢?可以的!我们可以通过area来实现。步骤1:新建一个web的空项目,然后打开nuget项目,搜索WebApiTestClie...
2018-03-30 14:32:07 1393
原创 kotlin的canvas绘制path
kotlin中调用canvas的drawPath,通过设置Paint的style可以绘制边框或者填充。当为FILL时则填充,为STROKE则绘制边框。在绘制边框时,使用path的lineTo来设置每一个绘制的点,但绘制之后,却发现绘制会从左上角开始绘制。一遍一遍的查代码,并没有添加左上角的点,那为什么会从左上角开始绘制?难道是path的默认起点是左上角?那如果是这样,又怎么修改左上角的点呢?查调用...
2018-03-29 16:12:49 1287
原创 小程序web-view的神坑
微信小程序的web-view可以外链站点,只要该站点在小程序的后台设置即可。站点需要https的站点。原本是很简单的一件事,只要将url放到web-view的src中就可以了。实际也是跑起来了。可是在安卓中跑没有问题,而在苹果上一跑就出问题了,一片空白。不知道怎么回来事。 设置src的代码很简的,就是页面的data中定义了一个src,然后在onLoad的函数中设置了动态的src.var ur...
2018-03-15 16:45:36 19044 4
原创 APP中的微信登录调试
在APP中进行微信登录时,需要先申请得到appId。这个网上有很多相关的文章。这里主要是说一下,在微信登录调试时,有文章说是要用申请appId时使用的签名来生成release下的apk,然后将apk安装就可以微信登录。但是在这个过程中,难免是要调试的,而release包是无法调试的。那要怎么办?在Android Studio中的build.grade,增加一个debug模式的签名配置,使用申请ap...
2018-03-13 11:06:30 2799
原创 TextView的textSize与getDimensionPixelSize的坑
Android中的TextView直接对textSize赋值时,显示的结果和预期的差别很大,找了好久的原因,终于找到了说法,是textSize默认赋值时使用的是sp单位,而values中dimens中定义的是另一种单位,比如dp,这样就导致两者单位不同,显示也就有很大的差异。要解决这个问题,只需要在给textSize赋值时指定相应的单位。为此,不能直接用textSize=xxx的赋值方式,必须改用...
2018-02-25 14:49:55 881
原创 ADB WIFI DEBUG(ANDROID STUDIO)
Android Studio开发Android时,需要真机调试。常见的方法是用USB线连接然后调试。但是USB线的连接相当麻烦。那有没有无线调试的方式呢?有的。一般有两种方式一、在手机上安装ADB无线调试的APK,但是需要root权限,有很多手机拿不到这个权限。所以这个有一定的局限性。二、使用插件ADB WIFI这里使用的是第二种方法,具体步骤如下1.在Android Studio中的Settin...
2018-02-09 14:35:01 924
原创 小程序开发系列(九)文档下载与预览
在小程序中,有时数据中含有一些必要的文档需要下载,当我们与后端交互得到了文档的URL后,无法直接预览,需要将其下载,然后再预览。UI代码如下 文档:{{doc.Name}}其中doc是后端返回的数据,内部包含了Url和Name两个字段。同时在View中绑定了一个下载文件的事件。 previewFile: function (event) { var that =
2017-11-04 14:19:58 4045
原创 C#记一次静态变量的坑
有时为了加快显示的速度,会将相对不变的数据给缓存起来。在缓存起来时,比较直接的方法是放到静态变量中。在项目中,由于需要从服务器中捞起较多的数据,一般要3-5秒,网络稍慢的时候会更长时间。而每次显示界面时,都需要这么长的时间,显然是很不友好的。于是,就将这些数据放到了静态变量A中。而静态变量A又同时生成了一个菜单控件Menu1,在菜单控件Menu1的项目中响应其点击事件MenuItemClick
2017-11-03 18:06:17 9356
转载 Python完全新手教程
Python完全新手教程作者:taowen, billriceLesson 1 准备好学习Python的环境下载的地址是:www.python.org为了大家的方便,我在校内作了copy:http://10.1.204.2/tool/compiler&IDE/Python-2.3.2-1.exelinux版本的我就不说了,因为如果你能够使用linux并安装好说明
2017-10-25 17:05:56 1320
转载 Python线程指南
本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。尊重作者的劳动,转载请注明作者及原文地址 >.1. 线程基础1.1. 线程状态线程有5种状态,状态转换的过程如下图所示:1
2017-10-25 16:47:41 363
原创 Python(VSCode)无法找到pyodbc模块
在vscode中安装好python的插件,并配置正确后,就可以直接编写python了.但在连接数据库的时候需要用到pyodbc模块,在安装python27的时候,该模块是没有的。所以需要额外的再安装该模块。否则会提示 name pyodbc module can not find.下载pyodbc.可以下载pyodbc-3.0.7.win32-py2.7模块,然后进行python编码。示例
2017-10-18 08:33:24 6567
AspNetVueElementUI.zip(含图标扩展)
2019-05-10
AspNetVueElementUI(含组件注册)
2019-05-10
AspNetVueElementUI
2019-05-06
WinForm内嵌Unity3D并实现交互
2015-11-17
WinForm嵌入Unity3D并实现交互
2015-11-17
json转换c#实体类
2015-01-14
NDK开发的简单实例(JNI及Android的C组件实现)
2014-03-24
Android之动态库生成并打包到APK中(Windows下)
2014-03-19
Ant脚本打包Android程序的demo 多渠道及第三方JAR打包
2014-03-17
Ant脚本打包Android程序的demo(含打包第三方jar)
2014-03-14
Linux下以C构建WEB服务同时响应XHR(XMLHttpRequest)请求
2014-01-28
CCI所需的libz3.dll、Microsoft.Z3.dll、Microsoft.Z3V3.dll等的DLL安装包
2014-01-23
C#的COM事件在C++和JAVA中触发和响应的实现
2013-12-13
.NET4利用MemoryMappedFile实现跨进程多个可执行程序之间的通信
2013-11-13
谷歌插件开发实例(CSDN快速登陆)
2013-10-29
VM清理工具
2013-09-14
C#开发Android应用实践(英文版)
2013-08-07
C#HTTP代理的实现之注册表实现
2013-07-29
C#开发的Telnet模拟工具(基于SOCKET通信,可以直接按SMTP/POP3/IMAP通信协议操作)
2013-07-25
HTML5摄像头播放视频和截图
2013-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人