ng new cc-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二维码生成函数可以自由生成各页面二维码图片,比如网站二维码,指定页面二维码,指定内容二维码等。
参数 | 介绍 |
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
问:采样现场出现突发情况一码通无法打开或手机关机打不开怎么办?
答:当前我西安核酸检测系统不仅可以通过一码通进行核酸检测,还可以使用身份证等其他证件进行采样。您可以出示个人有效证件,按照工作人员的指引,有序排队参加核酸检测工作。
(西安日报 记者 王江黎)
*请认真填写需求信息,我们会在24小时内与您取得联系。