获取用户信息userid ->获取地址列表 ->获取用户的所在地址(根据地址列表循环,显示所在的地址)->渲染歌曲列表
mounted:async function() {
if(GetUrlParam('cityId')==0||GetUrlParam('cityId')){
let res=await this.getAreaList();
this.arrAreaList=res.data.provinceList;
this.getCityName(GetUrlParam('cityId'));
this.getSingerList();
}else{
this.getUserInfo();
}
},
methods: {
// 获取用户信息
getUserInfo() {
// 未登录,端外 默认北京
if (!isVVmusic) {
this.asyncFn();
return;
}
vvsing.evoke('getContext', null, function(data) {
if( data.isLogined==1){
let userId = data.userInfo.vVNum || data.userInfo.VVNum;
this.asyncFn(userId);
}else{
this.asyncFn();
}
}.bind(this));
},
// 异步操作
async asyncFn(userId){
userId=userId||'';
let res=await this.getAreaList();
// 处理返回结果
this.arrAreaList=res.data.provinceList;
let res1=await this.getUserAddress(userId);
console.log(res1);
// 处理返回结果
if(!res1||!res1.data.discover){
this.curProvinceName='北京';
this.curProvinceID=1202;
}else{
let cityId = res1.data.discover.cityId+'';;
this.getCityName(cityId);
}
this.getSingerList();
},
// 获取地址列表
getAreaList(userId,callBack,cityId){
return axios.get(baseURL + 'cms/api/fetch.do?cmd=discoverService|selectProvince&req={}')
},
// 获取用户地址信息
getUserAddress(userId){
if(!userId) return;
let req=encodeURIComponent(`{"query":{"userId":${userId}}}`);
return axios.get(baseURL + 'cms/api/fetch.do?cmd=discoverService|selectuserCityId&req='+req)
},
// 获取地址名称
getCityName(cityId){
if(cityId==0){
this.curProvinceName='火星';
this.curProvinceID=cityId;
} else { //国内
//其他地区 定位北京
this.curProvinceName='北京';
this.curProvinceID=1202;
this.arrAreaList.some(function(item) {
if (cityId.substring(0, 4) ==item.provinceID) {
this.curProvinceName=item.provinceName;
this.curProvinceID=cityId.substring(0, 4);
return true;
}
}, this);
}
},
// 获取歌手列表
getSingerList(){
var req=encodeURIComponent(`{"query":{"gender":"${this.curGender}","provinceID":${this.curProvinceID}},"page":{"pageSize":20,"pageNo":${this.curPage}}}`);
axios.get(baseURL + 'cms/api/fetch.do?cmd=discoverService|selectProvincePage&req='+req, {
emulateJSON: true
}).then((res)=> {
var data = res.data;
this.arrSingerList=this.arrSingerList.concat(data.discoverList);
},(err)=> {
console.log(err);
});
},
}