diff --git a/.eslintignore b/.eslintignore
index 58fe04c8..984ad68c 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -3,5 +3,3 @@ dist
src-tauri/target
# Submodules
TGAssistant
-# Public
-public/js
diff --git a/index.html b/index.html
index 2a50ae75..682b947f 100644
--- a/index.html
+++ b/index.html
@@ -5,7 +5,6 @@
Tauri.Genshin
-
diff --git a/public/js/static.geetest.com_static_js_gt.0.4.9.js b/public/js/static.geetest.com_static_js_gt.0.4.9.js
deleted file mode 100644
index a3d76fd3..00000000
--- a/public/js/static.geetest.com_static_js_gt.0.4.9.js
+++ /dev/null
@@ -1,353 +0,0 @@
-"v0.4.9 Geetest Inc.";
-
-(function (window) {
- "use strict";
- if (typeof window === 'undefined') {
- throw new Error('Geetest requires browser environment');
- }
-
-var document = window.document;
-var Math = window.Math;
-var head = document.getElementsByTagName("head")[0];
-
-function _Object(obj) {
- this._obj = obj;
-}
-
-_Object.prototype = {
- _each: function (process) {
- var _obj = this._obj;
- for (var k in _obj) {
- if (_obj.hasOwnProperty(k)) {
- process(k, _obj[k]);
- }
- }
- return this;
- }
-};
-
-function Config(config) {
- var self = this;
- new _Object(config)._each(function (key, value) {
- self[key] = value;
- });
-}
-
-Config.prototype = {
- api_server: 'api.geetest.com',
- protocol: 'http://',
- typePath: '/gettype.php',
- fallback_config: {
- slide: {
- static_servers: ["static.geetest.com", "dn-staticdown.qbox.me"],
- type: 'slide',
- slide: '/static/js/geetest.0.0.0.js'
- },
- fullpage: {
- static_servers: ["static.geetest.com", "dn-staticdown.qbox.me"],
- type: 'fullpage',
- fullpage: '/static/js/fullpage.0.0.0.js'
- }
- },
- _get_fallback_config: function () {
- var self = this;
- if (isString(self.type)) {
- return self.fallback_config[self.type];
- } else if (self.new_captcha) {
- return self.fallback_config.fullpage;
- } else {
- return self.fallback_config.slide;
- }
- },
- _extend: function (obj) {
- var self = this;
- new _Object(obj)._each(function (key, value) {
- self[key] = value;
- })
- }
-};
-var isNumber = function (value) {
- return (typeof value === 'number');
-};
-var isString = function (value) {
- return (typeof value === 'string');
-};
-var isBoolean = function (value) {
- return (typeof value === 'boolean');
-};
-var isObject = function (value) {
- return (typeof value === 'object' && value !== null);
-};
-var isFunction = function (value) {
- return (typeof value === 'function');
-};
-var MOBILE = /Mobi/i.test(navigator.userAgent);
-var pt = MOBILE ? 3 : 0;
-
-var callbacks = {};
-var status = {};
-
-var nowDate = function () {
- var date = new Date();
- var year = date.getFullYear();
- var month = date.getMonth() + 1;
- var day = date.getDate();
- var hours = date.getHours();
- var minutes = date.getMinutes();
- var seconds = date.getSeconds();
-
- if (month >= 1 && month <= 9) {
- month = '0' + month;
- }
- if (day >= 0 && day <= 9) {
- day = '0' + day;
- }
- if (hours >= 0 && hours <= 9) {
- hours = '0' + hours;
- }
- if (minutes >= 0 && minutes <= 9) {
- minutes = '0' + minutes;
- }
- if (seconds >= 0 && seconds <= 9) {
- seconds = '0' + seconds;
- }
- var currentdate = year + '-' + month + '-' + day + " " + hours + ":" + minutes + ":" + seconds;
- return currentdate;
-}
-
-var random = function () {
- return parseInt(Math.random() * 10000) + (new Date()).valueOf();
-};
-
-var loadScript = function (url, cb) {
- var script = document.createElement("script");
- script.charset = "UTF-8";
- script.async = true;
-
- // 对geetest的静态资源添加 crossOrigin
- if ( /static\.geetest\.com/g.test(url)) {
- script.crossOrigin = "anonymous";
- }
-
- script.onerror = function () {
- cb(true);
- };
- var loaded = false;
- script.onload = script.onreadystatechange = function () {
- if (!loaded &&
- (!script.readyState ||
- "loaded" === script.readyState ||
- "complete" === script.readyState)) {
-
- loaded = true;
- setTimeout(function () {
- cb(false);
- }, 0);
- }
- };
- script.src = url;
- head.appendChild(script);
-};
-
-var normalizeDomain = function (domain) {
- // special domain: uems.sysu.edu.cn/jwxt/geetest/
- // return domain.replace(/^https?:\/\/|\/.*$/g, ''); uems.sysu.edu.cn
- return domain.replace(/^https?:\/\/|\/$/g, ''); // uems.sysu.edu.cn/jwxt/geetest
-};
-var normalizePath = function (path) {
- path = path.replace(/\/+/g, '/');
- if (path.indexOf('/') !== 0) {
- path = '/' + path;
- }
- return path;
-};
-var normalizeQuery = function (query) {
- if (!query) {
- return '';
- }
- var q = '?';
- new _Object(query)._each(function (key, value) {
- if (isString(value) || isNumber(value) || isBoolean(value)) {
- q = q + encodeURIComponent(key) + '=' + encodeURIComponent(value) + '&';
- }
- });
- if (q === '?') {
- q = '';
- }
- return q.replace(/&$/, '');
-};
-var makeURL = function (protocol, domain, path, query) {
- domain = normalizeDomain(domain);
-
- var url = normalizePath(path) + normalizeQuery(query);
- if (domain) {
- url = protocol + domain + url;
- }
-
- return url;
-};
-
-var load = function (config, send, protocol, domains, path, query, cb) {
- var tryRequest = function (at) {
-
- var url = makeURL(protocol, domains[at], path, query);
- loadScript(url, function (err) {
- if (err) {
- if (at >= domains.length - 1) {
- cb(true);
- // report gettype error
- if (send) {
- config.error_code = 508;
- var url = protocol + domains[at] + path;
- reportError(config, url);
- }
- } else {
- tryRequest(at + 1);
- }
- } else {
- cb(false);
- }
- });
- };
- tryRequest(0);
-};
-
-
-var jsonp = function (domains, path, config, callback) {
- if (isObject(config.getLib)) {
- config._extend(config.getLib);
- callback(config);
- return;
- }
- if (config.offline) {
- callback(config._get_fallback_config());
- return;
- }
-
- var cb = "geetest_" + random();
- window[cb] = function (data) {
- if (data.status == 'success') {
- callback(data.data);
- } else if (!data.status) {
- callback(data);
- } else {
- callback(config._get_fallback_config());
- }
- window[cb] = undefined;
- try {
- delete window[cb];
- } catch (e) {
- }
- };
- load(config, true, config.protocol, domains, path, {
- gt: config.gt,
- callback: cb
- }, function (err) {
- if (err) {
- callback(config._get_fallback_config());
- }
- });
-};
-
-var reportError = function (config, url) {
- load(config, false, config.protocol, ['monitor.geetest.com'], '/monitor/send', {
- time: nowDate(),
- captcha_id: config.gt,
- challenge: config.challenge,
- pt: pt,
- exception_url: url,
- error_code: config.error_code
- }, function (err) {})
-}
-
-var throwError = function (errorType, config) {
- var errors = {
- networkError: '网络错误',
- gtTypeError: 'gt字段不是字符串类型'
- };
- if (typeof config.onError === 'function') {
- config.onError(errors[errorType]);
- } else {
- throw new Error(errors[errorType]);
- }
-};
-
-var detect = function () {
- return window.Geetest || document.getElementById("gt_lib");
-};
-
-if (detect()) {
- status.slide = "loaded";
-}
-
-window.initGeetest = function (userConfig, callback) {
-
- var config = new Config(userConfig);
-
- if (userConfig.https) {
- config.protocol = 'https://';
- } else if (!userConfig.protocol) {
- config.protocol = window.location.protocol + '//';
- }
-
- // for KFC
- if (userConfig.gt === '050cffef4ae57b5d5e529fea9540b0d1' ||
- userConfig.gt === '3bd38408ae4af923ed36e13819b14d42') {
- config.apiserver = 'yumchina.geetest.com/'; // for old js
- config.api_server = 'yumchina.geetest.com';
- }
-
- if(userConfig.gt){
- window.GeeGT = userConfig.gt
- }
-
- if(userConfig.challenge){
- window.GeeChallenge = userConfig.challenge
- }
-
- if (isObject(userConfig.getType)) {
- config._extend(userConfig.getType);
- }
- jsonp((config.api_server_v3 || [config.api_server || config.apiserver]), config.typePath, config, function (newConfig) {
- var type = newConfig.type;
- var init = function () {
- config._extend(newConfig);
- callback(new window.Geetest(config));
- };
-
- callbacks[type] = callbacks[type] || [];
- var s = status[type] || 'init';
- if (s === 'init') {
- status[type] = 'loading';
-
- callbacks[type].push(init);
-
- load(config, true, config.protocol, newConfig.static_servers || newConfig.domains, newConfig[type] || newConfig.path, null, function (err) {
- if (err) {
- status[type] = 'fail';
- throwError('networkError', config);
- } else {
- status[type] = 'loaded';
- var cbs = callbacks[type];
- for (var i = 0, len = cbs.length; i < len; i = i + 1) {
- var cb = cbs[i];
- if (isFunction(cb)) {
- cb();
- }
- }
- callbacks[type] = [];
- }
- });
- } else if (s === "loaded") {
- init();
- } else if (s === "fail") {
- throwError('networkError', config);
- } else if (s === "loading") {
- callbacks[type].push(init);
- }
- });
-
-};
-
-
-})(window);
diff --git a/src/main.ts b/src/main.ts
index 03c81bdb..31b06a34 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -2,7 +2,7 @@
* @file main.ts
* @description Main entry
* @author BTMuli
- * @since Alpha v0.1.2
+ * @since Beta v0.3.3
*/
// vue
@@ -17,8 +17,10 @@ import "vuetify/styles";
import { createVuetify } from "vuetify";
// 全局样式
import "./assets/index.css";
+// gt.js
+import "https://static.geetest.com/static/js/gt.0.4.9.js";
-if (import.meta.env.MODE === "development") {
+if (import.meta?.env?.MODE === "development") {
await import("@vue/devtools").then((i) => {
i.default.connect(/* host, port */);
});