1. 携帯電話番号で登録してログインできます。
2. WeChat、QQ、Weibo を通じてサードパーティとしてログインできます。
3. ユーザーは自分の携帯電話番号、WeChat、QQ、Weibo をバインドできます。つまり、相互にバインドできます。
この場合、ユーザーは 1 ~ 4 個のアカウントを持つ可能性がありますが、後でサードパーティのログイン アカウントを他のアカウントにバインドすることができます。これにより、ログイン時にどのユーザー ID が使用されるかが決まります。
この状況でのユーザー テーブル構造の設計について、何か良い解決策はありますか?
曾经蜡笔没有小新2017-05-16 13:09:27
メインユーザーテーブルがあることは確実です。 3 者間のログイン情報は、3 者間のインターフェイスごとに別のテーブルに保存する必要があります。 (スリーパーティ インターフェイスから返されるデータが類似している場合は、それを 1 つのテーブルに入れることを検討できます) スリーパーティ ログイン テーブルには、メイン ユーザー テーブルに関連付けられた uid フィールドが存在します。
サードパーティがログインした後、サードパーティのテーブルに関連するデータがあるかどうかを確認し、ない場合は、これをロジックに従って登録またはバインドする必要があります。データが見つかった場合は、ログインします。
次に、サードパーティアカウントの二次バインディングの問題について言及しました。 バインドされたことを示すプロンプトが直接表示され、再度バインドする前にバインドを解除する必要があります。それだけです。