1. 程式人生 > >uniapp 開發【微信小程式簡陋登入模組】

uniapp 開發【微信小程式簡陋登入模組】

<script>
     export default {
            data() {
                components: {
                    
                    
                    
                }
                return {
                    SessionKey: '',
                    code:'',
                    
                    isCanUse: uni.getStorageSync('isCanUse')||true,//預設為true
                    show:true,
                    userInfo:{
                        avatarUrl: '',
                         nickName: '',
                         country:'',
                         city:'',
                         gender:0,
                         province:'',
                         openid: ''
                         
                    }
                };
            },
            
            methods: {
        
                
                wxGetUserInfo:function(){
                    uni.wxGetUserInfo({
                        lange:"zh_CN",
                        success(res){
                            app.globalData.userInfo = res.userInfo;
                            console.log("uesrInfo:" +app.globalData.userInfo);
                        },fail(res){
                            console.log("fail"+res)
                        }
                    })
                },
                onShow:function(){
                    let that = this
                    uni.login({
                        success(res) {
                            that.getopenId(res.code) 
                        }
                    })
                     console.log(that.userInfo)
                },
                // 拿到code獲取使用者的openid儲存在userinfo裡
                getopenId:function(code){
                          let that = this
                            uni.request({
                            url:'https://yj.clopl.com/index.php/api/login/getOpenid?code='+code,
                            method:'GET',
                            // data:'code',
                            success:(res)=>{
                                    console.log(res)
                                that.userInfo.openid = res.data.openid
                            console.log(that.userInfo.openid)
                                that.SessionKey = res.data.session_key
                              console.log(res)
                                                                            }
                        })
                },
                
          //登入
                getuserinfo(e) {
                    let that = this;
                     
                    that.userInfo.nickName = e.detail.userInfo.nickName;
                    that.userInfo.avatarUrl = e.detail.userInfo.avatarUrl;
                    that.userInfo.city = e.detail.userInfo.city;
                    that.userInfo.country = e.detail.userInfo.country;
                    that.userInfo.gender = e.detail.userInfo.gender;
                    that.userInfo.province = e.detail.userInfo.province;
                    that.login(that.userInfo)
                    console.log(that.userInfo)
                                 uni.setStorage({
                                    key:'storage_key',
                                    data:that.userInfo,
                                       success(data) {
                                             console.log(data)
                                       }
                                    })    
                                                             
                                            uni.reLaunch({//資訊更新成功後跳轉到小程式首頁
                                                   url: '../../../pages/index/index'
                                                    });
                                 
                            },
                            // 向後臺發請求 儲存使用者資料
                 login(userInfo){
                    uni.request({
                        url:"https://yj.clopl.com/index.php/api/login/saveUserInfo",
                        method:"POST",
                        data:{...userInfo},
                        
                        success(res) {
                            console.log(res)
                        }
                        })
                    
                 }
            },
        }
        
</