LOADING

王思彤 发布的文章

X5内核是不支持ios系统的!!!X5内核是不支持ios系统的!!!X5内核是不支持ios系统的!!!

X5内核判断的逻辑非常复杂,如果你的需求是必须是X5内核的话最好还是用以下判断最为准确,TBS是腾讯浏览服务的意思
这么写百分百是只有x5显示,但是实测 只有qq可以展示,微信是没有的
所以最终的逻辑如下, android端 ua中包括 TBS,或包含micromessenger
js

if(ua.match(/TBS/i) == "tbs" && ua.match(/MQQBrowser/i) == "mqqbrowser"){
                show_gdt()
            }

php

trpos($ua, 'TBS') !== false && strpos($ua, 'MQQBrowser') !== false;

如果IOSApp打开HTTPS请求慢,或者Safari打开HTTPS网站慢
你需要联系后台人员看下公司的证书认证者是不是Let's Encrypt
苹果系产品在HTTPS链接建立的时候会比android多一步OCSP验证,
因为Let's Encrypt的OCSP验证阶段,需要使用域名ocsp.int-x3.letsencrypt.org(x后面的数字可能是1-4中之一)进行验证,而这个域名对应的服务器是托管在a771.dscq.akamai.net
akamai.net被墙了,所以第一次会很慢,之后的请求会缓存验证结果,所以最好的方式就是换成国内免费一年的ca证书,比如阿里云的

import pymysql

# mysql链接初始化
# cursorclass 设置这个就可以key-value像php一样显示数据
def mysql_model():
    mysql_content = pymysql.connect(host="你的host", user="用户名",
                                    password="密码",
                                    database="数据库", charset="utf8", port=3306,
                                    cursorclass=pymysql.cursors.DictCursor)
    return mysql_content

首先需要引入依赖

import pymysql

# mysql链接初始化
# cursorclass
def mysql_model():
    mysql_content = pymysql.connect(host="你的host", user="用户名",
                                    password="密码",
                                    database="数据库", charset="utf8", port=3306,
                                    cursorclass=pymysql.cursors.DictCursor)
    return mysql_content


#但是一定要注意这种拼接方法只能拼接变量为字符串的,如果是不同类型的请往下看
def delAppMysqlStr():
    yesterday = "2020-01-08"
    del_app_sql = "delete from table where day = '" + yesterday + "'"
    mysql_content = mysql_model()
    # 创建一个游标
    cursor = mysql_content.cursor()
    cursor.execute(del_app_sql)
    mysql_content.commit()
    cursor.close()
    mysql_content.close()
    return 1
#如果是不同类型请使用参数绑定形式进行赋值
#切记占位符%s一定要和values数量匹配
def addAppMysqlStr():
    yesterday = "2020-01-08"
    add_sql = "insert into table (`day`,`union_id`,`appid`,`show_count`,`click_count`,`click_reg`,`cpm`,`money`,`third_app_id`,`platform`,`created_at`) value (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
    param = (yesterday, 1, 2, 3, 3.223, 2323,
             6.66, 11, 2, 123, "萨达所大")
    cursor.execute(add_sql, param)
    mysql_content.commit()
    cursor.close()
    mysql_content.close()
    return 1



当使用mysql like %gaga%类似这种索引时 假设索引为普通索引name 需要注意以下几种情况
sql语句为

//右侧百分号匹配 这种情况是可以用到索引的
select name,grade from job where name like "123%";

//双侧百分号匹配 这种情况是不可以用到索引的
select name,grade from job where name like "%123%";

因为本次取like时还需要取name 和 grade 以上这种情况应该设置多列索引 index_name_grade
这样的话索引就可以生效type为index

//多表关联查询
select job.name,job.grade from job left join user on job.level=user.level where job.name like "%123%";

这种情况如果想让索引生效需要把level也加在多列索引里

今天研究了下https环境配置 比我想象的简单许多 步骤如下
1首先去阿里云搜索ssl ca证书 一个账号可以免费申请20个 一个绑定一个域名 期限为1年
2然后按照点击验证 等候Symantec验证
3验证通过后点击下载QQ截图20191023002606.png

4下载后解压缩文件会得到pem和key 这两个需要放到你服务器上
QQ截图20191023002755.png

5接下来你需要如下配置nginx

server {
        listen 443 ssl default;
        server_name www.baidu.com;
        root /mnt/www/baidu/public;#你的项目入口
        ssl on;
        ssl_certificate /etc/ssl/www.baidu.pem;
        ssl_certificate_key /etc/ssl/www.baidu.key;

        keepalive_timeout   70;
   
        server_tokens off;
        fastcgi_param   HTTPS               on;
        fastcgi_param   HTTP_SCHEME         https;

        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    
        access_log  /var/log/nginx/baidu.log access;
        error_log  /var/log/nginx/err_baidu.log error;
        index index.php index.html;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
        location /app {
            add_header 'Access-Control-Allow-Origin' '*' 'always';
            alias /mnt/www/static_app/public/app-dev;
            try_files $uri $uri/ /index.php?$query_string;
        }

        location /pages/audition/ {
            add_header 'Access-Control-Allow-Origin' '*' 'always';
            try_files $uri $uri/ /pages/audition/;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出>现404
            index  index.html index.htm;
        }

        location /pages/pages/ {
            add_header 'Access-Control-Allow-Origin' '*' 'always';
            try_files $uri $uri/ /pages/pages/;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
            index  index.html index.htm;
        }

        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass php-fpm;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
}

server {
        listen       80;
        server_name www.baidu.com;
        rewrite ^(.*) https://$host$1 permanent;
}

最后是监听80端口把http请求重写到https