UNPKG

minapp-fetch

Version:
89 lines (88 loc) 3.89 kB
"use strict"; /* * @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;