Browse Source

登录修改,增加登录协议等,修复拼团客服等

master
hupeng 1 year ago
parent
commit
829fb79e21
  1. BIN
      icons/60x60 copy.png
  2. 9
      pages.json
  3. 2
      pages/activity/GroupDetails/index.vue
  4. 62
      pages/authorization/index.vue
  5. 10
      pages/shop/ShoppingCart/index.vue
  6. 14
      pages/shop/news/NewsDetail/index.vue
  7. 113
      pages/user/Login/index.vue
  8. 6
      pages/user/PersonalData/index.vue
  9. 11
      pages/user/User/index.vue
  10. 22
      pages/user/content/content.vue
  11. BIN
      static/120x120.png
  12. BIN
      static/60x60.png
  13. 12
      utils/index.js

BIN
icons/60x60 copy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

9
pages.json

@ -435,6 +435,15 @@
"navigationBarTitleText": "直播列表"
}
}
,{
"path" : "pages/user/content/content",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
],
"easycom": {
"autoscan": true,

2
pages/activity/GroupDetails/index.vue

@ -131,7 +131,7 @@
<!-- #ifdef MP-WEIXIN -->
<button class="tui-operation-item" hover-class="tui-opcity" :hover-stay-time="150">
<view class="iconfont icon-kefu"></view>
<view class="tui-operation-text tui-scale-small">客服</view>
<view ><button open-type="contact" class="contacButton tui-operation-text tui-scale-small">客服</button></view>
</button>
<!-- #endif -->

62
pages/authorization/index.vue

@ -5,30 +5,27 @@
v-if="!token"
class="force-login-wrap"
>
<!-- <image class="logo-bg" :src="`${$VUE_APP_RESOURCES_URL}/images/logo_bg.png`" mode="aspectFill"></image> -->
<view class="force-login__content y-f">
<open-data
class="user-avatar"
type="userAvatarUrl"
></open-data>
<open-data
class="user-name"
type="userNickName"
></open-data>
<view class="login-notice">为了提供更优质的服务请先登录</view>
<image src="@/static/120x120.png" style="width: 100rpx; height: 100rpx;border-radius: 100rpx;"></image>
<view class="login-notice">YSHOP电商系统</view>
<button
class="cu-btn author-btn"
open-type="getPhoneNumber"
@getphonenumber="phoneLogin"
>手机号快捷登录</button>
<!-- <button class="cu-btn author-btn" v-if="canIUseGetUserProfile" @tap="getUserInfoProfile">授权并查看</button>
<button class="cu-btn author-btn" v-else @getuserinfo="getUserInfoBtn" open-type="getUserInfo">授权并查看</button> -->
<button
class="cu-btn close-btn"
@tap="back"
>暂不登录</button>
@tap="toLogin"
>其他手机登录</button>
</view>
</view>
<view class="hint">
<radio :checked="isChecked" @tap.stop="onChange" />
我已经阅读并遵守
<text class="link" @tap="goNewsDetail(50,'用户协议')">用户协议</text>
<text class="link" @tap="goNewsDetail(49,'隐私政策')">隐私政策</text>
<!--上面协议是固定的 请添加相应id文章-->
</view>
<!-- #endif -->
<!-- #ifndef MP-WEIXIN -->
<view class="force-login-wrap">
@ -61,7 +58,8 @@ export default {
return {
authorize: false,
canIUseGetUserProfile: false,
code: ''
code: '',
isChecked: false
}
},
computed: {
@ -89,6 +87,16 @@ export default {
methods: {
...mapActions(['changeAuthorization', 'setUserInfo']),
...mapMutations(['updateAuthorizationPage']),
onChange() {
console.log('isChecked;',this.isChecked)
this.isChecked = !this.isChecked
},
goNewsDetail(id,name) {
this.$yrouter.push({
path: "/pages/shop/news/NewsDetail/index",
query: { id: id,name:name }
});
},
toLogin() {
this.$yrouter.push({
path: '/pages/user/Login/index',
@ -170,13 +178,25 @@ export default {
provider: provider,
success: async loginRes => {
console.log("🚀 ~ file: index.vue:171 ~ getLoginCode ~ loginRes:", loginRes)
this.code = loginRes.code
//console.log('code11:',this.code)
}
})
})
},
//
phoneLogin(e) {
console.log('code22:',e)
if(!this.isChecked) {
uni.showToast({
title: '请勾选下面协议',
icon: 'none',
duration: 2000,
})
return
}
console.log('用户微信手机号登录')
if (e.mp.detail.errMsg == 'getPhoneNumber:ok') {
console.log('wxLoginCode', this.code)
@ -230,6 +250,18 @@ export default {
</script>
<style lang="less">
.hint {
display: flex;
align-items: center;
justify-content: center;
padding: 20rpx 40rpx;
font-size: 25rpx;
color: #000;
.link {
color: #ff8e3c;
}
}
.container {
flex: 1;
display: flex;

10
pages/shop/ShoppingCart/index.vue

@ -130,7 +130,7 @@
</view>
</view>
</view>
<Authorization v-else />
<Authorization v-else ref="authorization" />
</view>
</template>
<script>
@ -198,6 +198,14 @@
// this.validList = list.valid;
// }
// },
onLoad() {
// if (wx.getUserProfile) {
// this.canIUseGetUserProfile = true
// }
if (!this.$store.getters.token && !this.userInfo.uid) {
this.$refs.authorization.getLoginCode()
}
},
watch: {
userInfo(user) {
if (user.uid) {

14
pages/shop/news/NewsDetail/index.vue

@ -1,5 +1,8 @@
<template>
<view class="newsDetail">
<view class="newsDetail" v-if="isShow">
<view class="conter" v-html="articleInfo.content"></view>
</view>
<view class="newsDetail" v-else>
<view class="title">{{ articleInfo.title }}</view>
<view class="list acea-row row-middle">
<view class="label cart-color line1">新闻专区</view>
@ -96,8 +99,17 @@ export default {
data: function() {
return {
articleInfo: {},
isShow: false
}
},
onLoad(option) {
if (option.name) {
this.isShow = true
uni.setNavigationBarTitle({
title:option.name
});
}
},
watch: {
$yroute(to) {
if (to.name === 'NewsDetail') this.articleDetails()

113
pages/user/Login/index.vue

@ -1,11 +1,11 @@
<template>
<view class="register absolute">
<view class="whiteBg" v-if="formItem === 1">
<view class="whiteBg">
<view class="title acea-row">
<view class="item" :class="current === index ? 'on' : ''" v-for="(item, index) in navList" @click="navTap(index)" :key="index">{{ item }}</view>
</view>
<!-- 手机号登录 -->
<view class="list" :hidden="current !== 0">
<view class="list">
<form @submit.prevent="submit">
<view class="item getPhoneCode">
<view class="phoneInput acea-row row-between-wrapper">
@ -23,81 +23,19 @@
</view>
</form>
</view>
<!-- 账号密码登录 -->
<view class="list" :hidden="current !== 1">
<view class="item">
<view class="acea-row row-between-wrapper">
<input type="text" placeholder="输入手机号码" v-model="account" />
</view>
</view>
<view class="item">
<view class="acea-row row-between-wrapper">
<input type="password" placeholder="输入密码" v-model="password" />
</view>
</view>
<!-- <view class="item">
<view class="align-left">
<input type="text" placeholder="填写验证码" class="codeIput" v-model="captcha" />
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
@click="code">{{ text }}</button>
</view>
</view> -->
</view>
<view class="logon" @click="loginMobile" :hidden="current === 1">手机号登录</view>
<view class="logon" @click="submit" :hidden="current !== 1">登录</view>
<view class="tip">
第一次使用?
<text @click="formItem = 2" class="font-color-red">立即注册</text>
</view>
</view>
<!-- 注册 -->
<view class="whiteBg" v-else>
<view class="title acea-row row-between-wrapper">
<view class="item on">注册账号</view>
</view>
<view class="list">
<view class="item">
<view>
<!-- <svg class="icon" aria-hidden="true">
<use xlink:href="#icon-phone_" />
</svg>-->
<input name="account" type="text" placeholder="输入手机号码" v-model="account" />
</view>
</view>
<view class="item">
<view class="align-left">
<!-- <svg class="icon" aria-hidden="true">
<use xlink:href="#icon-code_1" />
</svg>-->
<input name="verifyCode" type="text" placeholder="填写验证码" class="codeIput" v-model="captcha" />
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''" @click="code">{{ text }}</button>
</view>
</view>
<view class="item">
<view>
<!-- <svg class="icon" aria-hidden="true">
<use xlink:href="#icon-code_" />
</svg>-->
<input name="password" type="password" placeholder="填写您的登录密码" v-model="password" />
</view>
</view>
<!-- #ifndef H5 -->
<view class="item">
<view>
<!-- <svg class="icon" aria-hidden="true">
<use xlink:href="#icon-phone_" />
</svg>-->
<input name="inviteCode" type="text" placeholder="输入邀请码" v-model="inviteCode" />
</view>
</view>
<!-- #endif -->
</view>
<view class="logon" @click="register">注册</view>
<view class="logon" @click="loginMobile">手机号登录</view>
<view class="tip">
已有账号?
<text @click="formItem = 1" class="font-color-red">立即登录</text>
未注册的手机号验证通过后会自动注册
</view>
</view>
<view class="hint">
<radio :checked="isChecked" @tap.stop="onChange" />
我已经阅读并遵守
<text class="link" @tap="goNewsDetail(50,'用户协议')">用户协议</text>
<text class="link" @tap="goNewsDetail(49,'隐私政策')">隐私政策</text>
<!--上面协议是固定的 请添加相应id文章-->
</view>
</view>
</template>
<script>
@ -117,7 +55,7 @@ export default {
mixins: [sendVerifyCode],
data: function() {
return {
navList: ['手机号登录', '密码登录'],
navList: ['手机号登录'],
// navList: ["",],
current: 0,
account: '',
@ -129,10 +67,23 @@ export default {
timer: null,
clock: 60,
clockText: '验证码',
isChecked: false
}
},
methods: {
onChange() {
console.log('isChecked;',this.isChecked)
this.isChecked = !this.isChecked
},
async loginMobile() {
if(!this.isChecked) {
uni.showToast({
title: '请勾选下面协议',
icon: 'none',
duration: 2000,
})
return
}
var that = this
const { account, captcha } = that
try {
@ -325,6 +276,18 @@ export default {
</script>
<style lang="scss">
.hint {
display: flex;
align-items: center;
justify-content: center;
padding: 20rpx 40rpx;
font-size: 25rpx;
color: #000;
.link {
color: #ff8e3c;
}
}
.register .whiteBg .title .item {
border-bottom: 2px solid;
}

6
pages/user/PersonalData/index.vue

@ -53,12 +53,12 @@
</view>
</view>
<view class="modifyBnt bg-color-red" @click="submit">保存修改</view>
<!-- #ifndef MP-WEIXIN -->
<view
class="logOut cart-color acea-row row-center-wrapper"
@click="logout"
>退出登录</view>
<!-- #endif -->
</view>
</template>
<script>
@ -162,7 +162,7 @@ export default {
submit: function () {
let userInfo = this.userInfo;
postUserEdit({
nickname: trim(this.userInfo.nickname),
nickname: trim(this.userInfo.nickname ? this.userInfo.nickname : ''),
avatar: this.avatar,
}).then(
(res) => {

11
pages/user/User/index.vue

@ -1,9 +1,9 @@
<template>
<view class="user">
<view v-if="$store.getters.token || userInfo.uid">
<view>
<view
class="getUserBaseData header bg-color-red acea-row row-between-wrapper"
v-if="!userInfo.avatar && !userInfo.nickname"
v-if="!userInfo.uid"
>
<button
class="userDataBtn"
@ -206,10 +206,10 @@
:login_type="userInfo.login_type"
></SwitchWindow>-->
</view>
<Authorization
<!-- <Authorization
v-else
ref="authorization"
/>
/> -->
</view>
</template>
<script>
@ -243,7 +243,7 @@ export default {
this.canIUseGetUserProfile = true
}
if (!this.$store.getters.token && !this.userInfo.uid) {
this.$refs.authorization.getLoginCode()
// this.$refs.authorization.getLoginCode()
}
},
methods: {
@ -483,6 +483,7 @@ export default {
},
onShow() {
if (this.$store.getters.token) {
console.log('userInfo11:',this.$store.getters.token)
//
uni.showLoading({
title: '加载中',

22
pages/user/content/content.vue

@ -0,0 +1,22 @@
<template>
<view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style>
</style>

BIN
static/120x120.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
static/60x60.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

12
utils/index.js

@ -356,6 +356,7 @@ export const handleGetUserInfo = () => {
store.dispatch('setUserInfo', res.data)
console.log('获取用户信息后跳转回显的页面')
let redirect = cookie.get('redirect').replace(/\ /g, '')
console.log('redirect:',redirect)
if (redirect) {
reLaunch({
path: redirect,
@ -363,11 +364,11 @@ export const handleGetUserInfo = () => {
})
return
}
back()
// reLaunch({
// path: '/pages/home/index',
// // query
// })
// back()
reLaunch({
path: '/pages/home/index',
// query
})
// var pages = getCurrentPages() //获取加载的页面
// var currentPage = pages[pages.length - 1] //获取当前页面的对象
@ -896,6 +897,7 @@ export const handleLoginFailure = () => {
store.commit('updateAuthorization', false)
let currentPageUrl = getCurrentPageUrl()
console.log('store.state.$deviceType:',store.state.$deviceType)
if (store.state.$deviceType == 'weixin') {
// 如果不是授权页面,
if (!store.getters.isAuthorizationPage) {

Loading…
Cancel
Save