精华内容
下载资源
问答
  • 网络摄像IP搜索不到可能出现情况:1、搜索工具:搜索工具是通过发广播包搜索局域网内网络摄像,如果运行软件的PC与网络摄像之间网络连接存在网关(比如说路由器),网关对广播包进行了过滤,那搜索工具就...

    网络摄像机IP搜索不到可能出现的情况:

    1、搜索工具:搜索工具是通过发广播包搜索局域网内的网络摄像机,如果运行软件的PC与网络摄像机之间的网络连接存在网关(比如说路由器),网关对广播包进行了过滤,那搜索工具就无法搜索到摄像机。

    242f2c0a6706f2f143b7d5f0e52979fa.png

    2、PC:PC的防火墙没有关闭,或者是有其他的安全软件阻挡了。

    3、PC的IP地址通过DHCP分配,但是分配的IP地址无效。

    4、PC和摄像机不属于一个局域网内。

    5、网络:交换机条目老化需要重启。

    6、路由器IP地址过滤或阻挡等等。

    7、网线老化或网络水晶头氧化等原因导致网络不通。摄像机:摄像机因为某些原因导致内部的服务没有运行或者停止运行了,需要断电重启摄像机。

    8、摄像机没有通电或者电源有问题,使用POE供电的摄像机POE模块损坏。

    9、摄像机已经损坏。

    7734e94522aa625eed3307a83c5323d9.png

    10、网络摄像机IP搜索不到建议按以下顺序做检查:

    a、使用一台能正常访问其他摄像机或者是好的PC准备直接连接摄像机。

    b、 手动指定PC的IP地址并且是和摄像机是同一网段的。

    c、使用一条好的网线直接连接摄像机和PC。

    d、连接摄像机电源,并确保摄像机处于通电状态(可遮挡红外灯板检查红外灯板亮不亮来判断是否通电)。

    e、使用搜索工具搜索摄像机或者直接用IE访问尝试连接摄像机。

    b96a6bc77394ddc7ad77e3edcdd4ba56.png

    NVR是(NetworkVideoRecorder即网络硬盘录像机)的缩写。网络硬盘录像机,比较鲜明的说法就是监控服务器。首先它具备通过监控视频头采集数据,经过传输到录像机,录像机采集数据后进行编码,产生图像。

    网络硬盘录像机通过你个人的需求,录制下来,用串口(大部分)硬盘进行储存录像。并且在连接网络的情况下,可以通过注册动态域名,达到远程监控的目的。

    展开全文
  • 搭建一个属于自己Mainframe 之 准备工作

    千次阅读 热门讨论 2011-01-08 15:31:00
    很多人初学mainframe都觉得比较困难,就是因为mainframe不像unix或linux,在自己的PC机上很容易就可以搭建起来。但是mainframe操作系统z/OS又不像AIX,只有在IBMpower机上才可以安装运行。在普通x86或者x64平台...

    很多人初学mainframe都觉得比较困难,就是因为mainframe不像unix或linux,在自己的PC机上很容易就可以搭建起来。但是mainframe操作系统z/OS又不像AIX,只有在IBM的power机上才可以安装运行。在普通的x86或者x64平台上搭建z/OS的虚拟系统,是完全可行的。当然,理论上讲,Mac OS上也是可以虚拟出z/OS的,只是,还没听说有人试过。

    想要在自己的PC上搭建一个z/OS虚拟系统,你需要以下几样东西:

    1. 一台PC机,最好有2GHz CPU,1G以上内存,硬盘空间10G足矣 
    2. z/OS系统的卷文件。
      卷文件有两种,一种是DEMOPKG,只对IBM内部员工发行。另外一种是ADCD,可惜,这一种卷文件也不是免费的,只针对IBM合作伙伴和mainframe用户发行,但是,通过某些非正常途径,也是可以获取到的,只要用于非商业目的,也无大碍,低调一点就好,你懂的。
      电驴上一位无私的哥们,也提供了ADCD z/OS 1.9的下载源。地址是:http://www.verycd.com/topics/280391/
      本文将以ADCD z/OS 1.6作为范例搭建虚拟z/OS,启动和配置过程与此处下载的1.9并无很大差别。如果哪位需要1.6的卷文件,可以在此留下email。
    3. 3270客户端。
      - 最常用的当然是IBM Personal Communication,简称PCOM,该软件只能运行于windows平台,并且功能强大,也是最常用的3270客户端。PCOM并非是免费软件,但是你也可以很容易获得该软件,之前提到的verycd链接里就可以下载。同样,保持低调。
      - TN3270也是一种不错的选择,虽然TN3270也并非免费,但是你可以通过在其官网注册,即可获得一个evaluation licence,有效期30天。详情请访问TN3270官网:http://www.sdisw.com
      - 据我所知,目前唯一免费且开源的3270客户端就是x3270了,可以在http://x3270.bgp.nu下载到源码或者安装包(windows和Linux平台皆可安装)。另外,目前很流行的发行版Ubuntu linux,在其官方源也提供了x3270下载,可以通过命令sudo apt-get install x3270安装。
    4. Hercules
      正是有了Hercules,在PC机上虚拟z/OS操作系统才成为了现实。这是一个完全免费开源的软件,Hercules官网http://www.hercules-390.org/提供了hercules在windows,linux和Mac OS平台上的安装包以及源码。该网站上也有许多关于使用和配置hercules的文章,有兴趣可以常上去看看。
      另外,如果你使用的是windows系统,为了操作方便,也可以下一个Hercules GUI,下载链接是http://www.softdevlabs.com/Hercules/hercgui-index.html,此处,需要注意一个叫Fish Lib的动态链接库,需要把这个DLL文件解压后跟HercGUI放在同一路径下,这样就不会运行的时候报错了。并且HercGUI要求安装VC Redistributable package,去微软的网站下载安装就好了。
    5. TCP/IP支持软件,可选,不是必须安装的
      说这个东东是TCPIP支持软件其实有点勉强。其实是网络封包抓取工具,使用这个可以在hercules上开启tcpip,让你的z/OS系统可以在你的物理局域网中使用FTP,DB2 DRDA等等,对于初学mainframe的人,这个不是必须的。没有这个也一样可以在自己的机器上运行z/OS的。所以,开启TCPIP将会在以后的文章中单独讨论。这里仅仅列出几个可选的封包抓取工具,他们是:CTCI-W32,WinPCap,FishPack和TunTap32。需要注意的是,根据PC机所使用的操作系统版本不同,这类工具所需要的版本也是不一样的,不是任何一种搭配都可以保证成功的在z/OS上开启TCP/IP的。我在Windows XP 32bit上使用WinPCAPC 4.0成功的开启了TCPIP,在win7下就失败了。
      在linux下也可以选择一个类似于WinpCap的工具,名为libpcap,Ubuntu的官方源里也可以下载到。

    说了这么多,发现有点乱,还是整理一个check list吧

    在Windows平台下:
    1. http://www.verycd.com/topics/280391/ 下载卷文件(后缀名为CCKD的),PCOM和配置文件zOS1.9.cnf
    2. http://www.hercules-390.org/ 下载Hercules 3.07安装包,注意你的系统是32bit还是64bit的,选择相应的下载
    3. 安装Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package,google一下就可以了
    4. http://www.softdevlabs.com/Hercules/hercgui-index.html 下载Hercules Windows GUI –Version 1.11.1以及FishLib
    5. http://www.winpcap.org/ 下载winpcap 4.0
    6. http://www.softdevlabs.com/Hercules/ctci-w32-index.html 下载CTCI-W32

    在Linux平台下(以Ubuntu为例):
    1. http://www.verycd.com/topics/280391/ 下载卷文件(后缀名为CCKD的)和配置文件zOS1.9.cnf
    2. http://www.hercules-390.org/ 下载Hercules 3.07 source tarball。redhat也可以下载RPM包
    3. 安装x3270,使用命令sudo apt-get update,然后sudo apt-get install x3270
    4. 安装LibpCap,使用命令sudo apt-get install libpcap
    注:在以上第一步所下载的CCKD文件在linux中直接使用可能会报错,说无法识别的格式。这是因为该CCKD文件是通过windows下的hercules压缩而来。所以,这里需要将CCKD文件在windows中还原为CKD,然后copy到linux下重新压缩为CCKD文件即可。一个3390-3卷对应的CKD文件大约是2.8GB,如果要进行转换,中途可能需要比较多的磁盘空间,压缩完成后,卷文件大小与原CCKD文件基本一样。具体方法在之后讲到在linux下启动z/os的时候再说。


    2011-01-08 @ WuHan

    Thinking in Mainframe - http://blog.csdn.net/tuliangde

    展开全文
  • 代码语法错误分析工具pclint8.0

    热门讨论 2010-06-29 07:00:09
    Windows平台下也好多人都喜欢用SourceInsight编辑C/C++程序,如果将pclint集成到SourceInsight中,那就相当于给SourceInsight增加了一个C/C++编译器,而且它检查更严格,能发现一些编译器发现不了问题,可以...
  • 点击上方“蓝字”关注我们小伙伴们你们是不是发现时候出去旅游或者拍照什么,想要制作属于自己一个电子相册集,此时你突然会发现不懂用什么工具来做,手机此类APP也很多,但大部分导出都水印,不适合发...
    94eecb5b1d52d2b14bf2fe53cd5bbc51.png点击上方“蓝字”关注我们

    小伙伴们你们是不是发现有时候出去旅游或者拍照什么的,想要制作属于自己的一个电子相册集,此时你突然会发现不懂用什么工具来做,手机此类APP也有很多,但大部分导出都有水印,不适合发朋友圈,电脑端想要效果炫一点的,比如类似AE来做又不会用,而且电脑配置也带不起,那有没有比较快速上手,效果又好的电子相册制作工具呢?本君今天推荐以下几个PC端的电子相册工具。

    先来看这几款工具制作出来的一个简单效果预览

    接下来上工具


    02c8aeb5e67ee00aa529556a15097664.png技术小灶99d175f389ede96f0c9969bbab043ef6.gif

    1.ApowerShow

    99d175f389ede96f0c9969bbab043ef6.gif

    ApowerShow是一款操作简单但功能强大的电子相册制作软件,它简单易上手,直观的界面加上海量的模板,如图所示,只需几分钟,你就可以用图片和音乐创建出一个极具个性化照片MV视频。除此之外,ApowerShow还内置了分屏功能,你可以用它来制作各种各样的分屏视频。

    b2227bfaffc7202f92363b9d965edb73.png

    d495f670c48f2426636fc059847dd737.png

    99d175f389ede96f0c9969bbab043ef6.gif

    2. Apeaksoft Slideshow Maker

    99d175f389ede96f0c9969bbab043ef6.gif

    Apeaksoft Slideshow Maker是一款专业的电子相册制作软件,你可以通过这款软件制作精美的电子相册,将电脑中的照片直接拖入软件中,然后利用现成的模板来排版,还能设置转场、音乐效果。它提供10个常用的幻灯片主题模板供您选择,如快乐,浪漫,时尚,旅游,婚礼,圣诞节,运动等。它还提供了多种动态效果标题文字,直接使用即可。

    a130f7314f1243e2265b84452ef95682.png

    c084ffec211cc29f8e8031f1dc2f1bfa.png

    99d175f389ede96f0c9969bbab043ef6.gif

    3. Movavi Slideshow Maker 7

    99d175f389ede96f0c9969bbab043ef6.gif

    Movavi Slideshow Maker 7是一款功能强大的电脑图片展示制作软件,只需三步即可轻轻松松的帮助用户制作出需要的视频,首先将需要制作的照片添加导入到软件中,接着根据自己的需求对其进行添加音乐、特效、声音、特效、文字、滤镜等素材即可。该软件中可是提供了150多个滤镜、100多个转场、40多个标题等等素材供用户使用,十分的丰富,并置的音频编辑工具可用来均衡和规范所有的声音,以消除不必要的噪音等,可很好的满足用户们的制作需求。

    4f48b861bf1e3a11d7314e4cd3d03986.png

    99d175f389ede96f0c9969bbab043ef6.gif

    4.PTEAV Studio Pro

    99d175f389ede96f0c9969bbab043ef6.gif

    PTEAV Studio Pro是一款幻灯片制作处理工具,通过此软件能帮助我们在幻灯片上面快速添加照片和背景音乐,将平时拍摄的照片组成动画。它内置了丰富的模板,相同的照片会有不一样的视觉享受,同时还支持自定义添加喜欢的照片、音乐、视频剪辑等,还可以应用各种效果,如平移、缩放、旋转、3D变换、蒙版等,支持实时预览

    43a86b17ff74fd59fd20757643e8ce29.png

    99d175f389ede96f0c9969bbab043ef6.gif

    5. Aneesoft Flash Gallery Classic

    99d175f389ede96f0c9969bbab043ef6.gif

    Aneesoft Flash Gallery Classic是一个使用简单但功能强大的动态相册制作软件,采用生动有趣的 Flash 动画方式来进行展现,也就是可以进行制作交互式的电子相册。程序内置了丰富精美的模版,无需具备专业的知识就可以轻松制作出专业效果的数码相册!制作好的相册可以导入为SWF格式的Flash动画,或者EXE格式的可执行程序,还可以导出为HTML格式的网页或者SCR格式的屏幕保护程序来使用。

    dc08ca80867975605898a9f67b7de9ac.png

    99d175f389ede96f0c9969bbab043ef6.gif

    6. ProShow Producer

    99d175f389ede96f0c9969bbab043ef6.gif

    ProShow Producer是一款能制作非常漂亮的电子相册的软件,该软件内置许多强大的创作工具、节省时间的快捷键,以及一些强大的功能特色,你只需自己添加图片背景、音乐背景、或者一些解说词,那么就能瞬间制作出专业的、酷炫的电子相册。Proshow提供了大量的特效模板库,模板资源达到了3000多种,满足各种风格需要,这也是本君极力推荐的工具,除了不支持中文标题动画效果之外,它的效果可以说秒杀前面的几个工具;每个样式模板都提供了丰富的可调节选项,你不仅可以调整幻灯片图片,譬如调色、旋转、曲线等基本的图片调整,甚至可以通过创建关键帧精准控制样式的动画效果;内置丰富的音乐库资源。

    af29a51303f4ee2c1710d77c2cc37424.png

    有了这三款制作电子相册的工具,妈妈再也不用担心你的电子相册制作,想什么时候做就什么时候做,也不用担心影楼狮子大开口要价了,怎么样?大家感兴趣的话点赞留言,如果需求量大的话,下一期本君给大家讲解这些工具具体的使用方法。

    有帮助的话请使用手机"扫一扫"9b4094597435a59bd474edfa55d4c214.png

    57e3aea508eb6ce61056bc0f92d5339f.gif
    展开全文
  • 轮子嘛~总得造上一造~ ...进入 PC 端直接是文档界面,想查看 demo 效果直接将浏览器调成手机模式即可,如果喜欢,还请不要吝惜你 star 哦~~ 在线效果预览 请扫描以下二维码 已组件 swiper swipe swip...

    轮子嘛~总得造上一造~

    项目介绍

    vui:一个私人的vue ui 组件库(移动端为主)

    It's a A personal Vue UI component library .

    文档官网

    进入 PC 端直接是文档界面,想查看 demo 效果直接将浏览器调成手机模式即可,如果喜欢,还请不要吝惜你的 star 哦~~

    在线效果预览

    请扫描以下二维码

    已有组件

    安装

    npm i x-vui -S
    复制代码

    快速开始

    构建项目(配合 vue-cli)

    # 全局安装 vue-cli
    npm install --global vue-cli
    # 创建一个基于 webpack 模板的新项目
    vue init webpack my-vui-project
    # 安装依赖,并下载x-vui
    cd my-vui-project
    npm install && npm install x-vui
    # 项目启动 默认端口localhost:8080
    npm run dev
    复制代码

    完整引入

    import Vue from 'vue'
    import vui from 'x-vui'
    import 'x-vui/lib/vui-css/index.css';
    
    Vue.use(vui)
    复制代码

    部分引入

    import Vue from 'vue'
    import {
      Scroller,
      Select
      // ...
    } from 'x-vui'
    import 'x-vui/lib/vui-css/scroller.css';
    import 'x-vui/lib/vui-css/select.css';
    
    Vue.component(Scroller.name, Scroller)
    Vue.component(Select.name, Select)
    复制代码

    引入插件

    注:完整引入了vui,则无需再注册插件

    import Vue from 'vue';
    import { 
      $Toast, 
      $Dialog 
      // ...
    } from 'x-vui';
    
    Vue.prototype.$toast = $Toast
    Vue.prototype.$dialog = $Dialog
    复制代码

    组件用法

    1. swiper

    目前这里默认为 swiper 轮播图,如果你有特殊需要,也可以使用swipe和swipe-item组合出自己的swiper

    基本用法

    <template>
      <div class="swiper-page">
        <p>正常swiper</p>
        <v-swiper :items='items' :styles="{height: '200px'}" @change="changeHandle"></v-swiper>
        <p>缩略swiper</p>
        <v-swiper type='thum' :items='items' :styles="{height: '240px'}"></v-swiper>
      </div>
    </template>
    <script>
    export default {
      data () {
        return {
          items: [
            require('../assets/beauty_1.png'),
            require('../assets/beauty_2.png'),
            require('../assets/beauty_3.png'),
            require('../assets/beauty_4.png'),
            require('../assets/beauty_5.png')
          ],
        }
      },
      methods: {
        changeHandle (index) {
          console.log(index);
        }
      }
    }
    </script>
    复制代码

    Attributes

    参数 说明 类型 可选值 默认值
    type swiper类型 string swiper(正常)/thum(缩略) swiper
    auto 自动播放时长 number 5000
    items swiper展示的列表 array []
    showIndicators 是否展示swiper小圆点 boolean true
    styles swiper样式控制 object {}
    resetTitle 重置title内容 string

    Events

    事件名称 说明 回调参数
    change swiper滑动回调 当前swiper item索引

    2. scroller(下拉刷新上拉加载)

    经常用来做手机端的分页功能,下拉刷新,上拉加载

    基本用法

    <template>
      <div class="scroller-page">
        <v-scroller
          :on-refresh="refresh"
          :on-infinite="infinite"
        >
          <ul>
            <li v-for="(list, index) in lists" :key="index">{{list}}</li>
          </ul>
        </v-scroller>
      </div>
    </template>
    <script>
    export default {
      data () {
        return {
          len: 6,
        }
      },
      computed: {
        lists () {
          let arr = []
          for (let i = 1; i < this.len + 1; i++) {
            arr.push('列表' + i)
          }
          return arr
        }
      },
      methods: {
        // 下拉刷新
        refresh (done) {
          setTimeout(() => {
            this.len = 6
            done()
          }, 1000)
        },
        // 上拉加载
        infinite (done) {
          setTimeout(() => {
            if (this.len >= 7) {
              done(true)
              return
            }
            this.len++
            done()
          }, 1000)
        }
      }
    }
    </script>
    复制代码

    Attributes

    参数 说明 类型 可选值 默认值
    onRefresh 下拉回调 function
    onInfinite 上拉回调 function
    width scroller宽度 string 100%
    height scroller高度 string 100%
    isLoadMore 是否展示上拉加载 boolean true
    refreshText 下拉文本内容 string 下拉刷新
    noDataText 无数据文本 string 没有更多数据啦~
    refreshLayerColor 下拉文本颜色 string #AAA
    loadingLayerColor 上拉文本颜色 string #AAA
    animating 是否有动画 boolean true
    animationDuration 动画间隔 number 250
    bouncing 是否有反弹效果 string true
    cssClass content css class string

    Events

    事件名称 说明 回调参数
    onRefresh 下拉回调 里面有个done callback用于结束loading效果
    onInfinite 上拉回调 里面有个done callback用于结束loading效果

    3. search

    常用于手机端搜索关键字,有时候还会进行高亮匹配

    基本用法

    1、只有搜索框

    <template>
      <v-search
        placeholder="请输入搜索关键字"
        @search="searchFn"
        @enter="searchEnter"
      ></v-search>
    </template>
    <script>
    export default {
      methods: {
        searchFn (query) {
          console.log('search', query)
        },
        searchEnter (query) {
          console.log('enter', query)
        }
      }
    }
    </script>
    复制代码

    2、搭配 SearchList 搜索结果列表

    <template>
      <v-search
        placeholder="请输入搜索关键字"
        :async="false"
        @search="searchFn"
      >
        <v-search-list :result="filterResult" @listSearch="listSearch" v-show="visible"></v-search-list>
      </v-search>
    </template>
    <script>
    export default {
      data () {
        return {
          keyword: '',
          visible: false, // 点击列表,列表是否消失
          defaultResult: [
            'Apple',
            'Banana',
            'Orange',
            'Durian',
            'Lemon',
            'Peach',
            'Cherry',
            'Berry',
            'Core',
            'Fig',
            'Haw',
            'Melon',
            'Plum',
            'Pear',
            'Peanut',
            'Other'
          ]
        }
      },
      watch: {
        keyword (val) {
          if (!val) {
            this.visible = false;
          }
        }
      },
      methods: {
        searchFn (query) {
          this.keyword = query;
          this.visible = true;
        }
      },
      computed: {
        filterResult() {
          return this.defaultResult.filter(item => new RegExp(this.keyword, 'i').test(item));
        }
      }
    }
    </script>
    复制代码

    高阶用法

    3、定制化结果列表,关键字高亮匹配

    <template>
      <v-search
        placeholder="请输入搜索关键字"
        :async="false"
        @search="searchFn"
      >
        <v-search-list :result="filterResult" @listSearch="listSearch" v-show="visible">
          <div class="search-result" slot="list-item" slot-scope="props">
            <p class="l" v-html="props.slotValue.name"></p>
            <p class="gray" v-show="props.slotValue.price">¥{{props.slotValue.price}}/斤</p>
            <div class="gray r" v-show="props.slotValue.amount">剩余{{props.slotValue.amount}}斤</div>
          </div>
        </v-search-list>
      </v-search>
    </template>
    <script>
    export default {
      data () {
        return {
          keyword: '',
          visible: false,
          defaultResult: [
            {name: 'Apple', price: 5, amount: 20},
            {name: 'Banana', price: 5, amount: 30},
            {name: 'Orange', price: 3, amount: 10},
            {name: 'Durian', price: 10, amount: 25},
            {name: 'Lemon', price: 4, amount: 30},
            {name: 'Peach', price: 5, amount: 40},
            {name: 'Cherry', price: 20, amount: 50},
            {name: 'Berry', price: 15, amount: 60},
            {name: 'Core', price: 10, amount: 21},
            {name: 'Fig', price: 10, amount: 22},
            {name: 'Haw', price: 10, amount: 23},
            {name: 'Melon', price: 10, amount: 24},
            {name: 'Plum', price: 10, amount: 25},
            {name: 'Pear', price: 10, amount: 26},
            {name: 'Peanut', price: 10, amount: 27},
            {name: 'Other'}
          ],
          // 防止defaultResult值被污染
          copy: []
        }
      },
      watch: {
        keyword (val) {
          if (!val) {
            this.visible = false;
          }
        }
      },
      methods: {
        searchFn (query) {
          this.keyword = query;
          this.visible = true;
        },
        listSearch (index) {
          this.visible = false;
          console.log(index, this.defaultResult[index].name)
        }
      },
      computed: {
        filterResult() {
          // i 忽略大小写
          let result = this.defaultResult.filter(item => new RegExp(this.keyword, 'i').test(item.name));
          // 关键字高亮匹配
          this.copy = JSON.parse(JSON.stringify(result))
          this.copy.forEach((item, index) => {
            let name = item.name, word = this.keyword;
            name = name.toLowerCase();
            word = word.toLowerCase();
    
            if (word && name.indexOf(word) !== -1) {
              let arr    = item.name.split('')
              let i      = name.indexOf(word);
              let len    = word.length;
              let active = '<span class="price">' + arr.splice(i, len).join('') + '</span>';
              arr.splice(i, 0, active);
              item.name  = arr.join('');
            }
          })
          return this.copy;
        }
      }
    }
    </script>
    复制代码

    Attributes

    参数 说明 类型 可选值 默认值
    async 是否进行节流 boolean true
    timeout 搜索节流时长 number 100
    styles search样式 object
    placeholder placeholder string '搜索'
    autofocus 是否自动聚焦(iOS端autofocus无效) boolean
    clear 进行搜索是否清空search框内容 boolean false

    Events

    事件名称 说明 回调参数
    search search搜索回调 搜索文本
    enter enter时搜索回调 搜索文本
    close 点击搜索关闭按钮回调 ''

    4. Dialog 弹框

    基本用法

    <template>
      <example-block title="基础用法">
        <button @click="showSimpleDialog">普通 Dialog</button>
      </example-block>
    </template>
    <script>
    export default {
      methods: {
        showSimpleDialog () {
          this.$dialog({
            title: '普通 Dialog',
            cancelText: '取消',
            okText: '确定',
            content: '测试 Dialog,测试 Dialog,测试 Dialog~~~'
          })
        }
      }
    }
    </script>
    复制代码

    自定义 HTML

    <template>
      <example-block title="自定义 HTML">
        <button @click="showHtmlDialog">HTML Dialog</button>
      </example-block>
    </template>
    <script>
    export default {
      methods: {
        showHtmlDialog () {
          this.$dialog({
            title: '自定义 HTML',
            cancelText: '取消',
            okText: '确定',
            content: '<strong style="color: green">测试 Dialog,测试 Dialog,测试 Dialog~~~</strong style="color: green">'
          })
        }
      }
    }
    </script>
    复制代码

    高阶Dialog组件用法

    <template>
      <div>
        <example-block title="Dialog 模板">
          <button @click="showDialogTpl">Dialog Template</button>
        </example-block>
        <v-dialog
        title="Dialog 模板"
        cancelText="取消"
        okText="确认"
        content="测试 Dialog,测试 Dialog,测试 Dialog~~~"
        :show="showDialog"
        :onCancel="close"
        :onOk="close"
        >
          <p class="modal-text">Dialog Template slot !!!</p>
        </v-dialog>
      </div>
    </template>
    
    <script>
    export default {
      data () {
        return {
          showDialog: false
        }
      },
      methods: {
        showDialogTpl () {
          this.showDialog = true
        },
        close () {
          this.showDialog = false
        }
      }
    }
    </script>
    
    复制代码

    Attributes(modal)

    参数 说明 类型 可选值 默认值
    show modal是否显示 boolean
    title modal标题 string
    content modal内容 string
    onOk 确定按钮回调 function
    onCancel 取消按钮回调 function
    okText 确定按钮内容 string
    cancelText 取消按钮内容 string
    showCloseIcon 是否显示关闭icon boolean true

    5. Toast 轻提示

    基本用法

    <template>
      <example-block title="基础用法">
        <button @click="showSimpleToast">普通文字提示</button>
      </example-block>
    </template>
    <script>
    export default {
      methods: {
        showSimpleToast () {
          this.$toast({msg: '我是文字提示~'});
        }
      }
    }
    </script>
    复制代码

    自定义 HTML

    <template>
      <example-block title="自定义HTML">
        <button @click="showHtmlToast">自定义HTML文本提示</button>
      </example-block>
    </template>
    <script>
    export default {
      methods: {
        showHtmlToast () {
          this.$toast('<strong style="font-size: 20px;">HTML文字提示~</strong>');
        }
      }
    }
    </script>
    复制代码

    Attributes

    参数 说明 类型 可选值 默认值
    msg msg文本内容 string
    timeout msg显示时长 number 2000
    callback 回调函数 function
    icon 特殊icon string

    6. Picker 选择器

    包含常用的 4 种选择器,时间,日期,时间与日期,以及普通选择器

    基本用法

    1、时间类型选择器(切换 type 即可)

    <template>
      <x-picker 
        title="选择日期"
        placeholder="请选择日期" 
        v-model="now_date" 
        type="date"
      ></x-picker>
    </template>
    <script>
    export default {
      data() {
        return {
          now_date: null // new Date().getTime()/1000
        };
      }
    };
    </script>
    复制代码

    2、custom 普通选择器

    <template>
      <x-picker 
        v-model="gender.value" 
        placeholder="请选择性别" 
        :default="gender.default" 
        title="选择性别" 
        type="custom"
      ></x-picker>
    </template>
    <script>
    export default {
      data() {
        return {
         gender: {
            default: -1,
            value: [
              { name: "保密", value: 0 },
              { name: "男", value: 1 },
              { name: "女", value: 2 }
            ]
          }
        };
      }
    };
    </script>
    复制代码

    高阶用法

    使用 timeStep 进行分钟的粒度选择

    <template>
      <x-picker 
        title="选择日期"
        placeholder="请选择日期" 
        v-model="now_date" 
        type="date"
        :timeStep="20"
      ></x-picker>
    </template>
    <script>
    export default {
      data() {
        return {
          now_date: null // new Date().getTime()/1000
        };
      }
    };
    </script>
    复制代码

    使用 startYear,endYear,startDate,endDate,startMinute,endMinute 进行时间的范围选择。(更多的可看实际情况进行搭配)

    <template>
      <x-picker 
        title="选择日期"
        placeholder="请选择日期" 
        v-model="now_date" 
        type="date"
        startMinute="2" endMinute="30"
      ></x-picker>
    </template>
    <script>
    export default {
      data() {
        return {
          now_date: null // new Date().getTime()/1000
        };
      }
    };
    </script>
    复制代码

    Attributes

    参数 说明 类型 可选值 默认值
    default picker默认选中的值 string/number
    type picker类型 string date/time/datetime/custom datetime
    title 选择器弹窗标题 string
    placeholder placeholder string 请选择时间
    timeStep 时间选择粒度(有分钟的选择器) number 1
    startYear 起始年份 number/string 今年
    endYear 结束年份 number/string 10年的范围
    startDate 起始日期 string
    endDate 结束日期 string
    startHour 起始时间 number/string 0
    endHour 结束时间 number/string 23
    startMinute 起始分钟 number/string 0
    endMinute 结束分钟 number/string 59
    yearFormat “年“的格式化 string {value}年
    monthFormat “月“的格式化 string {value}月
    dayFormat “日“的格式化 string {value}日
    hourFormat “时“的格式化 string {value}时
    minuteFormat “分“的格式化 string {value}分

    7. Select 选择器

    当选项过多时,使用下拉菜单展示并选择内容。

    基础用法

    只有一个select

    <template>
      <div>
        <x-select
        title="LIST ONE"
        defaultValue="0"
        :selectData="selectData"
        :alwaysShowTitle="false"
        @search="searchFn"
        ></x-select>
      </div>
    </template>
    <script>
    export default {
      data() {
        return {
          selectData: [
            { id: 1, name: "LIST ONE 1" },
            { id: 2, name: "LIST ONE 2" },
            { id: 3, name: "LIST ONE 3" },
            { id: 4, name: "LIST ONE 4" },
            { id: 5, name: "LIST ONE 5" }
          ],
        };
      },
      methods: {
        searchFn(index, id) {
          console.log(index, id);
        }
      }
    };
    </script>
    复制代码

    两个及多个(需设置width属性)

    <template>
      <div>
        <!-- first -->
        <v-select
        title="LIST ONE"
        width="50%"
        defaultValue="0"
        @search="searchFn"
        :selectData="selectData"
        :alwaysShowTitle="false"
        ></v-select>
        <!-- second -->
        <v-select
        title="LIST TWO"
        width="50%"
        ellipsisWidth="65px"
        defaultValue="1"
        @search="searchFn1"
        :selectData="selectData1"
        ></v-select>
      </div>
    </template>
    <script>
    export default {
      data() {
        return {
          selectData: [
            { id: 1, name: "LIST ONE 1" },
            { id: 2, name: "LIST ONE 2" },
            { id: 3, name: "LIST ONE 3" },
            { id: 4, name: "LIST ONE 4" },
            { id: 5, name: "LIST ONE 5" }
          ],
          selectData1: [
            { id: 1, name: "LIST TWO 1" },
            { id: 2, name: "LIST TWO 2" },
            { id: 3, name: "LIST TWO 3" },
            { id: 4, name: "LIST TWO 4" },
            { id: 5, name: "LIST TWO 5" }
          ]
        };
      },
      methods: {
        searchFn(index, id) {
          console.log(index, id);
        },
        searchFn1(index, id) {
          console.log(index, id);
        }
      }
    };
    </script>
    复制代码

    Attributes

    参数 说明 类型 可选值 默认值
    selectData 下拉数据 array []
    title 默认显示的标题 string
    alwaysShowTitle 是否一直显示默认标题 boolean false
    defaultValue 默认选中的值 number/string 0
    width select组件的宽度 string 100%
    ellipsisWidth select文字超过多出省略号的宽度 string 120px

    Events

    事件名称 说明 回调参数
    search select 选择时的回调函数 参数1:索引,参数2:所中项的id值

    8. switch

    表示两种相互对立的状态间的切换,多用于触发「开/关」。

    基本用法

    注:如果未使用v-model指令进行值的双向绑定,则switch会显示value值对应的位置,但不能进行on-off操作

    <template>
      <ul class='v-list'>
        <li><label>默认switch,值:{{val1}}</label><v-switch v-model="val1"></v-switch></li>
        <li><label>设置宽高,默认选中,值:{{val2}}</label><v-switch @change="handleChange" v-model="val2" width="50" height="30"></v-switch></li>
        <li><label>禁止点击,值:{{val3}}</label><v-switch :disabled="true"></v-switch></li>
        <li><label>禁止点击,默认选中,值:{{val4}}</label><v-switch :disabled="true" v-model="val4"></v-switch></li>
      </ul>
    </template>
    <script>
    export default {
      data () {
        return {
          val1: false,
          val2: true,
          val3: false,
          val4: true
        }
      },
      methods: {
        handleChange (val, oldVal) {
          console.log(val, oldVal);
        }
      }
    }
    </script>
    复制代码

    Attributes

    参数 说明 类型 可选值 默认值
    width switch的宽度(像素) number/string 60
    height switch的高度(像素) number/string
    disabled 是否禁用 boolean false
    value switch初始化选择状态 boolean/number/string 0
    activeClass switch 打开时的class string avtive
    inactiveClass switch 关闭时的class string inactive

    Events

    事件名称 说明 回调参数
    change switch 状态发生变化时的回调函数 新状态的值

    以上组件便是目前vui所有的组件了,后期会不断的进行维护并进行新组件的开发。

    vui github传送门:github.com/Brickies/vu…

    vui npm传送门:www.npmjs.com/package/x-v…

    vui 文档官网传送门:brickies.github.io/vui

    如果小伙伴们喜欢我的vui,欢迎 star

    如果有什么问题欢迎小伙伴们随时提 Issue

    如果有好的组件欢迎小伙伴们随时提PR,我会不定期进行merge

    后期展望

    组件库基本组件完成的差不多,我会做一个该项目搭建以及组件开发的分享,敬请期待~~~

    展开全文
  •  图中我们明显看出是上一步扫描后,系统将自动选择适合我们的的驱动程序,让系统自动寻找匹配PC硬件驱动程序并安装;  驱动安装后,系统会识别我们设备储存扫描,好给我备上一些日常用软件设备;  待这...
  • 在小米MIX3手机新品发布会上,小米还推出了一款名为小爱蓝牙音箱随身版新产品。自发发售以来,便获得了用户...小爱蓝牙音箱随身版(以下简称为音箱) 设计风格属于极简主义,机身采用ABS+PC材质白色外壳,不易变...
  • 机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越 高,那单片机的运行速度也就越快。MCS-51 一般晶振的选择范围为1~ 24MHz,但是单片机对时间的要求比较高,能够精确的定时一秒,所以也是为了 ...
  • 采用直接外挂存储方案服务器结构如同PC机架构,外部数据存储设备采用SCSI技术,或者FC技术,直接挂接在内部总线上方式,数据存储是整个服务器结构一部分,在这种情况下往往是数据和操作系统都未分离。...
  • 网络信息扫描实验

    2013-05-11 22:05:21
    两台安装Windows 2000/XP的PC机,在其中一台上安装SuperScan、流光Fluxay5、SSS软件。将两台PC机通过HUB相连,组成一个局域网。 四、实验内容和步骤 任务一 使用SuperScan扫描 SuperScan具有端口扫描、主机名解析、...
  • 以下是JOSN获取代码: ``` package com.java.activiti.controller; import net.sf.json.JSONObject; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org...
  • 现在手机是正成为通吃一切机器,现在手机不仅仅是通话工具了,它可以做MP3,MP4等多媒体处理 ,它还可以是个人掌上电脑PDA,它还可以是GPS卫星导航器,还可以是液晶 电视,这些当今最流行,先进技术不断集成...
  • 为了使学习过程容易展开,本书采用以8086CPU为中央处理器的PC机来进行学习.8086CPU可以满足以下条件:常用而结构简洁,常用保证了可以方便地进行实践,结构简洁则便于进行教学.纯粹8086PC机已经不存在了,对于现今...
  •  D) 电子商务活动要求用户利用PC机上网完成  Key: D  (54)在以下关于EDI叙述中,哪种说法是错误  A)EDI系统全部采用了WEB浏览界面  (55)电子商务活动常常涉及资金转移和流动,其中  A)服务器端...
  • 输出处理的交换闷络驱动程序:输出处理机的输出信息找行内部任务或动相 关硬件设备 34程控父换机软件的基本特点是什么?哪几部分红成? 答:特点 (1)规模大 2)实时性 3)多道程序并行处理 4)可靠性要求 組成:运行软件...
  • 会计理论考试题

    2012-03-07 21:04:40
    1.PC机中 Intel8088、80286、80386、80486,PemiumPⅡ、PⅢ是指_D_不同型号。 A、显示器 B、内存储器 C、外存储器 D、微处理器 2.用高级语言来编写程序 ___D___ 。 A、称为编译软件 B、经编译后,才称为源程序 C...
  • UNIX 兼容系统,完全适用于个人 PC。它本身就是一个完整 32 位多用户多任务操作 系统,因此不需要先安装 DOS 或其他操作系统(MS Windows, OS2, MINIX..)就可以进 行直接安装。 Linux最早起源是在1991...
  • DDR3基础与进阶

    2019-02-16 06:37:41
    本文是作者在华为工作期间写一篇对DDR3全面总结,当时好几年经常接触DDR3设计与测试,期间总结了大量知识点,于是业余时间汇总起来写成本文,因为DDR3属于业界通用器件,其中知识也不涉及到公司秘密,...
  • 但是象瑞星等杀毒软件可以识别并抛弃ARP欺骗包,使对本机的监控不能得逞。另外用户也可以通过添加静态路由轻松避免被监控。  因此,在单网段环境下,我们建议客户仍然采用传统的“监控手段”。如果客户执意采用该...
  • 单片机期末考试题目及答案详解

    热门讨论 2009-06-23 10:30:30
    8.可以为访问程序存储器提供或构成地址的有 A.只有程序计数器PC B.只有PC和累加器A C.只有PC、A和数据指针DPTR D.PC、A、DPTR和堆栈指针SP 9.若原来工作寄存器0组为当前寄存器组,现要改2组为当前寄存器组,...
  • 谷粒-Chrome插件英雄榜 谷粒-Chrome插件英雄榜, 为优秀Chrome插件写一本中文说明书, 让Chrome插件英雄们造福人类~ ChromeAppHeroes, Write a ...《CSDN开发助手》是一款依托开发者社区开发小工具,运营得当,会极...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    C#--微软.NET第一语言 本书着重介绍语言本身,比较少涉及应用,不错入门书,从头讲起,不怕不明白。 <<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 ...
  • 在遇到坏块时,一般应按以下的流程来处理: 1 如果坏块对象是索引,重建索引 2 使用备份来进行恢复 3 使用10231事件,或者DBMS_REPAIR.SKIP_CORRUPT_BLOCKS过程,让oracle跳过坏块,然后用exp导出表和使用...
  • 病毒删除不了,解决方法是把硬盘拆下来换到别台主机上进行杀毒,要求挂上去主机要采用正版杀毒软件,升过级才可以 49 四.识别常见病毒,病毒一般是以隐藏形式藏匿在计算机文件中,要把文件隐藏属性打开...
  • C#微软培训资料

    2014-01-22 14:10:17
    以互相交换组件地方以互相交换组件地方 以互相交换组件地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 Microsoft.NET 概念 .NET 框架 C#语言在.NET 框架中作用及其特性...
  • 我虽然已经多年不写代码了,但看这本书时候,让我又重新感受到做程序员乐趣:用代码建设属于自己系统,让电脑听从自己指令,对系统每个部分都了如指掌。 黑客(hacker)实际是褒义词,维基百科解释是...
  • 我虽然已经多年不写代码了,但看这本书时候,让我又重新感受到做程序员乐趣:用代码建设属于自己系统,让电脑听从自己指令,对系统每个部分都了如指掌。 黑客(hacker)实际是褒义词,维基百科解释是...

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

以下属于pc机的有