Commit 70650f20 authored by wudizhanche1000's avatar wudizhanche1000

Add: 启动时定位到最后访问

parent a2a1bac4
......@@ -55,8 +55,23 @@ export class AppsService {
private downloadService: DownloadService, private ngZone: NgZone) {
}
get lastVisted(): App|undefined {
let id = localStorage.getItem("last_visited");
if (id) {
return this.apps.get(id);
}
return undefined;
}
set lastVisted(app: App|undefined) {
if (app) {
localStorage.setItem("last_visited", app.id);
}
}
async loadApps() {
let data = await this.http.get('./apps.json').map((response) => response.json()).toPromise();
let data = await
this.http.get('./apps.json').map((response) => response.json()).toPromise();
this.apps = this.loadAppsList(data);
return this.apps;
}
......@@ -253,6 +268,15 @@ export class AppsService {
this.findChildren(app).every((child) => (child.isInstalled() && child.isReady()) || !child.isInstalled());
}
async importApp(app: App, appPath: string) {
if (!app.isInstalled()) {
app.status.status = "ready";
app.local = new AppLocal();
app.local.path = appPath;
await this.update(app, true);
}
}
sha256sum(file: string): Promise<string> {
return new Promise((resolve, reject) => {
let input = fs.createReadStream(file);
......@@ -308,7 +332,7 @@ export class AppsService {
} else {
readyToUpdate = app.isReady() && mods.every((mod) => mod.isReady());
}
if (readyToUpdate && (app.local!.version !== app.version || verify)) {
if (readyToUpdate && (verify || app.local!.version !== app.version )) {
app.status.status = "updating";
try {
Logger.info("Checking updating: ", app);
......
......@@ -31,10 +31,10 @@ export class LobbyComponent implements OnInit {
async ngOnInit() {
this.apps = await this.appsService.loadApps();
await this.appsService.migrate();
for(let app of this.apps.values()) {
for (let app of this.apps.values()) {
this.appsService.update(app);
}
this.chooseApp(Array.from(this.apps.values()).find(app => app.isInstalled()) || this.apps.get("ygopro")!);
this.chooseApp(this.appsService.lastVisted || this.apps.get("ygopro")!);
// 初始化聊天室
let url = new URL('candy/index.html', location.href);
......@@ -42,7 +42,7 @@ export class LobbyComponent implements OnInit {
params.set('jid', this.loginService.user.username + '@mycard.moe');
params.set('password', this.loginService.user.external_id.toString());
params.set('nickname', this.loginService.user.username);
switch(this.settingsService.getLocale()){
switch (this.settingsService.getLocale()) {
case 'zh-CN':
params.set('language', 'cn');
break;
......@@ -57,6 +57,7 @@ export class LobbyComponent implements OnInit {
chooseApp(app: App) {
this.currentApp = app;
this.appsService.lastVisted = app;
if (this.candy && this.currentApp.conference) {
(<WebViewElement>this.candy.nativeElement).send('join', this.currentApp.conference + '@conference.mycard.moe');
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment