+
{{ $t('resource_card.resources') }}
diff --git a/src_assets/common/assets/web/index.html b/src_assets/common/assets/web/index.html
index 6ed5deab..c5a21bea 100644
--- a/src_assets/common/assets/web/index.html
+++ b/src_assets/common/assets/web/index.html
@@ -68,6 +68,7 @@
+
@@ -77,6 +78,7 @@
import { createApp } from 'vue'
import { initApp } from './init'
import Navbar from './Navbar.vue'
+ import ClientCard from './ClientCard.vue'
import ResourceCard from './ResourceCard.vue'
import ApolloVersion from './apollo_version'
@@ -84,6 +86,7 @@
let app = createApp({
components: {
Navbar,
+ ClientCard,
ResourceCard
},
data() {
diff --git a/src_assets/common/assets/web/login.html b/src_assets/common/assets/web/login.html
index 32115298..7f6676e5 100644
--- a/src_assets/common/assets/web/login.html
+++ b/src_assets/common/assets/web/login.html
@@ -21,11 +21,15 @@
-
+
+
+
+
+
@@ -44,16 +48,36 @@
import { initApp } from './init'
let app = createApp({
- data() {
+ setup() {
+ const savedPasswordStr = localStorage.getItem('login')
+ if (savedPasswordStr) {
+ try {
+ const { username, password } = JSON.parse(savedPasswordStr);
+ return {
+ error: null,
+ success: false,
+ loading: false,
+ savePassword: true,
+ passwordData: {
+ username,
+ password
+ }
+ }
+ } catch (e) {
+ console.error('Reading saved password failed!', e);
+ }
+ }
+
return {
error: null,
success: false,
loading: false,
+ savePassword: false,
passwordData: {
username: "",
password: ""
},
- };
+ }
},
methods: {
save() {
@@ -66,6 +90,7 @@
this.loading = false;
if (res.status === 200) {
this.success = true;
+ localStorage.setItem('login', JSON.stringify(this.passwordData));
location.href = './';
} else {
if (res.status === 401) {
diff --git a/src_assets/common/assets/web/public/assets/locale/en.json b/src_assets/common/assets/web/public/assets/locale/en.json
index 0561de54..297f0fe0 100644
--- a/src_assets/common/assets/web/public/assets/locale/en.json
+++ b/src_assets/common/assets/web/public/assets/locale/en.json
@@ -87,6 +87,11 @@
"resolution_scale_factor": "Resolution Scale Factor",
"resolution_scale_factor_desc": "Scale the client requested resolution based on this factor. e.g. 2000x1000 with a factor of 120% will become 2400x1200. Overrides client requested factor when the number isn't 100%. This option won't affect client requested streaming resolution."
},
+ "client_card": {
+ "clients": "Clients",
+ "clients_desc": "Clients that are specifically tuned to work the best with Apollo",
+ "generic_moonlight_clients_desc": "Gereric Moonlight clients are still usable with Apollo."
+ },
"config": {
"adapter_name": "Adapter Name",
"adapter_name_desc_linux_1": "Manually specify a GPU to use for capture.",
@@ -341,6 +346,9 @@
"wan_encryption_mode_2": "Required for all clients",
"wan_encryption_mode_desc": "This determines when encryption will be used when streaming over the Internet. Encryption can reduce streaming performance, particularly on less powerful hosts and clients."
},
+ "login": {
+ "save_password": "Remember Password"
+ },
"index": {
"description": "Apollo is a self-hosted game stream host for Moonlight.",
"download": "Download",
diff --git a/src_assets/common/assets/web/public/assets/locale/zh.json b/src_assets/common/assets/web/public/assets/locale/zh.json
index 69dba790..4bb22818 100644
--- a/src_assets/common/assets/web/public/assets/locale/zh.json
+++ b/src_assets/common/assets/web/public/assets/locale/zh.json
@@ -85,6 +85,11 @@
"resolution_scale_factor": "分辨率缩放比例",
"resolution_scale_factor_desc": "基于此比例缩放客户端请求的分辨率。例如 2000x1000 缩放 120% 将变成 2400x1200。当此项为非 100% 时覆盖客户端请求的缩放比例。此选项不会影响客户端请求的串流分辨率。"
},
+ "client_card": {
+ "clients": "客户端",
+ "clients_desc": "为 Apollo 精心特调的客户端",
+ "generic_moonlight_clients_desc": "普通 Moonlight 客户端也可与 Apollo 共同使用。"
+ },
"config": {
"adapter_name": "适配器名称",
"adapter_name_desc_linux_1": "手动指定用于捕获的 GPU。",
@@ -341,6 +346,9 @@
"wan_encryption_mode_2": "强制所有客户端使用",
"wan_encryption_mode_desc": "这决定了在公网串流时是否加密。加密会降低串流性能,尤其是在性能较弱的主机和客户端上。"
},
+ "login": {
+ "save_password": "记住密码"
+ },
"index": {
"description": "Apollo 是供 Moonlight 使用的自建游戏串流服务。",
"download": "下载",