text: const jwt = require('jsonwebtoken')
  /***
   *
   */
  const findMembers = function (instance, {
      prefix,
      specifiedType,
      filter
  }) {
      // 递归函数
      function _find(instance) {
          //基线条件（跳出递归）
          if (instance.__proto__ === null)
              return []
  
          let names = Reflect.ownKeys(instance)
          names = names.filter((name) => {
              // 过滤掉不满足条件的属性或方法名
              return _shouldKeep(name)
          })
  
          return [...names, ..._find(instance.__proto__)]
      }
  
      function _shouldKeep(value) {
          if (filter) {
              if (filter(value)) {
                  return true
              }
          }
          if (prefix)
              if (value.startsWith(prefix))
                  return true
          if (specifiedType)
              if (instance[value] instanceof specifiedType)
                  return true
      }
  
      return _find(instance)
  }
  
  // 颁布令牌
  const generateToken = function (uid, scope) {
      const secretKey = global.config.security.secretKey;
      const expiresIn = global.config.security.expiresIn;
      const token = jwt.sign({
          uid,
          scope
      }, secretKey, {
          expiresIn: expiresIn
      })
      return token
  }
  
  module.exports = {
      findMembers,
      generateToken,
  }