Исправил баг с генерацие личного кода. Сгенерировал новую версию

This commit is contained in:
Sipachev Igor 2021-03-05 18:29:19 +07:00
parent 6da07187a0
commit 0d8b349015
13 changed files with 118 additions and 22 deletions

View File

@ -24,6 +24,17 @@ function insertValueToNode(target, value) {
chrome.runtime.onMessage.addListener(
function(autocompleteDTO, sender, sendResponse) {
insertValueToNode(autocompleteDTO.target || null, autocompleteDTO.value || '')
switch (autocompleteDTO.action) {
case 'insert':
insertValueToNode(autocompleteDTO.target || null, autocompleteDTO.value || '')
break
case 'clean_notification':
var elementList = document.querySelectorAll('.uk-notify-message');
elementList.forEach(function(elementItem) {
elementItem.remove()
});
break
}
}
);

View File

@ -1 +1 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/popup/dist/favicon.ico"><![endif]--><title>sveak-helper</title><link href="/popup/dist/css/app.41c99ca8.css" rel="preload" as="style"><link href="/popup/dist/js/app.b9d76837.js" rel="preload" as="script"><link href="/popup/dist/js/chunk-vendors.49bbd58a.js" rel="preload" as="script"><link href="/popup/dist/css/app.41c99ca8.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/popup/dist/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/popup/dist/img/icons/favicon-16x16.png"><link rel="manifest" href="/popup/dist/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="sveak-helper"><link rel="apple-touch-icon" href="/popup/dist/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/popup/dist/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but sveak-helper doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/popup/dist/js/chunk-vendors.49bbd58a.js"></script><script src="/popup/dist/js/app.b9d76837.js"></script></body></html>
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/popup/dist/favicon.ico"><![endif]--><title>sveak-helper</title><link href="/popup/dist/css/app.41c99ca8.css" rel="preload" as="style"><link href="/popup/dist/js/app.9f60f961.js" rel="preload" as="script"><link href="/popup/dist/js/chunk-vendors.49bbd58a.js" rel="preload" as="script"><link href="/popup/dist/css/app.41c99ca8.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/popup/dist/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/popup/dist/img/icons/favicon-16x16.png"><link rel="manifest" href="/popup/dist/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="sveak-helper"><link rel="apple-touch-icon" href="/popup/dist/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/popup/dist/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but sveak-helper doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/popup/dist/js/chunk-vendors.49bbd58a.js"></script><script src="/popup/dist/js/app.9f60f961.js"></script></body></html>

2
popup/dist/js/app.9f60f961.js vendored Normal file

File diff suppressed because one or more lines are too long

1
popup/dist/js/app.9f60f961.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,15 @@
self.__precacheManifest = (self.__precacheManifest || []).concat([
{
"revision": "67e5a2be8d8880b2bc55",
"revision": "3e936da90702a5197189",
"url": "/css/app.41c99ca8.css"
},
{
"revision": "bca1067d524c5d14daccdf286aa8015a",
"revision": "97d955ddd9995138724db802e2dab3da",
"url": "/index.html"
},
{
"revision": "67e5a2be8d8880b2bc55",
"url": "/js/app.b9d76837.js"
"revision": "3e936da90702a5197189",
"url": "/js/app.9f60f961.js"
},
{
"revision": "55fa3e18a2c5425a215c",

View File

@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"/precache-manifest.54c8bc8d3e1537ddd6d60bfb5aff3d0f.js"
"/precache-manifest.874d68b58bbb73356bc2a8570f02bb3c.js"
);
workbox.core.setCacheNameDetails({prefix: "sveak-helper"});

View File

@ -0,0 +1,4 @@
export enum Action {
INSERT = 'insert',
CLEAN_NOTIFICATION = 'clean_notification',
}

View File

@ -1,10 +1,12 @@
export class Sender {
send (message: Record<string, any>) {
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs: any) {
chrome.tabs.sendMessage(tabs[0].id, message, function (response: any) {
console.log(response)
if (typeof chrome !== 'undefined') {
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs: any) {
chrome.tabs.sendMessage(tabs[0].id, message, function (response: any) {
console.log(response)
})
})
})
}
}
}

View File

@ -18,16 +18,15 @@ export class PersonalIdGenerator {
* @param gender
*/
generate (country: Country, gender: Gender) {
console.log(country, gender)
const n = this.getYearPart()
const r = this.getMonthPart()
const i = this.getDayPart()
const year = this.getYearPart()
const month = this.getMonthPart()
const day = this.getDayPart()
const o = this.getIdNumPart()
const a = this.getGenderPart(country, gender)
console.log(country, gender, a)
const l = this.getControlSum(country, n, r, i, o, a)
const l = this.getControlSum(country, year, month, day, o, a)
const l2 = this.getChecksum(a + year + month + day + o)
return Country.POLAND === country ? n + r + i + o + a + l : a + n + r + i + o + l
return a + year + month + day + o + l2
}
/**
@ -97,6 +96,29 @@ export class PersonalIdGenerator {
}
/**
* public static function getChecksum($personalId)
{
$s1 = $s2 = 0;
$k1 = 1;
$k2 = 3;
for ($i = 0; $i < strlen($personalId) - 1; $i++) {
$s1 += $personalId[$i] * $k1;
$s2 += $personalId[$i] * $k2;
$k1 = ($k1 == 9) ? 1 : $k1 + 1;
$k2 = ($k2 == 9) ? 1 : $k2 + 1;
}
$checksum = 0;
if (($s1 % 11) < 10) {
$checksum = $s1 % 11;
} elseif (($s2 % 11) < 10) {
$checksum = $s2 % 11;
}
return $checksum;
}
*
*
* e.getControlSum = function (e, t, n, r, i, o) {
var a, l;
if ("pl" === e) return l = +(a = t + n + r + i + o)[0] + 3 * +a[1] + 7 * +a[2] + 9 * +a[3] + +a[4] + 3 * +a[5] + 7 * +a[6] + 9 * +a[7] + +a[8] + 3 * +a[9], 0 != (l %= 10) && (l = 10 - l), String(l);
@ -138,6 +160,53 @@ export class PersonalIdGenerator {
d %= 11
return (c %= 11) < 10 ? String(c) : d < 10 ? String(d) : String(0)
}
getChecksum (code: string) {
let b = 1
let c = 3
let d = 0
let e = 0
let i
let digit
for (i = 0; i < 10; i++) {
digit = parseInt(code[i])
d += digit * b
e += digit * c
b++; if (b === 10) b = 1
c++; if (c === 10) c = 1
}
d = d % 11
e = e % 11
if (d < 10) {
return d
} else if (e < 10) {
return e
}
return 0
}
// getChecksum($personalId)
// {
// $s1 = $s2 = 0;
// $k1 = 1;
// $k2 = 3;
//
// for ($i = 0; $i < strlen($personalId) - 1; $i++) {
// $s1 += $personalId[$i] * $k1;
// $s2 += $personalId[$i] * $k2;
// $k1 = ($k1 == 9) ? 1 : $k1 + 1;
// $k2 = ($k2 == 9) ? 1 : $k2 + 1;
// }
// $checksum = 0;
// if (($s1 % 11) < 10) {
// $checksum = $s1 % 11;
// } elseif (($s2 % 11) < 10) {
// $checksum = $s2 % 11;
// }
//
// return $checksum;
// }
}
export default new PersonalIdGenerator()

View File

@ -8,6 +8,7 @@ import { Person } from '@/classes/DTO/Person'
import VueClipboard from 'vue-clipboard2'
import { Target } from '@/classes/Enum/Target'
import sender from '@/classes/Service/Browser/Chrome/Sender'
import { Action } from '@/classes/Enum/Action'
Vue.use(VueClipboard)
@ -55,8 +56,15 @@ export default class HelloWorld extends Vue {
insertValueToNode (target: Target, value: string): void {
sender.send({
action: Action.INSERT,
target: target,
value: value
})
}
cleanNotifications (): void {
sender.send({
action: Action.CLEAN_NOTIFICATION
})
}
}

View File

@ -65,7 +65,9 @@
</div>
<div class="form-row">
<div class="form-row__item">
<button>Clean</button>
<button
@click="cleanNotifications"
>Clean</button>
</div>
</div>
</div>