微信公众平台初试

来源:互联网 发布:网络有利还是有害 编辑:程序博客网 时间:2024/05/16 17:28

第一次在微信公众平台开发。

一、微信公众平台原理

一般都是自己搭建服务器,然后通过微信W把用户的请求转发给服务器M,服务器M返回相应给微信W,微信W再把响应返回给用户。
当然,也可以不搭建服务器,走微信的固有流程,可以实现些个简单的小功能:
这里写图片描述
上面这些都是微信固有功能,不用搭建服务器M。但是在搭建服务器M之后,微信的这些固有功能不能同时用,需要自己利用代码实现。

二、搭建环境

在SAE上搭建环境,开发用的php5.6。
在微信接入指南里,下载wx_sample.php,部署在服务器M上,就能进行服务器配置验证了(是验证token)。
这里写图片描述
注意:sae需要实名认证才能通过这一步,因为不实名认证sae会返回一些js。

三、业务逻辑处理

为实现二元计算器的简单业务逻辑

private function calculate ($expression) {        $operator = "/(\+|\-|\*|\/)/";        $figure = "/\d*/";        $index = 0;        $oper = "";        if ($index = preg_match($operator, $expression, $oper)) {            $params = preg_split($operator, $expression);            if (!preg_match($figure, $params[0]) || !preg_match($figure, $params[1])) {                return false;            }            else {                switch ($oper[0])                 {                    case '+':                        return $params[0] + $params[1];                        break;                    case '-':                        return $params[0] - $params[1];                        break;                    case '/':                        return $params[0] / $params[1];                        break;                    case '*':                        return $params[0] * $params[1];                        break;                    default:                        return false;                        break;                }            }        }        return false;    }

四、代码管理

https://github.com/mitsuhide1992/wechat

五、遇到的问题

php的正则表达式检查和拆分函数:
检查:

preg_match($operator, $expression, $oper)

$operator是正则规则,$expression是要被检查的字符串,$oper是匹配的结果,单个匹配是变量,多个匹配到则是数组。
拆分:

preg_split($operator, $expression)

参数同检查。

还有在http的get请求中不能传递有+和-的字符串参数,但是post请求可以。这个问题导致第一次编写只有+和-操作通过不了,之前一直以为是+-正则问题。
注:匹配+-*/的正则表达式:

$operator = "/(\+|\-|\*|\/)/";

php中,正则表达式两边应该有//。

0 0
原创粉丝点击