SDK类方法文档
pgdbs.class.js
的类。信息
如果你未接触过SQL,可以简单的了解:https://www.runoob.com/sql/sql-tutorial.html
在本数据表操作中。
SELECT <字段筛选> FROM <数据表ID> WHERE <条件筛选> order by <字段排序> limit <页码>,<展示数>
UPDATE <设置字段值> SET <数据表ID> WHERE <条件筛选>
INSERT INTO <数据表ID> (<设置的字段>) VALUES (<设置的字段值>)
DELETE FROM <数据表ID> WHERE <条件筛选>
/**
* @class
* @constructor
* @classdesc 点鸭数据表操作核心逻辑,通过方法操作数据表数据。
* @desc 实例化时,需要传递JS用户配置类。如new pgdbs(dbs_<[SHA256]数据表ID>);
*/
class pgdbs {
constructor(tableData) {
/**
* @member {object}
* @property {string} nickname 用户名
* @property {number} uid 用户UID
* @property {string} tablename 数据表名
* @property {string} tableids2 数据表ID[SHA256]
* @property {string} localurl 本地网址
* @desc 获取本实例化用户配置数据
*/
this.getJsData = { "nickname": null, "uid": null, "tablename": null, "tableids2": null, "localurl": null };
};
/**
* @method
* @param {string} text 要处理的字符串
* @param {boolean} type 编码方式。True:编码,False:解码
* @return {string} 处理后的字符串
* @desc URL编/解码操作
*/
public setUrl = (text: string, type: boolean): string => {
return type ? encodeURIComponent(text) : decodeURIComponent(text);
}
/**
* @method
* @param {string} text 要处理的字符串
* @param {boolean} type 转义方式。True:双引号,False:单引号
* @return {string} 处理后的字符串
* @desc 转义指定字符操作,替换关键字后端处理,确保能成功操作。
*/
public setMarks = (text: string, type: boolean): string => {
return type ? text.replace(new RegExp('"', "gm"), "~PGDBSS~") : text.replace(new RegExp("'", "gm"), "~PGDBSD~");
}
/**
* @method
* @param {string} text 要处理的字符串
* @param {boolean} type 加密方式。True:加盐[与数据表ID和用户UID混淆],False:不加盐
* @return {string} 处理后的字符串
* @desc SHA256加密字符串,可以与本配置的数据加盐处理。
*/
public setSHA256 = (text: string, type: boolean): string => {
return type ? SHA256(t1 + text + t2) : SHA256(text);
}
/**
* @method
* @param {object} config 配置
* @param {string} fields 字段筛选
* @param {string} sort 字段排序
* @param {string} filter 条件筛选
* @param {number} page 页码
* @param {number} limit 展示数
* @param {string} id 自定义标识
* @return {object} 服务器返回的数据
* @desc 获取数据表的数据
*/
public getTableData = (config: { fields?: string, sort?: string, filter?: string, page?: number, limit?: number, id?: string }): Promise<object> => {
return {};
}
/**
* @method
* @param {object} config 配置
* @param {string} tableid [原始]数据表
* @param {string} fields 字段筛选
* @param {string} sort 字段排序
* @param {string} filter 条件筛选
* @param {number} page 页码
* @param {number} limit 展示数
* @param {string} id 自定义标识
* @return {object} 服务器返回的数据
* @desc 获取数据表的数据,支持多表查询[自定义表名]
*/
public getMultipleTableData = (config: { tableid: string, fields?: string, sort?: string, filter?: string, page?: number, limit?: number, id?: string }): Promise<object> => {
return {};
}
/**
* @method
* @param {object} config 配置
* @param {string} type 操作方式,UPDATE:更新,INSERT:新增
* @param {string} filter 条件筛选/设置的字段
* @param {string} fields 设置字段值
* @param {string} id 自定义标识
* @return {object} 服务器返回的数据
* @desc 更新/新增数据表的数据
*/
public setTableData = (config: { type?: string, filter?: string, fields?: string, id?: string }): object => {
return {};
}
/**
* @method
* @param {object} config 配置
* @param {string} filter 条件筛选
* @param {string} id 自定义标识
* @return {object} 服务器返回的数据
* @desc 删除数据表的数据
*/
public setTableDataDelete = (config: { filter?: string, id?: string }): Promise<object> => {
return {};
}
/**
* @method
* @param {Function} callback 自定义回调函数
* @param {object} data 数据表数据
* @param {string} id 自定义标识
* @param {string} url get_table_data或set_table_data
* @desc 自定义回调函数。
*/
public onGetData = (callback: (data: object, id: string, url: string) => void): void => { }
}