修改推特账号注册方法
This commit is contained in:
@@ -232,6 +232,7 @@ func (bit *BitBrowserService) Register() *libs.ErrorInfo {
|
||||
if browserId == "" {
|
||||
return libs.ErrorCode["BrowserCreationFailed"]
|
||||
}
|
||||
time.Sleep(10 * time.Second)
|
||||
ws := bit.OpenBrowser(browserId)
|
||||
if ws == "" {
|
||||
return libs.ErrorCode["BrowserCreationFailed"]
|
||||
@@ -243,15 +244,33 @@ func (bit *BitBrowserService) Register() *libs.ErrorInfo {
|
||||
log.Println("当前邮箱信息", emailInfo)
|
||||
obj := Browser.GetBitBrowser(ws)
|
||||
page := obj.Page
|
||||
err := rod.Try(func() {
|
||||
page.MustNavigate("https://x.com/i/flow/signup").MustWaitLoad()
|
||||
// 点击创建账号
|
||||
createAccount := page.Timeout(5 * time.Second).MustElement(`button.css-175oi2r.r-sdzlij.r-1phboty.r-rs99b7.r-lrvibr.r-ywje51.r-184id4b.r-13qz1uu.r-2yi16.r-1qi8awa.r-3pj75a.r-1loqt21.r-o7ynqc.r-6416eg.r-1ny4l3l`)
|
||||
createAccount.MustClick()
|
||||
})
|
||||
if err != nil {
|
||||
page.MustReload()
|
||||
time.Sleep(10 * time.Second)
|
||||
// 点击创建账号
|
||||
createAccount := page.Timeout(5 * time.Second).MustElement(`button.css-175oi2r.r-sdzlij.r-1phboty.r-rs99b7.r-lrvibr.r-ywje51.r-184id4b.r-13qz1uu.r-2yi16.r-1qi8awa.r-3pj75a.r-1loqt21.r-o7ynqc.r-6416eg.r-1ny4l3l`)
|
||||
createAccount.MustClick()
|
||||
}
|
||||
time.Sleep(5 * time.Second)
|
||||
// 判断当前是否是邮箱注册
|
||||
// _, err := page.Element(`input[name="email"]`)
|
||||
// if err != nil {
|
||||
switchButton := page.Timeout(5 * time.Second).MustElement(`button.css-146c3p1.r-bcqeeo.r-qvutc0.r-37j5jr.r-1ff274t.r-a023e6.r-rjixqe.r-16dba41`)
|
||||
switchButton, switchButtonErr := page.Timeout(5 * time.Second).Element(`button.css-146c3p1.r-bcqeeo.r-qvutc0.r-37j5jr.r-1ff274t.r-a023e6.r-rjixqe.r-16dba41`)
|
||||
if switchButtonErr == nil {
|
||||
switchButton.MustClick()
|
||||
}
|
||||
|
||||
emailButtonQ, switchButtonErr := page.Timeout(5 * time.Second).Element(`button.css-146c3p1.r-bcqeeo.r-qvutc0.r-1tl8opc.r-1ff274t.r-a023e6.r-rjixqe.r-16dba41`)
|
||||
if switchButtonErr == nil {
|
||||
emailButtonQ.MustClick()
|
||||
}
|
||||
|
||||
// }
|
||||
// 获取邮箱输入框
|
||||
inputEmail := page.Timeout(5 * time.Second).MustElement(`input[name="email"]`)
|
||||
@@ -302,6 +321,15 @@ func (bit *BitBrowserService) Register() *libs.ErrorInfo {
|
||||
if err1 != nil {
|
||||
// res := getApiResponse(page, "")
|
||||
}
|
||||
var codeInputVer *rod.Element = nil
|
||||
// 循环获取 验证码输入框
|
||||
for codeInputVer == nil {
|
||||
t, err1 := page.Timeout(5 * time.Second).Element(`input[name="verfication_code"]`)
|
||||
if err1 == nil {
|
||||
codeInputVer = t
|
||||
}
|
||||
time.Sleep(5 * time.Second)
|
||||
}
|
||||
//TODO 对接获取邮箱信息接口
|
||||
time.Sleep(10 * time.Second)
|
||||
codeValue := LoopGetEmailCode("pop.dragonsmail.com:993", emailInfo.Email, emailInfo.Password)
|
||||
@@ -340,7 +368,7 @@ func (bit *BitBrowserService) Register() *libs.ErrorInfo {
|
||||
cookieArr := GetPageCookie(page, "https://x.com")
|
||||
// 创建用户
|
||||
twitterAccountService := InitTwitterAccountService()
|
||||
twitterAccountService.Create(&models.TwitterAccount{
|
||||
accountId := twitterAccountService.Create(&models.TwitterAccount{
|
||||
Name: nameStr,
|
||||
Email: emailInfo.Email,
|
||||
Password: emailInfo.Password,
|
||||
@@ -395,7 +423,11 @@ func (bit *BitBrowserService) Register() *libs.ErrorInfo {
|
||||
if errOCF == nil {
|
||||
OCF_CallToAction_Button.MustClick()
|
||||
}
|
||||
|
||||
if accountId != 0 {
|
||||
twitterAccountService.Update(accountId, &models.TwitterAccount{Fa2: fa2CodeText})
|
||||
}
|
||||
time.Sleep(2 * time.Second)
|
||||
page.MustNavigate("https://x.com/home").MustWaitLoad()
|
||||
// 删除浏览器
|
||||
// bit.DeleteBrowser(browserId)
|
||||
return libs.ErrorCode["RegisterSuccessful"]
|
||||
|
||||
@@ -19,7 +19,7 @@ func InitEmailService() *EmailService {
|
||||
|
||||
func (e *EmailService) GetEmailOne() *models.Email {
|
||||
var email models.Email
|
||||
err := e.db.Model(email).Where("use_status = ? and status=?", 0, 1).First(&email).Error
|
||||
err := e.db.Model(email).Where("use_status = ? and status=?", 0, 1).Order("RAND()").Limit(1).Find(&email).Error
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -17,10 +17,14 @@ func InitTwitterAccountService() *TwitterAccountService {
|
||||
return &TwitterAccountService{db: db}
|
||||
}
|
||||
|
||||
func (t *TwitterAccountService) Create(params *models.TwitterAccount) {
|
||||
func (t *TwitterAccountService) Create(params *models.TwitterAccount) int64 {
|
||||
params.CreateTime = time.Now().Unix()
|
||||
params.UpdateTime = time.Now().Unix()
|
||||
t.db.Create(params)
|
||||
result := t.db.Create(params)
|
||||
if result.Error != nil {
|
||||
return 0
|
||||
}
|
||||
return params.ID
|
||||
}
|
||||
|
||||
func (t *TwitterAccountService) GetInfo(id int64) *models.TwitterAccount {
|
||||
@@ -81,3 +85,8 @@ func (u *TwitterAccountService) ClearAccountStatus(params *models.TwitterAccount
|
||||
u.db.Model(&models.TwitterAccount{}).Where("status = ?", params.Status).Update("status", nil)
|
||||
return true
|
||||
}
|
||||
|
||||
func (u *TwitterAccountService) Update(id int64, params *models.TwitterAccount) {
|
||||
params.UpdateTime = time.Now().Unix()
|
||||
u.db.Model(&models.TwitterAccount{}).Where("id = ?", id).Updates(params)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user