Browse Source

修改

feature-1.0
helming 3 years ago
parent
commit
d10256bcc5
  1. 28
      pages/creator/creatorDetail.vue
  2. 11
      pages/creator/imgDetail.vue
  3. 2
      pages/userInfo/myCollection/myCollection.vue
  4. 17
      pages/userInfo/setting/setting.vue
  5. 126
      utils/request.js

28
pages/creator/creatorDetail.vue

@ -1,6 +1,8 @@
<template> <template>
<view class="creatorDetail"> <view class="creatorDetail">
<view class="avatar-box"> <view class="avatar-box">
<view class="dim-div"></view>
<view class="avatar-content">
<view class="avatar-top"> <view class="avatar-top">
<view class="avatar-left-box"> <view class="avatar-left-box">
<image :src="creatorInfo.img" mode=""></image> <image :src="creatorInfo.img" mode=""></image>
@ -32,6 +34,7 @@
</view> </view>
<view class="avatar-box-tag-right"> <view class="avatar-box-tag-right">
</view> </view>
</view>
</view> </view>
</view> </view>
<view class="middle"> <view class="middle">
@ -193,8 +196,31 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.creatorDetail { .creatorDetail {
.avatar-box { .avatar-box {
padding: 20rpx 20rpx; height: 20vh;
background-image: linear-gradient(-225deg, #007adf 0%, #00ecbc 100%); background-image: linear-gradient(-225deg, #007adf 0%, #00ecbc 100%);
position: relative;
.dim-div {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
/* 主要内容 */
background: rgba(26, 148, 188, .1);
/* 模糊大小就是靠的blur这个函数中的数值大小 */
backdrop-filter: blur(25rpx);
}
.avatar-content {
width: 100%;
height: 100%;
padding: 20px;
position: absolute;
top: 0;
left: 0;
display: grid;
}
.avatar-top { .avatar-top {
display: flex; display: flex;

11
pages/creator/imgDetail.vue

@ -63,6 +63,12 @@
primaryColor: '#1a94bc', primaryColor: '#1a94bc',
likeColor: '#ef223c', likeColor: '#ef223c',
collectColor: '#dcaa04', collectColor: '#dcaa04',
urlParamId: undefined,
}
},
onLoad(option){
if (option?.id) {
this.urlParamId = option.id;
} }
}, },
created() { created() {
@ -70,7 +76,8 @@
if (detailId) { if (detailId) {
this.getImgDetail(detailId) this.getImgDetail(detailId)
} else { } else {
this.getImgDetail(detailId) //
this.urlParamId && this.getImgDetail(this.urlParamId);
} }
}, },
onShareAppMessage(res) { onShareAppMessage(res) {
@ -83,7 +90,7 @@
}) })
return { return {
title: '来看看艺术家[' + this.scanCode + ']精心准备的图片吧~', title: '来看看艺术家[' + this.scanCode + ']精心准备的图片吧~',
path: `/pages/creator/imgDetail?id=${this.userInfo.id}`, path: `/pages/creator/imgDetail?id=${this.detailMsg.id}`,
bgImgUrl: `${this.detailMsg.imgUrl}` bgImgUrl: `${this.detailMsg.imgUrl}`
} }
}, },

2
pages/userInfo/myCollection/myCollection.vue

@ -92,7 +92,7 @@
if (item.id) { if (item.id) {
uni.setStorage({ uni.setStorage({
key: 'detailId', key: 'detailId',
data: item.imgId, data: item.id,
success() { success() {
uni.navigateTo({ uni.navigateTo({
url: '../../creator/imgDetail' url: '../../creator/imgDetail'

17
pages/userInfo/setting/setting.vue

@ -1,7 +1,7 @@
<template> <template>
<view class="container"> <view class="container">
<view class="list-menu"> <view class="list-menu">
<view class="list-menu-item" @click="logoutUser"> <view class="list-menu-item" @click="clearCache">
<uni-icons class="list-menu-icon" custom-prefix="iconfont" :type="clearIcon" size="20" :color="primaryColor"></uni-icons> <uni-icons class="list-menu-icon" custom-prefix="iconfont" :type="clearIcon" size="20" :color="primaryColor"></uni-icons>
<view class="text">清除缓存</view> <view class="text">清除缓存</view>
<uni-icons class="list-menu-genduo" custom-prefix="iconfont" type="icon-gengduo"></uni-icons> <uni-icons class="list-menu-genduo" custom-prefix="iconfont" type="icon-gengduo"></uni-icons>
@ -65,6 +65,21 @@
// } // }
// }, // },
methods: { methods: {
//
clearCache() {
let that = this;
uni.showModal({
title: "提示",
content: "确定清除缓存吗!",
showCancel: true,
success: function(ress){
if(ress.confirm){
}
}
});
}
},
// //
logoutUser(){ logoutUser(){
let that = this; let that = this;

126
utils/request.js

@ -1,6 +1,7 @@
import axios from "axios" import axios from "axios"
import qs from "qs" import qs from "qs"
import Vue from "vue" import Vue from "vue"
import {loginTiktok} from "../api/auth";
const service = axios.create({ const service = axios.create({
withCredentials: true, withCredentials: true,
@ -8,18 +9,128 @@ const service = axios.create({
baseURL: Vue.prototype.baseURL, //这个baseURL是我在main.js下配置的请求url baseURL: Vue.prototype.baseURL, //这个baseURL是我在main.js下配置的请求url
timeout: 10000 timeout: 10000
}) })
const loginFunc = (res, userInfo) => {
const params = {
code: res.code,
encryptedData: userInfo.encryptedData,
iv: userInfo.iv
}
// 用户授权登录
loginTiktok(params).then(res => {
if (res.data.code === 200) {
uni.setStorage({
key: 'userInfo',
data: res.data.data.userInfo,
})
this.userInfo = res.data.data.userInfo;
uni.setStorage({
key: 'token',
data: res.data.data.access_token
})
} else {
uni.showToast({
title: res.data.msg,
icon: 'none'
})
}
}).catch(res => {})
}
const refreshToken = () => {
uni.showModal({
title: '登录信息已过期',
content: '重新授权登录?',
success: function (res) {
if (res.confirm) {
uni.getSetting({
success: (settingObj) => {
if (settingObj.authSetting['scope.userInfo'] === undefined || settingObj.authSetting['scope.userInfo']) {
uni.login({
force: true,
success: (res) => {
uni.getUserInfo({
withCredentials: true,
success: (userInfo) => {
loginFunc(res, userInfo)
},
complete: () => {
},
fail: (errMsg) => {
}
})
},
complete: () => {
},
fail: (errMsg) => {
}
})
} else {
uni.showModal({
title: '您已拒绝授权用户信息',
content: '是否进入权限管理,调整授权?',
success: function (res) {
if (res.confirm) {
uni.openSetting({
success: (settingRes) => {
if (settingRes.authSetting['scope.userInfo']) {
uni.login({
force: true,
success: (res) => {
uni.getUserInfo({
withCredentials: true,
success: (userInfo) => {
loginFunc(res, userInfo)
},
complete: () => {
},
fail: (errMsg) => {
}
})
},
complete: () => {
},
fail: (errMsg) => {
}
})
}
},
fail: () => {
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
}
// request拦截器,在请求之前做一些处理 // request拦截器,在请求之前做一些处理
service.interceptors.request.use( service.interceptors.request.use(
config => { config => {
const token = uni.getStorageSync('token'); const token = uni.getStorageSync('token');
console.log('获取到的token',token) // console.log('获取到的token',token)
if (token) { if (token) {
// 给请求头添加user-token // 给请求头添加user-token
console.log('进入携带token方法') // console.log('进入携带token方法')
config.headers["TiktokAuthorization"] = token; config.headers["TiktokAuthorization"] = token;
console.log('token放入headers',config.headers) // console.log('token放入headers',config.headers)
} }
config.headers['Content-Type'] = 'application/json' config.headers['Content-Type'] = 'application/json'
// config.method === 'post' ? // config.method === 'post' ?
@ -30,7 +141,7 @@ service.interceptors.request.use(
return config; return config;
}, },
error => { error => {
console.log(error); // for debug // console.log(error); // for debug
return Promise.reject(error); return Promise.reject(error);
} }
); );
@ -44,10 +155,11 @@ service.interceptors.response.use(res => {
// return Promise.reject(res.data.msg); // return Promise.reject(res.data.msg);
// } // }
}, error => { }, error => {
/*if(error.response.status === 403){ if(error.response.status === 401){
// refreshToken() 刷新token并重置token refreshToken() //刷新token并重置token
}*/ } else {
return Promise.reject(error) return Promise.reject(error)
}
}) })
axios.defaults.adapter = function(config) { //自己定义个适配器,用来适配uniapp的语法 axios.defaults.adapter = function(config) { //自己定义个适配器,用来适配uniapp的语法

Loading…
Cancel
Save