whole_func_string: function navigateTo(options) {
      let {url, params} = options;
      let queryIdx = url.indexOf('?');
      if (queryIdx !== -1) {
          let query = url.substr(queryIdx + 1);
          url = url.substring(0, queryIdx);
  
          if (query) {
              query = parseQuery(query);
              params = Object.assign({}, query, params);
          }
      }
  
      if (url.charAt(0) === '/') {
          let urlParts = url.split('/');
          urlParts.pop(); // remove component name
          url = urlParts.join('/');
      }
  
      router.push({
          uri: url,
          params
      });
  }
func_code_string: function navigateTo(options) {
      let {url, params} = options;
      let queryIdx = url.indexOf('?');
      if (queryIdx !== -1) {
          let query = url.substr(queryIdx + 1);
          url = url.substring(0, queryIdx);
  
          if (query) {
              query = parseQuery(query);
              params = Object.assign({}, query, params);
          }
      }
  
      if (url.charAt(0) === '/') {
          let urlParts = url.split('/');
          urlParts.pop(); // remove component name
          url = urlParts.join('/');
      }
  
      router.push({
          uri: url,
          params
      });
  }
func_documentation_string: Navigate to the specified url
  
  @param {Object} options the navigation options
  @param {string} options.url the url to navigate to
  @param {Object=} options.params the navigation params, which is not
  supported in weixin env