EliCounter

An app on Roselia Application Platform

Nov 30, 2017

见习魔法师

EliCounter

尝试用Elixir写了一个小的web应用,使用Phoenix Framework。我个人认为Phoenix/Elixir 的架构实现很赞,模式匹配的威力十足。不少方便的方法其实都是宏,能让人吃到十分甜的语法糖。

管道操作符

conn
    |>  func1(args)
    |>  func2(args)
    |> render("template.html")

模式匹配+参数提取

def call_back(conn, %{"success" => "true", "token" => token}), do: authorize()
def call_back(conn, _), do: failed()

case auth(params) do
    {:ok, payload} -> success(payload)
    {:error, reason} -> fail(reason)
end

EliCounter,一个web计数器。登录方式使用(伪)Oauth,其实是私有协议,Oauth协议什么不存在的。 这样的好处是我不用再写登录逻辑了。

传送门:EliCounter

API:

GET:  https://counter.roselia.moe/api/c/:name -> 获取 :name 的计数
POST: https://counter.roselia.moe/api/i/:name -> :name + 1

创建,编辑计数器: 登录即可。