更新日志

version 1.0.6

  • 添加国际化提示信息支持
  • 修改电话号码校验规则,以便支持国际电话号码

version 1.0.5

  • 修改电话号码效验规则 支持xxx-xxxxxxx-xxxx
  • Tel支持多电话数组

version 1.0.4

  • 修复IE6/IE7下"expected identifier, string or number"的问题

version 1.0.1

  • 添加空白图片blankImage属性,用户可自定义空白图片。
  • 去除qrcodeImage的css:border的定义


version 1.0.0

  • 调整QRCode Addon支持Dorado7 Addon 2.0规范
  • 调整QRCode Addon支持Dorado-Touch


version 0.2.5

  • 修复IDE中填写data属性值时,无法生成QRCode的错误
  • 增加data属性有默认值时,自动产生QRCode
  • 增加data属性如不是指定的JSON结构时,默认以Text类型处理

version 0.2.4

  • 修正sideLength属性计算方式,由qrcode根据宽高进行计算
  • 修正data属性对空值及特殊字符的处理

version 0.2.3

  • 添加dorado addon自定义组件icon

version 0.2.2

  • 修正Linux下logo目录路径问题
  • 修正生成QRCode异常处理机制

version 0.2.1

  • 修复生成QRCode中文乱码问题

version 0.2.0

  • 添加QRCode颜色(color)与背景色(backgroundColor)支持
  • 添加边框留白大小(quietZoneSize)支持
  • 添加自定义图标(logo)支持
  • 添加QRCode样式的(renderStyle)支持
  • 修正禁用效验(validatorsDisabled)的处理方式

version 0.1.0

  • 支持生成QRCode码



简介

QRCode是一种矩阵二维码图形符号,它具有信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。此QRCode Addon将其封装成Dorado7控件方便用户使用。

功能

根据给定的信息生成二维码。
目前支持二维码信息格式有:

  • FreeText - 文本
  • PhoneNumber - 电话号码
  • SmsAddress - 短信
  • ContactInfo - 名片
  • Email - 电子邮件
  • Url - 网址
  • Wifi - 无线网络
  • CalendarEvent - 日程安排

Demo

http://www.bsdn.org/projects/qrcode/deploy/qrcode-sample/com.bstek.dorado.qrcode.sample.QRCodeGenerator.d

API

ATTRIBUTES:/** @scope dorado.widget.QRCodeImage.prototype */{
	/**
	 * JSON格式的数据。
	 * 
	 * @type String
	 * @attribute
	 */
	data:{
		setter:function(data){
			this._data=data;
		}
	},
	/**
	 * QRCode的类型:
	 * 目前支持QRCode二维码信息格式有:
	 *     <ul>
	 *     	<li>FreeText - 文本</li>
	 *     	<li>PhoneNumber - 电话号码</li>
	 *     	<li>SmsAddress - 短信</li>
	 *     	<li>ContactInfo - 名片</li>
	 *     	<li>Email - 电子邮件</li>
	 *     	<li>Url - 网址</li>
	 *     	<li>Wifi - 无线网络</li>
	 *     	<li>CalendarEvent - 日程安排</li>
	 *     </ul>
	 * @type String
	 * @attribute
	 * @default FreeText
	 */
	type:{
		setter:function(t){
			this._type=t;
		},
		defaultValue:QRCodeType.FREE_TEXT
	},
	/**
	 * 容错级别。
	 * <ul>
	 *   <li>L - ~ 7% 校正</li>
	 *   <li>M - ~15% 校正</li>
	 *   <li>Q - ~25% 校正</li>
	 *   <li>H - ~30% 校正</li>
	 * </ul>
	 * @type String
	 * @attribute
	 * @default L
	 */
	errorCorrectionLevel:{
		setter:function(ecl){
			if(ecl){
				this._errorCorrectionLevel=ecl;
			}
		},
		defaultValue:"L"
	},
	/**
	 * 输出图片类型
	 * 
	 * @type String
	 * @attribute
	 * @default png
	 */
	outputFomart:{
		setter:function(opf){
			if(opf){
				this._outputFomart=opf;
			}
		},
		defaultValue:"png"
	},
	/**
	 * 二维码信息编码
	 * 
	 * @type String
	 * @attribute
	 */
	characterSet:{
		setter:function(cs){
			if(cs){
				this._characterSet=cs;
			}
		}
	},
	/**
	 * 二维码图片留白边框宽度
	 * 
	 * @type String
	 * @attribute
	 * 
	 */
	quietZoneSize:{
		setter:function(qzs){
			if(qzs){
				this._quietZoneSize=qzs;
			}
		}
	},
	/**
	 * 输出二维码的宽高
	 * 
	 * @type int
	 * @attribute
	 * @default 350
	 */
	sideLength:{
		defaultValue: 350
	},
	/**
	 * 是否禁用数据效验,比如电话、Email、网址等。
	 * 
	 * @type boolean
	 * @attribute
	 * @default false
	 */
	validatorsDisabled:{
		defaultValue:false
	},
	/**
	 * 二维码颜色
	 * 
	 * @type String
	 * @attribute
	 * @default #000000 - black
	 */
	color:{
		defaultValue:"#000000"
	},
	/**
	 * 二维码背景颜色
	 * 
	 * @type String
	 * @attribute
	 * @default #FFFFFF - white
	 */
	backgroundColor:{
		defaultValue:"#FFFFFF"
	},
	/**
	 * 二维码嵌入图标
	 * 
	 * @type String
	 * @attribute
	 */
	logo:{
		defaultValue:"DEFAULT_LOGO"
	},
	/**
	 * 二维码渲染样式
	 * 
	 * @type String
	 * @attribute
	 */
	renderStyle:{}
},


关于

QRCode Addon生成QRCode二维码依赖于Google开源项目 ZXing2.0


安装

下面是安装步骤:

该组件是以Dorado Add On的形式存在,要使用该组件,您的项目必须是一个标准的Dorado 7工程。在确保您的工程是标准的Dorado 7工程后,下载该组件使用的jar包,拷贝到该工程的WEB-INF/lib目录下。
在Eclipse中选中该工程的根目录,点击右键菜单,选择"更新dorado规则文件",如果更新成功,那么在Eclipse中的view.xml编辑器中的控件分类Advance中看到该组件了。
与使用其他的组件相同,您只需要双击该组件就可以添加到右侧的组件树上了。

基本配置

Attributes

名称 描述
type 目前支持QRCode二维码信息格式有:
  • FreeText - 文本
  • PhoneNumber - 电话号码
  • SmsAddress - 短信
  • ContactInfo - 名片
  • Email - 电子邮件
  • Url - 网址
  • Wifi - 无线网络
  • CalendarEvent - 日程安排
errorCorrectionLevel 容错级别:
  • L - ~ 7% 校正
  • M - ~15% 校正
  • Q - ~25% 校正
  • H - ~30% 校正
outputFomart 输出图片类型(PNG/JPEG/GIF),默认PNG
characterSet 二维码信息编码,默认utf8
quietZoneSize 二维码图片留白边框留白
sideLength 输出二维码的宽高,默认315像素
validatorsDisabled 是否禁用数据效验,比如电话、Email、网址等。默认false
color 二维码颜色,默认#000000
backgroundColor 二维码背景颜色,默认 #FFFFFF
logo 二维码嵌入图标,默认 DEFAULT_LOGO
  • DEFAULT_LOGO - dorado 7 logo
  • http:// - 网络logo的URL
  • 项目目录图片
renderStyle 二维码渲染样式。
  • 0 - Default 无渲染
  • 1 - Dots 点
  • 2 - Sieve 网格
  • 3 - Roundness 圆
data 提供JSON格式的数据:
FreeText - 文本
{text:"自定义文本"} 或 自定义文本
PhoneNumber - 电话号码(手机或固话)
{phoneNum:"02151088590"}
SmsAddress - 短信
{phoneNum:"13812341234",message:"message"}
ContactInfo - 名片
{name:"AnLin",company:"BSTEK",tel:"02151088590",url:"http://www.bstek.com",email:"Doradosales@bstek.com",address:"陆家嘴软件园5号楼3层",memo:"备注",type:"vcard"}

生成名片格式 type[mecard/vcard]
tel还可以用数组形式。如:[138888888888,13612341234,02151088590]

Email - 电子邮件
{email:"Doradosales@bstek.com"}
Url - 网址
{url:"http://www.bstek.com"}
Wifi - 无线网络
{ssid:"TD-Link01",password:"123456",networkType:"WEP"}

加密类型:networkType[WEP/WPA/nopass]

CalendarEvent - 日程安排
{eventName:"每周例会",fullDay:"yes",startDate:"2012-08-01",endDate:"2012-08-01",location:"地点",description:"描述",}

是否全天:fullDay[yes/no],如果yes,startDate和endDate:格式为2012-08-01,如果no,startDate和endDate:格式为2012-08-01 18:30:00

Methods

名称 描述
generateQRCode 生成QRCode
Back to top