类名 common/service/igs/SecurityServer.js
import BaseServer from '../BaseServer'
import { Zondy } from '../../base'

/**
 * 安全服务,服务地址:/igs/rest/services/SecurityServer
 * @class SecurityServer
 * @moduleEx ServiceModule
 * @extends BaseServer
 * @param {Object} options 构造参数
 * @param {String} [options.url = 无] 服务基地址
 * @example
 * //初始化SecurityServer服务对象
 * // ES5引入方式
 * const { SecurityServer } = Zondy.Service
 * // ES6引入方式
 * import { SecurityServer } from "@mapgis/webclient-common
 * const securityServer = new SecurityServer({
 *   //服务地址
 *   url: "http://localhost:8089/igs/rest/services/SecurityServer",
 *   });
 */
class SecurityServer extends BaseServer {
  constructor(options) {
    super(options)
  }

  /**
   * @function SecurityServer.prototype.addToken
   * @description 添加token,后端接口:http:/igs/rest/services/SecurityServer/tokens
   * @param options 查询参数
   * @param {Function} [options.success = 无] 查询成功回调函数,若使用Promise方式则不必填写
   * @param {Function} [options.failure = 无] 查询失败回调函数,若使用Promise方式则不必填写
   * @param {String} [options.userName = 无] 用户名,必填
   * @param {String} [options.password = 无] 密码,必填
   * @param {String} [options.clientType = 无] 客户端ip或者referer
   * @param {String} [options.clientInfo = 无] ip或referer的内容,referer内容为web应用的基地址
   * @param {Number} [options.expirationTime = 无] 失效时长,单位秒,必填
   * @return {Promise<Object>}
   * @example
   * //回调方式
   *  securityServer.addToken({
   *       userName:'admin',
   *       password:'sa.mapgis',
   *       expirationTime:2592000,
   *       method: Zondy.Enum.FetchMethod.post,
   *       success:function(result){
   *       console.log("请求成功:", result);
   *     }
   *   })
   * //promise方式
   * securityServer.addToken({
   *       userName:'admin',
   *       password:'sa.mapgis',
   *       expirationTime:2592000,
   * }).then(function (result) {
   *   console.log('请求成功:', result);
   * }).catch(function (result) {
   *   console.log('请求失败:', result);
   * });
   */
  addToken(options) {
    // 设置PATH PARAMETERS校验
    const checkPathOpts = {
      userName: {
        type: 'String'
      }
    }
    // 设置QUERY PARAMETERS校验
    const checkQueryOpts = {
      password: {
        type: 'String',
        required: true
      },
      clientType: {
        type: 'String'
      },
      clientInfo: {
        type: 'String'
      },
      expirationTime: {
        type: 'Number',
        required: true
      }
    }
    // 调用基类的查询信息方法
    return this._queryByParameters(
      options,
      checkPathOpts,
      checkQueryOpts,
      // 拼装返回基地址
      function (url, options) {
        return `${url}/tokens?${options.userName}`
      }
    )
  }
}

Zondy.Service.SecurityServer = SecurityServer
export default SecurityServer
构造函数
成员变量
方法
事件