import http from './request/index.js'; /** * api/class/getinfo?sessionid=SESSION_ID * 使用clsName得到clsId * @param {*} clsName */ export const getClassId = (class_name) => { return new Promise((resolve, reject) => { getClassInfo(undefined, class_name).then(res => { resolve(res.id) }).catch(ex => reject(ex)) }) } /** * api/class/getinfo?sessionid=SESSION_ID * 使用clsId得到clsName * @param {*} class_id */ export const getClassName = (class_id) => { return new Promise((resolve, reject) => { getClassInfo(class_id).then(res => { resolve(res.name) }).catch(ex => reject(ex)) }) } /** * api/class/getinfo?sessionid=SESSION_ID * 得到数据类信息 * @param {*} clsId * @param {*} clsName */ export const getClassInfo = (class_id, class_name) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/class/getinfo' return http.request({ method: "POST", url, data: { class_id, class_name }, }) } /** * 得到数据类属性 * api/class/attr/getlist?sessionid=SESSION_ID * @param {*} clsId * @returns */ export const getClassAttr = (class_id) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/class/attr/getlist' return http.request({ method: "POST", url, data: { class_id, }, }) } /** * api/class/uistyle/GetInfo?sessionid=SESSION_ID * 得到数据类显示样式信息 * @param {*} class_id * @param {*} ui_style_type * @param {*} ui_style_name * @returns */ export const getClassUistyle = ({ class_id, class_name, ui_style_id, ui_style_type, ui_style_name }) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/class/uistyle/GetInfo' return http.request({ method: "POST", url, data: { class_id, class_name, ui_style_id, ui_style_type, ui_style_name }, }) } /** * api/class/uistyle/GetDefaultInfo?sessionid=SESSION_ID * 得到数据类事件脚本内容 * @param {*} class_id 类id * @param {*} ui_style_type 显示样式类型 * @returns */ export const getClassUistyleDefault = (classId, styleType) => { const app = getApp() var url = `${app.globalData.apiurl.data}/api/class/uistyle/GetDefaultInfo?class_id=${encodeURI(classId)}&ui_style_type=${styleType}` return http.request({ method: "GET", url, }) } /** * api/dataobj/query/query?sessionid=SESSION_ID * 数据对象查询操作 * @param {*} param0 * @returns */ export const dataobjQuery = ({ class_id, class_name, attrs, condition, prj_rel_type, order_by, page, page_size, query_id }) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/dataobj/query/query' return http.request({ method: "POST", url, data: { class_id, class_name, attrs, condition, prj_rel_type, order_by, page, page_size, query_id }, }) } /** * api/dataobj/runcustomevent?sessionid=SESSION_ID * 执行自定义脚本 * @param {*} param0 * @returns */ export const runCustomEvent = ({ ed_type, start_transaction, class_id, class_name, event_id, event_name, data_obj_id, obj_attr, prj_id, ref_cls_id, rel_obj_id, user_login, data_json, compose_info, ext_info, global_attr, input_param, tr_id, raw }) => { const app = getApp() if (event_id && !event_id.startsWith('{')) event_id = `{${event_id}` if (event_id && !event_id.endsWith('}')) event_id = `${event_id}}` if (obj_attr) Object.keys(obj_attr).forEach(key => { if (obj_attr[key] instanceof Array) obj_attr[key] = obj_attr[key].join(';') }) var url = app.globalData.apiurl.data + '/api/dataobj/RunCustomEvent' return new Promise(async (resolve, reject) => { let error; let result = await http.request({ method: "POST", url, data: { ed_type, start_transaction, class_id, class_name, event_id, event_name, data_obj_id, obj_attr, prj_id, ref_cls_id, rel_obj_id, user_login, data_json, compose_info, ext_info, global_attr, input_param, tr_id }, raw: true }) if (raw) return resolve(result) else if (typeof result == 'string') { try { result = JSON.parse(result) } catch (ex) { let clsName = class_name || class_id let eventName = event_name || event_id error = { err_code: 'parse error', err_info: `在执行数据类“${clsName}”名为“${eventName}”的脚本事件时失败!脚本返回的JSON格式不正确,${ex.message}` } } } if (result.err_code == 0) return resolve(result.result) else if (!error) error = result // runCustomEvent的错误消息是json字符串,包含数据类、脚本、错误消息 if (error) { try { let code = error.err_code let info = {} try { info = JSON.parse(error.err_msg) } catch (ex) {} let tip = info.err_info ? info.err_info : error.err_msg ? error.err_msg : error .err_info let clsName = info.cls_name let eventName = info.event_name // 801 if (code == 801) reject({ err_code: code, err_info: tip }) else if (code == 'parse error') reject(tip) else reject(clsName && eventName ? `在执行数据类“${clsName}”名为“${eventName}”的脚本事件时失败!${tip}` : tip) } catch (ex) { reject(ex) } } }) } /** * api/dataobj/create?sessionid=SESSION_ID * 创建数据对象 * @param {*} param0 * @returns */ export const dataobjCreate = ({ class_id, class_name, master_cls_id, master_obj_id, creator, creator_name, not_trigger_event, update_exist, post_process, ext_info, obj_attr }) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/dataobj/Create' return http.request({ method: "POST", url, data: { class_id, class_name, master_cls_id, master_obj_id, creator, creator_name, not_trigger_event, update_exist, post_process, ext_info, obj_attr }, }) } /** * api/dataobj/update?sessionid=SESSION_ID * 更新数据对象 * @param {*} param0 */ export const dataobjUpdate = ({ class_id, class_name, master_cls_id, master_obj_id, obj_id, not_trigger_event, input_param, post_process, log_type, obj_attr }) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/dataobj/Update' return http.request({ method: "POST", url, data: { class_id, class_name, master_cls_id, master_obj_id, obj_id, not_trigger_event, input_param, post_process, log_type, obj_attr }, }) } /** * api/dataobj/delete?sessionid=SESSION_ID * 删除数据对象 * @param {*} param0 */ export const dataobjDelete = ({ class_id, class_name, obj_id }) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/dataobj/Delete' return http.request({ method: "POST", url, data: { class_id, class_name, obj_id }, }) } /** * api/dataobj/getinfo?sessionid=SESSION_ID * 得到数据对象信息 * @param {*} param0 */ export const dataobjInfo = ({ class_id, class_name, obj_id, attrs, get_info_type, check_compose }) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/dataobj/GetInfo' return http.request({ method: "POST", url, data: { class_id, class_name, obj_id, attrs, get_info_type, check_compose }, }) } /** * api/dataobj/attach/add?sessionid=SESSION_ID * 增加元数据对象的附件 * @returns */ export const dataobjAttachAdd = ({ class_id, class_name, obj_id, attach_list }) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/dataobj/attach/Add' return http.request({ method: "POST", url, data: { class_id, class_name, obj_id, attach_list }, }) } /** * api/dataobj/attach/getlist?sessionid=SESSION_ID * 得到元数据对象附件列表 * @param {*} param0 */ export const dataobjAttachList = ({ class_id, class_name, obj_id }) => { const app = getApp() var url = app.globalData.apiurl.data + '/api/dataobj/attach/GetList' return http.request({ method: "POST", url, data: { class_id, class_name, obj_id }, }) }