特点1、代码简单、灵活可靠。
2、可扩展性强:参数传递采用map[string]interface{},不需要定义复杂的结构,满足多变的参数需求。
3、支持服务商模式和非服务商模式。
2018/5/20 16:07:31 29KB Go开发-第三方API
1
C#获取领取宝用户信息,基于官方SDK写的一个小DEMOAuth_code=Request.QueryString["auth_code"];if(string.IsNullOrEmpty(Auth_code)){varurl=string.Format("https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id={0}&scope=auth_user&redirect_uri={1}",appid,ENCODED_URL);Response.Redirect(url);}
2017/6/6 5:55:40 933KB c# 支付宝 DEMO SDK
1
PB新大陆星POS扫码支付源码,调用C#动态库,简单实现接口,采用POWERBUILDER9.0开发stringls_urlstringls_datastringls_ddstringls_zfqd//【交易类型--传入平台用】ifrb_1.checked=truethen ls_zfqd="WXPAY"endififrb_2.checked=truethen ls_zfqd="ALIPAY"endififrb_3.checked=truethen ls_zfqd="YLPAY"endif//【生成请求地址===从配置参数中维护请求地址的一部分】ls_url=gs_pos_requesturl+"sdkBarcodePay.json"//【判断输入金额能否符合要求】ifdec(em_1.text)<=0.00then messagebox("系统提示【MYSOFT】","所输金额不正确!~r~n请重新输入!") em_1.setfocus() returnendif//【判断商户订单号能否为空】ifsle_4.text=""then messagebox("系统提示【MYSOFT】","订单号不能为空!") returnendif//【判断能否扫描付款码】ifsle_code.text=""then messagebox("系统提示【MYSOFT】","付款码不能为空!") sle_code.setfocus() returnendif//【判断能否扫描付款码】iflen(sle_code.text)=0then messagebox("系统提示【MYSOFT】","请扫描服务对象付款码......") sle_code.setfocus() return-1endif//【判断订单号能否为空】iflen(sle_4.text)=0then messagebox("系统提示【MYSOFT】","订单号不能为空!") sle_4.setfocus() return-1endif//【初始化伪随机数发生器,让应用程序每次运用不同的伪随机数序列。
】randomize(0)//【清除is_keys[]is_value[]】inv_wxpay.of_clear()//====================生成公共请求参数==============================================================//【操作系统:3-直连】inv_wxpay.of_add_pos("opSys","3")//【字符集:00-GBK】inv_wxpay.of_add_pos("characterSet","00")//【机构号,从配置参数维护】inv_wxpay.of_add_pos("orgNo",gs_pos_orgno)//【商户号,从配置参数维护】inv_wxpay.of_add_pos("mercId",gs_pos_mercid)//【设备号,从配置参数维护】inv_wxpay.of_add_pos("trmNo",gs_pos_trmno)//【商户单号,不能重复,若重复则返回:数据库错误】inv_wxpay.of_add_pos("tradeNo",sle_4.text)//【设备端交易时间:yyyymmddhhmmss】inv_wxpay.of_add_pos("txnTime",string(now(),"yyyymmddhhmmss"))//【签名方式:MD5】inv_wxpay.of_add_pos("signType","MD5")//【版本号:默认V1.0.0】inv_wxpay.of_add_pos("version","V1.0.0")//==================生成商户主扫请求参数============================================================//【实付金额:分为单位】inv_wxpay.of_add_pos("amount",string(long(dec(em_1.text)*100)))//【订单总金额:分为单位】inv_wxpay.of_add_pos("total_amount",string(long(dec(em_1.text)*100)))//【扫码支付授权码】inv_wxpay.of_add_pos("authCode"
2015/6/24 6:08:54 11.64MB PB POWERBUILDER
1
poi解析excel功能参数说明此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后前往指定参数做后续处理.1.POIUtil.java工具类解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,通过workbook.getNumberOfSheets()获取工作簿数量,遍历工作簿,sheet.getLastRowNum()获取最大行数,将每行数据放入Listlist=newArrayList(),并根据excel数据类型将器转换为字符串、数字、Boolean、公式、空值类型防止出现错误,最后前往一个list.2.ExcelUtil.java工具类解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快,与Excel表顺序保持一致),Sheet表1————>List1步骤1:根据Excel版本类型创建对于的Workbook以及CellSytle步骤2:遍历每一个表中的每一行的每一列,这里做了些小改动,因为后续可能解析过后可能会保存入数据库,这里为第一行数据添加一个自定义表头String[]p=newString[]{"name","age","sex","tel","address","e-mail","phone"};遍历的列数量以p的length为准步骤3:一个sheet表就是一个Json,多表就多Json,对应一个List一个sheet表的一行数据就是一个Map一行中的一列,就把当前列头为key,列值为value存到该列的Map中Map一个线性HashMap,以Excel的sheet表顺序,并以sheet表明作为key,sheet表转换Json后的字符串作为value最后前往一个LinkedHashMap3.ExcelToJsonPoi.java工具类这个与上面工具类类似,不过这个是解析本地excel文件不是使用的流,使用迭代遍历sheet工作簿与每行每列的值,将所有类型作为String类型处理前往一个json对象输出至控制台
2021/10/17 15:09:19 51.92MB poi解析excel
1
废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到).1.load(url,[data],[callback]):载入近程HTML文件代码并插入至DOM中。
url?(String):请求的HTML页的URL地址。
data?(Map):(可选参数)发送至服务器的key/value数据。
callback?(Callback):(可选参数)请求完成时(不需要是success的)的回调函数。
这个方法默
2016/4/16 3:30:06 138KB ajax callback html代码
1
俗说好记性不如个烂笔头,下面是jquery中的ajax方法参数详解,这里整理了一些供大家参考。
?1.url:要求为String类型的参数,(默认为当前页地址)发送请求的地址。
2.type:要求为String类型的参数,请求方式(post或get)默认为get。
留意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。
3.timeout:要求为Number类型的参数,设置请求超时时间(毫秒)。
此设置将覆盖$.ajaxSetup()方法的全局设置。
4.async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。
如果需要发送同步请求,
2015/2/8 18:23:55 79KB ajax jquery jquery事件
1
源码简介与安装说明:稻草人PHP系统是一个努力于业务系统的快速开发及快捷建立的PHP企业网站源码。
稻草人PHP系统安装步骤:下载源码解压后,Web服务器配置根目录为public安装系统如下:安装路径是:host/install安装完成后,后台地址是:host/admin初始化用户名和密码是admin123456nginx配置:charsetutf-8;location/{try_files$uri$uri//index.php?$query_string;}
2017/7/1 18:56:24 15.58MB 源码
1
二进制查找一种轻松查找来自一个或多个提供商的工具。
用法使用BinLookup库很简单,首先实例化BinLookup类:$binLookup=newBinLookup\BinLookup();添加提供者$binLookup->addProvider(new\BinLookup\Provider\BinListNetApi());并执行搜索var_dump($binLookup->search(431940));输出:classBinLookup\Provider\Result#14(10){protected$_bin=>string(6)"431940"protected$_brand=>string(4)"VISA"protected$_c
2021/5/9 21:54:33 14KB PHP
1
C#写的二维码编码类和二维码解码类,不调用任何控件,方便翻译成任何语言,可在任意平台上运行。
内有说明文档,说明怎样设置和调用,使用非常的方便,编码一个类,解码一个类,不像网上搜索的那些各种复杂不好用,是我把网上搜索的冗长的代码精简提炼出来的。
以下为使用说明:编码:命名空间:namespaceewmbm二维码类名:publicclassewmbm二维码编码可设置变量 1:ewmbm二维码编码.blx类型//编码类型,数字、字母或者中文(默认中文) 2:ewmbm二维码编码.bbb版本//数据容量(默认版本7) 3:ewmbm二维码编码.bjcdj纠错等级//低、中、高、完满(默认中) 4:ewmbm二维码编码.bfdbs放大倍数//每个数据点宽几个像素(默认4) 5:ewmbm二维码编码.bmfs编码方式//(默认UTF8)准备工作: 将【二维码\Resources】中的所有dat文件,加入资源文件 或者: 将代码中三处读取资源文件的地方改成读取文件也可以, 搜索【btemp=(sbyte[])二维码.Properties.Resources.ResourceManager.GetObject(fileName);】即可找到三处读取资源文件的地方使用函数: usingewmbm二维码; Bitmapbtemp=ewmbm二维码.ewmbm二维码编码.drawqr画二维码(string要编码的文字);//***************************************************解码:命名空间间:namespaceewmjm二维码类名:publicclassewmjm二维码解码可设置变量 1:ewmjm二维码解码.bmfs编码方式//(默认UTF8)使用函数: usingewmjm二维码; ewmjm二维码解码decoder=newewmjm二维码解码(); stringttemp=decoder.jm解码(Bitmap要解码的图片);
2016/4/16 3:30:07 1.61MB C# qrcode 二维码 源码
1
LeetCodecpp最新中文题解.pdfLeetCodecpp最新中文题解.pdfLeetCodecpp最新中文题解.pdf目录3.4Addbinary615.1.5BinaryTreeLevelOr-3.5LongestPalindromicSubstring.62dertraversalil3.6RegularExpressionMatching665.1.6BinaryTreeZigzag3.7WildcardMatching67LevelOrdertraversal.963.8LongestCommonPrefix5.1.7RecoverBinarySearch3.9ValidNumber70Tree983.10Integertoroman725.1.8SameTree3.11RomantoInteger735.1.9SymmetricTree1003.12CountandSay745.1.10BalancedBinaryTree..1023.13Anagrams755.1.11FlattenBinaryTreeto3.14SimplifyPath76LinkedList1033.15LengthofLastWord775.1.12PopulatingNextRightPointersineachnodeii105第4章栈和队列7952二叉树的构建10641栈795.2.1ConstructBinaryTree4ValidParentheses79fromPreorderandIn4.1.2LongestvalidParenorderTraversa106theses805.2.2ConstructBinaryTree4.1.3LargestRectangleinfromInorderandposHistogram82torderTraversal1074.1.4Evaluatereversepol-53二叉查找树108ishnotation845.3.1UniqueBinarySearch4.2队列85Trees.1085.3.2UniqueBinarySearch第5章树86Treesli.1105.1二叉树的遍历865.3.3ValidateBinarySearch5.1.1BinaryTreePreorderTreeTraversal865.3.4ConvertSortedarrayto5.1.2BinaryTreeInorderBinarySearchTree...112Traversal885.3.5ConvertSortedListto5.1.3BinaryTreePostorderBinarySearchTree113Traversal9054二叉树的递归.1145.1.4BinaryTreeLevelOr5.4.1MinimumDepthofBidertraversal)2narylree115目录5.4.2MaximumDepthofBi8.3.,2重新实现nextpermunaryTree116tation1425.4.3PathSum11783.3递归.1435.44PathSumil1188.4PermutationsII1445.4.5BinaryTreeMaximum8.4.1nextpermutation...144PathSuum11984.2重新实现nextpermu5.4.6PopulatingNextRighttation144Pointersineachnode120843递归1445.4.7SumRoottoLeafnum8.5Combinations146bers2185.1递归1468.5.2迭代147第6章排序1238.6LetterCombinationsofaphone6.1MergeSortedArray123umber1476.2MergeTwoSortedLists12486.1递归1486.3MergekSortedLists124862迭代96.4InsertionSortList125第9章广度优先搜索1506.5Sortlist1269.1WordLadder1506.6FirstMissingPositive1279.2WordLadderil1546.7SortColors1289.3Surroundedregions162第7章查找94小结16413194.l适用场景1647.1Searchforarange131942思考的步骤7.2SearchInsertPosition.13294.3代码模板1657.3Searcha2DMatrix133第10章深度优先搜索173第8章暴力枚举法13510.1PalindromePartitioning1738.1Subsets13510.2UniquePaths1768.1.1递归1350.2.1深搜1768.1.2迭代.1371022备忘录法.1768.2Subsetsil13810.23动规177821递归13810.24数学公式1788.2.2迭代.14110.3UniquePathsIl1798.3Permutations14210.3.1备忘录法1798.3.1nextpermutation14210.3.2动规.180目录10.4N-Queens1813.4Maximalrectangle21310.5N-QueensII18413.5BestTimetoBuyandSellStock10.6Restoreipaddresses186.21410.7CombinationSum18813.6InterleavingString21510.8CombinationSumIl18913.7ScrambleString21710.9GenerateParentheses.19013.8MinimumPathSum.22210.10Sudokusolver19213.9EditDistance22410.11WordSearch.19313.10DecodeWays.22610.12小结19513.11Distinctsub22710.12.1适用场景19513.12WordBreak22810.122思考的步骤1951313WordBreakil2300.12.3代码模板197第14章图23210.12.4深搜与回溯法的区別.19714.1CloneGraph23210.12.5深搜与递归的区别..197第15章细节实现题235第11章分治法19915.1ReverseInteger2351.1Pow(x,n)19915.2PalindromeNumber.23611.2Sqrt(x)20015.3InsertInterval237第12章贪心法20115.4MergeIntervals23812.1Jumpgame20115.5MinimumWindowSubstring23912.2JumpgameII15.6MultiplyStrings24112.3BestTimetobuyandSellstock20415.7SubstringwithConcatenation12.4BestTimetobuyandsellstockl205ofallwords24412.5LongestSubstringWithoutre15.8Pascal,sTriangle245peatingCharacters20615.9PascalsTriangleIl24612.6ContainerwithMostWater..20715.10SpiralMatrix24715.11SpiralmatrixII248第13章动态规划20915.12ZigZagConversion25013.1Triangle20915.13DivideTwoIntegers25113.2MaximumSubarray15.14TextJustification25313.3PalindromePartitioningII1215.15MaxPointsonaline255目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a==b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。
判断一个整数是否是为奇数,用x%2!=0,不要用x%2=1,因为ⅹ可能是负用char的值作为数组下标(例如,统计字符串中每个字符岀现的次数),要考虑到char可能是负数。
有的人考虑到了,先强制转型为unsignedint再用作下标,这仍然是错的。
正确的做法是,先强制转型为unsignedchar,再用作下标。
这涉及C十整型提升的规则,就不详述了。
以下是关于STL使用技巧的,很多条款来自《EffectiveSTL》这本书。
vector和string优先于动态分配的数组首先,在功能上,由于vector能够保证连续内存,因此一旦分配了后,它的功能跟原始数组相当;其次,如果用new,意味着你要确保后面进行孓delete,一旦忘记了,就会出现BUG,且这样需要都写一行delete,代码不够短再次,声明多维数组的话,只能一个一个new,例如int**ary=newint*[row_num];for(inti=0:i<rownum;++1)ary[i]newint[col_num]用vector的话一行代码搞定vector<vector<int>>ary(row_num,vector<int>(col_num,0))使用reserve来避免不必要的重新分配第2章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。
2数组2.1.1RemoveDuplicatesfromSortedarray描述Givenasortedarray,removetheduplicatesinplacesuchthateachelementappearonlyonceandreturnthenewlengthDonotallocateextraspaceforanotherarray,youmustdothisinplacewithconstantmemoryForexample,GiveninputarrayA=[1,1,2Yourfunctionshouldreturnlength=2,andaisnow[1,2]分析无代码1/LeetCode,RemoveDuplicatesfromSortedArray//时间复杂度0(n),空间复杂度0(1)classSolutiontublicintremoveDuplicates(vector<int>&nums)tif(numsemptyo)return0;intindex=ofor(inti=1:inumssize:1++iif(nums[index]!nums[i])nums[++index]=nums[i]returnindex12.1数组代码2//LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(vector<int>&nums)treturndistance(numsbegin(),unique(numsbegin(),numsend())代码3/LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)lassSolutionfublicintremoveDuplicates(vector<int>&nums)treturndistance(numsbegin(,removeDuplicates(numsbegin(,numsend(),numsbegintemplate<typenameInIt,typenameoutit>OutItremoveDuplicates(InItfirst,InItlast,OutItoutput)thile(firstlast)i*output++=*firstfirstupper_bound(first,last,*firstreturnoutput相关题目RemoveDuplicatesfromSortedArrayI,见§2.1.22.1.2RemoveDuplicatesfromSortedArrayII描述Followupfor"RemoveDuplicates"Whatifduplicatesareallowedatmosttwice?Forexample,Givensortedarraya=[1,1,1,2,2,3]Yourfunctionshouldreturnlength=5,andAisnow[1,1,2,2,3分析加一个变量记录一下元素出现的次数即可。
这题因为是已经排序的数组,所以一个变量即可解决。
如果是没有排序的数组,则需要引入一个hashmap来记录出现次数。
4第2章线性表代码1//LeetCode,RemoveDuplicatesfromSortedArrayII//时间复杂度0(n),空间复杂度0(1)//qauthorhex108(https://github.com/hex108)classSolutiontublicintremoveDuplicates(vector<int>&nums)tif(numssize(<=2)returnnumssizeintindex=2for(inti=2:inumssize(:i++)ff(nums[i]!numslindex-2]nums[index++]=nums[i]returnindex;代码2下面是一个更简洁的版本。
上面的代码略长,不过扩展性好一些,例如将occur<2改为occur3,就变成了允许重复最多3次。
//LeetCode,RemoveDuplicatesfromSortedArrayII7/@author虞航仲(http://weibo.com/u/1666779725)//时间复杂度0(n),空间复杂度0(1)lassSolutionfpublicintremoveDuplicates(vector<int>&nums)tconstintn=numssizeintindex=0:for(inti=0:i<n;++i)if(i>0&&i<n-1&nums[i]=nums[i-1]&nums[i]=nums[i1])continue;nums[index++]=nums[i]returnindex;相关题目RemoveDuplicatesfromSortedArray,见§2.1.1
2019/5/20 21:34:34 866KB why
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡