o2oa api: x-游戏厅捕鱼达人

source

/** ***** begin license block *****
 * |------------------------------------------------------------------------------|
 * | o2oa 活力办公 创意无限    o2m.api.js                                            |
 * |------------------------------------------------------------------------------|
 * | distributed under the agpl license:                                          |
 * |------------------------------------------------------------------------------|
 * | 游戏厅捕鱼达人 copyright © 2018, o2oa.net, o2server.io o2 team                              |
 * | all rights reserved.                                                         |
 * |------------------------------------------------------------------------------|
 *
 *  this file is part of o2oa.
 *
 *  o2oa is free software: you can redistribute it and/or modify
 *  it under the terms of the gnu affero general public license as published by
 *  the free software foundation, either version 3 of the license, or
 *  (at your option) any later version.
 *
 *  o2oa is distributed in the hope that it will be useful,
 *  but without any warranty; without even the implied warranty of
 *  merchantability or fitness for a particular purpose.  see the
 *  gnu affero general public license for more details.
 *
 *  you should have received a copy of the gnu general public license
 *  along with foobar.  if not, see .
 *
 * ***** end license block ******/
/**
 * @summary
 * o2m 是o2oa移动端app提供的调用原生控件的能力,帮助开发者高效使用拍照、定位等手机系统的能力,同时可以直接使用扫一扫、打开原生应用、选择时间,人员,组织等业务的能力,带给门户接近原生代码的体验
 * 
* o2m 只有在o2oa移动端app中才能提供能力 * @namespace o2m * @o2cn 平台移动app api * @o2category mobile * @o2ordernumber 13 * @o2range {流程表单|门户} * @o2syntax * // 可以在移动端 流程表单、门户 上使用 * window.o2m * */ (function () { this.o2m = { version: { v: "1.1.0", build: "2021.01.20", info: "o2oa 活力办公 创意无限. 游戏厅捕鱼达人 copyright © 2021, o2oa.net o2 team all rights reserved." }, log: function (message) { window.o2android && window.o2android.o2mlog ? window.o2android.o2mlog(message) : window.webkit.messagehandlers.o2mlog.postmessage(message); } }; /** ***** begin notification block ***** @ignore @summary notification 模块 alert confirm prompt vibrate toast actionsheet showloading hideloading * ***** end notification block ******/ this.o2m.notification = {}; var _notification_post = function (body, onfail) { if (body == null) { if (onfail && typeof onfail === "function") { onfail("参数异常!"); return } } var message = json.stringify(body); if (window.flutter_inappwebview && window.flutter_inappwebview.callhandler) { window.flutter_inappwebview.callhandler('o2mnotification', message); } else if (window.o2mnotification && window.o2mnotification.postmessage) { window.o2mnotification.postmessage(message); } else if (window.webkit && window.webkit.messagehandlers && window.webkit.messagehandlers.o2mnotification) { window.webkit.messagehandlers.o2mnotification.postmessage(message); } else { if (onfail && typeof onfail === "function") { onfail("请在o2oa移动端使用!"); return } } }; this.o2m.notification.alertsuccess = function () { console.log("notification alert back"); }; var _o2m_n_alert = function (alert) { var message = alert && alert.message ? alert.message : ""; var title = alert && alert.title ? alert.title : ""; var buttonname = alert && alert.buttonname ? alert.buttonname : ""; var onsuccess = alert && alert.onsuccess ? alert.onsuccess : null; var onfail = alert && alert.onfail ? alert.onfail : null; if (message === "") { if (typeof onfail === "function") { onfail("消息内容不能为空!"); } return; } if (onsuccess && typeof onsuccess === "function") { o2m.notification.alertsuccess = onsuccess; } var body = { type: "alert", callback: "o2m.notification.alertsuccess", data: { message: message, title: title, buttonname: buttonname, } }; _notification_post(body, onfail); }; /** * 原生alert提示弹出窗 * @method alert * @memberof o2m * @o2membercategory notification * @static * @param {object} obj 提示窗传入对象 *
{
   *  "title": "提示",  //消息标题,可为空
   *  "message": "这里是消息内容", //消息内容
   *  "buttonname": "确定", //确定按钮名称
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.notification.alert({ * message: "亲爱的", * title: "提示",//可传空 * buttonname: "收到", * onsuccess : function() {//onsuccess将在点击button之后回调}, * onfail : function(err) {} * }); * */ this.o2m.notification.alert = _o2m_n_alert; //notification.confirm this.o2m.notification.confirmsuccess = function (index) { console.log("notification confirm back, click button index: " index); }; var _o2m_n_confirm = function (c) { var buttonlabels = c && c.buttonlabels ? c.buttonlabels : ["确定", "取消"]; var message = c && c.message ? c.message : ""; var title = c && c.title ? c.title : ""; var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (message === "") { if (typeof onfail === "function") { onfail("消息内容message不能为空!"); } return; } if (buttonlabels.length != 2) { if (typeof onfail === "function") { onfail("按钮名称数组长度只能是2!"); } return; } if (onsuccess && typeof onsuccess === "function") { o2m.notification.confirmsuccess = onsuccess; } var body = { type: "confirm", callback: "o2m.notification.confirmsuccess", data: { message: message, title: title, buttonlabels: buttonlabels, } }; _notification_post(body, onfail); } /** * 原生confirm提示弹出窗 * @method confirm * @memberof o2m * @o2membercategory notification * @static * @param {object} obj 提示窗传入对象 *
{
   *  "title": "提示",  //消息标题,可为空
   *  "message": "这里是消息内容", //消息内容
   *  "buttonlabels": ["确定", "取消"], //按钮名称 array[string]
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.notification.confirm({ * message: "你爱我吗", * title: "提示",//可传空 * buttonlabels: ['爱', '不爱'], * onsuccess : function(buttonindex) { * //onsuccess将在点击button之后回调 * //buttonindex: 0 被点击按钮的索引值,number类型,从0开始 * }, * onfail : function(err) {} * }); * */ this.o2m.notification.confirm = _o2m_n_confirm; //notification.prompt this.o2m.notification.promptsuccess = function (result) { console.log("notification prompt back, click button result: " result); }; var _o2m_n_prompt = function (c) { var buttonlabels = c && c.buttonlabels ? c.buttonlabels : ["确定", "取消"]; var message = c && c.message ? c.message : ""; var title = c && c.title ? c.title : ""; var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (message === "") { if (typeof onfail === "function") { onfail("消息内容message不能为空!"); } return; } if (buttonlabels.length != 2) { if (typeof onfail === "function") { onfail("按钮名称数组长度只能是2!"); } return; } if (onsuccess && typeof onsuccess === "function") { o2m.notification.promptsuccess = onsuccess; } var body = { type: "prompt", callback: "o2m.notification.promptsuccess", data: { message: message, title: title, buttonlabels: buttonlabels, } }; _notification_post(body, onfail); } /** * 原生prompt提示弹出窗 * @method prompt * @memberof o2m * @o2membercategory notification * @static * @param {object} obj prompt需要传入对象 *
{
   *  "title": "提示",  //消息标题,可为空
   *  "message": "这里是消息内容", //消息内容
   *  "buttonlabels": ['继续', '不玩了'], //按钮名称 array[string]
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.notification.prompt({ * message: "再说一遍?", * title: "提示",//可传空 * buttonlabels: ['继续', '不玩了'], * onsuccess : function(result) { * //result是一个字符串,格式是json格式,内容如下: * //{ * // buttonindex: 0, //被点击按钮的索引值,number类型,从0开始 * // value: '' //输入的值 * //} * }, * onfail : function(err) {} * }); * */ this.o2m.notification.prompt = _o2m_n_prompt; //notification.vibrate this.o2m.notification.vibratesuccess = function () { console.log("notification vibrate back, click button"); }; var _o2m_n_vibrate = function (c) { var duration = c && c.duration ? c.duration : 300; var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.notification.vibratesuccess = onsuccess; } var body = { type: "vibrate", callback: "o2m.notification.vibratesuccess", data: { duration: duration } }; _notification_post(body, onfail); }; /** * 手机震动 * @method vibrate * @memberof o2m * @o2membercategory notification * @static * @param {object} obj 震动需要传入对象 *
{
   *  "duration": 300,  //震动时间,android可配置 ios忽略
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.notification.vibrate({ * duration: 300, * onsuccess : function() { * }, * onfail : function(err) {} * }); * */ this.o2m.notification.vibrate = _o2m_n_vibrate; //notification.toast this.o2m.notification.toastsuccess = function () { console.log("notification toast back, click button"); }; var _o2m_n_toast = function (c) { var duration = c && c.duration ? c.duration : 300; var message = c && c.message ? c.message : ""; var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (message === "") { if (typeof onfail === "function") { onfail("消息内容message不能为空!"); } return; } if (onsuccess && typeof onsuccess === "function") { o2m.notification.toastsuccess = onsuccess; } var body = { type: "toast", callback: "o2m.notification.toastsuccess", data: { duration: duration, message: message } }; _notification_post(body, onfail); }; /** * toast提示 * @method toast * @memberof o2m * @o2membercategory notification * @static * @param {object} obj toast需要传入对象 *
{
   *  "message": "这里是提示信息",
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.notification.toast({ * message: "提示消息内容", * onsuccess : function() { * }, * onfail : function(err) {} * }); * */ this.o2m.notification.toast = _o2m_n_toast; //notification.actionsheet this.o2m.notification.actionsheetsuccess = function (buttonindex) { console.log("notification actionsheet back, click button:" buttonindex); }; var _o2m_n_actionsheet = function (c) { var title = c && c.title ? c.title : ""; var cancelbutton = c && c.cancelbutton ? c.cancelbutton : "取消"; var otherbuttons = c && c.otherbuttons ? c.otherbuttons : []; var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (title === "") { if (typeof onfail === "function") { onfail("title标题不能为空!"); } return; } if (otherbuttons.length < 1) { if (typeof onfail === "function") { onfail("其他按钮列表不能为空!"); } return; } if (onsuccess && typeof onsuccess === "function") { o2m.notification.actionsheetsuccess = onsuccess; } var body = { type: "actionsheet", callback: "o2m.notification.actionsheetsuccess", data: { title: title, cancelbutton: cancelbutton, otherbuttons: otherbuttons } }; _notification_post(body, onfail); }; /** * 底部弹出菜单 * @method actionsheet * @memberof o2m * @o2membercategory notification * @static * @param {object} obj actionsheet需要传入对象 *
{
   *  "title": "谁是最棒哒?",//标题
   *  "cancelbutton": '取消', //取消按钮文本
   *  "otherbuttons": ["孙悟空","猪八戒","唐僧","沙和尚"], //其他选项按钮名称
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.notification.actionsheet({ * title: "谁是最棒哒?", //标题 * cancelbutton: '取消', //取消按钮文本 * otherbuttons: ["孙悟空","猪八戒","唐僧","沙和尚"], * onsuccess : function(buttonindex) { * //buttonindex: 0 被点击按钮的索引值,number,从0开始, 取消按钮为-1 * }, * onfail : function(err) {} * }); * */ this.o2m.notification.actionsheet = _o2m_n_actionsheet; //notification.showloading this.o2m.notification.showloadingsuccess = function () { console.log("notification showloading back"); }; var _o2m_n_showloading = function (c) { var text = c && c.text ? c.text : ""; var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.notification.showloadingsuccess = onsuccess; } var body = { type: "showloading", callback: "o2m.notification.showloadingsuccess", data: { text: text } }; _notification_post(body, onfail); }; /** * 显示loading浮层,请和hideloading配合使用 * @method showloading * @memberof o2m * @o2membercategory notification * @static * @param {object} obj showloading需要传入对象 *
{
   *  text: "使劲加载中..", //loading显示的字符,空表示不显示文字
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.notification.showloading({ * text: "使劲加载中..", //loading显示的字符,空表示不显示文字 * onsuccess : function() { * }, * onfail : function(err) {} * }); * */ this.o2m.notification.showloading = _o2m_n_showloading; //notification.hideloading this.o2m.notification.hideloadingsuccess = function () { console.log("notification hideloading back"); }; var _o2m_n_hideloading = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.notification.hideloadingsuccess = onsuccess; } var body = { type: "hideloading", callback: "o2m.notification.hideloadingsuccess", data: { } }; _notification_post(body, onfail); } /** * 隐藏loading浮层 * @method hideloading * @memberof o2m * @o2membercategory notification * @static * @param {object} obj hideloading需要传入对象 *
{
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.notification.hideloading({ * onsuccess : function() { * }, * onfail : function(err) {} * }); * */ this.o2m.notification.hideloading = _o2m_n_hideloading; /** ***** begin util block ***** * @ignore * @summary util 模块 date o2m.util.date.datepicker o2m.util.date.timepicker o2m.util.date.datetimepicker calendar o2m.util.calendar.chooseoneday o2m.util.calendar.choosedatetime o2m.util.calendar.chooseinterval device o2m.util.device.getphoneinfo o2m.util.device.scan o2m.util.deveice.location navigation o2m.util.navigation.settitle o2m.util.navigation.close o2m.util.navigation.goback o2m.util.navigation.openinnerapp o2m.util.navigation.openotherapp o2m.util.navigation.openwindow * ***** end util block ******/ this.o2m.util = { date: {}, calendar: {}, device: {}, navigation: {} }; var _util_post = function (body, onfail) { if (body == null) { if (onfail && typeof onfail === "function") { onfail("参数异常!"); return; } } var message = json.stringify(body); if (window.flutter_inappwebview && window.flutter_inappwebview.callhandler) { window.flutter_inappwebview.callhandler('o2mutil', message); } else if (window.o2mutil && window.o2mutil.postmessage) { window.o2mutil.postmessage(message); } else if (window.webkit && window.webkit.messagehandlers && window.webkit.messagehandlers.o2mutil) { window.webkit.messagehandlers.o2mutil.postmessage(message); } else { if (onfail && typeof onfail === "function") { onfail("请在o2oa移动端使用!"); } } }; //o2m.util.date.datepicker this.o2m.util.date.datepickersuccess = function (result) { console.log("util date datepicker back, result:" result); }; var _o2m_u_date_datepicker = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; var value = c && c.value ? c.value : ""; if (onsuccess && typeof onsuccess === "function") { o2m.util.date.datepickersuccess = onsuccess; } var body = { type: "date.datepicker", callback: "o2m.util.date.datepickersuccess", data: { value: value } }; _util_post(body, onfail); }; /** * 日期选择器 * @method datepicker * @memberof o2m * @o2membercategory util.date * @static * @param {object} obj datepicker需要传入对象 *
{
   *  value: '2019-04-17', //默认显示日期
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.util.date.datepicker({ * value: '2019-04-17', //默认显示日期 * onsuccess : function(result) { * //onsuccess将在点击完成之后回调 * { * value: "2019-02-10" * } * }, * onfail : function(err) {} *}); */ this.o2m.util.date.datepicker = _o2m_u_date_datepicker; //o2m.util.date.timepicker this.o2m.util.date.timepickersuccess = function (result) { console.log("util date timepicker back, result:" result); }; var _o2m_u_date_timepicker = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; var value = c && c.value ? c.value : ""; if (onsuccess && typeof onsuccess === "function") { o2m.util.date.timepickersuccess = onsuccess; } var body = { type: "date.timepicker", callback: "o2m.util.date.timepickersuccess", data: { value: value } }; _util_post(body, onfail); }; /** * 时间选择器 * @method timepicker * @memberof o2m * @o2membercategory util.date * @static * @param {object} obj timepicker需要传入对象 *
{
   *  value: '14:00', //默认显示时间
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.util.date.timepicker({ * value: '14:00', //默认显示时间 * onsuccess : function(result) { * //onsuccess将在点击完成之后回调 * { * value: "18:10" * } * }, * onfail : function(err) {} *}); */ this.o2m.util.date.timepicker = _o2m_u_date_timepicker; //o2m.util.date.datetimepicker this.o2m.util.date.datetimepickersuccess = function (result) { console.log("util date datetimepicker back, result:" result); }; var _o2m_u_date_datetimepicker = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; var value = c && c.value ? c.value : ""; if (onsuccess && typeof onsuccess === "function") { o2m.util.date.datetimepickersuccess = onsuccess; } var body = { type: "date.datetimepicker", callback: "o2m.util.date.datetimepickersuccess", data: { value: value } }; _util_post(body, onfail); }; /** * 日期时间选择器 * @method datetimepicker * @memberof o2m * @o2membercategory util.date * @static * @param {object} obj datetimepicker需要传入对象 *
{
   *  value: '2019-05-05 14:00', //默认显示时间
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.util.date.datetimepicker({ * value: '2019-05-05 14:00', //默认显示时间 * onsuccess : function(result) { * //onsuccess将在点击完成之后回调 * { * value: "2019-03-18 18:10" * } * }, * onfail : function(err) {} *}); */ this.o2m.util.date.datetimepicker = _o2m_u_date_datetimepicker; //o2m.util.calendar.chooseoneday this.o2m.util.calendar.chooseonedaysuccess = function (result) { console.log("util calendar chooseoneday back, result:" result); }; var _o2m_u_calendar_chooseoneday = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; var value = c && c.value ? c.value : ""; if (onsuccess && typeof onsuccess === "function") { o2m.util.calendar.chooseonedaysuccess = onsuccess; } var body = { type: "calendar.chooseoneday", callback: "o2m.util.calendar.chooseonedaysuccess", data: { value: value } }; _util_post(body, onfail); }; /** * 月历日期选择器 * @method chooseoneday * @memberof o2m * @o2membercategory util.calendar * @static * @param {object} obj chooseoneday需要传入对象 *
{
   *  value: '2019-05-05', //默认显示日期
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.util.calendar.chooseoneday({ * value: '2019-05-05', //默认显示日期 * onsuccess : function(result) { * //onsuccess将在点击完成之后回调 * { * value: "2019-03-18" * } * }, * onfail : function(err) {} *}); */ this.o2m.util.calendar.chooseoneday = _o2m_u_calendar_chooseoneday; //o2m.util.calendar.choosedatetime this.o2m.util.calendar.choosedatetimesuccess = function (result) { console.log("util calendar choosedatetime back, result:" result); }; var _o2m_u_calendar_choosedatetime = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; var value = c && c.value ? c.value : ""; if (onsuccess && typeof onsuccess === "function") { o2m.util.calendar.choosedatetimesuccess = onsuccess; } var body = { type: "calendar.choosedatetime", callback: "o2m.util.calendar.choosedatetimesuccess", data: { value: value } }; _util_post(body, onfail); }; /** * 月历日期时间选择器 * @method choosedatetime * @memberof o2m * @o2membercategory util.calendar * @static * @param {object} obj choosedatetime需要传入对象 *
{
   *  value: '2019-05-05 11:00', //默认显示时间
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.util.calendar.choosedatetime({ * value: '2019-05-05 11:00', //默认显示时间 * onsuccess : function(result) { * //onsuccess将在点击完成之后回调 * { * value: "2019-03-18 18:45" * } * }, * onfail : function(err) {} *}); */ this.o2m.util.calendar.choosedatetime = _o2m_u_calendar_choosedatetime; //o2m.util.calendar.chooseinterval this.o2m.util.calendar.chooseintervalsuccess = function (result) { console.log("util calendar chooseinterval back, result:" result); }; var _o2m_u_calendar_chooseinterval = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; var startdate = c && c.startdate ? c.startdate : ""; var enddate = c && c.enddate ? c.enddate : ""; if (onsuccess && typeof onsuccess === "function") { o2m.util.calendar.chooseintervalsuccess = onsuccess; } var body = { type: "calendar.chooseinterval", callback: "o2m.util.calendar.chooseintervalsuccess", data: { startdate: startdate, enddate: enddate } }; _util_post(body, onfail); }; /** * 月历日期区间选择器 * @method chooseinterval * @memberof o2m * @o2membercategory util.calendar * @static * @param {object} obj chooseinterval需要传入对象 *
{
   *  startdate: '2019-05-05',
   *  enddate: '2019-05-06',
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.util.calendar.chooseinterval({ * startdate: '2019-05-05', * enddate: '2019-05-06', * onsuccess : function(result) { * //onsuccess将在点击完成之后回调 * { * startdate: "2019-05-05", enddate: "2019-05-06", * } * }, * onfail : function(err) {} *}); */ this.o2m.util.calendar.chooseinterval = _o2m_u_calendar_chooseinterval; //o2m.util.device.getphoneinfo this.o2m.util.device.getphoneinfosuccess = function (result) { console.log("util calendar chooseinterval back, result:" result); }; var _o2m_u_device_getphoneinfo = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.device.getphoneinfosuccess = onsuccess; } var body = { type: "device.getphoneinfo", callback: "o2m.util.device.getphoneinfosuccess", data: { } }; _util_post(body, onfail); }; /** * 获取手机基础信息 * @method getphoneinfo * @memberof o2m * @o2membercategory util.device * @static * @param {object} obj getphoneinfo需要传入对象 *
{
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.util.device.getphoneinfo({ * onsuccess : function(result) { * { * screenwidth: 1080, // 手机屏幕宽度 * screenheight: 1920, // 手机屏幕高度 * brand:'mi', // 手机品牌 * model:'note4', // 手机型号 * version:'7.0'. // 版本 * netinfo:'wifi' , // 网络类型 wifi/4g/3g * operatortype :'xx' // 运营商信息 * } * }, * onfail : function(err) {} *}); */ this.o2m.util.device.getphoneinfo = _o2m_u_device_getphoneinfo; //o2m.util.device.rotate this.o2m.util.device.rotatesuccess = function (result) { console.log("util device rotate back, result:" result); }; var _o2m_u_device_rotate = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.device.rotatesuccess = onsuccess; } var body = { type: "device.rotate", callback: "o2m.util.device.rotatesuccess", data: { } }; _util_post(body, onfail); }; /** * 旋转屏幕 * @method rotate * @memberof o2m * @o2membercategory util.device * @static * @param {object} obj rotate *
{
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.util.device.rotate({ * onsuccess : function(result) { * }, * onfail : function(err) {} *}); */ this.o2m.util.device.rotate = _o2m_u_device_rotate; //o2m.util.device.scan this.o2m.util.device.scansuccess = function (result) { console.log("util device scan back, result:" result); }; var _o2m_u_device_scan = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.device.scansuccess = onsuccess; } var body = { type: "device.scan", callback: "o2m.util.device.scansuccess", data: { } }; _util_post(body, onfail); }; /** * 扫二维码 * @method scan * @memberof o2m * @o2membercategory util.device * @static * @param {object} obj scan需要传入对象 *
{
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.util.device.scan({ * onsuccess : function(result) { * // result返回结果就是扫码的结果 * }, * onfail : function(err) {} *}); */ this.o2m.util.device.scan = _o2m_u_device_scan; //o2m.util.device.location this.o2m.util.device.locationsuccess = function (result) { console.log("util device location back, result:" result); }; var _o2m_u_device_location = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.device.locationsuccess = onsuccess; } var body = { type: "device.location", callback: "o2m.util.device.locationsuccess", data: { } }; _util_post(body, onfail); }; /** * 单次定位 * @method location * @memberof o2m * @o2membercategory util.device * @static * @param {object} obj location需要传入对象 *
{
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.util.device.location({ * onsuccess : function(result) { * //这里返回百度坐标系的定位信息 * { * 'latitude': 39.903578, // 纬度 * 'longitude': 116.473565, // 经度 * 'address': '地址描述' * } * }, * onfail : function(err) {} *}); */ this.o2m.util.device.location = _o2m_u_device_location; //o2m.util.navigation.settitle this.o2m.util.navigation.settitlesuccess = function (result) { console.log("util calendar chooseinterval back, result:" result); }; var _o2m_u_navigation_settitle = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; var title = c && c.title ? c.title : ""; if (onsuccess && typeof onsuccess === "function") { o2m.util.navigation.settitlesuccess = onsuccess; } var body = { type: "navigation.settitle", callback: "o2m.util.navigation.settitlesuccess", data: { title: title } }; _util_post(body, onfail); }; /** * 设置原生页面标题 * @method settitle * @memberof o2m * @o2membercategory util.navigation * @static * @param {object} obj settitle需要传入对象 *
{
   *  title : '导航标题',    
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.util.navigation.settitle({ * title : '导航标题', * onsuccess : function() { * }, * onfail : function(err) {} *}); */ this.o2m.util.navigation.settitle = _o2m_u_navigation_settitle; //o2m.util.navigation.close this.o2m.util.navigation.closesuccess = function (result) { console.log("util calendar chooseinterval back, result:" result); }; var _o2m_u_navigation_close = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.navigation.closesuccess = onsuccess; } var body = { type: "navigation.close", callback: "o2m.util.navigation.closesuccess", data: { } }; _util_post(body, onfail); }; /** * 关闭当前原生页面 * @method close * @memberof o2m * @o2membercategory util.navigation * @static * @example * o2m.util.navigation.close(); */ this.o2m.util.navigation.close = _o2m_u_navigation_close; //o2m.util.navigation.goback this.o2m.util.navigation.gobacksuccess = function (result) { console.log("util calendar chooseinterval back, result:" result); }; var _o2m_u_navigation_goback = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.navigation.gobacksuccess = onsuccess; } var body = { type: "navigation.goback", callback: "o2m.util.navigation.gobacksuccess", data: { } }; _util_post(body, onfail); }; /** * 返回上级原生页面 * @method goback * @memberof o2m * @o2membercategory util.navigation * @static * @example * o2m.util.navigation.goback(); */ this.o2m.util.navigation.goback = _o2m_u_navigation_goback; //o2m.util.navigation.openinnerapp 内部应用打开 包含门户 this.o2m.util.navigation.openinnerappsuccess = function (result) { console.log("util navigation openinnerapp back, result:" result); }; var _o2m_u_navigation_openinnerapp = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.navigation.openinnerappsuccess = onsuccess; } var appkey = c && c.appkey ? c.appkey : ""; var portalflag = c && c.portalflag ? c.portalflag : ""; var portaltitle = c && c.portaltitle ? c.portaltitle : ""; var portalpage = c && c.portalpage ? c.portalpage : ""; var body = { type: "navigation.openinnerapp", callback: "o2m.util.navigation.openinnerappsuccess", data: { appkey: appkey, portalflag: portalflag, portaltitle: portaltitle, portalpage: portalpage } }; _util_post(body, onfail); }; /** * 打开内部应用 * @method openinnerapp * @memberof o2m * @o2membercategory util.navigation * @static * @param {object} obj openinnerapp需要传入对象 *
{
   *  appkey : 'attendance',  // 对应用的 key:  task(待办)、taskcompleted(已办)、read(待阅)、readcompleted(已阅)、meeting(会议管理)、clouddisk(网盘)、bbs(论坛)、cms(信息中心)、attendance(考勤)、calendar(日程)、mindmap(脑图)、portal(门户,门户需要传入portalflag和portaltitle)
   *  portalflag : '门户标识',  
   *  portaltitle : '门户标题', 
   *  portalpage : '门户页面 id', 
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.util.navigation.openinnerapp({ * appkey : 'attendance', * onsuccess : function() { * }, * onfail : function(err) {} *}); */ this.o2m.util.navigation.openinnerapp = _o2m_u_navigation_openinnerapp; //o2m.util.navigation.openotherapp 功能不完整,有很多限制。暂时不开放 this.o2m.util.navigation.openotherappsuccess = function (result) { console.log("util navigation openotherapp back, result:" result); }; var _o2m_u_navigation_openotherapp = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.navigation.openotherappsuccess = onsuccess; } var schema = c && c.schema ? c.schema : ""; var body = { type: "navigation.openotherapp", callback: "o2m.util.navigation.openotherappsuccess", data: { schema: schema } }; _util_post(body, onfail); }; this.o2m.util.navigation.openotherapp = _o2m_u_navigation_openotherapp; //o2m.util.navigation.openwindow 新窗口打开网页 门户 this.o2m.util.navigation.openwindowsuccess = function (result) { console.log("util navigation openwindow back, result:" result); }; var _o2m_u_navigation_openwindow = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.navigation.openwindowsuccess = onsuccess; } var url = c && c.url ? c.url : ""; var body = { type: "navigation.openwindow", callback: "o2m.util.navigation.openwindowsuccess", data: { url: url } }; _util_post(body, onfail); }; /** * 新窗口打开网页 * @method openwindow * @memberof o2m * @o2membercategory util.navigation * @static * @param {object} obj openwindow需要传入对象 *
{
   *  url : 'https://www.o2oa.net',  // 打开的网址
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * o2m.util.navigation.openwindow({ * url : 'https://www.o2oa.net', * onsuccess : function() { * }, * onfail : function(err) {} *}); */ this.o2m.util.navigation.openwindow = _o2m_u_navigation_openwindow; //o2m.util.navigation.openinbrowser 手机默认浏览器打开当前页面 this.o2m.util.navigation.openinbrowsersuccess = function (result) { console.log("util navigation openinbrowser back, result:" result); }; var _o2m_u_navigation_openinbrowser = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.navigation.openinbrowsersuccess = onsuccess; } var body = { type: "navigation.openinbrowser", callback: "o2m.util.navigation.openinbrowsersuccess", data: {} }; _util_post(body, onfail); }; /** * 手机默认浏览器打开当前页面 * @method openinbrowser * @memberof o2m * @o2membercategory util.navigation * @static * @example * o2m.util.navigation.openinbrowser({ * onsuccess : function() { * }, * onfail : function(err) {} *}); */ this.o2m.util.navigation.openinbrowser = _o2m_u_navigation_openinbrowser; //o2m.util.navigation.clearcache 清理缓存并刷新页面 this.o2m.util.navigation.clearcachesuccess = function (result) { console.log("util navigation clearcache back, result:" result); }; var _o2m_u_navigation_clearcache = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.util.navigation.clearcachesuccess = onsuccess; } var body = { type: "navigation.clearcache", callback: "o2m.util.navigation.clearcachesuccess", data: {} }; _util_post(body, onfail); }; /** * 清理缓存并刷新页面 * @method clearcache * @memberof o2m * @o2membercategory util.navigation * @static * @example * o2m.util.navigation.clearcache({ * onsuccess : function() { * }, * onfail : function(err) {} *}); */ this.o2m.util.navigation.clearcache = _o2m_u_navigation_clearcache; /** ***** begin biz block ***** * @ignore * @summary biz 模块 contact o2m.biz.contact.personpicker o2m.biz.contact.identitypicker o2m.biz.contact.departmentspicker o2m.biz.contact.complexpicker o2m.biz.contact.grouppicker o2m.biz.file.previewdoc * ***** end util block ******/ this.o2m.biz = { contact: {}, file:{} }; var _biz_post = function (body, onfail) { if (body == null) { if (onfail && typeof onfail === "function") { onfail("参数异常!"); return; } } var message = json.stringify(body); if (window.flutter_inappwebview && window.flutter_inappwebview.callhandler) { window.flutter_inappwebview.callhandler('o2mbiz', message); } else if (window.o2mbiz && window.o2mbiz.postmessage) { window.o2mbiz.postmessage(message) } else if (window.webkit && window.webkit.messagehandlers && window.webkit.messagehandlers.o2mbiz) { window.webkit.messagehandlers.o2mbiz.postmessage(message); } else { if (onfail && typeof onfail === "function") { onfail("请在o2oa移动端使用!"); } } }; //o2m.biz.workclose() var _o2m_b_work_close = function () { if (window.o2android && window.o2android.closework) { window.o2android.closework(""); } else if (window.o2android && window.o2android.postmessage) { var body = { type: "closework" }; window.o2android.postmessage(json.stringify(body)); } else if (window.webkit && window.webkit.messagehandlers && window.webkit.messagehandlers.closework) { window.webkit.messagehandlers.closework.postmessage(""); } else { console.log("请在o2oa移动端使用, workclose"); } } /** * 关闭当前工作页面,只能在工作表单中可以使用 * @method workclose * @memberof o2m * @o2membercategory biz * @static * @example * o2m.biz.workclose(); */ this.o2m.biz.workclose = _o2m_b_work_close; //o2m.biz.contact.departmentspicker this.o2m.biz.contact.departmentspickersuccess = function (result) { console.log("biz contact departmentspicker back, result:" result); }; var _o2m_b_contact_department_picker = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.biz.contact.departmentspickersuccess = onsuccess; } var toplist = c && c.toplist ? c.toplist : []; var orgtype = c && c.orgtype ? c.orgtype : ""; var multiple = c && c.multiple ? c.multiple : false; var maxnumber = c && c.maxnumber ? c.maxnumber : 0; var pickeddepartments = c && c.pickeddepartments ? c.pickeddepartments : []; var body = { type: "contact.departmentpicker", callback: "o2m.biz.contact.departmentspickersuccess", data: { toplist: toplist, orgtype: orgtype, multiple: multiple, maxnumber: maxnumber, pickeddepartments: pickeddepartments, } }; _biz_post(body, onfail); }; /** * 通讯录选部门 * @method departmentspicker * @memberof o2m * @o2membercategory biz * @static * @param {object} obj departmentspicker需要传入对象 *
{
   *  toplist: [],//array[string] 可选的顶级组织列表,不传或列表为空的时候,显示全部组织
   *  orgtype: "",//string 可选择的组织类别。为空就是全部组织类型都可以
   *  multiple:true, //是否多选
   *  maxnumber: 0, //int 当multiple为true的时候,最多可选择的部门数
   *  pickeddepartments:[],//array[string] 已经选择的部门distinguishedname列表
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.biz.contact.departmentspicker({ * toplist: [],//不传或者空列表,显示全部组织 * orgtype: "",//可传空 只显示某种类型的组织 * multiple:true, //是否多选 * maxnumber: 0, //最大选择数量 * pickeddepartments:[],//已选部门 * onsuccess : function(result) { * //返回结果样例 * { * departments:[{ * "id":"xxxx", * "name":"部门名称", * "unique":"xxxx", * "distinguishedname":"部门@xxxx@u", * "typelist":["xxxx"], * "shortname":"xxxx", * "level": 0, * "levelname":"xxxx", * }] * } * * }, * onfail : function(err) {} * }); */ this.o2m.biz.contact.departmentspicker = _o2m_b_contact_department_picker; //o2m.biz.contact.identitypicker this.o2m.biz.contact.identitypickersuccess = function (result) { console.log("biz contact identitypicker back, result:" result); }; var _o2m_b_contact_identity_picker = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.biz.contact.identitypickersuccess = onsuccess; } var toplist = c && c.toplist ? c.toplist : []; var multiple = c && c.multiple ? c.multiple : false; var maxnumber = c && c.maxnumber ? c.maxnumber : 0; var pickedidentities = c && c.pickedidentities ? c.pickedidentities : []; var duty = c && c.duty ? c.duty : []; var body = { type: "contact.identitypicker", callback: "o2m.biz.contact.identitypickersuccess", data: { toplist: toplist, multiple: multiple, maxnumber: maxnumber, pickedidentities: pickedidentities, duty: duty, } }; _biz_post(body, onfail); }; /** * 通讯录选身份 * @method identitypicker * @memberof o2m * @o2membercategory biz * @static * @param {object} obj identitypicker需要传入对象 *
{
   *  toplist: [],//array[string] 可选的顶级组织列表,不传或列表为空的时候,显示全部组织
   *  multiple:true, //boolean 是否多选
   *  maxnumber: 0, //int 当multiple为true的时候,最多可选择的身份数
   *  pickedidentities:[],//array[string] 已经选择的身份distinguishedname列表
   *  duty: [],//array[string] 可选择的人员职责
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.biz.contact.identitypicker({ * toplist: [],//不传或者空列表,显示全部组织 * multiple:true, //是否多选 * maxnumber: 0, //最大选择数量 * pickedidentities:[],//已选身份列表 * duty: [],//人员职责 * onsuccess : function(result) { * //返回结果样例 * { * identities:[{ * "id":"xxxx", * "name":"姓名", * "distinguishedname":"姓名@xxxx@i", * "person":"xxx", * "unique":"xxxx", * "unit":"xxx", * "unitname":"xxxx", * "unitlevel": 0, * "unitlevelname":"xxxx", * "personname":"xxxx", * "personunique":"xxx", * "persondn":"xxx" * }] * } * * }, * onfail : function(err) {} * }); */ this.o2m.biz.contact.identitypicker = _o2m_b_contact_identity_picker; //o2m.biz.contact.grouppicker this.o2m.biz.contact.grouppickersuccess = function (result) { console.log("biz contact grouppicker back, result:" result); }; var _o2m_b_contact_group_picker = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.biz.contact.grouppickersuccess = onsuccess; } var multiple = c && c.multiple ? c.multiple : false; var maxnumber = c && c.maxnumber ? c.maxnumber : 0; var pickedgroups = c && c.pickedgroups ? c.pickedgroups : []; var body = { type: "contact.grouppicker", callback: "o2m.biz.contact.grouppickersuccess", data: { multiple: multiple, maxnumber: maxnumber, pickedgroups: pickedgroups, } }; _biz_post(body, onfail); }; /** * 群组选择 * @method grouppicker * @memberof o2m * @o2membercategory biz * @static * @param {object} obj grouppicker需要传入对象 *
{
   *  multiple:true, //boolean 是否多选
   *  maxnumber: 0, //int 当multiple为true的时候,最多可选择的身份数
   *  pickedgroups:[],//array[string] 已经选择的群组distinguishedname列表
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.biz.contact.grouppicker({ * multiple:true, //是否多选 * maxnumber: 0, //最大选择数量 * pickedgroups:[],//已选群组列表 * onsuccess : function(result) { * //返回结果样例 * { * groups:[{ * "id":"xxxx", * "name":"群组名称", * "distinguishedname":"群组名称@xxxx@g" * "unique":"xxxx", * }] * } * * }, * onfail : function(err) {} * }); */ this.o2m.biz.contact.grouppicker = _o2m_b_contact_group_picker; //o2m.biz.contact.personpicker this.o2m.biz.contact.personpickersuccess = function (result) { console.log("biz contact personpicker back, result:" result); }; var _o2m_b_contact_person_picker = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.biz.contact.personpickersuccess = onsuccess; } var multiple = c && c.multiple ? c.multiple : false; var maxnumber = c && c.maxnumber ? c.maxnumber : 0; var pickedusers = c && c.pickedusers ? c.pickedusers : []; var body = { type: "contact.personpicker", callback: "o2m.biz.contact.personpickersuccess", data: { multiple: multiple, maxnumber: maxnumber, pickedusers: pickedusers, } }; _biz_post(body, onfail); }; /** * 人员选择 * @method personpicker * @memberof o2m * @o2membercategory biz * @static * @param {object} obj personpicker需要传入对象 *
{
   *  multiple:true, //boolean 是否多选
   *  maxnumber: 0, //int 当multiple为true的时候,最多可选择的身份数
   *  pickedusers:[],//array[string] 已经选择的人员distinguishedname列表
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.biz.contact.personpicker({ * multiple:true, //是否多选 * maxnumber: 0, //最大选择数量 * pickedusers:[],//已选人员列表 * onsuccess : function(result) { * //返回结果样例 * { * users:[{ * "id":"xxx", * "name":"姓名", * "unique":"xxx", * "distinguishedname":"姓名@xxxx@p" * "gendertype":"xxx", * "employee":"xxx", * "mail":"xxx", * "weixin":"xxx", * "qq":"xxx", * "mobile":"xxx", * "officephone":"xxx" * }] * } * * }, * onfail : function(err) {} * }); */ this.o2m.biz.contact.personpicker = _o2m_b_contact_person_picker; //o2m.biz.contact.complexpicker this.o2m.biz.contact.complexpickersuccess = function (result) { console.log("biz contact complexpicker back, result:" result); }; var _o2m_b_contact_complex_picker = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.biz.contact.complexpickersuccess = onsuccess; } var pickmode = c && c.pickmode ? c.pickmode : []; var multiple = c && c.multiple ? c.multiple : false; var maxnumber = c && c.maxnumber ? c.maxnumber : 0; var toplist = c && c.toplist ? c.toplist : []; var orgtype = c && c.orgtype ? c.orgtype : ""; var duty = c && c.duty ? c.duty : []; var pickedgroups = c && c.pickedgroups ? c.pickedgroups : []; var pickedusers = c && c.pickedusers ? c.pickedusers : []; var pickedidentities = c && c.pickedidentities ? c.pickedidentities : []; var pickeddepartments = c && c.pickeddepartments ? c.pickeddepartments : []; var body = { type: "contact.complexpicker", callback: "o2m.biz.contact.complexpickersuccess", data: { pickmode: pickmode, multiple: multiple, maxnumber: maxnumber, toplist: toplist, orgtype: orgtype, duty: duty, pickedgroups: pickedgroups, pickedusers: pickedusers, pickedidentities: pickedidentities, pickeddepartments: pickeddepartments, } }; _biz_post(body, onfail); }; /** * 复合选择器,可配置选择多种数据 * @method complexpicker * @memberof o2m * @o2membercategory biz * @static * @param {object} obj complexpicker需要传入对象 *
{
   *  pickmode: ["departmentpicker", "identitypicker"], //array[string] 选择器类型,可传入值:departmentpicker、identitypicker、grouppicker、personpicker
   *  toplist:array[string] 可选的顶级组织列表,不传或列表为空的时候,显示全部组织
   *  duty: array[string] 可选择的人员职责
   *  orgtype:string 可选择的组织类别。为空就是全部组织类型都可以
   *  multiple:true, //boolean 是否多选
   *  maxnumber: 0, //int 当multiple为true的时候,最多可选择的身份数
   *  pickeddepartments:array[string] 已经选择的部门distinguishedname列表
   *  pickedidentities:array[string] 已经选择的身份distinguishedname列表
   *  pickedgroups: array[string] 已经选择的群组distinguishedname列表
   *  pickedusers:[],//array[string] 已经选择的人员distinguishedname列表
   *  "onsuccess": function,  //成功回调
   *  "onfail": function, //失败回调
   * }
* @example * * 样例效果:
* * * o2m.biz.contact.complexpicker({ * pickmode: ["departmentpicker", "identitypicker"], //选择器类型 * toplist: [],//不传或者空列表,显示全部组织 * orgtype: "",//可传空 只显示某种类型的组织 * duty: [],//人员职责 * multiple:true, //是否多选 * maxnumber: 0, //最大选择数量 * pickeddepartments:[],//已选部门 * pickedidentities:[],//已选身份列表 * pickedgroups:[],//已选群组列表 * pickedusers:[],//已选人员列表 * onsuccess : function(result) { * //返回结果样例 * { * departments:[{ * "id":"xxxx", * "name":"部门名称", * "unique":"xxxx", * "distinguishedname":"部门@xxxx@u", * "typelist":["xxxx"], * "shortname":"xxxx", * "level": 0, * "levelname":"xxxx", * }], * identities:[{ * "id":"xxxx", * "name":"姓名", * "distinguishedname":"姓名@xxxx@i", * "person":"xxx", * "unique":"xxxx", * "unit":"xxx", * "unitname":"xxxx", * "unitlevel": 0, * "unitlevelname":"xxxx", * "personname":"xxxx", * "personunique":"xxx", * "persondn":"xxx" * }], * groups:[{ * "id":"xxxx", * "name":"群组名称", * "distinguishedname":"群组名称@xxxx@g" * "unique":"xxxx", * }], * users:[{ * "id":"xxx", * "name":"姓名", * "unique":"xxx", * "distinguishedname":"姓名@xxxx@p" * "gendertype":"xxx", * "employee":"xxx", * "mail":"xxx", * "weixin":"xxx", * "qq":"xxx", * "mobile":"xxx", * "officephone":"xxx" * }] * } * }, * onfail : function(err) {} * }); */ this.o2m.biz.contact.complexpicker = _o2m_b_contact_complex_picker; this.o2m.biz.file.previewdocsuccess = function (result) { console.log("biz file preview doc back, result:" result); }; var _o2m_b_file_preview = function (c) { var onsuccess = c && c.onsuccess ? c.onsuccess : null; var onfail = c && c.onfail ? c.onfail : null; if (onsuccess && typeof onsuccess === "function") { o2m.biz.file.previewdocsuccess = onsuccess; } var fileurl = c && c.url ? c.url : ""; var filename = c && c.filename ? c.filename : ""; var body = { type: "file.previewdoc", callback: "o2m.biz.file.previewdocsuccess ", data: { url: fileurl, filename: filename } }; _biz_post(body, onfail); }; // 文件预览 后续要删除 this.o2m.biz.file.previewdoc = _o2m_b_file_preview; })();
网站地图