minapp-fetch
Version:
89 lines (88 loc) • 3.89 kB
JavaScript
;
/*
* @Author: your name
* @Date: 2020-05-18 18:02:23
* @LastEditTime: 2020-06-06 08:58:06
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /@ownpack/weapp/src/fetch/data/update.ts
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("./utils/utils");
const constants_1 = require("./constants/constants");
const error_1 = require("./constants/error");
const updateTrans_1 = __importDefault(require("./utils/updateTrans"));
function fetchUpdate(table, id, params = {}, query) {
let { BaaS_F, minapp, options } = utils_1.getBaaSF();
let tempQuery = (query === 'sentence' || !query) ? {} : query;
return new Promise((resolve, reject) => {
if (constants_1.PLATFORM_NAME_BAAS.indexOf(minapp) > -1) {
let Product = new BaaS_F.TableObject(table);
let records = updateTrans_1.default(params, Product.getWithoutData(id), minapp);
records.update(query).then((res) => {
// success
resolve(res);
}, (err) => {
// err
reject(err);
});
}
//Mongo类平台
if (constants_1.PLATFORM_NAME_MONGO_SERVER.indexOf(minapp) > -1) {
if (minapp === constants_1.PLATFORM_NAME.WX_WEAPP || minapp === constants_1.PLATFORM_NAME.WX_CLOUD) {
//微信云
let db = BaaS_F.database();
let dbCommand = db.command;
let updata = updateTrans_1.default(params, dbCommand, minapp);
let tempID = id;
db.collection(table).doc(tempID).update({
data: updata
}).then(res => {
resolve({ data: { id: tempID, _updated: res.stats.updated } });
}, (err) => {
reject(err);
});
}
if (minapp === constants_1.PLATFORM_NAME.UNI_CLOUD) {
let db = BaaS_F.database();
let dbCommand = db.command;
let tempID = id;
let updata = updateTrans_1.default(params, dbCommand, minapp);
db.collection(table).doc(id).update(updata).then(res => {
resolve({ data: { id: tempID, _updated: res.updated } });
}, (err) => {
reject(err);
});
}
}
//webapi
if (minapp === constants_1.PLATFORM_NAME.ZX_WEBAPI) {
let updata = updateTrans_1.default(params, {}, minapp);
if (!options)
throw new Error(error_1.WEBAPI_OPTIONS_ERROR);
BaaS_F({
method: 'put',
url: `${options.RequestBase}/hserve/v2.2/table/${table}/record/${id}/?enable_trigger=${tempQuery.enableTrigger || false}&expand=${(tempQuery.expand || []).toString()}`,
headers: options.Header,
data: updata
}).then((res) => {
resolve(res);
}).catch((err) => {
reject(err);
});
}
//op 运营后台
if (minapp === constants_1.PLATFORM_NAME.ZX_OP) {
let updata = updateTrans_1.default(params, {}, minapp);
BaaS_F.put(`https://cloud.minapp.com/userve/v2.6/table/${table}/record/${id}/?enable_trigger=${tempQuery.enableTrigger || false}&expand=${(tempQuery.expand || []).toString()}`, updata).then((res) => {
resolve(res);
}).catch((err) => {
reject(err);
});
}
});
}
exports.default = fetchUpdate;