整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

angular开发二维码组件

angular开发二维码组件

境搭建

  1. 使用ng new cc-qrcode 创建一个项目

ng new cc-qrcode

开发组件

  1. 在项目src/app/shard目录中,使用命令ng g module qrcode 创建一个qrcode模块。

ng g module qrcode

2.在项目src/app/shard(shard自己创建一个目录)目录中,使用命令ng g component qrcode创建一个qrcode组件,删除没用的qrcode.component.html和qrcode.component.xxx样式文件,因为我们这个二维码组件不需要这个,只要有ts里面实现就可以了,所以删除!!!

ng g component qrcode

3.由于我们的组件依赖于第三方的qrious插件,所以需要通过npm install qrious --save安装。

npm install qrious --save

4.在之前创建的qrcode.component.ts中,实现二维码,具体的内容如下。

//这里引入的是angular模块的内容

import { Component, OnInit, Input, ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';

//这里引入我们安装的第三方二维插件

import QRious from 'qrious';

/**

* 二维码

*/

@Component({

selector: 'cc-qrcode',

template: `` //这里不需求模板,所以放空,如果觉得这个不好看,可以使用指令的方式实现

})

export class QrcodeComponent implements OnChanges, OnDestroy {//这里实现了OnChanges与OnDestroy接口,一个是用于监听参数改变用的,一个是销毁组件用的

// 二维码值参数

@Input() value='';

// 二维码背景颜色,默认我们给个白色

@Input() background='white';

// 二维码前景色,也就是图案的颜色,默认我们给个黑色

@Input() foreground='black';

// 二维码背景透明度,取值范围是0-1.0之间

@Input() backgroundAlpha=1.0;

// 二维码前景的透明度,取值范围是0-1.0之间

@Input() foregroundAlpha=1.0;

// 二维码的误差校正级别(L, M, Q, H)

@Input() level='L';

// 生成的图片类型,默认image/png

@Input() mime='image/png';

// 内边距

@Input() padding=0;

// 二维码大小(宽高)

@Input() size=100;

// 是否使用画布生成,默认为false,图片方式

@Input() canvas=false;

// 二维码实例对象

qr: QRious;

constructor(private elementRef: ElementRef) { }

ngOnChanges(changes: SimpleChanges): void {

//这里判断参数是否改变

if (changes.background || changes.backgroundAlpha || changes.foreground ||

changes.foregroundAlpha || changes.level || changes.mime ||

changes.padding || changes.size || changes.value || changes.canvas) {

this.qrcodedBuild();

}

}

//二维码构造的方法

qrcodedBuild(): void {

// 这里获取元素对象

const element: HTMLElement=this.elementRef.nativeElement;

//清空里面的内容

element.innerHTML='';

// 为二维码插件初始化

this.qr=new QRious({

background: this.background,

backgroundAlpha: this.backgroundAlpha,

foreground: this.foreground,

foregroundAlpha: this.foregroundAlpha,

level: this.level,

mime: this.mime,

padding: this.padding,

size: this.size,

value: this.value

});

// 判断是否需要使用画布的方式,默认使用的是图片方式

if (this.canvas) {

element.appendChild(this.qr.canvas);

} else {

element.appendChild(this.qr.image);

}

}

// 将二维码转换成base64编码

toDataURL(): string {

return this.qr.toDataURL();

}

// 这里要销毁组件

ngOnDestroy() {

this.qr=null;

}

}

组件的使用

1.使用时只需要引入模块,然后就可直接在html中使用了

云CMS(DiYunCMS)-免费开源可商用的PHP万能建站程序

使用帝云CMS二维码生成函数可以自由生成各页面二维码图片,比如网站二维码,指定页面二维码,指定内容二维码等。

一、函数名称
dr_qrcode

二、函数介绍
任意内容的二维码地址

三、参数值

参数

介绍

text

二维码内容,如一个地址等

thumb

图片地址,在二维码增加一个LOGO

level

表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);

size

表示生成图片大小,默认是5

四、返回值

返回二维码地址

五、调用方式

{dr_qrcode(内容, "缩略图", "L", "5")}

六、模板示例

输出网站地址的二维码: {dr_qrcode(SITE_URL)}
生成当前页面二维码:{dr_qrcode($my_web_url)}

show.html内容页生成当前页面二维码并带图标

{dr_qrcode($my_web_url, dr_thumb($thumb), "M", "10")}

帝云CMS(DiYunCMS)-免费开源可商用的PHP万能建站程序

本次疫情影响,近日西安市将陆续组织多轮大规模核酸筛查。关于近期市民关注度较高的核酸检测相关问题,西安市大数据资源管理局进行了总汇及回复。

问:可以使用哪些证件进行核酸检测?

答:市民在接到大规模核酸检测通知后,建议优先携带能够正常展示本人“一码通”的手机前往进行核酸检测。如果没有“一码通”,也可以仅携带个人有效证件进行核酸采样。有效证件包括:境内中国公民——居民身份证(推荐)或临时居民身份证;境内16周岁以下中国公民——居民身份证(推荐)或户口簿;香港、澳门居民——港澳居民往来内地通行证或中华人民共和国港澳居民居住证;台湾居民——台湾居民来往大陆通行证或中华人民共和国台湾居民居住证;外国公民——护照。

建议市民核酸采样时同时携带个人身份证和一码通前往核酸采样点。

问:无一码通用户如何进行核酸采样?

答:请您携带个人有效证件,到采样点后,可主动联系采样人员,告知相关人员自己没有一码通,需使用证件采样。了解询问是否有专门针对非一码通用户的核酸采样通道。

根据现场工作人员指引等待核酸采样。通常情况下,没有一码通的用户在工作人员登记信息后,会生成纸质“采样二维码”,用于核酸采样登记及结果查询。

问:没有一码通且没有各类有效证件怎么办?

答:如果您没有注册一码通且没有各类有效证件,建议您提前将个人身份信息(姓名、电话号码、证件号码)写于纸上,携带至采样点,告知采样点工作人员情况,通过人工录入的方式进行信息登记。信息登记后同样会生成纸质“采样二维码”,用于核酸采样登记及结果查询。请您确保提供的个人信息准确无误,以保证后期正常查询核酸检测结果。

问:“采样二维码”有什么用,能使用多久?

答:“采样二维码”不仅是您采样时的凭证,也可使用手机扫描该二维码查询本人核酸检测结果。目前情况下,“采样二维码”可以反复使用七天。如果丢失,可以在下次采样时按上述步骤重新申领“采样二维码”。

问:为何没有给我“采样二维码”也能完成采样?

答:部分采样点工作人员是通过移动终端进行核酸采样登记,这种方式不会发放“采样二维码”。工作人员会使用手机扫码您的身份证,或录入个人信息完成身份登记,然后进行核酸采样。如您需查询本人核酸检测结果,可访问以下网址,输入个人信息后查询。

核酸检测结果应急查询通道:https://yqpt.xa.gov.cn/nrt/inquire.html

问:采样现场出现突发情况一码通无法打开或手机关机打不开怎么办?

答:当前我西安核酸检测系统不仅可以通过一码通进行核酸检测,还可以使用身份证等其他证件进行采样。您可以出示个人有效证件,按照工作人员的指引,有序排队参加核酸检测工作。

(西安日报 记者 王江黎)