zoukankan      html  css  js  c++  java
  • uniapp——苹果登录

    使用苹果登录首先需要在苹果开发者后台开启 App 的 Sign In with Apple 服务

    1.登录到苹果开发者后台 编辑对应的 Identifier 勾选 Sign In with Apple 服务并保存

    2.勾选或取消服务,会导致之前的 profile 描述文件失效,不需要新建,只要点击 Edit 重新编辑对应的 profile文件,然后保存下载使用新的profile文件即可

    在 HBuilderX 编辑项目的 manifest.json ,在 App SDK配置中找到苹果登录,并勾选。

    登录按钮样式

    苹果对登录按钮样式有要求,请按照苹果要求统一设置登录按钮的样式,否则审核可能会被拒绝

    需要注意的是:

    • 按钮必须在显著的位置(避免滑动屏幕才能看到)
    • 登录按钮有三种外观:白色,带有黑色轮廓线的白色和黑色,其他设计可能会影响审核;
    • 按钮圆角范围及按钮最小尺寸也有要求;
    • 具体规则请参考苹果 官方文档

    注:因为是 iOS13+ 系统才支持苹果登录,所以建议在App的界面入口判断下,只有 iOS13 才显示Apple登录的选项

            onLoad() {
                uni.getSystemInfo({
                    success:(res) => {
                        // console.log(res)
                        this.system = res.system  // ios
                        this.platform = res.platform  // 14.3
                    }
                })
            },
    <!-- 苹果登录 -->
    <view class="item-1-2" v-if="platform == 'ios' && system >= '13'" @click="LoginForApple">
      <
    image mode="widthFix" src="../../../static/center-icon/OS_Apple-2.png"></image>
    </
    view>
                // 苹果登录
                LoginForApple() {
                    uni.getProvider({
                        service: 'oauth',
                        success: function (res) {
                            // console.log(res.provider)
                            if(~res.provider.indexOf('apple')) {
                                uni.login({
                                    provider: 'apple',
                                    success: loginRes => {
                                        uni.getUserInfo({
                                            provider: 'apple',
                                            success: userInfoRes => {
                                                console.log('获取用户信息成功'+JSON.stringify(userInfoRes))
                                            }
                                        })
                                    },
                                    fail: err => {
                                        // console.log('apple登录失败' + JSON.stringify(err))
                                        uni.showToast({
                                            title:'登录失败',
                                            icon:'none'
                                        })
                                    }
                                })
                            }
                        },
                        fail: err => {
                            uni.showToast({
                                title:'登录失败',
                                icon:'none'
                            })
                        }
                    })
                }

    appleInfo

    属性类型说明
    user String 苹果用户唯一标识符
    state String 验证信息状态
    email String 用户共享的可选电子邮件
    fullName Object 用户共享的可选全名
    authorizationCode String 验证数据
    identityToken String Web令牌(JWT)
    realUserStatus Number 标识用户是否为真实的人 0:当前平台不支持,忽略该值;1:无法确认;2:用户真实性非常高
    scope String 返回信息作用域

    fullName

    属性类型说明
    namePrefix String 名字前缀,头衔、敬称
    givenName String 名字
    middleName String 中间名
    familyName String
    nameSuffix String 名字后缀,学位、荣誉
    nickName String 昵称

    授权失败 code 说明

    code说明
    1000 未知错误
    1001 取消授权
    1002 返回值无效
    1003 请求未处理
    1004 授权失败

    最后提交云打包或自定义基座打包进行功能测试 !

  • 相关阅读:
    Hibernate 之核心接口
    [综]隐马尔可夫模型Hidden Markov Model (HMM)
    [zz]利用碎片时间健身
    [zz]简单有效,在家就能锻炼!
    matlab global 不能传向量/矩阵
    [zz] 基于国家标准的 EndNote 输出样式模板
    [zz] ROC曲线
    [ZZ] Equal Error Rate (EER)
    [综] Sparse Representation 稀疏表示 压缩感知
    [zz] Principal Components Analysis (PCA) 主成分分析
  • 原文地址:https://www.cnblogs.com/zhaohui-116/p/14285007.html
Copyright © 2011-2022 走看看