uniapp ajax数据库查询,uniapp小程序登录、数据请求方式
index頁面
手動授權按鈕
exportdefault{
data() {return{
imgInfo:"",//頭像
nickName:""//昵稱
}
},
onLoad() {//初始時獲取用戶設置
this.accessPermission();
},
methods: {//執行獲取用戶設置的函數
accessPermission() {//賦值this指向
var _this=this;//獲取授權信息
uni.getSetting({
success(res) {//判斷scope后對應的scope.userInfo是否授權
if (res.authSetting['scope.userInfo']) {//如果已經授權,則獲取用戶信息
uni.getUserInfo({
success(res){//獲取信息后執行登錄
_this.handleLogin(res);
},
fail(err){
console.log("獲取用戶信息失敗")
}
})
}else if (!res.authSetting['scope.userInfo']) {//如果沒有授權則進行提前授權--進入頁面時彈出
//不配置此項初次進入頁面不會彈出申請權限窗口
uni.authorize({//配置授權選項--用戶賬號信息
scope:'scope.userInfo',
success(res){//授權成功后可以直接獲取用戶相關信息
console.log("授權成功")
},
fail(err){//提前授權失敗時,等待用戶手動點擊授權
console.log("授權失敗")
}
})
};
}
})
},//點擊按鈕激發授權事件
getHandle() {//重賦值this
var _this=this;//獲取用戶授權設置
uni.getSetting({
success(res){if(res.authSetting['scope.userInfo']){//如果要獲取的權限已經授權,則直接獲取相關信息
uni.getUserInfo({
success(res){//獲取相關數據后,進行登錄及數據請求
_this.handleLogin(res);
},
fail(err){//錯誤信息
console.log(err)
}
})
}else if(!res.authSetting['scope.userInfo']){//如果要獲取的權限尚未授權,則此時觸發授權,打開設置頁面
uni.showModal({//彈出提示框
title: '是否打開設置頁?',
content:'需要在設置中獲取xx信息和xx權限',
success(res) {if(res.confirm) {
uni.openSetting({//彈出框,確認后打開設置頁面
success(res) {
console.log(res.authSetting)
},
})
}else if(res.cancel) {
console.log('用戶點擊取消');
}
}
});
}
}
})
},//執行登錄,數據請求的方法
handleLogin(infoRes){this.imgInfo=infoRes.userInfo.avatarUrl;//頭像信息
this.nickName=infoRes.userInfo.nickName;//昵稱
let encryptedData=infoRes.encryptedData;//用戶信息的加密數據串
let iv=infoRes.iv;//加密算法秘鑰
//進行用戶登錄
uni.login({
success(res){if(res.code){//登錄成功后且code存在,則進行數據請求
uni.request({//請求路徑
url:"http://m.maoyan.com/ajax/movieOnInfoList",//攜帶參數
data:{
code:res.code,//請求時攜帶參數
},
method:"GET",
success(res){
console.log(res);
},
fail(err){
console.log("數據請求失敗")
}
})
}else{//無code時不執行數據請求
console.log("無code")
}
},
fail(err){
console.log("登陸失敗")
}
})
}
},
}
總結
以上是生活随笔為你收集整理的uniapp ajax数据库查询,uniapp小程序登录、数据请求方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: avgregcl.exe进程是病毒吗 a
- 下一篇: linux cmake编译源码,linu