# 数据服务调用规范
## 配置初始化
    - 请在app.component完成初始化
    - 其他页面直接import使用，不必反复初始化
```
// 初始化配置（传统风格） 设置默认后端配置 替代原有Parse
import { FmodeParse } from 'fmode-ng/core';
const Parse = Fmode.Parse.with("nova")
```

## 注意 类型的引用
- 不能直接用Parse.Query和Parse.Object
- 需要引用新类型
import { FmodeUser,FmodeObject,FmodeQuery } from 'fmode-ng/core';

## 常用的方法

- 查询 Parse.Query 对应类型 FmodeQuery
    - 与Parse JS SDK用法一直
- 对象 Parse.Object 对应类型 FmodeObject
    - 注意此处和Parse原始extend的用法不同，需要通过构造函数直接构造新的类
    - 其他用法相关
``` ts
// 查询
let query = new Parse.Query("CrmCustomer");
  query.startsWith("name","VIP");
  console.log(await query.find())
// 保存
let customer = new Parse.Object("CrmCustormer");
customer.set("name","TEST001")
customer = await customer.save()
customer.set("unit","单位001")
customer = await customer.save()
console.log(customer)
// 删除
customer.set("isDeleted",true) // 优先使用软删除
console.log(customer)
```

- 用户 Parse.User 对应类型 FmodeUser
    - 其他方法与Parse JS SDK相同
``` ts
// 新用户注册
let user = await Parse.User.signUp("xuanshou1", "123456", {
            email: "xuanshou@123.com",
            name: "测试选手"
});
// 新用户登录
let user = await Parse.User.logIn("xuanshou1","123456")
// 获取当前用户(要求了必须await 调用)
console.log(await Parse.User.current())
// 当前用户指针
console.log(await Parse.User.current()?.toPointer())
```

# 页面数据调用
- 请直接用FmodeObject对象作为页面渲染列表格式
    - 模板页面中，通过obj?.get("xxx")加载属性，不需要toJSON();