更新启动
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
//! AES-256-GCM,与 pythonbackend `app/core/aes_crypto.py` 一致。
|
||||
|
||||
use rand::RngCore;
|
||||
|
||||
use aes_gcm::{
|
||||
aead::{Aead, KeyInit},
|
||||
Aes256Gcm, Nonce,
|
||||
@@ -33,8 +31,12 @@ pub fn parse_aes_key(raw: &str) -> Option<[u8; 32]> {
|
||||
}
|
||||
|
||||
pub fn aes_key_from_env() -> Option<[u8; 32]> {
|
||||
let s="98cde5e64ee0da6ed0c5842f43a950aa0d8ae5087c43c8d8ee5d10bd8d571bb4";
|
||||
parse_aes_key(&s)
|
||||
let raw = std::env::var("AICLIENT_API_AES_KEY")
|
||||
.or_else(|_| std::env::var("API_AES_KEY"))
|
||||
.unwrap_or_else(|_| {
|
||||
"a1825fb10e820d1de3abf8f1a34921684f8392e7018f373a41004abff3cdeafc".to_string()
|
||||
});
|
||||
parse_aes_key(&raw)
|
||||
}
|
||||
|
||||
pub fn encrypt_bytes(plaintext: &[u8], key: &[u8; 32]) -> Result<String, String> {
|
||||
|
||||
@@ -48,7 +48,8 @@ pub fn api_base() -> String {
|
||||
if is_dev() {
|
||||
"http://127.0.0.1:8001".to_string()
|
||||
} else {
|
||||
"http://81.71.163.140:8001".to_string()
|
||||
// "http://81.71.163.140:8001".to_string()
|
||||
"http://127.0.0.1:8001".to_string()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -36,15 +36,12 @@ use tauri::{Manager, WebviewUrl, WebviewWindowBuilder};
|
||||
|
||||
/// 开发:本地 Vite;发布:服务器静态资源(与 aiclient_ui `build:deploy` 输出目录一致)
|
||||
const DEV_WEB_URL: &str = "http://localhost:1420/";
|
||||
const PROD_WEB_URL: &str = "http://81.71.163.140/images/newyaoyan/index.html";
|
||||
|
||||
fn webview_url() -> WebviewUrl {
|
||||
let url = if cfg!(debug_assertions) {
|
||||
DEV_WEB_URL
|
||||
if cfg!(debug_assertions) {
|
||||
WebviewUrl::External(DEV_WEB_URL.parse().expect("dev webview url"))
|
||||
} else {
|
||||
PROD_WEB_URL
|
||||
};
|
||||
WebviewUrl::External(url.parse().expect("webview url"))
|
||||
WebviewUrl::App("index.html".into())
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||
@@ -186,30 +183,3 @@ pub fn run() {
|
||||
}
|
||||
});
|
||||
}
|
||||
#[cfg(test)]
|
||||
mod acl_url_tests {
|
||||
use std::str::FromStr;
|
||||
|
||||
use tauri::utils::acl::RemoteUrlPattern;
|
||||
|
||||
#[test]
|
||||
fn production_origin_matches_remote_patterns() {
|
||||
let url: url::Url = "http://81.71.163.140/images/newyaoyan/index.html"
|
||||
.parse()
|
||||
.expect("valid url");
|
||||
|
||||
for pattern in [
|
||||
"http://81.71.163.140/*",
|
||||
"http://81.71.163.140:8001/*",
|
||||
"http://81.71.163.140/images/newyaoyan/*",
|
||||
"http://81.71.163.140/images/newyaoyan/index.html",
|
||||
] {
|
||||
let parsed = RemoteUrlPattern::from_str(pattern)
|
||||
.unwrap_or_else(|e| panic!("failed to parse {pattern}: {e}"));
|
||||
assert!(
|
||||
parsed.test(&url),
|
||||
"pattern {pattern} should match production origin"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
"version": "0.1.15",
|
||||
"identifier": "com.aiclient.desktop",
|
||||
"build": {
|
||||
"beforeDevCommand": "npm run dev --prefix ../aiclient_ui",
|
||||
"beforeDevCommand": "npm --prefix ../aiclientpureui run dev",
|
||||
"beforeBuildCommand": "npm --prefix ../aiclientpureui run build:tauri",
|
||||
"devUrl": "http://localhost:1420",
|
||||
"frontendDist": "frontend-stub"
|
||||
"frontendDist": "../../aiclientpureui/dist"
|
||||
},
|
||||
"app": {
|
||||
"withGlobalTauri": true,
|
||||
|
||||
Reference in New Issue
Block a user