serverparam.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /**
  2. * 服务器提交的额外参数列表设置插件
  3. * @file
  4. * @since 1.2.6.1
  5. */
  6. UE.plugin.register("serverparam", function() {
  7. var me = this,
  8. serverParam = {};
  9. return {
  10. commands: {
  11. /**
  12. * 修改服务器提交的额外参数列表,清除所有项
  13. * @command serverparam
  14. * @method execCommand
  15. * @param { String } cmd 命令字符串
  16. * @example
  17. * ```javascript
  18. * editor.execCommand('serverparam');
  19. * editor.queryCommandValue('serverparam'); //返回空
  20. * ```
  21. */
  22. /**
  23. * 修改服务器提交的额外参数列表,删除指定项
  24. * @command serverparam
  25. * @method execCommand
  26. * @param { String } cmd 命令字符串
  27. * @param { String } key 要清除的属性
  28. * @example
  29. * ```javascript
  30. * editor.execCommand('serverparam', 'name'); //删除属性name
  31. * ```
  32. */
  33. /**
  34. * 修改服务器提交的额外参数列表,使用键值添加项
  35. * @command serverparam
  36. * @method execCommand
  37. * @param { String } cmd 命令字符串
  38. * @param { String } key 要添加的属性
  39. * @param { String } value 要添加属性的值
  40. * @example
  41. * ```javascript
  42. * editor.execCommand('serverparam', 'name', 'hello');
  43. * editor.queryCommandValue('serverparam'); //返回对象 {'name': 'hello'}
  44. * ```
  45. */
  46. /**
  47. * 修改服务器提交的额外参数列表,传入键值对对象添加多项
  48. * @command serverparam
  49. * @method execCommand
  50. * @param { String } cmd 命令字符串
  51. * @param { Object } key 传入的键值对对象
  52. * @example
  53. * ```javascript
  54. * editor.execCommand('serverparam', {'name': 'hello'});
  55. * editor.queryCommandValue('serverparam'); //返回对象 {'name': 'hello'}
  56. * ```
  57. */
  58. /**
  59. * 修改服务器提交的额外参数列表,使用自定义函数添加多项
  60. * @command serverparam
  61. * @method execCommand
  62. * @param { String } cmd 命令字符串
  63. * @param { Function } key 自定义获取参数的函数
  64. * @example
  65. * ```javascript
  66. * editor.execCommand('serverparam', function(editor){
  67. * return {'key': 'value'};
  68. * });
  69. * editor.queryCommandValue('serverparam'); //返回对象 {'key': 'value'}
  70. * ```
  71. */
  72. /**
  73. * 获取服务器提交的额外参数列表
  74. * @command serverparam
  75. * @method queryCommandValue
  76. * @param { String } cmd 命令字符串
  77. * @example
  78. * ```javascript
  79. * editor.queryCommandValue( 'serverparam' ); //返回对象 {'key': 'value'}
  80. * ```
  81. */
  82. serverparam: {
  83. execCommand: function(cmd, key, value) {
  84. if (key === undefined || key === null) {
  85. //不传参数,清空列表
  86. serverParam = {};
  87. } else if (utils.isString(key)) {
  88. //传入键值
  89. if (value === undefined || value === null) {
  90. delete serverParam[key];
  91. } else {
  92. serverParam[key] = value;
  93. }
  94. } else if (utils.isObject(key)) {
  95. //传入对象,覆盖列表项
  96. utils.extend(serverParam, key, false);
  97. } else if (utils.isFunction(key)) {
  98. //传入函数,添加列表项
  99. utils.extend(serverParam, key(), false);
  100. }
  101. },
  102. queryCommandValue: function() {
  103. return serverParam || {};
  104. }
  105. }
  106. }
  107. };
  108. });