chaos2wechat 1.1.131010 documentation

Version: 1.1.131010
[首页] 预备 << 00:00” 初尝 (Source) >>那么

00:00” 初尝

整起来先! - 嗯嗯嗯,现在可以计时了: 00:00

安装

参考: dev_server 官方安装说明

安装SAE本地虚拟环境

$ git clone http://github.com/SAEPython/saepythondevguide.git
$ sudo python setup.py install
$ dev_server.py --help
Usage: dev_server.py [options]

Options:
  -h, --help            show this help message and exit
  -p PORT, --port=PORT  Which port to listen
  --mysql=MYSQL         Mysql configuration: user:password@host:port
  --storage-path=STORAGE
                        Directory used as local stoarge

同时也就拥有了SAE专用部署工具 saecloud

$ saecloud version
SAE command line v0.0.1
$ saecloud -h
usage: saecloud [-h] {version,export,deploy} ...

positional arguments:
  {version,export,deploy}
                        sub commands
    export              export source code to local directory
    deploy              deploy source directory to SAE
    version             show version info

optional arguments:
  -h, --help            show this help message and exit

创建

先在 SAE 申请开发者帐号, 再创建个 Python 应用, 取个好名字,

比如 wechat ,嗯嗯嗯,目测是不可能了,,, 但是,我们的示例都将以此为名

验证

那么开始 SAE 的应用编程吧!

理解 SAE 的应用目录结构:

/path/2/you/wechat/
  +- config.yaml    应用配置
  +- index.wsgi     应用根代码

config.yaml

---
name: wechat
version: 1

index.wsgi

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# -*- coding:utf-8 -*-
from bottle import *
import sae

APP = Bottle()
application = sae.create_wsgi_app(APP)

@APP.get('/echo')
@APP.get('/echo/')
def echo_wechat():
    print request.query.keys()
    print request.query.echostr
    return request.query.echostr

94这么简单!

然后,本地跑一下,看是否正常:

$ dev_server.py
MySQL config not found
 * Running on http://localhost:8080/
 * Restarting with reloader
MySQL config not found

命令行见到这样输出的,就说明本地的 SAE 开发服务已经跑起了,代码本身已经没有问题了; 需要部署到云端,真正跟 wechat 配合起来才能测试业务,

所以:

$ saecloud deploy
Deploying http://wechat.sinaapp.com
Updating cache
Finding changes
Deploying to server...  done

使用部署工具,向云端部署,如果出现以上类似的输出,就说明成功了, 否则,查相关文档了: saecloud

等等?!

这一大堆代码研究是作什么用的?!

嗯嗯嗯...

../_images/chaos0-1-Callbackprofile.jpg

插图 0-1 成为微信公众平台开发者

因为,想从默认的 编辑模式 切换为高级的 开发模式

  • wechat 首先要检验我们是否有开发能力
  • 通过极其简单的一个 RESTful 接口注册
  • wechat 将我们自个儿定义的一个 Token 经过加密发送到我们自个儿注册的接口
  • 然后,如果我们在5秒之内部反馈回了正确的, wechat 发送过来的 echostr ~ 随机字符串 就证明,我们已经发布了一个同运行可应答的 web 服务,是头合格的程序猿!
  • 就会立即开放 开发模式 给我们的公众号,提供进一步的自动服务

所以,经过上述的本地测试,部署,我们其实已经获得了一个

http://wechat.sinaapp.com

接口服务网站!

cURL

好的,有聪明的读者肯定已经观察出,不科学的地方!

  • 这样一来, 难道每次都要 部署 SAE 再触发 wechat 来测试?!?!?!

嗯嗯嗯,严格的来说,肯定不用的,,,我们在本地有更加伟大的 cURL

../_images/chaos0-2-tmux.png

插图 0-2 使用 tumx 收纳运行+测试 在同一界面

可以在本地,对 SAE sdk 测试环境中的运行网站,进行模拟访问来观察输出,明确是否达成了设想中的响应!

然后再部署上去.

7:01” 小结

不出意外的话, 七分钟 用在这个阶段,很足够了!

整体思路,就是要,先习惯,并建立起,依托 SAE 的开发过程:

修订代码
^  `->saecloud deploy
|       `-> curl 请求测试
|               |
+---------------/
comments powered by Disqus