技术分享

Vue.js实现百度地图定位、搜索及获取经纬度

Stephen/文

百度地图官方给出的SDK没有vue版本,我们可以引入百度地图的js,去实现百度地图定位,并实现搜索、以及获取经纬度,其实现方法和纯html+js是一样的,只不过是多了一层vue的方法(methods)。当打开页面的时候,百度地图自动定位当前位置,给出一个搜索框,搜索我们所想要寻找的目标地址,百度地图会列出相关检索结果,点击检索结果,并在地图上定位,然后获取到经纬度。1.在 public/index.html 中引入百度地图SDK的JS文件 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=uvN6vatvU44OQ0a9yuXdQZxTXODHGuLI"></script> 2.vue 模板文件前端 <template> <div> <FormItem label="活动地址:" prop="address">

Web前端 07/20 0

GuzzleHttp Client请求中文乱码的问题

Stephen/文

客户端使用PHP,请求JAVA服务端,遇到中文编码问题,JAVA收到的参数中文乱码,以下是请求方法: $options = ['pageNum' => $page, 'pageSize' => $pageSize, 'name' => $keyword]; $client = new Client([ 'timeout' => 60, 'headers' => [ 'Content-Type'=>'application/x-www-form-urlencoded;charset=UTF-8', 'enctype'=>'multipart/form-data', 'X-Requested-With' => 'XMLHttpRequest', ], ]); $response = $client->request('POST', env('DL_URL').$this->packages_url

后端开发 06/10 2

用composer开发自定义包

Stephen/文

1、注册composer、github账号 2、在github上新增项目,并将项目克隆到本地环境 3、进入目录,新增src目录,新建Test.php文件 <?php namespace Stephen; class Test { public function __construct(){ } public function getDate(){ return date('Y-m-d H:i:s'); } } ?> 4、composer构建项目 [E:\web\stephen]$ composer init Welcome to the Composer config generator This command will guide you through creating your composer.json config. #项目命名空间 Package name (<vendor>/<name>) [mhzuh/stephen]: cq_stephen/stephen #项目描述 Description []: composer test #作者信息 Author [

后端开发 05/13 0

Docker搭建PHP/Nginx/MySQL/Composer环境

Stephen/文

一、安装PHP: #PHP镜像 docker pull php:7.2-fpm #PHP容器,监听9000端口,映射主机项目目录/data/www docker run --name php -d -p 9000:9000 -v /data/www:/www php:7.2-fpm 二、安装Nginx docker pull nginx docker run --name php-nginx -d -p 80:80 \ -v /data/www:/usr/share/nginx/html \ -v ~/nginx/conf/conf.d:/etc/nginx/conf.d \ --link php:php \ nginx 修改nginx配置 vi ~/nginx/conf/conf.d/nginx.conf server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error

后端开发 05/12 0

在Linux上搭建Shadowsocks

Stephen/文

首先,准备一台Linux服务器,我是在搬瓦工上面买的centos的服务器 1.安装pip php安装方法连接:https://pip.pypa.io/en/stable/installing/ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get pip 注意:安装pip前需安装python,Linux一般是已经安装了python的,如果版本过低,请升级python,查看python版本: python -V 2.安装 Shadowsocks pip install shadowsocks 3.配置 Shadowsocks vi /etc/shadowsocks.json 配置内容: { "server":"0.0.0.0", "server_port":50013,//服务器端口 "local_port":1080,//代理端口 "password":"1234567890",//连接密码 "timeout":600, "method":"

运维技术 05/11 2

Docker下用composer国内镜像安装Laravel

Stephen/文

自己在docker拉取了composer镜像,如何在docker上启动composer容器,使用composer国内镜像安装包呢? composer国内镜像和composer安装包的命令就不多说了,我直接说下在docker下的用法 命令: docker run -it -v {宿主机目录}:/app --privileged=true composer命令 因此,docker下composer国内镜像方法: docker run -it -v /data/www:/app --privileged=true composer config -g repo.packagist composer https://packagist.phpcomposer.com docker下composer安装包的命令,以Laravel为例: docker run -it -v /data/www:/app --privileged=true composer create-project --prefer-dist laravel/laravel blog 合并后,docker下composer国内镜像安装Laravel: docker

后端开发 05/11 0

Laravel内置服务无法监听端口:Failed to listen on 127.0.0.1:8000

Stephen/文

在Laravel框架中,使用PHP内置的服务器: php artisan serve 结果报错,端口监听失败: Laravel development server started: [Sat Mar 23 21:34:55 2019] Failed to listen on 127.0.0.1:8000 (reason: 以一种访问权限不允许的方式做了一个访问套接字的尝试。) 解决办法: 1、查看 8000 端口是否被占用,执行命令: netstat -ano |findstr "8000" 2、找到端口对应 pid ,根据 pid 查找占用端口的程序: tasklist|findstr "6232" 3、查找到是酷狗音乐占用了 8000 端口,然后到任务管理器结束进程 4、或者,更简单暴力的方法,修改内置服务器的端口,不再监听 8000 端口,执行命令: php artisan serve --host=0.0.0.0 --port=8080 5、浏览器打开 htpp://127.0.0.1:

后端开发 03/23 0

Docker常用基本命令

Stephen/文

从仓库拉取镜像: docker pull python 运行一个容器: docker run -it -d --name python -p 82:80 -v /data/www/python/:/usr/src/myapp/ python bash # -d:后台运行 # --name python:命名容器名称 # -p 82:80:端口映射 # -v /data/www/python/:/usr/src/myapp/:目录映射 # python:镜像名称 查看镜像: docker images 查看所有容器: docker ps -a 停止、启动、删除、重启容器: # 停止容器 docker stop 758cfe1c133f # 删除容器 docker rm 758cfe1c133f # 启动容器 docker start 758cfe1c133f # 重启容器 docker restart 758cfe1c133f 进入容器: docker exec -it 758cfe1c133f bash 容器与宿主机之间数据拷贝: # 将容器 ee2494b3e14

运维技术 03/22 1

PHP之根据经纬度和半径计算范围和距离

Stephen/文

根据经纬度和半径计算经纬度范围: /** * 根据经纬度和半径计算出范围 * @param string $lat 纬度 * @param String $lng 经度 * @param float $radius 半径 单位:m * @return Array 范围数组 */ if (!function_exists('calc_scope')){ function calc_scope($lat, $lng, $radius) { $degree = (24901*1609)/360.0; $dpmLat = 1/$degree; $radiusLat = $dpmLat*$radius; $minLat = $lat - $radiusLat; // 最小纬度 $maxLat = $lat + $radiusLat; // 最大纬度 $mpdLng = $degree*cos($lat * (PI/180)); $dpmLng = 1 / $mpdLng; $radiusLng = $dpmLng*$radi

后端开发 03/20 0

iView日期时间组件传值的问题

Stephen/文

在使用iview的日期时间组件,传值到服务器端的时候,发现组件的值和格式不对,在后端很不好处理,代码: <Date-picker type="date" v-model="searchForm.created" placeholder="选择日期"></Date-picker> 当我选择 2019-03-22 时,发送到服务器的数据是 2019-03-21T16:00:00.000Z 解决方法: 1、去掉 v-model 属性,绑定 change 事件 <Date-picker type="date" @on-change="getDateTime" placeholder="选择日期"></Date-picker> 2、change 事件 methods: { getDateTime: function (time) { this.searchForm.created = time; } } 3、然后服务端接收的数据就正常了

Web前端 03/20 0

PHP之银联手机控件支付

Stephen/文

先说一个题外话: 银联支付接起来,相对有点麻烦,尤其是网上关于银联手机控件支付PHP后端的DEMO少之又少,今天接入银联手机空间支付发起请求的时候,报了个一个错误 {"Invalid request.":""} 一直找不到问题原因,打印请求参数,才发现证书ID certId为null,但接入方法都是用的SDK上的DEMO,证书路径也都配对了,certId怎么会是null呢,一直找不到问题,后咨询了客服,客服给我发了一个图片,提示用错证书,我还再三向客服确认了是不是那几个证书,确认了问题,也知道报错原因后,决定自己研究SDK代码,后来终于找到了,我犯了一个很傻的错误,由于我用的是docker环境,证书路径居然是用的宿主机的证书路径,然后我把证书路径改为docker容器路径后,终于请求并验签成功了。 银联手机控件支付PHP端接入方法: 1.将下载的PHP SDK代码的sdk目录(PHP Versio

后端开发 03/18 0

MySQL计算经纬度并按距离排序

Stephen/文

很多时候,我们需要通过MySQL查询附近的数据并实现分页 赋值当前用户经纬度 $lng = "";//经度 $lat = "";//纬度 MySQL语句查询 select *,round(ACOS(SIN(({$lat} * 3.1415) / 180 ) *SIN((lat * 3.1415) / 180 ) +COS(({$lat} * 3.1415) / 180 ) * COS((lat * 3.1415) / 180 ) *COS(({$lng} * 3.1415) / 180 - (lng * 3.1415) / 180 ) ) * 6380, 2) distance from user order by distance asc limit 1,10 注: {$lng}:经度 {$lat}:纬度

后端开发 03/18 0