diff --git a/icons/60x60 copy.png b/icons/60x60 copy.png new file mode 100644 index 0000000..7f661ba Binary files /dev/null and b/icons/60x60 copy.png differ diff --git a/pages.json b/pages.json index e1ca664..11f428b 100644 --- a/pages.json +++ b/pages.json @@ -435,6 +435,15 @@ "navigationBarTitleText": "直播列表" } } + ,{ + "path" : "pages/user/content/content", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } ], "easycom": { "autoscan": true, diff --git a/pages/activity/GroupDetails/index.vue b/pages/activity/GroupDetails/index.vue index cac09b4..5dbd472 100644 --- a/pages/activity/GroupDetails/index.vue +++ b/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 --> diff --git a/pages/authorization/index.vue b/pages/authorization/index.vue index fe4a4db..4592057 100644 --- a/pages/authorization/index.vue +++ b/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> + <view class="force-login__content y-f"> + <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> + <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: { @@ -88,7 +86,17 @@ export default { }, methods: { ...mapActions(['changeAuthorization', 'setUserInfo']), - ...mapMutations(['updateAuthorizationPage']), + ...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', @@ -169,14 +177,26 @@ export default { uni.login({ provider: provider, success: async loginRes => { - console.log("🚀 ~ file: index.vue:171 ~ getLoginCode ~ loginRes:", loginRes) - this.code = loginRes.code + console.log("🚀 ~ file: index.vue:171 ~ getLoginCode ~ loginRes:", loginRes) + + this.code = loginRes.code + //console.log('code11:',this.code) } }) }) }, // 微信用户手机号登录 - phoneLogin(e) { + 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) @@ -229,7 +249,19 @@ export default { } </script> -<style lang="less"> +<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; diff --git a/pages/shop/ShoppingCart/index.vue b/pages/shop/ShoppingCart/index.vue index 64c38ac..c6c359b 100644 --- a/pages/shop/ShoppingCart/index.vue +++ b/pages/shop/ShoppingCart/index.vue @@ -130,7 +130,7 @@ </view> </view> </view> - <Authorization v-else /> + <Authorization v-else ref="authorization" /> </view> </template> <script> @@ -197,7 +197,15 @@ // cartList(list) { // 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) { diff --git a/pages/shop/news/NewsDetail/index.vue b/pages/shop/news/NewsDetail/index.vue index adb5683..1112db7 100644 --- a/pages/shop/news/NewsDetail/index.vue +++ b/pages/shop/news/NewsDetail/index.vue @@ -1,12 +1,15 @@ -<template> - <view class="newsDetail"> - <view class="title">{{ articleInfo.title }}</view> - <view class="list acea-row row-middle"> - <view class="label cart-color line1">新闻专区</view> - <view class="item"> <text class="iconfont icon-shenhezhong"></text>{{ articleInfo.addTime }} </view> - <view class="item"> <text class="iconfont icon-liulan"></text>{{ articleInfo.visit }} </view> - </view> - <view class="conter" v-html="articleInfo.content"></view> +<template> + <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> + <view class="item"> <text class="iconfont icon-shenhezhong"></text>{{ articleInfo.addTime }} </view> + <view class="item"> <text class="iconfont icon-liulan"></text>{{ articleInfo.visit }} </view> + </view> + <view class="conter" v-html="articleInfo.content"></view> </view> </template> <style scoped lang="less"> @@ -95,8 +98,17 @@ export default { props: {}, data: function() { return { - articleInfo: {}, + articleInfo: {}, + isShow: false } + }, + onLoad(option) { + if (option.name) { + this.isShow = true + uni.setNavigationBarTitle({ + title:option.name + }); + } }, watch: { $yroute(to) { diff --git a/pages/user/Login/index.vue b/pages/user/Login/index.vue index ddc3fe1..3a31e39 100644 --- a/pages/user/Login/index.vue +++ b/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="logon" @click="loginMobile">手机号登录</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="tip"> - 已有账号? - <text @click="formItem = 1" class="font-color-red">立即登录</text> - </view> - </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: '', @@ -128,11 +66,24 @@ export default { type: 'login', timer: null, clock: 60, - clockText: '验证码', + clockText: '验证码', + isChecked: false } }, - methods: { - async loginMobile() { + 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 { @@ -324,7 +275,19 @@ export default { } </script> -<style lang="scss"> +<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; } diff --git a/pages/user/PersonalData/index.vue b/pages/user/PersonalData/index.vue index ce7572a..ec75844 100644 --- a/pages/user/PersonalData/index.vue +++ b/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) => { diff --git a/pages/user/User/index.vue b/pages/user/User/index.vue index fcd5020..838b256 100644 --- a/pages/user/User/index.vue +++ b/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: { @@ -482,7 +482,8 @@ export default { }, }, onShow() { - if (this.$store.getters.token) { + if (this.$store.getters.token) { + console.log('userInfo11:',this.$store.getters.token) // uni.showLoading({ title: '加载中', diff --git a/pages/user/content/content.vue b/pages/user/content/content.vue new file mode 100644 index 0000000..8183fd0 --- /dev/null +++ b/pages/user/content/content.vue @@ -0,0 +1,22 @@ +<template> + <view> + + </view> +</template> + +<script> + export default { + data() { + return { + + } + }, + methods: { + + } + } +</script> + +<style> + +</style> diff --git a/static/120x120.png b/static/120x120.png new file mode 100644 index 0000000..66fe74f Binary files /dev/null and b/static/120x120.png differ diff --git a/static/60x60.png b/static/60x60.png new file mode 100644 index 0000000..7f661ba Binary files /dev/null and b/static/60x60.png differ diff --git a/utils/index.js b/utils/index.js index d8bf521..f831bbd 100644 --- a/utils/index.js +++ b/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) {