Hello world¶
这将是你使用 WEGO 的一个简单起步,放轻松,WEGO 不会给你带来太多理解上的压力,但开始前,我们希望你对 Django 或 Tornado 有一定的使用经验,如果两者你都还没尝试过,我们推荐文档更优秀的 Django 作为你的起步 (https://www.djangoproject.com/)。(和 python2.x 用户的约定: 使用 unicode 类型传递包含中文的字符串如: u’中文’)
初始化¶
我们建议把 wego 的初始化放入你的配置文件内,如 django 的 settings.py,下面所需的参数都可以在微信公众平台获得 (https://mp.weixin.qq.com)。
import wego
# wego 初始化, 对应信息可以登录微信公众平台获取
w = wego.init(
# 应用ID (开发 -> 基本配置)
APP_ID='',
# 应用密钥 (开发 -> 基本配置)
APP_SECRET='',
# 注册域名, 微信公众平台左侧: 接口权限-> 网页授权获取用户基本信息内配置, 需加上 http(s):// 以 / 结尾
REGISTER_URL='http://www.example.com/',
# WEGO 助手 'wego.helpers.tornado_helper'
HELPER='wego.helpers.official.DjangoHelper',
)
如果你是 tornado 用户,那么我们建议启动 tornado 时配置一下 cookie_secret (http://tornado-zh.readthedocs.io/zh/latest/guide/security.html),以增强安全性
注意:文档内的 w 变量将特指 wego.init 返回的 WegoApi 实例。
Hello world¶
让 wego 和你打个招呼~
# 将上面初始化后的实例 w import 进来
from somewhere import w
# django
@w.login_required
def index(request):
hello = 'Hello %s!' % request.wx_user.nickname
return HttpResponse(hello)
# tornado
class IndexHandler(tornado.web.RequestHandler):
@w.login_required
def get(self):
hello = 'Hello %s!' % self.wx_user.nickname
return self.write(hello)
将 url 指向对应的函数或类,然后访问这个 url,是不是成功了?虽然不是标准的网页没有漂亮的样式字也有些小,但是热情还是在的。
更多参数的初始化¶
这是一个使用了更多初始化参数的例子,完整参数的示例请移步至 初始化参数说明。
# wego 初始化, 对应信息可以登录微信公众平台获取
w = wego.init(
# 应用ID (开发 -> 基本配置)
APP_ID='',
# 应用密钥 (开发 -> 基本配置)
APP_SECRET='',
# 注册域名, 微信公众平台左侧: 接口权限-> 网页授权获取用户基本信息内配置, 需加上 http(s):// 以 / 结尾
REGISTER_URL='http://www.example.com/',
# WEGO 助手 'wego.helpers.tornado_helper'
HELPER='wego.helpers.official.DjangoHelper',
# -- 使用微信支付时才填以下参数 --
# 商户号
MCH_ID='',
# 商户密钥
MCH_SECRET='',
# apiclient_cert.pem 证书路径
CERT_PEM_PATH='/path/to/apiclient_cert.pem',
# apiclient_key.pem 证书路径
KEY_PEM_PATH='/path/to/apiclient_key.pem',
# 微信支付服务器回调路径
PAY_NOTIFY_PATH='/a/',
# -- 使用服务器消息推送才填以下参数 --
# 推送 Token (开发 -> 基本配置)
PUSH_TOKEN='',
# 推送 EncodingAESKey (开发 -> 基本配置)
PUSH_ENCODING_AES_KEY='',
# 选填,微信用户授权登录强制跳转路径, 如 '/'、'/jump'、'/redirect'
REDIRECT_PATH='/',
# 选填,微信用户授权跳转回来 state 参数的值
REDIRECT_STATE='/',
# 选填, 用户信息缓存过期时间, 单位秒, 不填则不缓存用户数据
USERINFO_EXPIRE=60*3,
# 选填, DEBUG 模式下, 微信支付为 1 分钱
DEBUG=True,
)