精华内容
下载资源
问答
  • php小程序

    2019-11-24 23:13:17
    一、注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可。...注意:如果要以非管理员微信号在手机上体验该小程序,那么我们还需要操作“绑定开发...

    一、注册小程序账号
    1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可。
    2.注册成功后进入首页,在 小程序发布流程->小程序开发与管理->配置服务器中,点击“开发者设置”。
    3.会获得一个AppID,记录AppID,后面创建项目时会用到。

    注意:如果要以非管理员微信号在手机上体验该小程序,那么我们还需要操作“绑定开发者”。即在“用户身份”-“开发者”模块,绑定上需要体验该小程序的微信号。本教程默认注册帐号、体验都是使用管理员微信号

    二、下载微信web开发者工具
    为了帮助开发者简单和高效地开发,微信小程序推出了全新的开发者工具 ,集成了开发调试、代码编辑及程序发布等功能。
    1.下载页面:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=201715
    根据系统,选择对应的工具版本下载
    2.工具包含编辑、调试和项目三个页卡:
    (1)编辑区可以对当前项目进行代码编写和文件的添加、删除以及重命名等基本操作
    (2)程序调试主要有三大功能区:模拟器、调试工具和小程序操作区
    (3)项目页卡主要有三大功能:显示当前项目细节、提交预览和提交上传和项目配置

    注意:启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,后续所有的操作都会基于这个微信帐号

    三、编写小程序实例
    1.实例目录结构

    2.实例文件说明及源码

    四、测试小程序实例
    1.打开微信web开发者工具,选择“本地小程序项目”。
    2.填写小程序的AppID,项目名称,选择第三步写好的小程序实例文件夹,点击“添加项目”。
    3.如果出现如下效果,那么恭喜你,你的第一个小程序项目已经编写成功了!点击左侧边栏“编辑”,还可以在右侧编辑窗口直接对代码进行修改,保存(CTRL+S)后刷新(F5)即可生效。

    展开全文
  • PHP小程序 PHP小程序

    2010-10-16 12:37:32
    PHP小程序 PHP小程序PHP小程序PHP小程序PHP小程序PHP小程序PHP小程序PHP小程序
  • PHP小程序二维码生成

    2019-10-30 14:20:23
    PHP小程序二维码生成 TP5(小程序二维码生成)代码示例: //小程序二维码生成(已测试) public function getQRcode($getData){ $this->projectName='zhihuiceping';//项目文件名称 $getData=json_decod.....

                             PHP小程序二维码生成

    TP5(小程序二维码生成)代码示例:

    //小程序二维码生成(已测试)
      public function getQRcode($getData){ 
              $this->projectName='zhihuiceping';//项目文件名称
              $getData=json_decode($getData,true);
              $userId=isset($getData['userId'])?$getData['userId']:'';
              $productId=isset($getData['productId'])?$getData['productId']:'';
              $type=$getData['type'];
              $orderId=isset($getData['orderId'])?$getData['orderId']:'';
              $adminId=isset($getData['adminId'])?$getData['adminId']:'';
              switch ($type) {
                case 'adminIdPoster':
                   //商品详情
                    $name=$this->projectName.'adminIdPoster'.$adminId;
                    $data = array(
                      'path'=>'pages/home/index?adminId='.$adminId,
                      'auto_color' => false,
                      'width' => 400,
                    // 'is_hyaline'=>true
                    );
                  break;
                case 'product':
                   //商品详情
                    $name=$this->projectName.'product'.$userId.$productId;
                    $data = array(
                        'path'=>'pages/products/detail/index?id='.$productId.'&fid='.$userId,
                        'auto_color' => false,
                        'width' => 400,
                        'is_hyaline'=>true
                    );
                  break;
                case 'distribution':
                    //分销商
                    $name=$this->projectName.'distribution'.$userId;
                    $data = array(
                        'path'=>'pages/member/distribution/register/index?fid='.$userId,
                        'auto_color' => false,
                        'width' => 400,
                        'is_hyaline'=>true
                    );
                  break;
                case 'groupOrder':
                  //邀请拼团
                  $name=$this->projectName.'groupOrder'.$orderId;
                  $data = array(
                      'path'=>'pages/groupBuy/joinGroupBuy/index?id='.$orderId,
                      'auto_color' => false,
                      'width' => 400,
                      'is_hyaline'=>true
                  );
                  break;
                default:
                  # code...
                  break;
               }
              //获取微信access_token;
              $url = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='.$this->getAccessToken();
              $qrcode=Cache::get($name);
              if(!empty($qrcode)){
                //不为空
                return $qrcode;
              }
              $headers = array(
                  "Content-type: application/json;charset=UTF-8",
                  "Accept: application/json",
                  "Cache-Control: no-cache",
                  "Pragma: no-cache"
              );
              $jsonStr = json_encode($data);
              $img = http($url, $jsonStr, 1, $headers); 
              $dir=DOC_ROOT."/qrcode";
              if (!file_exists($dir)){
                  mkdir ($dir,0777,true);
                  //echo '创建文件夹成功';
              }
              $savePath ="qrcode/";
              $saveName = $userId.time(). '.png';
              //存入二维码
              $res = file_put_contents(DOC_ROOT.'/'.$savePath.$saveName,$img);
              if ($res === false) {
                return 0;
              }else{
                  $qrcodeUrl=IMG_PATH.$savePath.$saveName;
                  Cache::set($name,$qrcodeUrl);
                  return $qrcodeUrl;
              }
      }
    //access_token获取频次2000/天,一小时内有效
     public function getAccessToken(){
          $config=Db::table('ims_wx_config')->field('appid,appsecret,access_time,access_token')->where('id',1)->find();
          if($config['access_time']< time()){
              $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$config['appid']."&secret=".$config['appsecret'];
              $tmp=CURLSend($url,'get');
              $obj=json_decode($tmp);
              $data['access_time']=(time()+3600);//一小时
              $data['access_token']=$obj->access_token;
              Db::name('wx_config')->where('id=1')->update($data);
              return $obj->access_token;
          }else {
              return  $config['access_token'];
          }
      }
    /**
     * http请求
     * @param  string  $url    请求地址
     * @param  boolean|string|array $params 请求数据
     * @param  integer $ispost 0/1,是否post
     * @param  array  $header
     * @param  $verify 是否验证ssl
     * @return string|boolean          出错时返回false
     */
    function http($url, $params = false, $ispost = 0, $header = array(), $verify = false) {
        $httpInfo = array();
        $ch = curl_init();
        if(!empty($header)){
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        }
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
        curl_setopt($ch, CURLOPT_TIMEOUT, 60);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        //忽略ssl证书
        if($verify === true){
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        } else {
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        }
        if ($ispost) {
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
            curl_setopt($ch, CURLOPT_URL, $url);
        } else {
            if (is_array($params)) {
                $params = http_build_query($params);
            }
            if ($params) {
                curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
            } else {
                curl_setopt($ch, CURLOPT_URL, $url);
            }
        }
        $response = curl_exec($ch);
        if ($response === FALSE) {
            file_put_contents($_SERVER['DOCUMENT_ROOT'].'/log/http.log', "cURL Error: " . curl_errno($ch) . ',' . curl_error($ch).PHP_EOL.PHP_EOL, FILE_APPEND);
            $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
            file_put_contents($_SERVER['DOCUMENT_ROOT'].'/log/http.log', var_export($httpInfo, true).PHP_EOL.PHP_EOL, FILE_APPEND);
            return false;
        }
        curl_close($ch);
        return $response;
    }

     

    /*
       *模拟浏览器发送
       */
     function CURLSend($url,$method = 'get', $data = ''){
       $ch = curl_init();//初始化
       $headers = array('Accept-Charset: utf-8');
       //设置URL和相应的选项
       curl_setopt($ch, CURLOPT_URL, $url);//指定请求的URL
       curl_setopt($ch, CURLOPT_CUSTOMREQUEST, strtoupper($method));//提交方式
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//不验证SSL
       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);//不验证SSL
       curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);//设置HTTP头字段的数组
       curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible;MSIE5.01;Windows NT 5.0)');//头的字符串
       curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
       curl_setopt($ch, CURLOPT_AUTOREFERER, 1);//自动设置header中的Referer:信息
       curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//提交数值
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//是否输出到屏幕上,true不直接输出
       $temp = curl_exec($ch);//执行并获取结果
       curl_close($ch);
       return $temp;//return 返回值
    }

     

    展开全文
  • php小程序前后台源码资源,运行前请先执行数据库文件。
  • 本文实例讲述了PHP小程序支付功能。分享给大家供大家参考,具体如下: 环境: tp3.2 + 小程序 微信支付功能开通 Step1: 下载PHP 支付SDK(下载地址) 放到Library\Vendor下,取名Wxpay 修改WxPay.Config.php 里的...
  • php小程序支付

    2019-05-24 14:49:46
    小程序端先请求后端接口 后端接口生成相应参数,返回给小程序小程序端调用wx.requestPayment发起支付 示例代码 示例代码: wx.requestPayment( { 'timeStamp': '', //时间戳 'nonceStr': '', //随机字符串,...

    1.基本逻辑

    小程序端先请求后端接口
    后端接口生成相应参数,返回给小程序端
    小程序端调用wx.requestPayment发起支付

    小程序示例代码:
    
    wx.requestPayment(
    {
    	'timeStamp': '',     //时间戳
    	'nonceStr': '',      //随机字符串,长度为32个字符以下。
    	'package': '',       //后端返回的 prepay_id 参数值,格式如:prepay_id=*
    	'signType': 'MD5',   //签名类型默认MD5
    	'paySign': '',       //签名
    	
    	//以上参数由后端生成返回
    	'success':function(res){          //支付成功
    	},
    	'fail':function(res){            //支付失败
    	},
    	'complete':function(res){        //支付完成,不管成功失败都会响应
    	}
    })
    

    2. tp5代码

    
            $appid            =    $res['appid'];         //小程序appid
            $body             =    '订单支付';
            $mch_id           =                           // 商户号    公众平台商户号需绑定到小程序上
            $nonce_str        =    $this->nonce_str();    //  随机字符串
            $notify_url       =    '' ;                   //回调地址
            $openid           =    $this->openID;         //用户openid
            $out_trade_no     =    '';                    //订单号
            $spbill_create_ip =    $_SERVER['REMOTE_ADDR'];
            $total_fee        =    $money*100;            //支付金额需要乘以100
            $trade_type       =    'JSAPI';
    		
    		//按照顺序生成签名
    	        $post1['appid']               =      $appid;
    	        $post1['body']                =      $body;
    	        $post1['mch_id']              =      $mch_id;
    	        $post1['nonce_str']          =      $nonce_str;
    	        $post1['notify_url']         =      $notify_url;
    	        $post1['openid']             =       $openid;
    	        $post1['out_trade_no']       =      $out_trade_no;
    	        $post1['spbill_create_ip']  =      $spbill_create_ip;
    	        $post1['total_fee']          =      $total_fee;//
    	        $post1['trade_type']         =      $trade_type;
            
            $sign             =    $this->sign($post1);         //签名
    
    		//生成xml数据
    	    $post_xml =
    	      '<xml>
    	       <appid>'.$appid.'</appid>
    	       <body>'.$body.'</body>
    	       <mch_id>'.$mch_id.'</mch_id>
    	       <nonce_str>'.$nonce_str.'</nonce_str>
    	       <notify_url>'.$notify_url.'</notify_url>
    	       <openid>'.$openid.'</openid>
    	       <out_trade_no>'.$out_trade_no.'</out_trade_no>
    	       <spbill_create_ip>'.$spbill_create_ip.'</spbill_create_ip>
    	       <total_fee>'.$total_fee.'</total_fee>
    	       <trade_type>'.$trade_type.'</trade_type>
    	       <sign>'.$sign.'</sign>
    	       </xml> ';
    		
    		//调用微信接口下单  得到prepay_id
    		$url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';   
                //请求成功后微信会返回一个xml 里面包含prepay_id
                $xml = $this->http_request($url,$post_xml);
                $array = $this->xml($xml);//全要大写
                
    		//结果分析
    		 if( $array['RETURN_CODE'] ==  'SUCCESS' && $array['RESULT_CODE'] == 'SUCCESS'){
    			    $tmp                   =    [];          //临时数组用于签名
                    $tmp['appId']          =    $appid;
                    $tmp['nonceStr']       =    $nonce_str;
                    $tmp['package']        =    'prepay_id='.$array['PREPAY_ID'];
                    $tmp['signType']       =    'MD5';
                    $tmp['timeStamp']      =    strval($time);
                    
                    $data['prepay_id']     =    $array['PREPAY_ID'];
                    $data['timeStamp']     =    strval(time());         //时间戳  此处转化为字符串模式返回
                    $data['nonceStr']      =    $nonce_str;           //随机字符串
                    $data['signType']      =    'MD5';               //签名算法,暂支持 MD5
                    $data['package']       =    'prepay_id='.$array['PREPAY_ID'];// 接口返回的 prepay_id 参数值,
                    $data['paySign']       =    $this->sign($tmp);   //签名
                    $data['out_trade_no']  =    $out_trade_no;
                    
                }else{
                    $data['state']         =   0;
                    $data['text']          =   "错误";
                    $data['RETURN_CODE']  =   $array['RETURN_CODE'];
                    $data['RETURN_MSG']   =   $array['RETURN_MSG'];
                }
                
            echo json_encode($data);
    

    获取nonce_str

     	public function nonce_str(){
            $result = '';
            $str = 'QWERTYUIOPASDFGHJKLZXVBNMqwertyuioplkjhgfdsamnbvcxz';
            for ($i=0;$i<32;$i++){
                $result .= $str[rand(0,48)];
            }
            return $result;
        }
    

    获取openid

    public function openID(){
    	$code= 小程序端通过wx.login获得
    	//
    			wx.login({
    		      success: function(res) {
    		        // 成功的话会返回:
    		        // {errMsg: "login:ok", code: "获取用户OpenID的ticket"}
    		       var code  =res.code   //将code发送给后端
    		      }
    		    })
    	//
    	
    	 $WX_APPID   =  '';   //小程序appid
    	 $WX_SECRET  =  '';  //小程序appsecret
    	 $url        =  "https://api.weixin.qq.com/sns/jscode2session?appid=" . $WX_APPID . "&secret=" . $WX_SECRET . "&js_code=" . $code . "&grant_type=authorization_code";
    	 $infos      =  json_decode(file_get_contents($url));
    	 $openid     =  $infos->openid;
    	 return  $openid;
    }	 
    

    获取签名

    public function sign($data){
            $stringA = '';
            foreach ($data as $key=>$value){
                if(!$value) continue;
                if($stringA){
                    $stringA .= '&'.$key."=".$value;
                } else{
                    $stringA  = $key."=".$value;
                }
            }
            $wx_key         = '';    //支付密钥
            $stringSignTemp = $stringA.'&key='.$wx_key;
            return strtoupper(md5($stringSignTemp));
        }
    

    http请求

        function http_request($url,$data = null,$headers=array())
        {
            $curl = curl_init();
            if( count($headers) >= 1 ){
                curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
            }
            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
            if (!empty($data)){
                curl_setopt($curl, CURLOPT_POST, 1);
                curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            }
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            $output = curl_exec($curl);
            curl_close($curl);
            return $output;
        }
    

    得到xml

    public function xml($xml){
            $p = xml_parser_create();
            xml_parse_into_struct($p, $xml, $vals, $index);
            xml_parser_free($p);
            $data = "";
            foreach ($index as $key=>$value) {
                if($key == 'xml' || $key == 'XML') continue;
                $tag = $vals[$value[0]]['tag'];
                $value = $vals[$value[0]]['value'];
                $data[$tag] = $value;
            }
            return $data;
        }
    
    展开全文
  • 上一节教大家如何在本地运行php后台项目,并可以被小程序访问到,这一节就来给大家讲一个实际工作中常用的需求,微信小程序openid的获取。当然了,还是用我们的php做为后台。老规矩,先看效果图通过上图我们可以看到...
    上一节教大家如何在本地运行php后台项目,并可以被小程序访问到,这一节就来给大家讲一个实际工作中常用的需求,微信小程序openid的获取。当然了,还是用我们的php做为后台。

    老规矩,先看效果图

    50b0646a5abf954fd7893e31e0ce11ca.png

    通过上图我们可以看到我们成功的获取到了小程序的openid,而这里获取openid是借助php后台获取的。

    我们的php核心代码,只有下面10行

    95bb343ebd79d1d7a930f56a55be319e.png

    下面就来讲讲具体的实现步骤。

    一,首先要搭建一个可以本地访问的php后台

    这里我在上一节的文章已经讲过了,还不知道怎么配置本地php项目的同学可以去翻看我上篇文章:phpstorm运行本地PHP服务器,实现小程序可以访问的PHP后台

    二,编写php代码

    只需要创建一个如下图所示的简单的php文件就可以了。

    5be2a6da1cacf7ed3b1eee23046b9fbe.png

    把代码给大家贴出来。要记得把下面的appid和appSecret换成你自己的。至于如果获取,我之前的文章也有讲过,去翻下我零基础入门小程序开发的文章即可。

    <?php
    /**
     * 2019/9/21 20:34
     * author: 编程小石头
     * wechat:2501902696
     * desc: 获取小程序用户openid
     */
    
    getOpenid();
    function getOpenid() {
        $code = $_GET['code'];//小程序传来的code值
        $appid = 'wx4b55bb240aec2ee3';//小程序的appid
        $appSecret = '1f6f68884c1add6293cfa9b86e1f6bfd';// 小程序的$appSecret
        $wxUrl = 'https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code';
        $getUrl = sprintf($wxUrl, $appid, $appSecret, $code);//把appid,appsecret,code拼接到url里
        $result = curl_get($getUrl);//请求拼接好的url
        $wxResult = json_decode($result, true);
        if (empty($wxResult)) {
            echo '获取openid时异常,微信内部错误';
        } else {
            $loginFail = array_key_exists('errcode', $wxResult);
            if ($loginFail) {//请求失败
                var_dump($wxResult);
            } else {//请求成功
                $openid = $wxResult['openid'];
                echo "获取openid成功成功:" . $openid;
            }
        }
    }
    
    //php请求网络的方法
    function curl_get($url, &$httpCode = 0) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
        //不做证书校验,部署在linux环境下请改为true
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
        $file_contents = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        return $file_contents;
    }
    

    代码就这么多,我们编写好以后,运行下项目。

    a1b58c46bce95f55d3ddc30e510a3ca9.png

    三,编写小程序代码

    小程序的代码很简单,就是一个按钮,点击按钮的时候我们请求上面定义好的php后台项目。
    小程序代码也很简单

    e96436d6f83a0d86a8e15cf6da1e0838.png

    b9ca8130d57220be229c31c4152cd9e0.png

    代码就上图这么点,我把code.js里的代码贴出来给大家

    Page({
      getCode() {
        let that = this;
        wx.login({
          success(res) {
            console.log('code', res.code)
            that.getOpenid(res.code)
          }
        })
      },
      getOpenid(wxCode) {
        wx.request({
          url: 'http://localhost:8080/Demo.php',
          data: {
            code: wxCode
          },
          success(res) {
            console.log('获取成功', res)
          },
          fail(res) {
            console.log('获取失败', res)
          }
        })
      }
    })
    

    给大家解释下上面的代码,我们通过wx.login来获取code,然后通过wx.request调用我们定义的php后台。url里的 Demo.php必须和你的php文件名保持一致。

    d06d842cbea13191dea8cd576f2db1d7.png

    效果

    点击按钮以后,就可以成功的获取到我们所需的小程序openid了。效果图如下

    8828cc535939c9205fa03cf0c8da85ea.png

    到这里我们就成功的实现了PHP获取小程序openid的功能了,是不是很简单。

    后面我会写更多关于php和小程序的文章,敬请关注。

    展开全文
  • php小程序-文章发布系统 一 项目相关视图 二 项目经验 主要用于熟悉php与mysql的相关操作 三 源码下载地址 http://files.cnblogs.com/files/qiujun/articleManager.zip 转载于:...
  • 微擎 PHP 小程序 通过code 获取群 session_key
  • php小程序模板消息

    2019-05-16 19:29:21
    *小程序 发送模板消息 */ public function send_template_news() { $form_id = ''; //form_id 有两种 一种为提交过表单后生成的form_id 一种为支付后生成的prepay_id $template_id = ''; ...
  • php 小程序支付全过程

    2019-05-24 09:22:47
    登录小程序管理后台,设置服务器域名(request请求地址),业务域名,绑定公众号主体,获取公众商户ID,支付密钥,小程序APPID,小程序APP_SECRET 2、预支付接口调取 try{ $order_no = create_order_no('C')...
  • 小程序获取用户信息,首先获取openid 和session_key来标识用户,获取这两个数需要前端传一个code。微信公众号开发的时候,这个code可以自己生成,但是小程序开发的时候不可以。  小程序的用户信息,是可以直接传输...
  • 小程序的推广渠道有一下几种方式:1,二维码推广,这种方式只需要提供一个二维码,php生成小程序码(见我前面的博客)即可,小程序码会携带参数,最好是携带渠道的系统id,这样在录入user的时候,就可以用系统id作为...
  • php 小程序支付完整版

    2018-03-15 12:50:07
    环境: tp3.2 + 小程序 微信支付功能开通Step1: 下载PHP 支付SDK(下载地址) 放到Library\Vendor下,取名Wxpay 修改WxPay.Config.php 里的appid appsecret key MCHIDStep2: 小程序 js 代码: var url = getApp()....
  • php 小程序退款完整版

    千次阅读 2018-03-20 17:37:03
    使用 wx php sdk (小程序支付完整版) , 2. 配置证书时使用绝对路径1. 上代码: /** * 退款 * @author:大脸猫脸大 */ public function refund() { import("Vendor.Wxpay.lib.WxPay#Api", "&...
  • php小程序生成二维码

    2018-08-30 17:11:00
    1 <...php 2 3 getwxacode(); 4 5 //生成二维码 6 function getwxacode(){ 7 $url = "https://api.weixin.qq.com/wxa/getwxacode?"; 8 $url .= "access_token=" . getToken(...
  • php 小程序获取access_token

    千次阅读 2018-07-05 15:14:10
    需要两个参数:小程序appid,小程序 appsecret;接下来把这两个参数传到服务器的接口中执行https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&amp;appid=(传来的appid)&amp;secret=...
  • <?php date_default_timezone_set("PRC"); //不加会出错 $timestamp = "1552320000"; $today = date('Y-m-d', $timestamp); echo $today; ?>
  • 小程序开发现在都成了找工作必备武器了 适应时代变化,跟上技术,跟上大公司,也是生存之道啊 小程序要使用,必须登录,这就有个问题,小程序是登录我们的服务器,还是登录微信服务器? 今天周末没啥事干 ,梳理...
  • php 小程序开发总结

    2018-03-16 15:35:54
    2. 后端Php代码 比较金额时用bccomp  if (bccomp($totalMoney,$cartAmount, 2) != 0) { $result['msg'] = '总金额不匹配:'; $result['code'] = 0; $this->ajaxReturn($result); } 3. 前端JS代码比较金额用   ...
  • *小程序发送服务通知 *这里只做单纯的功能测试,没有涉及任何业务逻辑 1 前台传post参数code(用户身份临时凭证)和formid(表单提交场景submit事件带上的formId,支付场景没有测试) 2 通过code获取openid 3 获取接口...
  • //微信小程序配置 $config=array( //小程序appid 'appid'=&gt;"小程序appid", //小程序key 'secret'=&gt;"小程序key", //微信支付商户id 'mch_id'=&gt;"111111111111xx&...
  • 小程序二维码中间是空白部分。而有时候需求方希望,中间logo部分是用户头像或者其他图片2.微信接口给返回的二维码是数据流。直接输出浏览器是乱码。想在浏览器上显示可以这样:$resWxQrCode = '微信返回的二维码数据...
  • PHP小程序发放红包接口

    千次阅读 2019-07-03 14:20:25
    https://pay.weixin.qq.com/wiki/doc/api/tools/miniprogram_hb.php?chapter=13_9&index=2 PHP调用接口需要证书(curl用到): 微信商户平台(pay.weixin.qq.com)-->账户中心-->账户设置-->API安全--&...
  • php小程序支付代码接口 带源码

    千次阅读 2018-02-24 10:11:16
    前段时间由于业务需求又开始接触了小程序支付调用代码 原来没有整理,现在又要重新看了 太麻烦。现在把代码整理出来方便以后直接用。大概给说下 调用流程吧首先 小程序 授权 授权成功 开始调用 小程序的登录 //...
  • 小程序socket客户端写法 //建立连接 wx.connectSocket({ //此处的地址为ip地址加监听地址 url: “ws://127.0.0.1:8083”, }) //连接成功 wx.onSocketOpen(function () { wx.sendSocketMessage({ data: ...
  • 第一次做小程序,记录一下。以便后续自己查找~  首先。看一下微信的登录流程图     步骤:在客户端获取当前登录微信用户的登录凭证(code)。使用该凭证向微信服务器换取该微信用户的唯一标识(openid)和会话...
  • 利用PHP小程序清除Mysql死连接 http://database.csdn.net/page/f2924eab-6156-49e0-907d-e8219bc45d81<br />  连接的情况,主要表现为有过多的Sleep连接,并且Time时间很长,占满了所有的可用连接...
  • 微信小程序通过getPhoneNumber后台PHP解密获取用户手机号码 getPhoneNumber这个组件要通过button来实现。将button中的open-type=“getPhoneNumber”,并且绑定bindgetphonenumber事件获取回调。 1.在使用这个组件...
  • php小程序二维码获取生成图片分享

    万次阅读 2018-03-02 10:08:34
    第一步:获取小程序二维码 代码如下(采用tp5框架):namespace app\api\controller; use think\Controller; use think\Db; use think\Config; use app\api\controller\Common; class Code extends Common{ /** ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,333
精华内容 4,533
关键字:

php小程序