class MainController
: public ui::Controller
{
public:
void view_loaded();
protected:
void act_post(); //发送按钮执行事件 void act_authsuc(EventObj&); //授权成功执行事件 sina::Provider _sina; //sina微博连接类
};
void MainController::view_loaded()
{
view().btn_post.connect(kSignalButtonClicked, _action(MainController::act_post), this); //连接发送按钮
_sina.connect(kSignalAuthorizeSuccess, _action(MainController::act_authsuc), this); //连接授权成功消息
}
void MainController::act_authsuc(EventObj &evt)
{
// 将授权成功的信息保存到永久配置
// 如果需要判断过不过期,则保存到 Cache 中
store::Configuration* config = store::Configuration::shared();
ns::MutableDictionary dict;
_sina.save(dict);
config->set_obj(@"openapi::sina::data", dict);
}
void MainController::act_post()
{
// 获得之前授权过的信息
store::Configuration* config = store::Configuration::shared();
ns::Dictionary dict = config->get_obj(@"openapi::sina::data");
if (dict.is_null())
{
// 没有授权,则保存
_sina.authorize();
return;
}
// 读取信息 _sina.load(dict); // 发送文字微博 sina::WeiboPost api; api.set_content(view().txt_post.text()); _sina.execute(api);
}