2019-07-12 12:20:54 loveqdm 阅读数 172
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27864 人正在学习 去看看 秦子恒

就是把防火墙关掉
在这里插入图片描述
请把防火墙关闭 然后打开微信开发者工具就会显示文件了。我的就是这样解决的。
好了后 你可以在吧防火墙开启 也可以使用一个专有网络关闭防火墙。反正如果没有文件显示你就去关闭防火墙再打开就可以了。

2020-01-10 11:17:13 diyangxia 阅读数 15
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27864 人正在学习 去看看 秦子恒

1、安装nodejs环境
到官网下载安装包(node-v12.14.1-x64.msi),点击下一步一直安装到底

2、使用命令行模式进入小程序项目云函数文件夹,执行安装excel-export命令,安装完成后,输入node -v测试一下是否安装成功

npm install excel-export

3、在微信开发者工具的小程序云函数文件夹上右键新建node.js云函数,随便输入一个名字,比如excelexport,然后把上一步下载下来的\cloudfunctions\node_modules\excel-export\example文件夹下的styles.xml文件拷贝到excelport文件夹下,这样这个新建的文件夹下就有三个文件
在这里插入图片描述
4、修改一下package.json文件,添加excel-export支持
在这里插入图片描述
5、修改index.js文件(重点)

// 云函数入口文件
const cloud = require('wx-server-sdk')
const nodeExcel = require('excel-export')
const path = require('path');
cloud.init()

// 云函数入口函数
exports.main = async(event, context) => {
  var tableHead = event.excelhead;
  var tableMap = {
    styleXmlFile: path.join(__dirname, "styles.xml"),
    name: Date.now() + "-export",
    cols: [],
    rows: [],
  }

  //添加表头  此处要注意格式type,会影响到rows
  tableMap.cols = [{
    caption: tableHead[0],
    type: 'string'
  }, {
    caption: tableHead[1],
    type: 'number'
  }, {
    caption: tableHead[2],
    type: 'string'
  }, {
    caption: tableHead[3],
    type: 'number'
  }, {
    caption: tableHead[4],
    type: 'number'
  }]

  var output = event.excelbody
  //添加每一行数据 此处字段数据需根据业务需求来重新定义
  for (var i = 0; i < output.length; i++) {
    tableMap.rows[tableMap.rows.length] = [
      output[i].date, output[i].category, output[i].mark, output[i].paytype, output[i].money
    ]
  }
  console.log(tableMap);
  //保存excelResult到相应位置
  var excelResult = nodeExcel.execute(tableMap);
  var filePath = "outputExcels";
  var fileName = Date.now() + '.xlsx';
  return await cloud.uploadFile({
    cloudPath: path.join(filePath, fileName),
    fileContent: new Buffer(excelResult, 'binary')
  });
}

这里需要注意的就是表头的添加,格式一定要对,该是数字类型的就填number,该是布尔类型的就填bool等,不然生成的excel文件可能会比较乱,本人就是吃了这里的亏导致文件生成错误

6、右键上传云函数
在这里插入图片描述
7、云函数上传成功后,小程序端即可使用

 getExcel: function (contentArr) {
    wx.cloud.callFunction({
      name: 'excelexport',
      data: {
        excelhead: ["日期", "分类", "说明", "支付方式", "金额"],
        excelbody: contentArr
      },
      success: function (res) {
        console.log(res.result.fileID);
      },
      fail: function (res) {
        console.log(res);
      }
    })
  },

此处的contentArr是一个从云数据库里查出来的列表,格式值类似

[{'date':'01','category':1,'mark':'第一个','paytype':1,'money':100
},{'date':'02','category':2,'mark':'第二个','paytype':2,'money':200}
],{'date':'03','category':3,'mark':'第三个','paytype':3,'money':300}
]

8、生成的excel文件会保存在云开发的存储的outputExcels文件夹里,文件内容如下
在这里插入图片描述

参考博文:微信小程序云开发:使用excel-export导出excel

2018-09-21 21:54:45 qq_39319136 阅读数 8218
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27864 人正在学习 去看看 秦子恒

预览效果图:↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
预览效果

========================================================

首先要新建一个组件

1.在想要的位置上新建一个目录
在这里插入图片描述
2.在该目录中 右键 → 新建一个Component
工具会自动生成四个文件(无视assets,那是我放图片的地方)
在这里插入图片描述
其中我们一般修改 .js .wxml .wxss 文件

3.观察select.json文件
“component”: true 这句话表示这个目录是作为一个组件的,可以给别的目录用
在这里插入图片描述

========================================================

开始编码

selector.wxml

<view class='selectBox'> 
  <view class='select' catchtap='selectTap'> 
    <text class='select_text'>{{selectData[index]}}</text> 
    <image class='select_img {{selectShow&&"select_img_rotate"}}' 
           src='../selector/assets/jiantou.jpg' 
           background-size="contain">
    </image> 
  </view> 

  <view class='optionBox'
  		style='height:300rpx;'>     
  	<text class='option' 
          wx:for='{{selectData}}' 
          wx:key='this' 
          data-index='{{index}}' 
          catchtap='optionTap'>{{item}}
    </text> 
  </view> 
</view>

========================================================
selector.wxss(要改的样式可以自己改)

.selectBox{ height:1.5rem;border:2px solid black;border-radius: 20rpx; position: relative; padding-left: 10rpx} 
.selectBox .select{ box-sizing: border-box; width: 100%; height: 100%; border-radius: 8rpx; display: flex; align-items: center; padding: 0 10rpx; } 
.selectBox .select .select_text{ font-size: 35rpx; color:black; line-height: 28rpx; flex: 1; } 
.selectBox .select .select_img{ width: 30rpx; height: 30rpx; display: block; transition:transform 0.3s; }
 .selectBox .select .select_img_rotate{ transform:rotate(180deg); } 
.selectBox .optionBox{ position: absolute; top: calc(100%); width: 100%; box-sizing: border-box; height: 0; overflow-y: auto; background: #fff; transition: height 0.3s; border-left:2px solid black; border-right:2px solid black;border:1px solid black ;z-index:9999} 
.selectBox .optionBox .option{ display: block; line-height: 50rpx; font-size: 35rpx; border-top: 2px solid black; padding: 10rpx;z-index:9999;} 

=======================================================
selector.js

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    selectData: { //下拉列表的数据
      type: Array,
      value: [] //初始数据,可通过属性修改
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    selectShow: false,//控制下拉列表的显示隐藏,false隐藏、true显示
    index: 0,//选择的下拉列表下标
  },

  /**
   * 组件的方法列表
   */
  methods: {
    selectTap() {
      this.setData({
        selectShow: !this.data.selectShow
      });
    },
    optionTap(e){
      let Index=e.currentTarget.dataset.index;
      this.setData({
        index:Index,
        selectShow:!this.data.selectShow
      });
    }
  }
})

========================================================

定义完了组件,开始使用

1.首先在要使用的地方的.json文件中声明用到了该组件

{
  "usingComponents": {
    "selector":"/pages/selector/selector"
  }
}

2.直接使用组件标签(selectData定义为属性,可以自定义可选的列表)

     <selector selectData="{{position}}"></selector>

OK,大功告成!
附上我的箭头图片 ↓↓↓↓
箭头

2015-02-23 17:51:55 afanxingzhou 阅读数 7799
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27864 人正在学习 去看看 秦子恒

2019-3-28 15:09:02更新:

感谢各位的支持。最早发帖是在大四毕业论文期间,所以针对第一次接触微信公众号的学生。时过境迁,4年过去了,在微信上遇到了方方面面的问题,这里贡献些自己的学习资料,供大家更上一层楼!

一,初学者:可以买《方倍工作室-微信公众号开发php版》(非广告),php简单易学好上手,我的php是幕课网自学的(php由入门到精通)。按照书里的内容稳步研究。期间需要学习到 “服务器搭建(推荐 阿里云香港1核1G1M centos),php控制面板安装(推荐appnode,宝塔);域名购买(阿里云)解析和绑定(国内服务器需备案域名,所以使用香港地区);代码编写上传(按书或博文自己捣鼓);公众号申请(尽量搞到认证服务号或服务号,不要订阅号):微信接口主要分两类:接口类和消息类——认证服务号可使用微信登陆等接口类功能,非认证号可使用消息类功能(比如自定义菜单那、自定义回复和扫码关注),这系列博文针对的都是消息类功能。

二,入门者:最好能有可用的认证服务号和微信商户,不然没法玩。代码上,若使用tp5或laravel或可以使用github开源包的php框架,推荐EasyWechat包,该包集成了几乎所有类型公众号的所有功能,不需要自己研究太多微信功能,会调用即可。

其它微信的框架,例如weiphp或微擎,不好用。如果只是给自己系统增加个微信功能,用easywechat或者自己系统封装的微信类包;如果纯做微信开发,推荐weiphp。

有问题发邮件: lifan.25@qq.com

=============================以下为旧内容========================

前面两篇详细讲解了微信收发消息的“万能代码”,今天开点小荤,用MySql数据表实现关键字回复。

老规矩,声明背景:

1.我使用的是BAE3.0扩展服务中的MySql数据库,

2.关键词回复代码 是在 微信核心页代码的基础上修改的

3.使用数据库作为关键字回复适用于开发者模式下关键字非常多的情形,如果公众平台没有太多关键字,就不需要;使用数据库就不需要频繁修改代码了。

4.以下代码的局限性:不适合回复 多图文消息,因为一次只查询出一条结果。

========================================华丽丽的分割线==================================================

 

 //接收文本消息
    private function receiveText($object)
    {
    	include './conn/conn.php';//连接数据库
    	mysql_set_charset("utf8");//设置字符集,没有测试是否必须。科普:微信服务器采用utf8,所以MySql数据库字符集是utf8_general_ci。
    	$keyword = $object->Content;//获取关键字
    	$rs = mysql_query("select * from guanjiancihuifu where keywords='$keyword'",$link);//查询数据
        $info = mysql_fetch_array($rs);//将查询到的数据填充到数组
        if(!$rs)
        {
        	$content="词库中没有这个词,查询失败!\nBy阿凡舟舟";           //$rs为空
        }
        else
        {       //获取查询到的结果;[]内的为数据表列名
        	$type = $info[type];              //回复消息类型——text,image,voice,video,music,news
        	$contentStr = $info[content];        //文本消息
        
        	$Title = $info[title];
        	$Description = $info[description];//单图文消息
        	$PicUrl = $info[picurl];
        	$Url = $info[url];
        
        	$MusicUrl = $info[musicurl];     //音乐消息
        	$HQMusicUrl = $info[hqmusicurl];
        
        switch ($type)//这里我设置一列为type,借以区分回复消息的类型
        {
            case "text":
                $content = $contentStr;        //文本消息
                break;
            case "news":                      //这里的news仅代表单图文
                $content = array();
                $content[] = array("Title"=>$Title,  "Description"=>$Description, "PicUrl"=>$PicUrl, "Url" =>$Url);
                break;
           /*  case "多图文":                //多图文还没有实现
                $content = array();
                $content[] = array("Title"=>"多图文1标题", "Description"=>"", "PicUrl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");
                $content[] = array("Title"=>"多图文2标题", "Description"=>"", "PicUrl"=>"http://d.hiphotos.bdimg.com/wisegame/pic/item/f3529822720e0cf3ac9f1ada0846f21fbe09aaa3.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");
                $content[] = array("Title"=>"多图文3标题", "Description"=>"", "PicUrl"=>"http://g.hiphotos.bdimg.com/wisegame/pic/item/18cb0a46f21fbe090d338acc6a600c338644adfd.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");
                break; */
            case "music":
                $content = array("Title"=>$Title, "Description"=>$Description, "MusicUrl"=>$MusicUrl, "HQMusicUrl"=>$HQMusicUrl);
                break;
            default:
                $content = "该关键词还没有收录词库。请从菜单获取信息\n\n".date("Y-m-d H:i:s",time())."\nBy阿凡舟舟";
                break;
        }//switch
        	mysql_close($link);
        }//else
        if(is_array($content)){//TODO 如果发过来的是图片链接或音乐链接。。。
            if (isset($content[0]['PicUrl'])){
                $result = $this->transmitNews($object, $content);
            }else if (isset($content['MusicUrl'])){
                $result = $this->transmitMusic($object, $content);
            }
        }else{
            $result = $this->transmitText($object, $content);
        }
        return $result;
    }


数据表内容

 

 

==============================================期间遇到的问题===============================================================

1.为了代码的美观,我把关键字查询代码片段放在了guanjianzi.php文件,在微信核心页include过来。下面是代码

<?php
include '../conn/conn.php';
mysql_set_charset("utf8");

$rs = mysql_query("select * from guanjiancihuifu where keywords='$keyword'",$link);//因为这个页面被include了,$keyword来自微信核心代码页
$info = mysql_fetch_array($rs);
if(!$rs)
{
	die("can't find result!");
}
else
{
$type = $info[type];              //回复消息类型——text,image,voice,video,music,news
$contentStr = $info[content];        //文本消息

$Title = $info[title];
$Description = $info[description];//单图文消息
$PicUrl = $info[picurl];
$Url = $info[url];

$MusicUrl = $info[musicurl];     //音乐消息
$HQMusicUrl = $info[hqmusicurl];

mysql_close($link);
}
?>

结果微信公众平台测试出现:该公众号暂时无法提供服务...

 

解决办法:把代码放在微信核心页。

经验教训:在一个页面中写的代码和include另一个页面中同样的代码,还是有很大差别的。数据的交叉传递造就了服务的无法运行。

2.php页面在zend studio 浏览器运行时,从数据库中获取的数据是乱码。

解决办法:在页面首添加 mysql_set_charset("utf8"); 

                保证软件设置字符集为urf-8

                设置在外部浏览器中浏览(貌似这个最有用)。

到现在我的查询数据库结果在zend studio浏览器中还是乱码。。但在微信公众号查询图书就没有乱码——很明显,内部浏览器编码不是utf-8,估计是gbk2312。

=========================================================================================================================

扩展:使用循环语句输出查询结果,多图文貌似就有救了呢,么么哒!

介绍到此。

 

2016-11-10 16:22:00更新:

数据库资源下载地址:http://download.csdn.net/detail/afanxingzhou/9679126

2019-05-06 10:19:31 weixin_42618191 阅读数 96
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27864 人正在学习 去看看 秦子恒

前言

本文简要记录个人安装前端开发软件和环境时注意事项,以及统计一些很好实践了很实用的参考链接,这样以后就不用一个一个的查找。哈哈。后续会慢慢添加更多的。这里谢过各路大神的博客。

Git

下载地址:https://git-scm.com/download/win
值得注意的是在安装完git后,拉去代码时要输入用户名及密码。但是输入错误是不会提示的。但是操作的时候会报错
在这里插入图片描述
这时需要更改密码,如下
在这里插入图片描述
在普通凭据中对应有git的,删除过后再拉取代码时就会要求重新输入了。

node

下载地址:https://nodejs.org/en/

Photoshop

参考路径:https://jingyan.baidu.com/article/48a420572ad061a925250445.html

微信开发者工具

工具下载地址: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
小程序开发的安装想到是很明了的。就按默认勾选的安装就好了(除了安装路径)
参考路径:https://jingyan.baidu.com/article/4d58d5415450049dd4e9c02e.html

支付宝开发者工具

工具下载地址: https://docs.alipay.com/mini/ide/download

VSCode

下载地址:https://code.visualstudio.com/Download
1.汉化:https://jingyan.baidu.com/article/7e44095377c9d12fc1e2ef5b.html
2.常用插件:https://blog.csdn.net/shunfa888/article/details/79606277

HBuilderX

下载地址:http://www.dcloud.io/hbuilderx.html
插件安装在编辑器界面的工具中,有很详细的接受各个插件的功能

sublime_text

下载地址:http://www.sublimetext.com/3
参考博客:https://blog.csdn.net/qq_41485414/article/details/79763651

Vue脚手架搭建项目

安装插件(Vuex、sass、axios):https://www.jianshu.com/p/d1b8a1310c0a
安装插件(Vux):https://blog.csdn.net/brain_bo/article/details/82701931

没有更多推荐了,返回首页