Skip to content

Commit 3876853

Browse files
committed
feat(User): requestChangePhoneNumber & changePhoneNumber
1 parent 750ccf7 commit 3876853

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

src/LeanCloud/User.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,11 +467,36 @@ public static function verifyMobilePhone($smsCode) {
467467
Client::post("/verifyMobilePhone/{$smsCode}", null);
468468
}
469469

470+
/**
471+
* Request mobile phone verify before updating it.
472+
*
473+
* @param string $phoneNumber
474+
*/
475+
public static function requestChangePhoneNumber($phoneNumber) {
476+
Client::post("/requestChangePhoneNumber", array(
477+
"mobilePhoneNumber" => $phoneNumber
478+
));
479+
}
480+
481+
/**
482+
* Update mobile phone number by SMS code.
483+
*
484+
* @param string $smsCode
485+
* @param string $phoneNumber
486+
*/
487+
public static function changePhoneNumber($smsCode, $phoneNumber) {
488+
Client::post("/changePhoneNumber", array(
489+
"mobilePhoneNumber" => $phoneNumber,
490+
"code" => $smsCode
491+
));
492+
}
493+
470494
/**
471495
* Sign up user by mobile phone and SMS code
472496
*
473497
* @param string $phoneNumber
474498
* @param string $smsCode
499+
* @return User
475500
*/
476501
public static function signUpOrLoginByMobilePhone($phoneNumber, $smsCode) {
477502
$resp = Client::post("/usersByMobilePhone", array(

test/UserTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,24 @@ public function testSignUpOrLoginByMobilePhone() {
181181
User::signUpOrLoginByMobilePhone("18612340000", "000000");
182182
}
183183

184+
public function testRequestChangePhoneNumber() {
185+
$this->setExpectedException("LeanCloud\CloudException", null, 600);
186+
$user = new User();
187+
$user->setUsername("php_test_change_phone_number");
188+
$user->setPassword("blabla");
189+
$user->signUp();
190+
// phone number is from https://www.yinsiduanxin.com
191+
User::requestChangePhoneNumber("+8616533875941");
192+
}
193+
194+
public function testChangePhoneNumber() {
195+
$this->setExpectedException("LeanCloud\CloudException", null, 603);
196+
User::changePhoneNumber("992989", "+8616533875941");
197+
$user = User::logIn("php_test_change_phone_number", "blabla");
198+
$this->assertEquals("+8616533875941", $user->getMobilePhoneNumber());
199+
$user->destroy();
200+
}
201+
184202
public function testLogInWithLinkedService() {
185203
$user = User::logIn("alice", "blabla");
186204

0 commit comments

Comments
 (0)