used "filter" instead of "action"
updated migration, used model to validate
let developer specify weixin_secret_key value