面包屑思维模型实战模型错题集结构手册流程手册自我检测专题模块

  • 微信小程序前端
    微信小程序前端易错点收集
    查看
  • css/less/sass样式控制
    在开发过程中的一些样式控制bug规避
    查看
  • tp5开发小程序
    tp5开发小程序时错误积累
    查看
  • PHP错题集
    PHP在实际开发过程中遇到的问题
    查看
  • MySql数据库
    使用MySql在实际开发中遇到的错误总结
    查看
  • TP5错题集
    积累tp5框架在实际开发过程中遇到的问题
    查看
  • uni-app爬坑
    主要用于uni-app项目中遇到的一些问题
    查看
  • Vue.js易错收集
    vue.js项目常见错误收集整理
    查看
  • uni-app开发微信小程序
    uni-app开发微信小程序的一些爬坑积累
    查看
  • Linux
    Linux在部署、开发、运维时遇见的错误积累
    查看
  • 安全设计
    常见安全设计
    查看
  • Redis
    项目中使用redis的相关错误积累
    查看
  • 前端特效
    前端特效相关错题集
    查看
more

最新博文

  • 开启openssl 扩展

    Linux

    php7默认是没有加载openssl动态库,通过php -m能看到openssl模块,但在使用加解密的一些函数方法时。并不能正常使用。

    即openssl实际上没有打开启动


    一.下载对应版本php

    通过cd 到根目录,输入php -r 'phpinfo();' 查看当前php版本号

    php -r 'phpinfo();' 

    然后cd 到usr/local  进行对应php版本下载,此处示例是7.3.12

    wget http://cn2.php.net/distributions/php-7.3.12.tar.gz

    然后解压

    tar -zxvf php-7.3.12.tar.gz



    二.执行phpize

    进入刚才解压文件php-7.3.12中,cd到openssl

    cd php-7.3.12/ext/openssl

    执行phpize,如果不知道phpize路径,可通过whereis phpize指令获取

    /usr/bin/phpize

    如果报错Cannot find config.m4,则文件夹中可能存在config0.m4文件,而不存在config.m4文件,则将其改名,执行mv命令

    mv config0.m4 config.m4

    然后在执行/usr/bin/phpize指令



    三.make编译

    执行完上述步骤后,会在openssl文件夹中生成configure文件

    执行包含openssl及相关php配置的php编译配置

    ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config

    如果报错找不到php-config路径,则在/www/server/php/73/bin中看看,将--with-php-config路径改为--with-php-config=/www/server/php/73/bin/php-config

    执行完后,执行make

    make

    make执行完后执行安装

    make install



    执行完上述步骤后就会在php扩展库文件夹中生成openssl.so文件

    在php.ini中extension=......./openssl.so即可



    风口下的猪2021-12-27Linux

    阅读更多
  • configure --with-openssl --with-php-config=/usr/local/bin/php-config时报错centos 中找不到 php-config

    Linux

    SSH中会报错找不到--with-php-config。

    php-config 是一个简单的命令行脚本用于获取所安装的 PHP 配置的信息。

    在编译扩展时,如果安装有多个 PHP 版本,可以在配置时用 --with-php-config 选项来指定使用哪一个版本编译,该选项指定了相对应的 php-config 脚本的路径。


    一般在/usr/local/bin中会有,如果没有,则在/www/server/php/73/bin中会找到(73是具体的php版本文件名)




    风口下的猪2021-12-27Linux

    阅读更多
  • php扩展库动态文件

    Linux

    在Linux环境下的php的扩展后缀为“.so”,在Windows环境下的php的扩展名为“.dll”





    风口下的猪2021-12-26Linux

    阅读更多
  • 在宝塔中使用composer

    CVM

    在面板->网站中,进入网站设置

    看到composer,选择php版本,选择composer命令类型,复制composer命令,当然还得指向composer目录

    即可执行




    风口下的猪2021-12-24CVM

    阅读更多
  • 支付宝----理解支付宝公钥和商户公钥

    支付

    完成支付宝支付,需要用到两组RSA

    (1)商户向支付宝发送信息,使用商户私钥加密,支付宝端使用商户公钥解密

    (2)支付宝向商户发送信息,使用支付宝私钥加密,商户端使用支付宝公钥解密


    在支付宝开放平台,应用管理->应用信息->接口加签方式->加签内容配置,进行设置

    先生成一组商户公钥/私钥,复制上去,系统自动返回支付宝公钥




    风口下的猪2021-12-24支付

    阅读更多
  • 支付宝----如何分辨和理解notify_url和return_url

    支付

    return_url:在你进入支付界面后,输入账号密码支付完成后,会跳入你的return_url,所以这里可以做成你的本地url,比如xxx.com/addons/epay/index/notifyx

    这里会带有一些out_trade_no(你的网站生成的单号),来直接给你,然后你就可以在returnx()方法里面把out_trade_no获取到,然后进行判断,判断支付成功..

    notify_url:回调url,这里是支付宝post参数的url,支付宝支付成功后,支付宝方会post一些数据到这个url,所以这个url不能是本地的域名了..他就要弄个公网能够访问的url,你在线上调,才可以获取到参数...因为支付宝无法也不可能把参数传到你的本地局域网网络上


    说白了,return_url是在沙箱测试环境下使用,notify_url则是正式上线支付回调使用




    风口下的猪2021-12-24支付

    阅读更多
  • Uniapp 实现 与 外部 HTML 页面通信

    uni-app

    在 uniapp 中 经常会 内嵌 html, 并且 有时候会还有 相互通信 的需求 :

    这里 总结了 两种形式

    • APP  中  nvue 使用 web-view   实现html 通信;
    • H5    中  vue   使用 iframe       实现html 通信;


    具体实现要参考以下几点

    一.让HTML 具有调用 uniapp 接口的能力

    主要是通过引入uniapp相关的js函数库

    <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
    <script type="text/javascript">
        //js SDK  加载成功
        document.addEventListener('UniAppJSBridgeReady', function() {
            // 监听按钮事件
            document.getElementById('to_shiming').addEventListener('click', function() {
                let data_shiming = {
                        action: '1'
                    }
                // .nvue 可以接收的事件
                uni.postMessage({
                    data: data_shiming
                });
                // .vue 可以接收的事件
                window.parent.postMessage(data_shiming, '*')
            });
        })
        //接收来自 .vue  的数据 和 参数  间接 调用 函数
        window.addEventListener('message', function(event) {
            // event.origin --发送者的源
            // event.source --发送者的window对象
            // event.data --数据
            if (event.data) {
                //此处执行事件
                if (event.data.action == 66) {
                    console.log("event.data.time:", event.data.time)
                    setBirDayInit(event.data.time)
                    setBirDay(true)
                }
            }
        })
        // .nvue 直接调用函数
        function setBirDay(data) {
        }
        // .nvue 直接调用函数
        function setBirDayInit(day) {
        }
    </script>


    二.从 uniapp 调用 html  网页


    1.从  .nvue  调用 html

    <template>
    <view class="web-view">
    <web-view class="web-view" :src="url" ref="webview" @onPostMessage="handlePostMessage" @receivedtitle="onReceivedTitle">
    </web-view>
    </view>
    </template>
     
    <script>
    export default {
    methods: {
    handlePostMessage: function(data) {
    // 获取网页的参数
    console.log("得到参数", data.detail);
    },
     
    onPageFinish: function(e) {
    this.$refs.webview.evalJs("方法名('" + 参数 + "')");
    this.$refs.webview.evalJs("方法名('参数')");
    },
    }
    }
    </script>


    2.从  .vue   调用 html

    <template>
    <view class="bir-webviwe">
    <iframe id="iframe" class="viewiframe" :src="url" ref="iframe" @onload="onLoad"></iframe>
    </view>
    </template>
     
    <script>
    export default {
    mounted() {
    // 接受子页面发来的信息
    window.addEventListener("message", this.ReceiveMessage);
    //console.log("------>",this.url)
    },
    methods: {
    onLoad() {
    console.log("---------------->onLoad")
    },
    ReceiveMessage(event) {
    if (event.data && event.data.data && event.data.data.arg) {
    console.log("iframe 参数 event.data:", event.data.data.arg)
    }
    },
     
    SendMessage() {
    let str = toolTimer.formatTime(new Date(), "yyyy-MM-dd")
    let data = {
    action: 66,
    time: str
    }
    document.getElementById('iframe').contentWindow.postMessage(data, '*')
    }
    }
    }
    </script>



    ————————————————

    原文链接:https://blog.csdn.net/nicepainkiller/article/details/104475415


     


    风口下的猪2021-12-16uni-app

    阅读更多
  • TP6使用视图时注意点

    thinkphp

    TP6原本更适合接口,但有时项目需要用到视图。这里需要几个注意的地方


    一.TP6默认没有开启视图,需要下载依赖

    如果项目vendor/topthink中没有think-view说明其没有开启视图

    composer require topthink/think-view

    则项目中会下载think-view和think-template两个文件


    二.TP6多应用模式下,fetch()有些bug,建议通过绝对路径,而不用控制期+操作名为参数

    ├─app
    │  ├─app1 (应用1)
    │  │   └─view(应用视图目录)
    │  │   	 ├─index            index控制器目录
    │  │     │  └─index.html    index模板文件
    │  │ 	 └─ ...             更多控制器目录
    │  │ 
    │  └─ app2... (更多应用)
    <?php
    namespace app\index\controller;
    use think\facade\View;
    class Index
    {
        public function index()
        {
               $object_path=app()->getRootPath();
               $template_path=$object_path.'app/client/view/login/qq_login.html';
        }
    }

    使用app()->getRootPath来获取项目绝对路径,再拼接文件路径,获得模板文件绝对路径




    风口下的猪2021-12-16thinkphp

    阅读更多
  • TP6集成QQ登录--前后端分离情况下如何捕获登录成功状态及openid、userinfo等参数

    thinkphp

    1.回调接口是后端的,且其为腾讯QQ服务器调用,其获取的openid、userinfo如何被应用前端获取到?

    2.为了良好的前端交互性,如何确保用户知道自己已经登录成功?

    但既然是前后端分离,那就不要考虑session、cookie这类浏览器同域下皆可调用的东西


    解决方案:

    (1)前端登录,调转到一个webview页面(或iframe),该页面的url就是qq登录的接口;

    (2)在该webview页面用户授权登录后,会请求回调接口,此时将回调接口通过view模板渲染变成html页面;

    (3)回调html页面中引入uni操作js库,使其能与uniapp主体页面进行数据通讯,将后端的登录成功信息、openid、userinfo等传给uniapp主体页面;

    (4)前端主体获得webview传过来的数据,进行交互设计及相关数据存储




    风口下的猪2021-12-16thinkphp

    阅读更多
  • 集成QQ授权登录核心--accessToken的理解

    thinkphp

    accessToken不是拿来应用面向用户鉴权的,而是QQ官方拿来面向应用鉴权的,即应用使用该token去获得用户相关信息。

    所以QQ登录的面向用户鉴权,要自己做,通过JWT来自己根据用户信息进行签发token

    风口下的猪2021-12-15thinkphp

    阅读更多
  • Tp6集成QQ登录,登录后报错The state does not match. You may be a victim of CSRF.

    thinkphp

    出现The state does not match. You may be a victim of CSRF.

    原因主要有两种:

    (1)点击QQ登录时访问的域名与回调地址中的域名不一样

    常见原因是http与https写错不同,或者一个加了www,一个没加

    如何排查?

    查看登录前url中state参数与登录后报错时url中state参数是否一致,如果不一致就是这个原因


    (2)网站的session未保存,导致回调方法在校验时不通过

    session未保存的解决方法是:

    a.将封装的qq登录库中哪些$_SESSION['xxxx']写法全部替换为tp框架中session操作助手函数session('xxxxx');

    b.由于TP6专为API设计,强调前后分离,框架默认是没有开启session的。所以要将其开启

    TP6开启session的方法:

    在全局的中间件定义文件中加上下面的中间件app/ExceptionHandle.php中定义:

    \think\middleware\SessionInit::class

    即可






    风口下的猪2021-12-15thinkphp

    阅读更多
  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index/catelist/catelist/cateid/10.html

    我的名片

    网名:风口下的猪

    职业:软件开发、广告传媒

    现居:重庆渝北

    Email:kamoneyte@qq.com

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R