UNPKG

@lxlib/seed

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.1.

138 lines 8.64 kB
/** * @fileoverview added by tsickle * Generated from: qr.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { QRConfig } from './qr.config'; import * as i0 from "@angular/core"; import * as i1 from "./qr.config"; export class QRService { /** * @param {?} cog */ constructor(cog) { /** * 背景透明级别,范围:`0-1` 之间 */ this.backgroundAlpha = 1; Object.assign(this, cog); this.qr = new QRious(); } /** * 生成二维码,并返回Base64编码 * * @param {?=} value * @return {?} */ refresh(value) { /** @type {?} */ const option = typeof value === 'object' ? value : { background: this.background, backgroundAlpha: this.backgroundAlpha, foreground: this.foreground, foregroundAlpha: this.foregroundAlpha, level: this.level, padding: this.padding, size: this.size, value: value || this.value, }; option.value = this.toUtf8ByteArray(option.value); this.qr.set(option); return this.dataURL; } /** * @private * @param {?} str * @return {?} */ toUtf8ByteArray(str) { str = encodeURI(str); /** @type {?} */ const result = []; for (let i = 0; i < str.length; i++) { if (str.charAt(i) !== '%') { result.push(str.charCodeAt(i)); } else { result.push(parseInt(str.substr(i + 1, 2), 16)); i += 2; } } return result.map((/** * @param {?} v * @return {?} */ v => String.fromCharCode(v))).join(''); } /** * 返回当前二维码Base64编码 * @return {?} */ get dataURL() { return this.qr.toDataURL(); } } QRService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ QRService.ctorParameters = () => [ { type: QRConfig } ]; /** @nocollapse */ QRService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QRService_Factory() { return new QRService(i0.ɵɵinject(i1.QRConfig)); }, token: QRService, providedIn: "root" }); if (false) { /** * 当前qr实例 * @type {?} */ QRService.prototype.qr; /** * 背景 * @type {?} */ QRService.prototype.background; /** * 背景透明级别,范围:`0-1` 之间 * @type {?} */ QRService.prototype.backgroundAlpha; /** * 前景 * @type {?} */ QRService.prototype.foreground; /** * 前景透明级别,范围:`0-1` 之间 * @type {?} */ QRService.prototype.foregroundAlpha; /** * 误差校正级别 * @type {?} */ QRService.prototype.level; /** * 二维码输出图片MIME类型 * @type {?} */ QRService.prototype.mime; /** * 内边距(单位:px) * @type {?} */ QRService.prototype.padding; /** * 大小(单位:px) * @type {?} */ QRService.prototype.size; /** * 值 * @type {?} */ QRService.prototype.value; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BseGxpYi9zZWVkL3FyLyIsInNvdXJjZXMiOlsicXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBS3ZDLE1BQU0sT0FBTyxTQUFTOzs7O0lBc0JwQixZQUFZLEdBQWE7Ozs7UUFoQnpCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBaUJsQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7Ozs7OztJQU9ELE9BQU8sQ0FBQyxLQUFtQjs7Y0FDbkIsTUFBTSxHQUNWLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUM7Z0JBQ0UsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMzQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQ3JDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO2dCQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLEtBQUssRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUs7YUFDM0I7UUFDUCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7Ozs7SUFFTyxlQUFlLENBQUMsR0FBVztRQUNqQyxHQUFHLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztjQUNmLE1BQU0sR0FBYSxFQUFFO1FBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7Z0JBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ1I7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDLEdBQUc7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7Ozs7SUFLRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBdkVGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7Ozs7WUFKekIsUUFBUTs7Ozs7Ozs7SUFPZix1QkFBaUI7Ozs7O0lBRWpCLCtCQUFtQjs7Ozs7SUFFbkIsb0NBQW9COzs7OztJQUVwQiwrQkFBbUI7Ozs7O0lBRW5CLG9DQUF3Qjs7Ozs7SUFFeEIsMEJBQWM7Ozs7O0lBRWQseUJBQWE7Ozs7O0lBRWIsNEJBQWdCOzs7OztJQUVoQix5QkFBYTs7Ozs7SUFFYiwwQkFBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFFSQ29uZmlnIH0gZnJvbSAnLi9xci5jb25maWcnO1xuXG5kZWNsYXJlIHZhciBRUmlvdXM6IGFueTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBRUlNlcnZpY2Uge1xuICAvKiog5b2T5YmNcXLlrp7kvosgKi9cbiAgcmVhZG9ubHkgcXI6IGFueTtcbiAgLyoqIOiDjOaZryAqL1xuICBiYWNrZ3JvdW5kOiBzdHJpbmc7XG4gIC8qKiDog4zmma/pgI/mmI7nuqfliKvvvIzojIPlm7TvvJpgMC0xYCDkuYvpl7QgKi9cbiAgYmFja2dyb3VuZEFscGhhID0gMTtcbiAgLyoqIOWJjeaZryAqL1xuICBmb3JlZ3JvdW5kOiBzdHJpbmc7XG4gIC8qKiDliY3mma/pgI/mmI7nuqfliKvvvIzojIPlm7TvvJpgMC0xYCDkuYvpl7QgKi9cbiAgZm9yZWdyb3VuZEFscGhhOiBudW1iZXI7XG4gIC8qKiDor6/lt67moKHmraPnuqfliKsgKi9cbiAgbGV2ZWw6IHN0cmluZztcbiAgLyoqIOS6jOe7tOeggei+k+WHuuWbvueJh01JTUXnsbvlnosgKi9cbiAgbWltZTogc3RyaW5nO1xuICAvKiog5YaF6L656Led77yI5Y2V5L2N77yacHjvvIkgKi9cbiAgcGFkZGluZzogbnVtYmVyO1xuICAvKiog5aSn5bCP77yI5Y2V5L2N77yacHjvvIkgKi9cbiAgc2l6ZTogbnVtYmVyO1xuICAvKiog5YC8ICovXG4gIHZhbHVlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY29nOiBRUkNvbmZpZykge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgY29nKTtcbiAgICB0aGlzLnFyID0gbmV3IFFSaW91cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIOeUn+aIkOS6jOe7tOegge+8jOW5tui/lOWbnkJhc2U2NOe8lueggVxuICAgKlxuICAgKiBAcGFyYW0gW3ZhbHVlXSDph43mlrDmjIflrprlgLxcbiAgICovXG4gIHJlZnJlc2godmFsdWU/OiBzdHJpbmcgfCB7fSk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3B0aW9uOiBhbnkgPVxuICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgICA/IHZhbHVlXG4gICAgICAgIDoge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhpcy5iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgYmFja2dyb3VuZEFscGhhOiB0aGlzLmJhY2tncm91bmRBbHBoYSxcbiAgICAgICAgICAgIGZvcmVncm91bmQ6IHRoaXMuZm9yZWdyb3VuZCxcbiAgICAgICAgICAgIGZvcmVncm91bmRBbHBoYTogdGhpcy5mb3JlZ3JvdW5kQWxwaGEsXG4gICAgICAgICAgICBsZXZlbDogdGhpcy5sZXZlbCxcbiAgICAgICAgICAgIHBhZGRpbmc6IHRoaXMucGFkZGluZyxcbiAgICAgICAgICAgIHNpemU6IHRoaXMuc2l6ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSB8fCB0aGlzLnZhbHVlLFxuICAgICAgICAgIH07XG4gICAgb3B0aW9uLnZhbHVlID0gdGhpcy50b1V0ZjhCeXRlQXJyYXkob3B0aW9uLnZhbHVlKTtcbiAgICB0aGlzLnFyLnNldChvcHRpb24pO1xuICAgIHJldHVybiB0aGlzLmRhdGFVUkw7XG4gIH1cblxuICBwcml2YXRlIHRvVXRmOEJ5dGVBcnJheShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3RyID0gZW5jb2RlVVJJKHN0cik7XG4gICAgY29uc3QgcmVzdWx0OiBudW1iZXJbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoc3RyLmNoYXJBdChpKSAhPT0gJyUnKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHN0ci5jaGFyQ29kZUF0KGkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHBhcnNlSW50KHN0ci5zdWJzdHIoaSArIDEsIDIpLCAxNikpO1xuICAgICAgICBpICs9IDI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQubWFwKHYgPT4gU3RyaW5nLmZyb21DaGFyQ29kZSh2KSkuam9pbignJyk7XG4gIH1cblxuICAvKipcbiAgICog6L+U5Zue5b2T5YmN5LqM57u056CBQmFzZTY057yW56CBXG4gICAqL1xuICBnZXQgZGF0YVVSTCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnFyLnRvRGF0YVVSTCgpO1xuICB9XG59XG4iXX0=