-
-
Notifications
You must be signed in to change notification settings - Fork 62
/
Copy pathmerger.html
158 lines (134 loc) · 12.7 KB
/
merger.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<!--
Merger v0.28.6 - Merge Your Qrcodes Together. Even Quicker.
Homepage: https://merger.huangxin.org
Released under GNU General Public License v3.0. Open source at https://github.com/qr-merger/merger.
Author @hifocus (https://github.com/hifocus) and contributors(https://github.com/qr-merger/merger/graphs/contributors).
Please preserve the copywrite information above as required by the license.
-->
<!DOCTYPE html>
<html>
<head>
<title></title><!-- Page title will be set automatically -->
<meta charset="utf-8">
<meta name="author" content="Huangxin, LF112">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<!-- Load style files from local - Default -->
<!-- build:css -->
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/merger/0.28.6/bundles/style.main.css">
<!-- endbuild -->
<link rel="preconnect" href="https://sdn.geekzu.org" crossorigin>
<link rel="shortcut icon" type="image/x-icon" id="favicon"><!-- Page icon will be set automatically -->
</head>
<body>
<script>
// Config Section - Please follow the instructions
// For a unified development experience, all code comments are written in English; refer to the README or use a translator if neccessary
// 为了统一的开发体验,所有代码注释均使用英文书写;如有必要,请参考文档或使用翻译工具
// Replace with your preferred name and profile photo link (or gravatar email) below
// Please note the multilingual support function enabled by default from below
var myname = "惶心";
var profile = "[email protected]"; // Use gravatar email
// var profile = "https://edge.huangxin.org/images/2024/04/3571424985.jpg"; // Enter a image url or your gravatar email, or leave the variable blank to use the default avatar
// Leave relevant variables empty or undelcared if you do not wish to setup certain payment methods
var usage = "payment"; // Available variables: `payment`, `donate`, require `multilingual`
var wechat = "wxp://f2f0xFuBE5tqPeKuwZxWkpE0CBf4-GkfwdpN";
var alipay = "https://qr.alipay.com/tsx13404cfdrbv32vk9vm90";
var paypal = "https://paypal.me/hxco";
// Multilingual Support
var multilingual = true; // Set variable to false to disable multilingual features (not recommended)
var myname_hans = myname // Default setting for Chinese Simplified users; change it to a speicify value if desired
var myname_hant = "惶心"; // Choose how you want your name to be displayed to Traditional Chinese users
var myname_eng = "Focus Chen"; // Choose how you want your name to be displayed to English / Non-Chinese users
// Dynamic Page Title Support
// Merger supports dynamic page tile, however it's up to you to choose whether you want to brand merger
// If you set branding to true, `| Merger` will be subfixed to the set title
var branding = true; // Set variable to `false` to disable branding
const tracking = true; // Enable qr-merger tracking to analyse project traffic with Microsoft Clarity. Data will be collected anonymously.
// Custom title & subtitle
// Only works with `multilingual` disabled
var title = "选择你的支付方式"; // Set your title
var subtitle = "跟随进一步的指示以向" + myname + "付款"; // Set your subtitle; do not amend the `myname` variable
var gravatar_url = "https://sdn.geekzu.org/avatar/"; // Set your Gravatar url; default to mirror provided by https://cdn.geekzu.org
</script>
<div class="main" id="h">
<i id="i"></i>
<div class="texts">
<h2 id="name"></h2>
<p id="description"></p>
</div>
<script>
profile_error = 0;
if (/\bhttps?:\/\/\S+/i.test(profile)) {
profile_url = profile; // If value entered is a http url, use it directly
}
else if (/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/i.test(profile)) { // Verify for email address
let profile_calc = 500 * (1 / window.devicePixelRatio) * 1.25;
if (profile_calc > 500) {
profile_size = 500;
}
else if (profile_calc < 200) {
profile_size = 200;
}
else {
profile_size = Math.round(profile_calc / 100) * 100;
}
// md5.min.js @ 2.19.0
// https://www.npmjs.com/package/blueimp-md5
// LICENSE: https://github.com/blueimp/JavaScript-MD5/blob/master/LICENSE.txt
!function (n) { "use strict"; function d(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function f(n, t, r, e, o, u) { return d((c = d(d(t, n), d(e, u))) << (f = o) | c >>> 32 - f, r); var c, f } function l(n, t, r, e, o, u, c) { return f(t & r | ~t & e, n, t, o, u, c) } function v(n, t, r, e, o, u, c) { return f(t & e | r & ~e, n, t, o, u, c) } function g(n, t, r, e, o, u, c) { return f(t ^ r ^ e, n, t, o, u, c) } function m(n, t, r, e, o, u, c) { return f(r ^ (t | ~e), n, t, o, u, c) } function i(n, t) { var r, e, o, u; n[t >> 5] |= 128 << t % 32, n[14 + (t + 64 >>> 9 << 4)] = t; for (var c = 1732584193, f = -271733879, i = -1732584194, a = 271733878, h = 0; h < n.length; h += 16)c = l(r = c, e = f, o = i, u = a, n[h], 7, -680876936), a = l(a, c, f, i, n[h + 1], 12, -389564586), i = l(i, a, c, f, n[h + 2], 17, 606105819), f = l(f, i, a, c, n[h + 3], 22, -1044525330), c = l(c, f, i, a, n[h + 4], 7, -176418897), a = l(a, c, f, i, n[h + 5], 12, 1200080426), i = l(i, a, c, f, n[h + 6], 17, -1473231341), f = l(f, i, a, c, n[h + 7], 22, -45705983), c = l(c, f, i, a, n[h + 8], 7, 1770035416), a = l(a, c, f, i, n[h + 9], 12, -1958414417), i = l(i, a, c, f, n[h + 10], 17, -42063), f = l(f, i, a, c, n[h + 11], 22, -1990404162), c = l(c, f, i, a, n[h + 12], 7, 1804603682), a = l(a, c, f, i, n[h + 13], 12, -40341101), i = l(i, a, c, f, n[h + 14], 17, -1502002290), c = v(c, f = l(f, i, a, c, n[h + 15], 22, 1236535329), i, a, n[h + 1], 5, -165796510), a = v(a, c, f, i, n[h + 6], 9, -1069501632), i = v(i, a, c, f, n[h + 11], 14, 643717713), f = v(f, i, a, c, n[h], 20, -373897302), c = v(c, f, i, a, n[h + 5], 5, -701558691), a = v(a, c, f, i, n[h + 10], 9, 38016083), i = v(i, a, c, f, n[h + 15], 14, -660478335), f = v(f, i, a, c, n[h + 4], 20, -405537848), c = v(c, f, i, a, n[h + 9], 5, 568446438), a = v(a, c, f, i, n[h + 14], 9, -1019803690), i = v(i, a, c, f, n[h + 3], 14, -187363961), f = v(f, i, a, c, n[h + 8], 20, 1163531501), c = v(c, f, i, a, n[h + 13], 5, -1444681467), a = v(a, c, f, i, n[h + 2], 9, -51403784), i = v(i, a, c, f, n[h + 7], 14, 1735328473), c = g(c, f = v(f, i, a, c, n[h + 12], 20, -1926607734), i, a, n[h + 5], 4, -378558), a = g(a, c, f, i, n[h + 8], 11, -2022574463), i = g(i, a, c, f, n[h + 11], 16, 1839030562), f = g(f, i, a, c, n[h + 14], 23, -35309556), c = g(c, f, i, a, n[h + 1], 4, -1530992060), a = g(a, c, f, i, n[h + 4], 11, 1272893353), i = g(i, a, c, f, n[h + 7], 16, -155497632), f = g(f, i, a, c, n[h + 10], 23, -1094730640), c = g(c, f, i, a, n[h + 13], 4, 681279174), a = g(a, c, f, i, n[h], 11, -358537222), i = g(i, a, c, f, n[h + 3], 16, -722521979), f = g(f, i, a, c, n[h + 6], 23, 76029189), c = g(c, f, i, a, n[h + 9], 4, -640364487), a = g(a, c, f, i, n[h + 12], 11, -421815835), i = g(i, a, c, f, n[h + 15], 16, 530742520), c = m(c, f = g(f, i, a, c, n[h + 2], 23, -995338651), i, a, n[h], 6, -198630844), a = m(a, c, f, i, n[h + 7], 10, 1126891415), i = m(i, a, c, f, n[h + 14], 15, -1416354905), f = m(f, i, a, c, n[h + 5], 21, -57434055), c = m(c, f, i, a, n[h + 12], 6, 1700485571), a = m(a, c, f, i, n[h + 3], 10, -1894986606), i = m(i, a, c, f, n[h + 10], 15, -1051523), f = m(f, i, a, c, n[h + 1], 21, -2054922799), c = m(c, f, i, a, n[h + 8], 6, 1873313359), a = m(a, c, f, i, n[h + 15], 10, -30611744), i = m(i, a, c, f, n[h + 6], 15, -1560198380), f = m(f, i, a, c, n[h + 13], 21, 1309151649), c = m(c, f, i, a, n[h + 4], 6, -145523070), a = m(a, c, f, i, n[h + 11], 10, -1120210379), i = m(i, a, c, f, n[h + 2], 15, 718787259), f = m(f, i, a, c, n[h + 9], 21, -343485551), c = d(c, r), f = d(f, e), i = d(i, o), a = d(a, u); return [c, f, i, a] } function a(n) { for (var t = "", r = 32 * n.length, e = 0; e < r; e += 8)t += String.fromCharCode(n[e >> 5] >>> e % 32 & 255); return t } function h(n) { var t = []; for (t[(n.length >> 2) - 1] = void 0, e = 0; e < t.length; e += 1)t[e] = 0; for (var r = 8 * n.length, e = 0; e < r; e += 8)t[e >> 5] |= (255 & n.charCodeAt(e / 8)) << e % 32; return t } function e(n) { for (var t, r = "0123456789abcdef", e = "", o = 0; o < n.length; o += 1)t = n.charCodeAt(o), e += r.charAt(t >>> 4 & 15) + r.charAt(15 & t); return e } function r(n) { return unescape(encodeURIComponent(n)) } function o(n) { return a(i(h(t = r(n)), 8 * t.length)); var t } function u(n, t) { return function (n, t) { var r, e, o = h(n), u = [], c = []; for (u[15] = c[15] = void 0, 16 < o.length && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(h(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) }(r(n), r(t)) } function t(n, t, r) { return t ? r ? u(t, n) : e(u(t, n)) : r ? o(n) : e(o(n)) } "function" == typeof define && define.amd ? define(function () { return t }) : "object" == typeof module && module.exports ? module.exports = t : n.md5 = t }(this);
var profile_url = gravatar_url + md5(profile) + "?s=" + profile_size;
}
else {
profile_url = 'https://fastly.jsdelivr.net/gh/qr-merger/[email protected]/assets/images/placeholder.png'; // Set a default avatar in case profile image is undefined
}
document.getElementById("i").style.background = "url('" + profile_url + "') no-repeat center/cover"; // Set center picture
</script>
<!-- Button Section Starts -->
<div class="buttons" id="pending">
<p id="depends" class="middlebtn">
<a href="#showqrcode" class="btn btn-primary" id="toclick" onclick="openwechat()"><svg class="icon"
aria-hidden="true">
<use xlink:href="#icon-weixinzhifu"></use>
</svg></a><span></span>
<a href="#showqrcode" class="btn btn-primary" id="alipaybtn" onclick="openalipay()"><svg class="icon"
aria-hidden="true">
<use xlink:href="#icon-iconfontrectangle390"></use>
</svg></a><span></span>
<button class="btn btn-primary" id="paypalbtn" onclick="openbox()"><svg class="icon paypal-wide"
aria-hidden="true">
<use xlink:href="#icon-paypal"></use>
</svg></button>
</p>
</div>
</div>
<!-- Button Section Ends -->
<!-- Modal Section Starts -->
<div class="modal" id="showqrcode">
<div class="modal-container" role="document">
<div class="modal-header" id="btncontainer">
<a href="#" class="btn btn-clear float-right" id="qrcodeclose" aria-label="Close"></a>
<div id="titleinfo" class="modal-title h5" style="text-align: center"></div>
</div>
<div class="modal-body">
<div class="content" id="qrcontainer">
<div id="currentqrcode" class="img smaller"></div>
</div>
</div>
</div>
</div>
<!-- Modal Section Ends -->
<!-- Footer Scripts -->
<!-- Please do not swap reorder the scripts -->
<!-- build:js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lrsjng.jquery-qrcode/0.18.0/jquery-qrcode.min.js" integrity="sha512-P9oNnyfvOZrY1H0D5js+UcLZr+vLkX50glCUlpJAd/RL84+KBtGI4yvH5YVM5TejD+jbURwQq3C/7hgYWOo8bQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/merger/0.28.6/bundles/function.main.js"></script>
<!-- endbuild -->
<!-- Static files of this project is available on CDNJS and correlating mirror sites
https://cdnjs.com/libraries/merger
As of Apr 2024, mirror sites in China are mostly out-of-sync or inacessible
-->
</body>
</html>