| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- <template>
- <view>
- <view class="subject">
- <view style="width: 100%;background-color: #FFFFFF;position: relative;">
- <view class="personal" v-if="isLogin">
- <view class="personal_left">
- <image :src="userinfos.image" mode="" @error="imageError"></image>
- </view>
- <view class="personal_center">
- <p>{{usernames}}</p>
- <p>{{ userinfos.email || userinfos.mobile }}</p>
- </view>
- <view class="personal_right" @click="userinfo">
- <uni-icons type="compose" style="color: #FFFFFF;margin-right: 10rpx;"></uni-icons>
- 编辑
- </view>
- </view>
- </view>
- <view style="background-color: #FFFFFF;margin: 20rpx auto 0;">
- <view class="AboutUs" @click="about">
- <u-icon name="pingtai" custom-prefix="custom-icon" class="icon_left"></u-icon>
- {{$isneutral?"关于我们":"关于更新"}}
- <p class="update" v-if="updateTF">NEW</p>
- <uni-icons type="arrowright" class="icon_right"></uni-icons>
- </view>
- </view>
- <view style="background-color: #FFFFFF;" v-if="isLogin">
- <view class="quit" @click="outto">
- <u-icon name="tuichudenglu" custom-prefix="custom-icon" class="icon_left"></u-icon>
- 退出登录
- <uni-icons type="arrowright" class="icon_right"></uni-icons>
- </view>
- </view>
- <view style="background-color: #ffffff" v-else>
- <view class="quit" @click="handleLogin">
- <u-icon
- name="tuichudenglu"
- custom-prefix="custom-icon"
- class="icon_left"
- ></u-icon>
- 去登录
- <uni-icons type="arrowright" class="icon_right"></uni-icons>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- isLogin: false,
- usernames: '',
- userinfos: {},
- versions: "",
- updateTF: false
- }
- },
- methods: {
- handleLogin() {
- console.log('---------------------- login');
- uni.navigateTo({
- url: '/pages/login/login',
- });
- },
- async getEquipList() {
- const res = await this.$myRequest({
- url: '/api/api_gateway?method=home.homes.app_version_record',
- data: {
- ret: "first"
- }
- })
- console.log(res)
- // this.appName = res[0].app_name
- this.versions = Number(res[0].app_num.match(/\d+/g).join(""))
- var ids = Number(plus.runtime.version.match(/\d+/g).join(""))
- if (this.versions > ids) {
- this.updateTF = true
- } else {
- this.updateTF = false
- }
- },
- //user.login.user_login_info
- //home.homes.personal_center
- async getUserlogin() {
- const session_key = uni.getStorageSync('session_key');
- this.isLogin = !!session_key;
- console.log(this.isLogin);
- if (!this.isLogin) {
- return;
- }
- const res = await this.$myRequest({
- url: '/api/api_gateway?method=user.login.user_login_info',
- })
- console.log(res.children)
- this.usernames = res.username
- this.getUsermsg(this.usernames)
- uni.setStorage({
- key: 'jurisdiction',
- data: JSON.stringify(res.children),
- success: () => {
- }
- })
- },
- async getuserinfonew() {
- const res = await this.$myRequest({
- url: '/api/v2/theme/home/info/',
- })
- if(res.items && res.items.logo_url){
- this.userinfos.image = res.items.logo_url
- } else{
- this.userinfos.image = ''
- }
-
- },
- async getUsermsg(user) {
- const res = await this.$myRequest({
- url: '/api/api_gateway?method=home.homes.personal_center',
- data: {
- username: user
- }
- })
- this.userinfos = res
- this.getuserinfonew()
- }, //user.login.logout_user
- async getlogout() {
- const res = await this.$myRequest({
- url: '/api/api_gateway?method=user.login.logout_user',
- })
- },
- about() {
- uni.navigateTo({
- url: "../about/about"
- })
- },
- imageError(e) {
- if (e) {
- this.userinfos.image = "../../../static/images/my/user.png"
- }
- },
- userinfo() {
- uni.navigateTo({
- url: "../user-info/user-info?data=" + JSON.stringify(this.userinfos)
- })
- },
- outto() {
- uni.showModal({
- title: '提示',
- content: '是否退出登录',
- success: (res) => {
- if (res.confirm) {
- this.getlogout()
- uni.removeStorage({
- key: "session_key"
- })
- uni.reLaunch({
- url: "../../login/login"
- })
- } else if (res.cancel) {
- console.log('用户点击取消');
- }
- }
- });
- }
- },
- onLoad() {
- this.getUserlogin()
- this.getEquipList()
- },
- onShow() {
- this.getUserlogin()
- this.$forceUpdate()
- }
- }
- </script>
- <style lang="scss">
- .subject {
- width: 100%;
- height: 100vh;
- background-color: #F9F9F9;
- }
- .personal {
- width: 90%;
- margin: 0 auto;
- display: flex;
- padding: 20rpx 0 40rpx;
- box-sizing: border-box;
- .personal_left {
- width: 18%;
- margin-right: 30rpx;
- image {
- width: 124rpx;
- height: 120rpx;
- border-radius: 60rpx;
- }
- }
- .personal_center {
- padding-top: 20rpx;
- p:nth-child(1) {
- font-size: 34rpx;
- font-weight: 700;
- margin-bottom: 10rpx;
- }
- p:nth-child(2) {
- font-size: 24rpx;
- }
- }
- .personal_right {
- width: 150rpx;
- background-color: #55C87B;
- height: 60rpx;
- text-align: center;
- border-radius: 30rpx;
- line-height: 60rpx;
- color: #FFFFFF;
- position: absolute;
- top: 50rpx;
- right: 30rpx;
- }
- }
- .AboutUs,
- .quit,
- .opinion {
- width: 90%;
- height: 100rpx;
- line-height: 100rpx;
- margin: 20rpx auto 0;
- position: relative;
- padding-left: 20rpx;
- font-size: 28rpx;
- .icon_left {
- margin-right: 20rpx;
- color: #55C87B !important;
- font-size: 32rpx;
- }
- .icon_right {
- position: absolute;
- top: 0;
- right: 10rpx;
- font-size: 32rpx !important;
- }
- .update {
- position: absolute;
- top: 34rpx;
- right: 40rpx;
- font-size: 16rpx !important;
- background-color: #f00;
- border-radius: 25rpx;
- height: 30rpx;
- padding: 2rpx 16rpx;
- line-height: 30rpx;
- color: #fff;
- }
- }
- .opinion {
- margin: 0 auto;
- border-top: 2rpx solid #EAEAEA;
- }
- </style>
|