{
    "hopeUI.utils.值是否为空": {
        "prefix": "hope.utils.isEmpty",
        "body": ["hope.utils.isEmpty(${1:'校验值'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.对象是否为空": {
        "prefix": "hope.utils.isEmptyObject",
        "body": ["hope.utils.isEmptyObject(${1:'校验值'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.是否为ios": {
        "prefix": "hope.utils.isIos",
        "body": ["hope.utils.isIos()"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.是否为android": {
        "prefix": "hope.utils.isAndroid",
        "body": ["hope.utils.isAndroid()"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.是否为PC端": {
        "prefix": "hope.utils.isPC",
        "body": ["hope.utils.isPC()"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.是否为闰年": {
        "prefix": "hope.utils.isLeapYear",
        "body": ["hope.utils.isLeapYear(${1:'校验值'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.身份证格式是否正确": {
        "prefix": "hope.utils.isCardID",
        "body": ["hope.utils.isCardID(${1:'校验值'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.综合校验判断": {
        "prefix": "hope.utils.isVerify",
        "body": [
            "hope.utils.isVerify(${1:'num-数字 en-英文 chn-中文 lower-小写 upper-大写 phone-手机号码 tel-座机 url-网址 ip-IP地址 date-日期格式 email-邮箱 postal-邮政编码'}, ${2:'校验值'})"
        ],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.获取IE版本": {
        "prefix": "hope.utils.getIE",
        "body": ["hope.utils.getIE()"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.获取url中指定参数值": {
        "prefix": "hope.utils.getQueryParam",
        "body": ["hope.utils.getQueryParam(${1:'参数字段'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.url地址参数序列化": {
        "prefix": "hope.utils.parseQueryParam",
        "body": ["hope.utils.parseQueryParam(${1:'url字符串'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.url参数对象反序列化": {
        "prefix": "hope.utils.stringfyQueryParam",
        "body": ["hope.utils.stringfyQueryParam(${1:'序列化JSON对象'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.向url中追加参数": {
        "prefix": "hope.utils.updateQueryStringParameter",
        "body": [
            "hope.utils.updateQueryStringParameter(${1:'url'},${2:'参数名'},${3:'参数值'})"
        ],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.获取滚动条的位置坐标": {
        "prefix": "hope.utils.getScrollPosition",
        "body": ["hope.utils.getScrollPosition(${1:'dom元素'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.格式化日期": {
        "prefix": "hope.utils.formatDate",
        "body": [
            "hope.utils.formatDate(${1:'日期/时间戳'},${2:'需要格式化的格式'})"
        ],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.生成指定范围的随机数": {
        "prefix": "hope.utils.getRangeRandomNum",
        "body": [
            "hope.utils.getRangeRandomNum(${1:'最小值'},${2:'最大值'},${3:'float/int'})"
        ],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.随机生成不重复的GUID": {
        "prefix": "hope.utils.guid",
        "body": ["hope.utils.guid()"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.随机生成色值": {
        "prefix": "hope.utils.getRandomColor",
        "body": ["hope.utils.getRandomColor()"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.密码强度校验": {
        "prefix": "hope.utils.checkPassword",
        "body": [
            "//1-长度大于6且全数字,2-且包含字母,3-且含有大写字母,4-且有特殊字符",
            "hope.utils.checkPassword(${1:})"
        ],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.格式化成货币格式": {
        "prefix": "hope.utils.getFormatCurrency",
        "body": ["hope.utils.getFormatCurrency(${1:})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.一次执行函数": {
        "prefix": "hope.utils.once",
        "body": ["hope.utils.once(${1:})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.防抖函数": {
        "prefix": "hope.utils.debounce",
        "body": ["hope.utils.debounce(${1:},${2:'间隔时间'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.节流函数": {
        "prefix": "hope.utils.throttle",
        "body": ["hope.utils.throttle(${1:},${2:'间隔时间'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.过滤html操作符(防XSS)": {
        "prefix": "hope.utils.filterHtmlCode",
        "body": ["hope.utils.filterHtmlCode(${1:})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.获取相对路径的绝对路径": {
        "prefix": "hope.utils.getAbsoluteUrl",
        "body": ["hope.utils.getAbsoluteUrl(${1:})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.对象深拷贝": {
        "prefix": "hope.utils.deepClone",
        "body": ["hope.utils.deepClone(${1:'Object对象'})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.赋予元素拖拽功能": {
        "prefix": "hope.utils.drag",
        "body": [
            "hope.utils.drag(${1:'Object触发DOM对象'},${2:'Object移动DOM对象'})"
        ],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.元素缩放": {
        "prefix": "hope.utils.scaleEle",
        "body": [
            "/*",
            "minWidth 最小宽度",
            "maxWidth 最大宽度",
            "styles:‘xx,xx,xx’ 需要缩放的样式清单",
            "*/",
            "hope.utils.scaleEle(${1:'minWidth'},${2:'minWidth'},${3:'styles'})"
        ],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.元素垂直居中": {
        "prefix": "hope.utils.verticalCenter",
        "body": ["hope.utils.verticalCenter(${1:})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.滚动到顶部": {
        "prefix": "hope.utils.scrollToTop",
        "body": ["hope.utils.scrollToTop()"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.页面滚动到某个元素": {
        "prefix": "hope.utils.scrollToEL",
        "body": ["hope.utils.scrollToEL(${1:})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.utils.获取当前页面滚动位置": {
        "prefix": "hope.utils.getScrollPosition",
        "body": ["hope.utils.getScrollPosition(${1:})"],
        "description": "hopeUI工具函数"
    },
    "hopeUI.selector.下拉框": {
        "prefix": "hope.selector",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : HopeUI下拉框组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      autoHideBar: 是否自动显示隐藏滚动条 | Boolean",
            "*      switchIcon: 自定义下拉图标 | String",
            "*      searchMode: 搜索下拉模式(桌面端)  | Boolean",
            "*      isTitle: 选项是否显示title属性 | Boolean",
            "* }",
            "* on: {",
            "*      change: 选择完成后回调",
            "*      toggle: 下拉切换回调",
            "*      init: 初始化回调",
            "*      update: 下拉框更新",
            "*      close: 下拉框区域外关闭后回调",
            "*      input: searchMode下输入后回调",
            "* }",
            "*/",
            "var myselect = hope.selector({",
            "    ele: '${1:.ele}',",
            "    options: {",
            "        autoHideBar: ${2:true},",
            "    },",
            "    on: {",
            "        change: function(e) {${3}},",
            "        toggle: function(e) {${4}},",
            "        init: function(e) {${5}},",
            "        update: function(e) {${6}},",
            "        close: function(e) {${7}}",
            "    },",
            "});"
        ],
        "description": "hopeUI下拉框组件"
    },
    "hopeUI.input.文本框": {
        "prefix": "hope.input",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI文本框组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      extendContent: 扩展内容 | Html",
            "*      extendContentLocation: 扩展内容位置 | Boolean",
            "* }",
            "* on: {",
            "*      blur: 失去焦点回调",
            "*      focus: 获得焦点回调",
            "*      input: 输入后回调",
            "*      init: 初始化回调",
            "* }",
            "*/",
            "var myinput = hope.input({",
            "    ele: '${1:.ele}',",
            "    options: {",
            "        extendContent:${2:''},",
            "        extendContentLocation:'${3:right}'",
            "    },",
            "    on: {",
            "        blur: function(e) {${4}},",
            "        focus: function(e) {${5}},",
            "        input: function(e) {${6}},",
            "        init: function(e) {${7}},",
            "    },",
            "});"
        ],
        "description": "hopeUI文本框组件"
    },
    "hopeUI.suggest.联想文本框": {
        "prefix": "hope.suggest",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI联想文本框组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      noMatchName: 无匹配时描述 | String",
            "*      searchField: 搜索字段映射 | String",
            "*      isFirstData: 是否初始化数据 | Boolean",
            "* }",
            "* params: {",
            "*      [jQuery.ajax字段]: 参数值",
            "* }",
            "* reader: 自定义内容方法 | Function",
            "* on: {",
            "*      input: 输入后回调",
            "*      change: 选择后回调",
            "*      blur: 失去焦点回调",
            "*      focus: 获得焦点回调",
            "*      init: 初始化回调",
            "* }",
            "*/",
            "hope.suggest({",
            "    ele: '${1:.ele}',",
            "    options: {",
            "        searchField: '${5:searchword}'",
            "    },",
            "    params: {",
            "        url: ${2:''},",
            "        dataType: '${3:json}',",
            "        type: '${4:get}',",
            "    },",
            "    reader: function (res) {",
            "        var list = res.data;",
            "        var tmp = [];",
            "        for (var i = 0; i < list.length; i++) {",
            "            tmp.push(list[i].goodsName)",
            "        }",
            "        return tmp",
            "    },",
            "    on:{",
            "        input:function (e) {${6}},",
            "        change:function (e) {${7}},",
            "        blur:function (e) {${8}},",
            "        focus:function (e) {${9}},",
            "        init:function (e) {${10}}",
            "    }",
            "})"
        ],
        "description": "hopeUI联想文本框组件"
    },
    "hopeUI.textarea.多行文本框": {
        "prefix": "hope.textarea",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI多行文本框组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      remainingWords: 是否显示剩余字数 | Boolean",
            "* }",
            "* on: {",
            "*      blur: 失去焦点回调",
            "*      focus: 获得焦点回调",
            "*      input: 输入后回调",
            "*      init: 初始化回调",
            "* }",
            "*/",
            "var mytextarea = hope.textarea({",
            "    ele: '${1:.ele}',",
            "    options:{",
            "        remainingWords:${2:true}",
            "    },",
            "    on: {",
            "        blur: function(e) {${3}},",
            "        focus: function(e) {${4}},",
            "        input: function(e) {${5}},",
            "    },",
            "});"
        ],
        "description": "hopeUI多行文本框组件"
    },
    "hopeUI.carousel.轮播": {
        "prefix": "hope.carousel",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI复选框组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "*/",
            "var mycarousel = hope.carousel({",
            "    ele: '${1:.ele}',",
            "    options: {",
            "        pagination: '${2:.banner .hope-pagination}',",
            "        loop: ${3:true}",
            "    },",
            "    on:{",
            "        onFirstInit: function (e) {${4}},",
            "        onSlideChangeStart: function (e) {${5}}",
            "    }",
            "})"
        ],
        "description": "hopeUI轮播组件"
    },
    "hopeUI.checkbox.复选框": {
        "prefix": "hope.checkbox",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI复选框组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* on: {",
            "*      change: 选中后回调",
            "*      init: 初始化回调",
            "* }",
            "*/",
            "var mycheckbox = hope.checkbox({",
            "    ele: '${1:.ele}',",
            "    on: {",
            "        change: function(e) {${2}},",
            "    },",
            "});"
        ],
        "description": "hopeUI复选框组件"
    },
    "hopeUI.radio.单选框": {
        "prefix": "hope.radio",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI单选框组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* on: {",
            "*      change: 选中后回调",
            "*      init: 初始化回调",
            "* }",
            "*/",
            "var myradio = hope.radio({",
            "    ele: '${1:.ele}',",
            "    on: {",
            "        change: function(e) {${2}},",
            "    },",
            "});"
        ],
        "description": "hopeUI单选框组件"
    },
    "hopeUI.radio.日期时间选择器": {
        "prefix": "hope.datepicker",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI日期时间选择器组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      format: 日期格式 | String",
            "*      type: 日期模式/日期时间模式 | String",
            "*      offTop: 偏移高度 | Number",
            "* }",
            "* on: {",
            "*      change: 状态改变后回调",
            "*      clear: 清空后回调",
            "*      open: 选择框打开后回调",
            "*      close: 选择框关闭后回调",
            "*      init: 初始化回调",
            "* }",
            "*/",
            "hope.datepicker({",
            "    ele: '${1:#ele}',",
            "    options:{",
            "        format: '${2:yyyy-MM-dd HH:mm:ss}',",
            "        type: '${3:datetime}'//date：日期，datetime:日期+时间",
            "        offTop: '${7:40}'",
            "    },",
            "    on:{",
            "        init: function (e){${4}},",
            "        change: function (e){${5}},",
            "        clear: function (e){${6}}",
            "    }",
            "})"
        ],
        "description": "hopeUI日期时间选择器组件"
    },
    "hopeUI.form.表单": {
        "prefix": "hope.form",
        "body": [""],
        "description": "hopeUI表单组件"
    },
    "hopeUI.drawer.抽屉": {
        "prefix": "hope.drawer",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI抽屉组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      title: 标题内容 | String",
            "*      placement: 弹出方向 | String",
            "*      width: 容器宽度 | String",
            "*      height: 容器高度 | String",
            "*      closable: 是否有关闭按钮 | Boolean",
            "*      mask: 是否有遮罩 | Boolean",
            "*      maskClosable: 点击遮罩是否关闭 | Boolean",
            "*      overflow: 打开后主窗口是否禁止滑动 | Boolean",
            "* }",
            "* on: {",
            "*      open: 打开后回调",
            "*      close: 关闭后回调",
            "* }",
            "*/",
            "var mDrawer = hope.drawer({",
            "    options: {",
            "        title: '${1:}',",
            "        placement: '${2:left}',",
            "        width: '${3:70%}',",
            "        height: '${4:100%}',",
            "        closable: '${5:false}'",
            "    },",
            "    on: {",
            "        open: function(e) {${6}},",
            "        close: function(e) {${7}},",
            "    },",
            "});"
        ],
        "description": "hopeUI抽屉组件"
    },
    "hopeUI.layer.弹窗": {
        "prefix": "hope.layer",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI弹窗组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      title: 标题内容 | String",
            "*      content: 主要内容 | HTML/String",
            "*      isMask: 是否有背景遮罩层 | Boolean",
            "*      isDefaultBtn: 是否有默认按钮 | Boolean",
            "*      defaultBtn: 按钮描述 | Object",
            "*      isDrag: 是否拖拽 | Boolean",
            "*      animation: 补间动画 | String",
            "*      isFullScreen: 内容区是否全屏 | Boolean",
            "* }",
            "* on: {",
            "*      confirm: 确认完成后回调",
            "*      open: 打开后回调",
            "*      close: 关闭后回调",
            "*      init: 初始化回调",
            "* }",
            "*/",
            "var mylayer = hope.layer({",
            "    options: {",
            "        title: '${1:标题}',",
            "        content: '${2:<div>你好，你已经吃过了</div>}',",
            "        defaultBtn: {",
            "            ok: '${3:好的}',",
            "            cancel: '${4:拜拜}',",
            "        },",
            "    },",
            "    on: {",
            "        confirm: function(e) {${5}},",
            "        open: function(e) {${6}},",
            "        close: function(e) {${7}},",
            "        init:function(e) {${8}}",
            "    },",
            "});"
        ],
        "description": "hopeUI弹窗组件"
    },
    "hopeUI.loadmore.流式加载": {
        "prefix": "hope.loadmore",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI流式加载组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      loadBtnName: 按钮名称设置 | String",
            "*      autoLoad: 自动加载 | Boolean",
            "*      offset: 距离底部多少距离加载 | String",
            "* }",
            "* params: {",
            "*      [jQuery.ajax字段]: 参数值",
            "* }",
            "* reader: 自定义内容方法 | Function",
            "* on: {",
            "*      loaded: 加载完成后回调",
            "* }",
            "*/",
            "var loadmore = hope.loadmore({",
            "    ele: '${1:#ele}',",
            "    options: {",
            "        loadBtnName: '${2:加载更多}',",
            "        autoLoad: ${3:true},",
            "        offset: ${4:30}",
            "    },",
            "    params: {",
            "        url: ${5:''},",
            "        dataType: '${6:json}',",
            "        type: '${7:get}',",
            "        data: {",
            "            pageNo: ${8:1},",
            "            pageSize: ${9:20},",
            "        },",
            "    },",
            "    reader: function (res) {",
            "        //回调示例           ",
            "        var data = res.data;",
            "        var template = '';",
            "        for (var i = 0; i < data.length; i++) {",
            "            template += '<p>' + data[i].goodsName + '|' + data[i].goodsStar + '</p>'",
            "        }",
            "        $('#loadlist').append(template);",
            "        return {",
            "            pageNo: res.pageNo,",
            "            pageSize: res.pageSize,",
            "            totalNumber: res.totalNumber",
            "        }",
            "    },",
            "    on: {",
            "        loaded: function (e) {${10}}",
            "    }",
            "})"
        ],
        "description": "hopeUI流式加载组件"
    },
    "hopeUI.numup.数字自增效果": {
        "prefix": "hope.numup",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI数字自增效果组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      注：如果标签上有相应hope-numup-*属性可不写",
            "*      num: 要显示的数字 | Number",
            "*      time: 效果总耗时 | Number",
            "*      speed: 动画速度 | Number",
            "*      start: 开始数字 | Number",
            "* }",
            "* on: {",
            "*      end: 完成后回调",
            "* }",
            "*/",
            "hope.numup({",
            "    ele: '${1:.ele}',",
            "    options: {  ",
            "        num: ${2:52000},",
            "        time: ${3:2000},",
            "        speed: ${4:50}",
            "    },",
            "    on: {",
            "        end: function (e) {${5}}",
            "    }",
            "})"
        ],
        "description": "hopeUI数字自增效果组件"
    },
    "hopeUI.picture.图片响应式加载": {
        "prefix": "hope.picture",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI图片响应式加载组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      breakpoint: 断点对象 | Object | 每个端的最min断点，默认xl.1200,md.750",
            "* }",
            "* on: {",
            "*      resize: 变化后回调",
            "* }",
            "*/",
            "hope.picture({",
            "    ele: '${1:.ele}',",
            "    options: {",
            "        breakpoint: ${2:{xl:1200,md:750,xs:0}},",
            "    },",
            "    on: {",
            "        resize: function (e) {${3}}",
            "    }",
            "})"
        ],
        "description": "hopeUI图片响应式加载组件"
    },
    "hopeUI.adapimage.图片充满居中": {
        "prefix": "hope.adapimage",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI图片充满居中组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      noTransition: 是否无过渡效果 | Boolean",
            "*      //因时间差产生可见大小变化需要在对应img上加 hopeui-opacity-low",
            "* }",
            "* on: {",
            "*      init: 初始变化后回调",
            "* }",
            "*/",
            "hope.adapimage({",
            "    ele: '${1:.ele}',",
            "    options: {",
            "        noTransition:${2:false},",
            "    }",
            "    on: {",
            "        init: function (e) {${3}}",
            "    }",
            "})"
        ],
        "description": "hopeUI图片充满居中组件"
    },
    "hopeUI.omit.文字响应式截断": {
        "prefix": "hope.omit",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI文字响应式截断组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      breakpoint: 断点对象 | Object",
            "*      isTwoway: 双向（分辨率低到高或高到低）切换 | Boolean",
            "* }",
            "* on: {",
            "*      resize: 变化后回调",
            "* }",
            "*/",
            "hope.omit({",
            "    ele: '${1:.ele}',",
            "    options:{",
            "        breakpoint: {",
            "            'xl': {",
            "                point: 1200,",
            "                row: 4",
            "            },",
            "            'xs': {",
            "                point: 360,",
            "                row: 1",
            "            }",
            "        }",
            "    },",
            "    on: {",
            "        resize: function (e) {${2}}",
            "    }",
            "})"
        ],
        "description": "hopeUI文字响应式截断组件"
    },
    "hopeUI.scrollbar.自定义滚动条": {
        "prefix": "hope.scrollbar",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI自定义滚动条组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      height: 内容高度 | Number",
            "*      autoHideBar: 是否自动显示隐藏滚动条 | Boolean",
            "* }",
            "* on: {",
            "*      init: 初始化回调",
            "*      scroll: 滚动的位移后回调",
            "* }",
            "*/",
            "hope.scrollbar({",
            "    ele: '${1:#ele}',",
            "    options:{",
            "        height: ${2:200},",
            "        autoHideBar: ${3:true}",
            "    },",
            "    on: {",
            "        init: function (e) {${4}},",
            "        scroll: function (e) {${5}}",
            "    }",
            "})"
        ],
        "description": "hopeUI自定义滚动条组件"
    },
    "hopeUI.tab.选项卡": {
        "prefix": "hope.tab",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI选项卡组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      slideSwitch: 是否touch切换 | Boolean",
            "* }",
            "* on: {",
            "*      init: 初始化回调",
            "*      change: 点击选择后回调",
            "* }",
            "*/",
            "hope.tab({",
            "    ele: '${1:#ele}',",
            "    options: {",
            "        slideSwitch: ${2:false},",
            "    },",
            "    on: {",
            "        change: function(e) {${3}},",
            "        init: function(e) {${4}},",
            "    }",
            "});"
        ],
        "description": "hopeUI选项卡组件"
    },
    "hopeUI.zoom.图像放大镜": {
        "prefix": "hope.zoom",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI图像放大镜组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      largeWrapper: 放大图像承载容器ID | String",
            "*      mode: 图外放大模式/图上放大模式 | String",
            "*      zoom: 缩放倍率 | Number",
            "*      zoomable: 是否可以随时缩放 | Boolean",
            "* }",
            "* on: {",
            "*      enter: 进入图片区域时",
            "*      move: 图片区域移动时",
            "*      leave: 离开图片区域时",
            "*      scale: 图片区域缩放时",
            "* }",
            "*/",
            "hope.zoom({",
            "    ele: '${1:#ele}',",
            "    options: {",
            "        largeWrapper: '${2:preview}',",
            "        mode: '${3:outside}',",
            "        zoom: ${4:2},",
            "        zoomable: ${5:true}",
            "    },",
            "    on:{",
            "        enter: function (e) {${6}},",
            "        move: function (e) {${7}},",
            "        leave: function (e) {${8}},",
            "        scale: function (e) {${9}},",
            "    }",
            "});"
        ],
        "description": "hopeUI图像放大镜组件"
    },
    "hopeUI.upload.文件上传": {
        "prefix": "hope.upload",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI文件上传组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      url: 上传服务地址 | String",
            "*      name: 标签name值  | String",
            "*      allowedExtensions: 可上传文件类型 | Array",
            "*      multiple: 是否多选 | Boolean",
            "* }",
            "* on: {",
            "*      beforeUpload: 上传前回调",
            "*      uploading: 上传中回调",
            "*      complete: 完成时回调",
            "*      error: 错误时回调",
            "* }",
            "*/",
            "hope.upload({",
            "    ele: '${1:#ele}',",
            "    options: {",
            "        url: '${2}',",
            "        name: '${3}',",
            "        allowedExtensions: ${4:['jpg','jpeg','png']},",
            "        multiple: ${6:true}",
            "    },",
            "    on:{",
            "        beforeUpload: function (fileName,file) {${7}},",
            "        uploading: function (fileName,file) {${8}},",
            "        complete: function (fileName,res) {${9}},",
            "        error: function (fileName,res) {${10}},",
            "    }",
            "});"
        ],
        "description": "hopeUI文件上传组件"
    },
    "hopeUI.pager.分页器": {
        "prefix": "hope.pager",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI分页器组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      omit: 省略时按钮数,必须奇数 | Number",
            "*      prevName: 上翻页命名定义 | String",
            "*      nextName: 下翻页命名定义 | String",
            "*      pageMapping: 当前页字段映射 | String",
            "*      extend: 是否完整扩展 | Boolean",
            "* }",
            "* params: {",
            "*      [jQuery.ajax字段]: 参数值",
            "* }",
            "* reader: 自定义内容方法 | Function",
            "* on: {",
            "*      jumpOver: 跳转后回调",
            "*      init: 初始化完成后回调",
            "*      complete: 请求完成后回调",
            "* }",
            "*/",
            "var mypager = hope.pager({",
            "    ele: '${1:#ele}',",
            "    options: {",
            "        omit: ${2:5},",
            "        prevName: '${3:prev}',",
            "        nextName: '${4:next}',",
            "        pageMapping: '${6:pageNo}', //当前页码字段的映射，默认pageNo",
            "        extend: ${7:true},",
            "    },",
            "    params: {",
            "        url: ${8:''},",
            "        dataType: '${9:json}',",
            "        type: '${10:get}',",
            "        data: {",
            "            pageNo: ${11:1},",
            "            pageSize: ${12:20},",
            "        },",
            "    },",
            "    reader: function(res) {",
            "        //回调示例           ",
            "        var data = res.data;",
            "        var template = '';",
            "        for (var i = 0; i < data.length; i++) {",
            "            template +=",
            "                '<p>' +",
            "                data[i].goodsName +",
            "                '|' +",
            "                data[i].goodsStar +",
            "                '</p>';",
            "        }",
            "        $('#pagelist2').html(template);",
            "        return {",
            "            pageNo: res.pageNo,",
            "            pageSize: res.pageSize,",
            "            totalNumber: res.totalNumber,",
            "        };",
            "    },",
            "    on: {",
            "        jumpOver: function(e) {${13}},",
            "    },",
            "});"
        ],
        "description": "hopeUI分页器组件"
    },
    "hopeUI.lazyload.图片懒加载": {
        "prefix": "hope.lazyload",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI图片懒加载组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      responsive: 是否是响应式图片加载 | Boolean",
            "*      breakpoint: 断点对象 | Object | 每个端的最min断点，默认xl.1200,md.750",
            "*      adapimage: 是否开启图片充满 | Boolean",
            "* }",
            "*/",
            "hope.lazyload({",
            "    ele: '${1:#ele}',",
            "    options:{",
            "        responsive: ${2:true},",
            "        breakpoint: ${3:{xl:1200,md:750,xs:0}},",
            "        adapimage: ${4:true}",
            "    }",
            "})"
        ],
        "description": "hopeUI图片懒加载组件"
    },
    "hopeUI.danmu.弹幕": {
        "prefix": "hope.danmu",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI弹幕组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      channel: 通道数量 | Number",
            "*      speed: 速度 | Number",
            "*      bgColor: 背景色 | Array",
            "*      opacity: 背景透明度 | Number",
            "*      spacing: 间距 | Float",
            "*      isMask: 是否显示过渡遮罩 | Boolean",
            "*      data: 数据源 | Array",
            "*      maskColor: 遮罩层颜色 | Object",
            "* }",
            "*/",
            "hope.danmu({",
            "    ele: '${1:#ele}',",
            "    options:{",
            "        channel: ${2:4},",
            "        speed: ${3:10},",
            "        bgColor: ${4:['red']},",
            "        opacity: ${5:0.4},",
            "        spacing: ${6:'1.2'},",
            "        isMask: ${7:true},",
            "        data: ${8:[]}",
            "        maskColor: {left:${9:'#fff'},right:${10:'#fff'}}",
            "    }",
            "})"
        ],
        "description": "hopeUI弹幕组件"
    },
    "hopeUI.anchor.锚点": {
        "prefix": "hope.anchor",
        "body": [
            "/*",
            "* @Author       : Evan.G",
            "* @Description  : hopeUI锚点组件",
            "* @API          : http://seazeg.gitee.io/hopeui/",
            "* ***********************************************",
            "* ele: 元素 dom 节点",
            "* options: {",
            "*      offset: 偏移量 | Number",
            "* }",
            "* on: {",
            "*      jumpOver: 跳转后回调",
            "*      init: 初始化完成后回调",
            "* }",
            "*/",
            "hope.anchor({",
            "    ele: '${1:#ele}',",
            "    options:{",
            "        offset: ${2:0},",
            "    },",
            "    on: {",
            "        jumpOver: function(e) {${3}},",
            "        init: function(e) {${4}}",
            "    }",
            "})"
        ],
        "description": "hopeUI锚点组件"
    }
}