| 
					
				 | 
			
			
				@@ -2,8 +2,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export class CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     className: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     id: string | null = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    createdAt: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    updatedAt: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    createdAt:any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    updatedAt:any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     data: Record<string, any> = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     constructor(className: string) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -29,7 +29,7 @@ export class CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async save() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let method = "POST"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let url = `http://dev.fmode.cn:1337/parse/classes/${this.className}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let url = `https://dev.fmode.cn/parse/classes/${this.className}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.id) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -61,7 +61,7 @@ export class CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async destroy() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!this.id) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const response = await fetch(`http://dev.fmode.cn:1337/parse/classes/${this.className}/${this.id}`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const response = await fetch(`https://dev.fmode.cn/parse/classes/${this.className}/${this.id}`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "x-parse-application-id": "dev" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,7 +88,7 @@ export class CloudQuery { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.className = className; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    include(...fileds: string[]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include(...fileds:string[]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.queryParams["include"] = fileds; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     greaterThan(key: string, value: any) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -112,15 +112,12 @@ export class CloudQuery { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     equalTo(key: string, value: any) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 确保 this.queryParams["where"] 已经初始化为对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!this.queryParams["where"]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.queryParams["where"] = {};  // 防止未初始化的情况 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!this.queryParams["where"]) this.queryParams["where"] = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.queryParams["where"][key] = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async get(id: string) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const url = `http://dev.fmode.cn:1337/parse/classes/${this.className}/${id}?`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const url = `https://dev.fmode.cn/parse/classes/${this.className}/${id}?`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const response = await fetch(url, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,26 +131,30 @@ export class CloudQuery { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const json = await response?.json(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return json || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (json) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let existsObject = this.dataToObj(json) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return existsObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async find() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let url = `http://dev.fmode.cn:1337/parse/classes/${this.className}?`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async find():Promise<Array<CloudObject>> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let url = `https://dev.fmode.cn/parse/classes/${this.className}?`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let queryStr = `` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Object.keys(this.queryParams).forEach(key => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Object.keys(this.queryParams).forEach(key=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let paramStr = JSON.stringify(this.queryParams[key]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (key == "include") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(key=="include"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 paramStr = this.queryParams[key]?.join(",") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (queryStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(queryStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 url += `${key}=${paramStr}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 url += `&${key}=${paramStr}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // if (Object.keys(this.queryParams["where"]).length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const response = await fetch(url, { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -169,12 +170,13 @@ export class CloudQuery { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const json = await response?.json(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let list = json?.results || [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let objList = list.map((item: any) => this.dataToObj(item)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let objList = list.map((item:any)=>this.dataToObj(item)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return objList || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async first() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let url = `http://dev.fmode.cn:1337/parse/classes/${this.className}?`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let url = `https://dev.fmode.cn/parse/classes/${this.className}?`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Object.keys(this.queryParams["where"]).length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const whereStr = JSON.stringify(this.queryParams["where"]); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -201,7 +203,7 @@ export class CloudQuery { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    dataToObj(exists: any): CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dataToObj(exists:any):CloudObject{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let existsObject = new CloudObject(this.className); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         existsObject.set(exists); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         existsObject.id = exists.objectId; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -217,7 +219,7 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         super("_User"); // 假设用户类在Parse中是"_User" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 读取用户缓存信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let userCacheStr = localStorage.getItem("NCloud/dev/User") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (userCacheStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(userCacheStr){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let userData = JSON.parse(userCacheStr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 设置用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.id = userData?.objectId; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -226,7 +228,7 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    sessionToken: string | null = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sessionToken:string|null = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 获取当前用户信息 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async current() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!this.sessionToken) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -234,7 +236,7 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // const response = await fetch(`http://dev.fmode.cn:1337/parse/users/me`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // const response = await fetch(`https://dev.fmode.cn/parse/users/me`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //     headers: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //         "x-parse-application-id": "dev", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //         "x-parse-session-token": this.sessionToken // 使用sessionToken进行身份验证 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -250,45 +252,9 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     /** 获取特定用户信息 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     async getUserByUsername(objectId: string) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const url = `http://dev.fmode.cn:1337/parse/classes/_User?where=${JSON.stringify({ objectId })}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const response = await fetch(url, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            headers: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "accept": "*/*", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "x-parse-application-id": "dev", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "x-parse-master-key": "devmk", // 使用您的 Master Key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "Content-Type": "application/json" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            method: "GET", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            mode: "cors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            credentials: "omit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const result = await response?.json(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (result?.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            console.error(result?.error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return null; // 返回 null 表示未找到用户或发生错误 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 处理查询结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (result.results && result.results.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const userData = result.results[0]; // 获取第一个匹配的用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const user = new CloudUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            user.set(userData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            user.id = userData.objectId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            user.createdAt = userData.createdAt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            user.updatedAt = userData.updatedAt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return user; // 返回找到的用户对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return null; // 如果没有找到用户,返回 null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 登录 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async login(username: string, password: string): Promise<CloudUser | null> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const response = await fetch(`http://dev.fmode.cn:1337/parse/login`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async login(username: string, password: string):Promise<CloudUser|null> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const response = await fetch(`https://dev.fmode.cn/parse/login`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "x-parse-application-id": "dev", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "Content-Type": "application/json" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -302,14 +268,14 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             console.error(result?.error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 设置用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.id = result?.objectId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.sessionToken = result?.sessionToken; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.data = result; // 保存用户数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 缓存用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log(result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        localStorage.setItem("NCloud/dev/User", JSON.stringify(result)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        localStorage.setItem("NCloud/dev/User",JSON.stringify(result)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -320,7 +286,7 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const response = await fetch(`http://dev.fmode.cn:1337/parse/logout`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const response = await fetch(`https://dev.fmode.cn/parse/logout`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "x-parse-application-id": "dev", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "x-parse-session-token": this.sessionToken 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -328,18 +294,26 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             method: "POST" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const result = await response?.json(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let result = await response?.json(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (result?.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             console.error(result?.error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(result?.error=="Invalid session token"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.clearUserCache() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.clearUserCache() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    clearUserCache(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 清除用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         localStorage.removeItem("NCloud/dev/User") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.id = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.sessionToken = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.data = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 注册 */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -350,7 +324,7 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ...additionalData // 合并额外的用户数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const response = await fetch(`http://dev.fmode.cn:1337/parse/users`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const response = await fetch(`https://dev.fmode.cn/parse/users`, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "x-parse-application-id": "dev", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "Content-Type": "application/json" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -368,7 +342,7 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 设置用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 缓存用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log(result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        localStorage.setItem("NCloud/dev/User", JSON.stringify(result)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        localStorage.setItem("NCloud/dev/User",JSON.stringify(result)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.id = result?.objectId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.sessionToken = result?.sessionToken; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.data = result; // 保存用户数据 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -377,21 +351,21 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     override async save() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let method = "POST"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let url = `http://dev.fmode.cn:1337/parse/users`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let url = `https://dev.fmode.cn/parse/users`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 更新用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             url += `/${this.id}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             method = "PUT"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let data: any = JSON.parse(JSON.stringify(this.data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let data:any = JSON.parse(JSON.stringify(this.data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         delete data.createdAt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         delete data.updatedAt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         delete data.ACL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         delete data.objectId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const body = JSON.stringify(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let headersOptions: any = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let headersOptions:any = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "content-type": "application/json;charset=UTF-8", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "x-parse-application-id": "dev", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "x-parse-session-token": this.sessionToken, // 添加sessionToken以进行身份验证 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -403,7 +377,7 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             mode: "cors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             credentials: "omit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const result = await response?.json(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (result?.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             console.error(result?.error); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -411,25 +385,36 @@ export class CloudUser extends CloudObject { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (result?.objectId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.id = result?.objectId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        localStorage.setItem("NCloud/dev/User", JSON.stringify(this.data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        localStorage.setItem("NCloud/dev/User",JSON.stringify(this.data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export class CloudApi{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async fetch(path:string,body:any,options?:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        method:string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        body:any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// fetch("http://dev.fmode.cn:1337/parse/classes/_User?where={%22username%22:%22chengnan%22}", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     "headers": { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       "accept": "*/*", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       "accept-language": "zh-CN,zh;q=0.9", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       "if-none-match": "W/\"fe-JIlchyuW4LZub+2xCTNV/QiJ0wc\"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       "x-parse-application-id": "dev", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//       "x-parse-master-key": "devmk" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     "referrer": "http://localhost:4040/", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     "referrerPolicy": "strict-origin-when-cross-origin", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     "body": null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     "method": "GET", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     "mode": "cors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//     "credentials": "omit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let reqOpts:any =  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            headers: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "x-parse-application-id": "dev", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "Content-Type": "application/json" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            method: options?.method || "POST", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mode: "cors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            credentials: "omit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(body||options?.body){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            reqOpts.body = JSON.stringify(body || options?.body); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            reqOpts.json = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let host = `https://dev.fmode.cn` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // host = `http://127.0.0.1:1337` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let url = `${host}/api/`+path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(url,reqOpts) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const response = await fetch(url,reqOpts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let json = await response.json(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return json 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |