using CloudGaming.DtoModel.Account;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;

namespace CloudGaming.Code.Account.Contract
{
    /// <summary>
    /// 登录接口
    /// </summary>
    public interface IUserAccount
    {

        /// <summary>
        /// 登录方式
        /// </summary>
        public int LastLoginType { get; set; }

        /// <summary>
        /// 设备号
        /// </summary>
        public string DeviceNumber { get; }
        /// <summary>
        /// 登录
        /// </summary>
        /// <returns></returns>
        Task<int> LoginAsync();


        /// <summary>
        /// 创建账号
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        Task CreateLoginAsync(T_User user);

       
        /// <summary>
        /// 获取用户属性
        /// </summary>
        /// <param name="userDataPropertyEnum"></param>
        /// <returns></returns>
        string GetUserDataProperty(UserDataPropertyEnum userDataPropertyEnum);
    }
}
