孙肖宁 发布的文章

小编今天在制作视频播放组件的时候,想让视频默认直接就是全屏播放,或者点击之后全屏播放,并不是点击全屏之后再进行全屏,实现方式可能有很多种,小编在这里介绍一种比较简单的,通过官方的VideoContext就可以实现的。
首先我们要引入视频组件:

<video id="myVideo" :src="videoUrl" @click="playvideo" @fullscreenchange="fullscreenchange"></video>

然后设置点击事件

playvideo: function(e){
    this.videoContext = uni.createVideoContext('myVideo', this);
    this.videoContext.requestFullScreen({direction: 0});
    this.videoContext.play()
},

这样就成功实现了全屏播放了,不过我们发现退出全屏后视频还在播放,那么我们就要设置下在退出全屏后,就要停止播放视频了。

fullscreenchange (e){
    if(!e.detail.fullScreen){  
        this.videoContext.pause()
        this.showvideo = false
    }
},

User-Agent 就是用户代理,又叫报头,是一串字符串,相当于浏览器的身份证号,我们在利用python发送请求的时候,默认为: python-requests/2.22.0,所以我们在利用爬虫爬取网站数据时,频繁更换它可以避免触发相应的反爬机制。为了解决这个问题,我们引入了fake-useragent,fake-useragent对频繁更换User-Agent提供了很好的支持,可谓防反扒利器。下面我们就介绍fake-useragent。
安装

pip install fake-useragent

使用

from fake_useragent import UserAgent
headers= {'User-Agent':str(UserAgent().random)}
r = requests.get(url, proxies=proxies, headers=headers, timeout=10)

fake-useragent Maximum amount of retries reached 错误的解决方法

添加参数verify_ssl=False也就是:UserAgent(verify_ssl=False).random

在Python中,我们使用json.dumps()将 Python 对象编码成 JSON 字符串的时候,我们发现会出现很多空格,这个在json.dumps()官方文档里也说明了,为了美观默认会加上逗号空格和冒号空格。因为有时候我们需要处理字符串,比如加密等,但是由于多了空格,加密后肯定不一致的,那么我们需要去掉这些空格,按照文档里说的,我们只需要加上separators=(',',':')这个参数就可以解决了。
示例代码

import json
ll = ["123, "1234"]
json.dumps(ll, separators=(',', ':'))

不知道大家平时从哪里获取小图标,矢量图等。小编呢通常是从iconfont上获取图标,大家一搜就出来了。在这之前小编都是下载到本地,保存为png文件使用的,其实还有一种方式,可以在线使用的。下面小编就说下具体的操作步骤:
首先登陆iconfont,使用github以及微博登录都可以。
登录之后找到自己想要的图标,点击添加到购物车(虽然叫购物车,但是是免费的哦)
1.png
然后点击右上交购物车图标,然后会弹出添加到项目,如果没有的话可以新建项目
2.png
新建项目后,可以管理项目
4.png
点击跟多操作修改项目前缀,不能为 el-icon- ,因为这个可能会和Element-UI自带的图标重合
5.png
然后点击Font class,在点击,查看在线链接,然后复制生成的链接就可以了。需要注意的是:每次新增或删除,特别是新增如果要引入新增的图标,要重新生成CSS文件,这时候需要把新生成的CSS文件链接重新在 App.vue 中引入,替换掉原来的链接。
6.png

然后在项目的APP.vue中引入,这时我们就可以通过class="iconfont el-icon-mo-xxx" 的方式在项目中使用引入的第三方图标了。

如果想要去掉 iconfont 这个类直接用 el-icon-mo-xxx 来使用图标的话我们还需要这么使用(链接换成自己的):

<style>
  @import "//at.alicdn.com/t/font_2209515_4j5tnkfc104.css";

  [class^="el-icon-mo"], [class^=" el-icon-mo"] {
    font-family: "iconfont", serif !important;
    font-size: 16px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
</style>

在使用vueCli的脚手架工具创建完项目后,然后倒入模块的时候出现了error 'XXX' is defined but never used这样的错误,这是由于我们使用了eslint规范,ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误。这就导致了运行时候出现的错误。解决办法:

在package.json文件内加入如下代码:然后保存重启项目。

"rules": {
    "generator-star-spacing": "off",
    "no-tabs":"off",
    "no-unused-vars":"off",
    "no-console":"off",
    "no-irregular-whitespace":"off",
    "no-debugger": "off"
},

在使用npm安装包,以及使用cli脚手架创建项目的时候的时候出现了NPM Error:gyp: No Xcode or CLT version detected!这样的错误,而且一般发生在macOS Catalina系统中,不过项目可以继续运行,不过听有些大神说会影响效率,还是解决了比较好。解决办法:
使用xcode-select --install命令进行尝试修复,如果成功了就不用管了。

但是有时候会出现这样的错误
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

解决办法,先卸载,再安装:

sudo rm -rf $(xcode-select -print-path)
xcode-select --install

有时候安装不上,但是系统就会提醒你升级,然后进行升级就可以了。完美解决。

  • 首先我们先来查看下版本

    npm -v
    node -v
  • npm的升级办法

     npm install npm@latest -g
  • node 的升级办法

    • 清除npm cache

      sudo npm cache clean -f
    • 安装 n 模块

      sudo npm install -g n
      • 安装最新的稳定版本(也可以自己选择版本sudo n 版本号)
       sudo n stable

在使用Vue-cli创建项目的时候,执行完vue create demo(你的项目名),就会出现以下错误

 vue create is a Vue CLI 3 only command and you are using Vue CLI 2.9.6.
 You may want to run the following to upgrade to Vue CLI 3:

 npm uninstall -g vue-cli
 npm install -g @vue/cli

这是由于Vue CLI 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。

按照提示进行修改就可了,如果是mac操作系统,在命令行前面添加sudo获取管理员权限,输入管理员密码.

# 卸载以前装的vue-cli
npm uninstall -g vue-cli
# 安装vue/cli
npm install -g @vue/cli    或者    yarn global add @vue/cli

mac安装vue-cli的时候出现Error: EACCES: permission denied, access '/usr/local/lib/node_modules错的解决办法。

错误提示

pm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules/vue-cli/node_modules/ansi-escapes
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules/vue-cli/node_modules/ansi-escapes'
npm ERR!  [Error: EACCES: permission denied, access '/usr/local/lib/node_modules/vue-cli/node_modules/ansi-escapes'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules/vue-cli/node_modules/ansi-escapes'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

原因: 权限不足。
解决办法: 在命令行前面添加sudo获取管理员权限,输入管理员密码就行sudo npm install -g vue-cli

我们来说下mac上通过MxSrvs支持ThinkPHP3.2伪静态,首先我们要打开的是该项目的配置文件,不是nginx的配置文件:
点击左侧的配置编辑,然后点击Nginx右侧的小箭头,然后点击下面的vhosts左侧的小箭头,然后从右侧的列表选择你的项目。
1.png

修改配置文件:

server {
    listen            80;
    server_name        devapi.sunxiaoning.com;
    root            /Users/zero/projects/舒尔特方格/shuerte/api/shuerte_api;
    #access_log        /Applications/MxSrvs/logs/shuerte_api.log;
    include            vhosts/_nginx.vhost.fpm;
        # 加入以下内容
    location /
    {
        index index.php;
        #ThinkPHP REWRITE支持
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?s=$1 last;
            break;
        }
    }
}

然后修改nginx的配置文件

location ~ \.php$ {
            root           /Applications/MxSrvs/www;
            fastcgi_pass   127.0.0.1:10080;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_split_path_info ^(.+\.php)(.*)$;     #增加这一句  
            fastcgi_param PATH_INFO $fastcgi_path_info;    #增加这一句
            include        fastcgi_params;
        }