01.Block
- 格式:pptx
- 大小:322.45 KB
- 文档页数:16


微信⼩程序block的使⽤教程经过⼀年的发展,微信⼩程序发展⽕热,本期就介绍下⼩程序的⼀些使⽤。
在安卓中我们经常会使⽤ListView/GradeView/RecyclerView来实现展⽰循环数据。
那么⼩程序中怎么到呢。
其实很简单,使⽤block就可以了。
下⾯我们先看下效果图:这个布局其实很简单,⼤致分为3部分,上+下(左75%,右25%)。
这⾥就不在细说了。
那么这⾥要怎么写wxml呢。
下⾯贴代码:这边很清晰的可以看出<block></block>这对标签,⽽数据源便是wx:for="{{goodlist}}"中的goodlist了。
接着往下⾛,我们可以看到点击标签的时候有bindtap事件,这⾥就不做说明了。
我们重点看下{{item.StartCity}},这是什么意思呢,其实这就是获取数据源中的数据,⽽item代表的是goodlist中的⼀条数据,StrrtCity等都是数据源中的⼀些具体属性。
你可以更据需要直接调头你想要的字段名就可以了。
block到此基本结束了。
最后此处设置了⼀个view,⽤来代替当数据源为空时显⽰⽆数据页⾯提⽰。
下⾯顺便介绍下数据格式处理(时间格式转化):在实际场景中我们可能会需要将时间转化为⼏分钟前,⼏⼩时前,⼏天前等。
那么我们数据库中存放的⼀般是datetime格式数据。
我们需要转化处理。
处理时间的时候需要注意的是:ios和android上的时间格式不同。
ios时间是以2018/04/01,所以需要先将时间格式转化为/格式。
不然你的⼩程序时间转化只会对安卓⽣效哦。
具体转化代码:for (var i = 0; i < goodsList.length; i++) {var PublishDatetime = goodsList[i].PublishDatetime.replace(/([\d\-]+)T(\d+:\d+)\:.*/, "$1 $2");//将带T的时间格式转化掉.PublishDatetime = PublishDatetime.replace(/-/g, "/");// 将格式‘-'转化为‘/'//换算时间戳,计算得到与当前时间的差距var minute = 1000 * 60;var hour = minute * 60;var day = hour * 24;var halfamonth = day * 15;var month = day * 30;var now = new Date().getTime();var diffValue = now - new Date(PublishDatetime).getTime();//console.log("diffValue:" + diffValue);if (diffValue < 0) {return;}var monthC = diffValue / month;var weekC = diffValue / (7 * day);var dayC = diffValue / day;var hourC = diffValue / hour;var minC = diffValue / minute;if (monthC >= 1) {if (monthC <= 12)goodsList[i].PublishDatetime = "" + parseInt(monthC) + "⽉前";//将时间替换掉想要的数据else {goodsList[i].PublishDatetime = "" + parseInt(monthC / 12) + "年前";//将时间替换掉想要的数据}}else if (weekC >= 1) {goodsList[i].PublishDatetime = "" + parseInt(weekC) + "周前";//将时间替换掉想要的数据}else if (dayC >= 1) {goodsList[i].PublishDatetime = "" + parseInt(dayC) + "天前";//将时间替换掉想要的数据}else if (hourC >= 1) {goodsList[i].PublishDatetime = "" + parseInt(hourC) + "⼩时前";//将时间替换掉想要的数据}else if (minC >= 1) {goodsList[i].PublishDatetime = "" + parseInt(minC) + "分钟前";//将时间替换掉想要的数据} else {goodsList[i].PublishDatetime = "刚刚";//将时间替换掉想要的数据}}//最后将转化后的时间重新赋值给数据源总结以上所述是⼩编给⼤家介绍的微信⼩程序block的使⽤教程,希望对⼤家有所帮助,如果⼤家有任何疑问欢迎给我留⾔,⼩编会及时回复⼤家的!。
CPU卡APDU指令介绍1. APDU指令格式根据7816-4规范,从终端发出的命令和卡片响应的信息必须遵从以下4种格式。
情形1:命令:响应:情形2:命令:响应:情形3:命令:响应:情形4:命令:响应:1.1 APDU命令格式1.1.1 命令头域命令头定义报文的内容如下表所示:1.1.2 命令体命令体中各项是可选的。
Lc 命令数据域中DATA的长度,该长度不可超过255字节。
Data 命令和响应中的数据域。
Le 响应数据域中期望数据的长度。
Le=00,表示需要最大字节数,该长度不可超过255字节。
1.2 APDU响应数据格式APDU1.2.1 返回数据返回数据域是可选项。
1.2.2 返回状态字(SW1SW2)SW1 SW2是卡片执行命令的返回代码,任何命令的返回信息都至少由一个状态字组成。
1.3 状态字SW1SW2意义状态字说明了命令处理的情况,即命令是否被正确执行,如果未被正确执行,原因是什么。
状态字由2部分组成:SW1(status word1):表示命令处理状态;SW2(status word2):表示命令处理限定。
表2 状态字SW1-SW2当SW1的高半字节为‘9’,且低半字节不为‘0’时,其含义依赖于相关应用。
当SW1的高半字节为‘6’,且低半字节不为‘0’时,其含义与应用无关。
2. APDU指令2.1 常见APDU指令介绍以下介绍的指令均为交通行业常见指令,涵盖ED/EP应用和电子现金应用,针对非接触卡片。
●通用指令────SELECT(选择)────READ BINARY(读二进制)────READ RECORD(读记录)────UPDATE BINARY(修改二进制)────UPDATE RECORD(修改记录)────GET RESPONSE(取响应)────GET CHALLENGE(产生随机数)────EXTERNAL AUTHENTIC ATION(外部认证)────INTERNAL AUTHENTICATION(内部认证)────VERIFY(校验)────PIN CHANGE/UNBLOCK(个人密码修改/解锁)────APPLICATION BLOCK(应用锁定)────APPLICATION UNBLOCK(应用解锁)────CARD BLOCK(卡片锁定)●电子钱包\电子存折一般交易相关指令────GET BALANCE(读余额)────GET TRANSACTION PROVE(取交易认证)────CHANGE PIN(修改个人密码)────INITIALIZE FOR LOAD(圈存初始化)────CREDIT FOR LOAD(圈存)────INITIALIZE FOR PURCHASE(消费初始化)────INITIALIZE FOR CASH WITHDRAW(取现初始化)────DEBIT FOR PURCHASE/CASH WITHDRAW(消费/取现)────INITIALIZE FOR UNLOAD(圈提初始化,仅用于电子存折)────DEBIT FOR UNLOAD(圈提,仅用于电子存折)────INITIALIZE FOR UPDATE(修改透支限额初始化,仅用于电子存折)────UPDATE OVERDRAW LIMIT(修改透支限额,仅用于电子存折)────APPEND RECORD(增加记录)●复合应用模式专用指令────INITIALIZE FOR CAPP PURCHASE(复合应用消费初始化)────UPDATE CAPP DATA CACHE(更新复合应用数据缓存)────DEBIT FOR CAPP PURCHASE(复合应用消费)●电子现金专用指令────GENERATE AC(生成应用密文)────GET DATA(取数据)────PUT DATA(设置数据)────GET PROCESSING OPTIONS(获取处理选项)表3 APDU命令集通用指令是电子钱包、电子存折、电子现金都支持的,但是针对不同的应用,某些指令的具体参数细节可能略有差异,可参照相关规范。