1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- export default{
- onLoad() {
- if(this.systemInfo.platform !== 'ios'){
- return;
- }
- const systemVersion = +this.systemInfo.system.split('.')[0];
- if(systemVersion >= 13){
- this.canUseAppleLogin = true;
- }
- },
- methods: {
- //苹果登录
- async loginByApple(){
- /* if(!this.canUseAppleLogin){
- this.$util.msg('系统版本过低,无法使用苹果登录');
- return;
- } */
- if(!this.agreement){
- this.$util.msg('请阅读并同意用户服务及隐私协议');
- this.$refs.confirmBtn.stop();
- return;
- }
- uni.login({
- provider: 'apple',
- success: loginRes=> {
- // 登录成功
- uni.getUserInfo({
- provider: 'apple',
- success: async userRes=> {
- console.log(userRes);
- const response = await this.$request('user', 'loginByApple', {
- authorizationCode: userRes.userInfo.authorizationCode,
- identityToken: userRes.userInfo.identityToken
- }, {
- showLoading: true
- });
- console.log(response);
- //注销苹果登录
- this.appleLogout();
- console.log(response);
- if(response.status === 0){
- this.$util.msg(response.msg);
- return;
- }
- if(response.hasBindMobile && response.data.token){
- this.loginSuccessCallBack({
- token: response.data.token,
- tokenExpired: response.data.tokenExpired
- });
- }else{
- this.navTo('/pages/auth/bindMobile?type=apple&data='+JSON.stringify(response.data))
- }
- }
- })
- },
- fail: err=> {
- console.log(err);
- this.$util.msg('登录失败');
- this.appleLogout();
- }
- })
- },
- appleLogout(){
- plus.oauth.getServices(oauthRes=>{
- const oIndex = oauthRes.findIndex(oItem=> oItem.id === 'apple');
- oauthRes[oIndex].logout(loRes => {
- console.log('appleLogout success=> ', loRes);
- }, loErr => {
- console.log('appleLogout error=> ', loErr);
- })
- })
- }
- }
- }
|