Я пытаюсь добавить реферальную систему к моему проекту, поэтому в настоящее время я основываю ее на this package. Проблема, с которой я сталкиваюсь, - это мой проект, который использует только accounts-google, а не учетную запись. Способ работы этого пакета заключается в добавлении железного маршрутизатора query parameters для referrerCode (/register?r=ReferralCodeHere
) через preSignUpHook. Я считаю, что это работает только с учетными записями - пароль не работает при создании учетной записи с API, например accounts-google.Как получить параметры запроса Iron-router на крюке сервера
Моя идея вокруг этого использовать Meteor.users.before.insert
крюк, чтобы захватить параметры запроса железа маршрутизатора и вставить их в свой referrerCode
поле в Meteor.users, поскольку я уже использую Meteor Collection Hooks на пару других вещей.
Этот вопрос я гавань была в состоянии найти способ получить параметры запроса на сервере, я надеялся, что сделать что-то вроде этого:
Meteor.users.before.insert(function(userId, doc) {
doc.referrerCode = Referrer._referrerCode; // Link 1
});
(Link 1)
Но это будет просто придумать как неопределенный.
Если я нахожусь на моей странице регистрации, и у него есть запрос вроде этого, например: example.com/register?r=12345
Затем я запускаю Router.current().params.query.r
на клиенте, он возвращает 12345
. В основном мне просто нужно сохранить это в поле referralCode в Meteor.users, когда новый пользователь создает учетную запись, если в URL-адресе реестра существует реферальный код.
Я немного потерялся с этим. Я подумал о том, чтобы установить его как переменную сеанса, а затем получить это в hook.inert, но это снова работает только на стороне клиента. Я думаю, что метод метеор мог бы быть лучшим для этого, но я не совсем уверен, как бы я его структурировал. Любая помощь очень ценится!