|
@@ -2,8 +2,8 @@
|
|
export class CloudObject {
|
|
export class CloudObject {
|
|
className: string;
|
|
className: string;
|
|
id: string | null = null;
|
|
id: string | null = null;
|
|
- createdAt:any;
|
|
|
|
- updatedAt:any;
|
|
|
|
|
|
+ createdAt: any;
|
|
|
|
+ updatedAt: any;
|
|
data: Record<string, any> = {};
|
|
data: Record<string, any> = {};
|
|
|
|
|
|
constructor(className: string) {
|
|
constructor(className: string) {
|
|
@@ -151,7 +151,7 @@ export class CloudQuery {
|
|
|
|
|
|
const json = await response?.json();
|
|
const json = await response?.json();
|
|
let list = json?.results || []
|
|
let list = json?.results || []
|
|
- let objList = list.map((item:any)=>this.dataToObj(item))
|
|
|
|
|
|
+ let objList = list.map((item: any) => this.dataToObj(item))
|
|
return objList || [];
|
|
return objList || [];
|
|
}
|
|
}
|
|
|
|
|
|
@@ -183,7 +183,7 @@ export class CloudQuery {
|
|
return null
|
|
return null
|
|
}
|
|
}
|
|
|
|
|
|
- dataToObj(exists:any):CloudObject{
|
|
|
|
|
|
+ dataToObj(exists: any): CloudObject {
|
|
let existsObject = new CloudObject(this.className);
|
|
let existsObject = new CloudObject(this.className);
|
|
existsObject.set(exists);
|
|
existsObject.set(exists);
|
|
existsObject.id = exists.objectId;
|
|
existsObject.id = exists.objectId;
|
|
@@ -198,17 +198,20 @@ export class CloudUser extends CloudObject {
|
|
constructor() {
|
|
constructor() {
|
|
super("_User"); // 假设用户类在Parse中是"_User"
|
|
super("_User"); // 假设用户类在Parse中是"_User"
|
|
// 读取用户缓存信息
|
|
// 读取用户缓存信息
|
|
|
|
+ console.log("正在读取用户缓存信息");
|
|
let userCacheStr = localStorage.getItem("NCloud/hcx/User")
|
|
let userCacheStr = localStorage.getItem("NCloud/hcx/User")
|
|
- if(userCacheStr){
|
|
|
|
|
|
+ if (userCacheStr) {
|
|
let userData = JSON.parse(userCacheStr)
|
|
let userData = JSON.parse(userCacheStr)
|
|
// 设置用户信息
|
|
// 设置用户信息
|
|
this.id = userData?.objectId;
|
|
this.id = userData?.objectId;
|
|
this.sessionToken = userData?.sessionToken;
|
|
this.sessionToken = userData?.sessionToken;
|
|
this.data = userData; // 保存用户数据
|
|
this.data = userData; // 保存用户数据
|
|
|
|
+ console.log("用户缓存信息读取完毕:");
|
|
|
|
+ console.log(this);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- sessionToken:string|null = ""
|
|
|
|
|
|
+ sessionToken: string | null = ""
|
|
/** 获取当前用户信息 */
|
|
/** 获取当前用户信息 */
|
|
async current() {
|
|
async current() {
|
|
if (!this.sessionToken) {
|
|
if (!this.sessionToken) {
|
|
@@ -231,9 +234,41 @@ export class CloudUser extends CloudObject {
|
|
}
|
|
}
|
|
return result;*/
|
|
return result;*/
|
|
}
|
|
}
|
|
|
|
+ /**读取用户缓存 */
|
|
|
|
+ /**更新用户缓存 */
|
|
|
|
+ async updateCache() {
|
|
|
|
+ if (!this.sessionToken) {
|
|
|
|
+ console.error("正在执行更新用户缓存:用户未登录");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ let query = new CloudQuery("_User");
|
|
|
|
+ query.equalTo("objectId", this.id)
|
|
|
|
+ console.log("设置条件:objectId==" + this.id)
|
|
|
|
+ let user:any = await query.first()
|
|
|
|
+ console.log("查询到条件用户信息:")
|
|
|
|
+ console.log(user)
|
|
|
|
+ //需要把sessionToken也保存起来
|
|
|
|
+ user.sessionToken = this.sessionToken
|
|
|
|
+ localStorage.setItem("NCloud/hcx/User", JSON.stringify(user))
|
|
|
|
+ console.log("已将该信息更新至用户缓存!请检查");
|
|
|
|
+ console.log("准备读取新的用户缓存信息");
|
|
|
|
+ let userCacheStr = localStorage.getItem("NCloud/hcx/User")
|
|
|
|
+ console.log("读取到的用户缓存信息:");
|
|
|
|
+ console.log(userCacheStr);
|
|
|
|
+ // if (userCacheStr) {
|
|
|
|
+ // let userData = JSON.parse(userCacheStr)
|
|
|
|
+ // // 设置用户信息
|
|
|
|
+ // this.id = userData?.objectId;
|
|
|
|
+ // this.sessionToken = userData?.sessionToken;
|
|
|
|
+ // this.data = userData; // 保存用户数据
|
|
|
|
+ // console.log("用户缓存信息重新读取完毕:");
|
|
|
|
+ // console.log(this);
|
|
|
|
+ // }
|
|
|
|
+ // return this;
|
|
|
|
+ }
|
|
|
|
|
|
/** 登录 */
|
|
/** 登录 */
|
|
- async login(username: string, password: string):Promise<CloudUser|null> {
|
|
|
|
|
|
+ async loginByUsername(username: string, password: string): Promise<CloudUser | null> {
|
|
const response = await fetch(`http://1.94.237.145:1337/parse/login`, {
|
|
const response = await fetch(`http://1.94.237.145:1337/parse/login`, {
|
|
headers: {
|
|
headers: {
|
|
"x-parse-application-id": "hcx",
|
|
"x-parse-application-id": "hcx",
|
|
@@ -248,17 +283,44 @@ export class CloudUser extends CloudObject {
|
|
console.error(result?.error);
|
|
console.error(result?.error);
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
// 设置用户信息
|
|
// 设置用户信息
|
|
this.id = result?.objectId;
|
|
this.id = result?.objectId;
|
|
this.sessionToken = result?.sessionToken;
|
|
this.sessionToken = result?.sessionToken;
|
|
|
|
+ this.updatedAt=result?.updatedAt;
|
|
|
|
+ this.className = result?._className;
|
|
|
|
+ this.createdAt = result?.createdAt;
|
|
|
|
+ let excludedKeys = ["objectId", "sessionToken", "createdAt", "updatedAt", "_className"];
|
|
|
|
+ for (let key of excludedKeys) {
|
|
|
|
+ delete result[key];
|
|
|
|
+ }
|
|
this.data = result; // 保存用户数据
|
|
this.data = result; // 保存用户数据
|
|
// 缓存用户信息
|
|
// 缓存用户信息
|
|
- console.log(result)
|
|
|
|
- localStorage.setItem("NCloud/hcx/User",JSON.stringify(result))
|
|
|
|
|
|
+ console.log("登录成功后即将缓存的信息如下:");
|
|
|
|
+ console.log(this)
|
|
|
|
+ localStorage.setItem("NCloud/hcx/User", JSON.stringify(this))
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ async loginByPhone(phone: string, verCode: string): Promise<CloudUser | null> {
|
|
|
|
+ const response = await fetch(`http://1.94.237.145:1337/parse/users`, {
|
|
|
|
+ headers: {
|
|
|
|
+ "x-parse-application-id": "hcx",
|
|
|
|
+ "Content-Type": "application/json"
|
|
|
|
+ },
|
|
|
|
+ body: JSON.stringify({ username: phone, password: verCode }),
|
|
|
|
+ method: "POST"
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ const result = await response?.json();
|
|
|
|
+ if (result?.error) {
|
|
|
|
+ console.error(result?.error);
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ return this;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
/** 登出 */
|
|
/** 登出 */
|
|
async logout() {
|
|
async logout() {
|
|
if (!this.sessionToken) {
|
|
if (!this.sessionToken) {
|
|
@@ -314,7 +376,7 @@ export class CloudUser extends CloudObject {
|
|
// 设置用户信息
|
|
// 设置用户信息
|
|
// 缓存用户信息
|
|
// 缓存用户信息
|
|
console.log(result)
|
|
console.log(result)
|
|
- localStorage.setItem("NCloud/hcx/User",JSON.stringify(result))
|
|
|
|
|
|
+ localStorage.setItem("NCloud/hcx/User", JSON.stringify(result))
|
|
this.id = result?.objectId;
|
|
this.id = result?.objectId;
|
|
this.sessionToken = result?.sessionToken;
|
|
this.sessionToken = result?.sessionToken;
|
|
this.data = result; // 保存用户数据
|
|
this.data = result; // 保存用户数据
|