mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-12 15:14:35 +01:00
Implement new GC API & rename to zipUtils
This commit is contained in:
@@ -134,12 +134,12 @@ async fn get_bg_file(bg_path: String) -> String {
|
||||
}
|
||||
};
|
||||
|
||||
let file_name = response_data.backgroundFile.to_string() + ".png";
|
||||
let file_name = response_data.bg_file.to_string();
|
||||
|
||||
// First we see if the file already exists in our local bg folder
|
||||
if file_helpers::dir_exists(format!(".\\bg\\{}", file_name).as_str()) {
|
||||
let cwd = std::env::current_dir().unwrap();
|
||||
return format!("{}\\{}", cwd.display(), response_data.backgroundFile.as_str());
|
||||
return format!("{}\\{}", cwd.display(), response_data.bg_file.as_str());
|
||||
}
|
||||
|
||||
// Now we check if the bg folder, which is one directory above the game_path, exists.
|
||||
@@ -159,16 +159,16 @@ async fn get_bg_file(bg_path: String) -> String {
|
||||
// The image exists, lets copy it to our local \bg folder
|
||||
let bg_img_path_local = format!(".\\bg\\{}", file_name.as_str());
|
||||
|
||||
match std::fs::copy(bg_img_path, bg_img_path_local) {
|
||||
return match std::fs::copy(bg_img_path, bg_img_path_local) {
|
||||
Ok(_) => {
|
||||
// Copy was successful, lets return true
|
||||
let cwd = std::env::current_dir().unwrap();
|
||||
return format!("{}\\{}", cwd.display(), response_data.backgroundFile.as_str());
|
||||
format!("{}\\{}", cwd.display(), response_data.bg_file.as_str())
|
||||
}
|
||||
Err(e) => {
|
||||
// Copy failed, lets return false
|
||||
println!("Failed to copy background image: {}", e);
|
||||
return "".to_string();
|
||||
"".to_string()
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -4,5 +4,5 @@ use serde::Deserialize;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub(crate) struct APIQuery {
|
||||
pub backgroundFile: String,
|
||||
pub bg_file: String,
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import React from 'react'
|
||||
import Menu from './Menu'
|
||||
import Tr from '../../../utils/language'
|
||||
import DownloadHandler from '../../../utils/download'
|
||||
import { unzip } from '../../../utils/zip_utils'
|
||||
import { unzip } from '../../../utils/zipUtils'
|
||||
import BigButton from '../common/BigButton'
|
||||
import { dataDir } from '@tauri-apps/api/path'
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import React from 'react'
|
||||
import Tr from '../../../utils/language'
|
||||
|
||||
import './NewsSection.css'
|
||||
import {base64Decode} from '../../../utils/string'
|
||||
|
||||
interface IProps {
|
||||
selected?: string;
|
||||
@@ -55,6 +56,9 @@ export default class NewsSection extends React.Component<IProps, IState> {
|
||||
if (!obj.commits) {
|
||||
const commits: string = await invoke('req_get', { url: 'https://api.github.com/repos/Grasscutters/Grasscutter/commits' })
|
||||
obj = JSON.parse(commits)
|
||||
} else {
|
||||
const commitData = JSON.parse(base64Decode(obj.commits))
|
||||
obj = commitData.gc_stable
|
||||
}
|
||||
|
||||
// Probably rate-limited
|
||||
|
||||
@@ -8,4 +8,8 @@ export function byteToString(bytes: number) {
|
||||
const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)).toString(), 10)
|
||||
if (i === 0) return `${bytes} ${sizes[i]}`
|
||||
return `${(bytes / Math.pow(1024, i)).toFixed(2)} ${sizes[i]}`
|
||||
}
|
||||
|
||||
export function base64Decode(str: string) {
|
||||
return Buffer.from(str, 'base64').toString('utf8')
|
||||
}
|
||||
Reference in New Issue
Block a user