Commit eb37b32b authored by 杨硕's avatar 杨硕

修改ui

parent 4169ccd0
......@@ -2,12 +2,12 @@
<img alt="logo" src="http://microapp.gitee.io/linjiashop/logo.jpg" width="120" height="120" style="margin-bottom: 10px;">
</p>
<h3 align="center" style="margin: 30px 0 30px;font-weight: bold;font-size:40px;">linjiashop-uniapp</h3>
<h3 align="center">宠物商店uniapp(全平台)版本</h3>
<h3 align="center">萌宠商城uniapp(全平台)版本</h3>
## 前言
- linjiashop-uniapp,是[宠物商店](http://microapp.gitee.io/linjiashop/)的uniapp版本,通过uniapp技术达到一套代码覆盖全平台(H5,Android,IOS,微信小程序,其他如支付宝,qq,头条小程序也可以通过简单的适配实现)的目的
- linjiashop-uniapp,是[萌宠商城](http://microapp.gitee.io/linjiashop/)的uniapp版本,通过uniapp技术达到一套代码覆盖全平台(H5,Android,IOS,微信小程序,其他如支付宝,qq,头条小程序也可以通过简单的适配实现)的目的
- 项目地址[gitee](https://gitee.com/microapp/linjiashop-uniapp),[github](https://github.com/microapp-store/linjiashop-uniapp)
- [官方文档:http://microapp.gitee.io/linjiashop/](http://microapp.gitee.io/linjiashop/ecosystem/uniapp.html)
- linjiashop-uniapp使用了[uView组件](https://www.uviewui.com)作为前端框架,开发过程可以多看其官方文档
......@@ -28,7 +28,7 @@
#### **linjiashop** —— [基于SpringBoot和Vue.js的轻量级小商城](http://microapp.gitee.io/linjiashop/)
#### **linjiashop-flutter** —— [宠物商店的flutter版本](https://gitee.com/microapp/linjiashop-flutter)
#### **linjiashop-flutter** —— [萌宠商城的flutter版本](https://gitee.com/microapp/linjiashop-flutter)
#### **web-flash** —— [基于SpringBoot和Vue.js 后台管理脚手架](https://enilu.gitee.io/web-flash/)
......
......@@ -16,6 +16,6 @@ export default {
},
common: {
intro: '轻量简洁的商城系统',
title: '宠物商店',
title: '萌宠商城',
},
}
......@@ -16,6 +16,6 @@ export default {
},
common: {
intro: '轻量简洁的商城系统',
title: '宠物商店',
title: '萌宠商城',
},
}
{
"name" : "宠物商店",
"name" : "萌宠商城",
"appid" : "__UNI__4ED93C0",
"description" : "轻量、简介的开源小商城系统",
"versionName" : "1.0.0",
......@@ -150,6 +150,6 @@
"enable" : false
}
},
"title" : "宠物商店"
"title" : "萌宠商城"
}
}
{
"name": "宠物商店",
"name": "萌宠商城",
"version": "1.0.0",
"description": "<p align=\"center\">\r <img alt=\"logo\" src=\"https://uviewui.com/common/logo.png\" width=\"120\" height=\"120\" style=\"margin-bottom: 10px;\">\r </p>\r <h3 align=\"center\" style=\"margin: 30px 0 30px;font-weight: bold;font-size:40px;\">uView</h3>\r <h3 align=\"center\">多平台快速开发的UI框架</h3>",
"main": "main.js",
......
......@@ -22,8 +22,9 @@
}, {
"path": "pages/shop/cart",
"style": {
"navigationStyle": "custom", // 隐藏系统导航栏
"navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选
// "navigationStyle": "custom", // 隐藏系统导航栏
// "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选
"navigationBarTitleText": "购物车"
}
},
{
......@@ -125,7 +126,7 @@
,{
"path" : "pages/setting/about",
"style": {
"navigationBarTitleText": "关于宠物商店"
"navigationBarTitleText": "关于萌宠商城"
}
},
{
......@@ -182,7 +183,7 @@
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "宠物商店",
"navigationBarTitleText": "萌宠商城",
"navigationBarBackgroundColor": "#FFFFFF",
"backgroundColor": "#FFFFFF"
},
......@@ -193,26 +194,26 @@
"borderStyle": "black",
"list": [{
"pagePath": "pages/shop/index",
"iconPath": "static/img/nav/home.png",
"selectedIconPath": "static/img/nav/home_sel.png",
"iconPath": "static/img/image/tab_icon_home_default@2x.png",
"selectedIconPath": "static/img/image/tab_icon_home_selected@2x.png",
"text": "首页"
},
{
"pagePath": "pages/menu/index",
"iconPath": "static/img/nav/category.png",
"selectedIconPath": "static/img/nav/category_sel.png",
"iconPath": "static/img/image/tab_icon_fenlei_default@2x.png",
"selectedIconPath": "static/img/image/tab_icon_fenlei_selected@2x.png",
"text": "分类"
},
{
"pagePath": "pages/shop/cart",
"iconPath": "static/img/nav/cart.png",
"selectedIconPath": "static/img/nav/cart_sel.png",
"iconPath": "static/img/image/tab_icon_gouwuche_default@2x.png",
"selectedIconPath": "static/img/image/tab_icon_gouwuche_selected@2x.png",
"text": "购物车"
},
{
"pagePath": "pages/user/profile",
"iconPath": "static/img/nav/user.png",
"selectedIconPath": "static/img/nav/user_sel.png",
"iconPath": "static/img/image/tab_icon_wode_default@2x.png",
"selectedIconPath": "static/img/image/tab_icon_wode_selected@2x.png",
"text": "我的"
}
]
......
......@@ -2,11 +2,11 @@
<view class="wrap">
<view class="top"></view>
<view class="content">
<view class="title">欢迎登录宠物商店</view>
<view class="title">欢迎登录萌宠商城</view>
<u-form-item>
<u-input type="number" v-model="tel" placeholder="请输入手机号" />
</u-form-item>
<!-- <view class="tips">未注册的手机号验证后自动创建宠物商店账号</view> -->
<!-- <view class="tips">未注册的手机号验证后自动创建萌宠商城账号</view> -->
<button @tap="submit" :style="[inputStyle]" class="getSmsCode">获取短信验证码</button>
<view class="alternative">
......@@ -33,9 +33,9 @@
</view>
<view class="hint">
登录代表同意
<text class="link" @click="goPage('/pages/login/userProtocol')">宠物商店用户协议</text>
<text class="link" @click="goPage('/pages/login/userProtocol')">萌宠商城用户协议</text>
<text class="link" @click="goPage('/pages/login/privateProtocol')">隐私政策,</text>
并授权使用您的宠物商店账号信息(如昵称、头像、收获地址)以便您统一管理
并授权使用您的萌宠商城账号信息(如昵称、头像、收获地址)以便您统一管理
</view>
</view>
</view>
......@@ -227,10 +227,15 @@
font-size: 28rpx;
background-color: #ffffff !important;
border: 0px !important;
&::after{
border: none;
}
}
}
.hint {
position: fixed;
bottom: 0;
padding: 20rpx 40rpx;
font-size: 20rpx;
color: $u-tips-color;
......
......@@ -17,9 +17,9 @@
<view class="bottom">
<view class="hint">
登录代表同意
<text class="link" @click="goPage('/pages/login/userProtocol')">宠物商店用户协议</text>
<text class="link" @click="goPage('/pages/login/userProtocol')">萌宠商城用户协议</text>
<text class="link" @click="goPage('/pages/login/privateProtocol')">隐私政策,</text>
并授权使用您的宠物商店账号信息(如昵称、头像、收获地址)以便您统一管理
并授权使用您的萌宠商城账号信息(如昵称、头像、收获地址)以便您统一管理
</view>
</view>
......@@ -128,8 +128,8 @@
}
.bottom {
position: absolute;
bottom: 120rpx;
position: fixed;
bottom: 0;
.hint {
padding: 20rpx 40rpx;
......
<template>
<view class="wrap">
<view class="pp-content">宠物商店重视用户的隐私权,我们也深知您向宠物商店提供各种信息是基于对宠物商店的完全信任。在使用宠物商店各项服务前,请您务必仔细阅读并透彻理解本《隐私权政策》,在确认充分理解并同意后再开始使用宠物商店服务。如对本政策内容有任何疑问、意见或建议,您可通过宠物商店公布的联系方式与我们联系。宠物商店的宗旨是以诚信为本,我们一定会以负责的态度对待您提交给我们的信息,宠物商店郑重承诺如下:</view>
<view class="pp-content">萌宠商城重视用户的隐私权,我们也深知您向萌宠商城提供各种信息是基于对萌宠商城的完全信任。在使用萌宠商城各项服务前,请您务必仔细阅读并透彻理解本《隐私权政策》,在确认充分理解并同意后再开始使用萌宠商城服务。如对本政策内容有任何疑问、意见或建议,您可通过萌宠商城公布的联系方式与我们联系。萌宠商城的宗旨是以诚信为本,我们一定会以负责的态度对待您提交给我们的信息,萌宠商城郑重承诺如下:</view>
<view class="pp-items">
1、宠物商店郑重承诺不会出售用户的任何信息,并保护您的电子邮件、手机号码、姓名等个人隐私信息。<br>
2、宠物商店采取了有效的措施保护您的个人隐私资料。除非根据法律或政府的强制性规定,否则在未得到用户的许可之前,我们不会把用户的任何个人资料提供给无关的第三方(包括公司或个人)。
1、萌宠商城郑重承诺不会出售用户的任何信息,并保护您的电子邮件、手机号码、姓名等个人隐私信息。<br>
2、萌宠商城采取了有效的措施保护您的个人隐私资料。除非根据法律或政府的强制性规定,否则在未得到用户的许可之前,我们不会把用户的任何个人资料提供给无关的第三方(包括公司或个人)。
</view>
<view class="pp-content">
下面是具体的阐述本网站如何处理用户的隐私问题:
......@@ -12,16 +12,16 @@
<view class="pp-title1">一、我们所收集的信息以及如何使用:</view>
<view class="pp-title2">用户提交资料</view>
<view class="pp-content">
当您注册宠物商店时,您需要提供手机号,以便我们识别您的身份或与您联络。我们会利用一些有效方法,确认您的个人资料的正确性与有效性。
当您注册萌宠商城时,您需要提供手机号,以便我们识别您的身份或与您联络。我们会利用一些有效方法,确认您的个人资料的正确性与有效性。
</view>
<view class="pp-content">
在您使用宠物商店服务过程中,为识别账号异常状态、了解产品适配性、向您提供更契合您需求的页面展示和搜索结果,我们可能会自动收集您的使用情况并存储为网络日志信息,包括
在您使用萌宠商城服务过程中,为识别账号异常状态、了解产品适配性、向您提供更契合您需求的页面展示和搜索结果,我们可能会自动收集您的使用情况并存储为网络日志信息,包括
</view>
<view class="pp-content">
设备信息:我们会根据您在使用宠物商店服务中的具体操作,接收并记录您所使用的设备相关信息(包括设备型号、操作系统版本、设备设置、唯一设备标识符、设备环境、移动应用列表等软硬件特征信息)、设备所在位置相关信息(包括您授权的GPS位置以及WLAN接入点、蓝牙和基站等传感器信息)。
设备信息:我们会根据您在使用萌宠商城服务中的具体操作,接收并记录您所使用的设备相关信息(包括设备型号、操作系统版本、设备设置、唯一设备标识符、设备环境、移动应用列表等软硬件特征信息)、设备所在位置相关信息(包括您授权的GPS位置以及WLAN接入点、蓝牙和基站等传感器信息)。
</view>
<view class="pp-content">
服务日志信息:当您使用宠物商店服务时,我们会自动收集您对我们服务的详细使用情况,作为服务日志保存,包括但不限于浏览、搜索查询、关注企业、监控企业以及IP地址、浏览器类型、电信运营商、使用语言、访问日期和时间等。
服务日志信息:当您使用萌宠商城服务时,我们会自动收集您对我们服务的详细使用情况,作为服务日志保存,包括但不限于浏览、搜索查询、关注企业、监控企业以及IP地址、浏览器类型、电信运营商、使用语言、访问日期和时间等。
</view>
<view class="pp-content">
请注意,单独的设备信息、服务日志信息是无法识别特定自然人身份的信息。如果我们将这类非个人信息与其他信息结合用于识别特定自然人身份,或者将其与个人信息结合使用,则在结合使用期间,这类非个人信息将被视为个人信息,除取得您授权或法律法规另有规定外,我们会将这类信息进行匿名处理。
......@@ -31,7 +31,7 @@
</view>
<view class="pp-title2">非个人资料辨别</view>
<view class="pp-content">
我们除了向您收集个人资料以便为您提供服务以外,还可能通过您的IP地址收集一些非个人隐私的统计资料,使我们能够进一步改善宠物商店的服务。例如,当您浏览一个网页时,此网址、当时的时间、您所使用的浏览器性质、给您提供接入服务的ISP等,都会被自动记录下来。
我们除了向您收集个人资料以便为您提供服务以外,还可能通过您的IP地址收集一些非个人隐私的统计资料,使我们能够进一步改善萌宠商城的服务。例如,当您浏览一个网页时,此网址、当时的时间、您所使用的浏览器性质、给您提供接入服务的ISP等,都会被自动记录下来。
</view>
......@@ -55,11 +55,11 @@
(2) 根据有关法律法规的要求或按照法院或相关政府部门的要求;<br>
(3) 为维护宠物商店的合法权益;<br>
(3) 为维护萌宠商城的合法权益;<br>
(4) 为维护宠物商店的用户和社会公众的合法权益;<br>
(4) 为维护萌宠商城的用户和社会公众的合法权益;<br>
(5) 宠物商店认为有必要的其他情况。<br>
(5) 萌宠商城认为有必要的其他情况。<br>
</view>
<view class="pp-title1">三、信息的更新和删除</view>
<view class="pp-content">
......@@ -71,14 +71,14 @@
</view>
<view class="pp-title1">五、本政策如何更新</view>
<view class="pp-content">
宠物商店可能会对隐私权政策进行修改。如果在使用用户个人信息政策方面有大幅度修改时,我们会通过电子邮件通知您。本隐私保护制度最后一次更新时间为2020年8月29日。
萌宠商城可能会对隐私权政策进行修改。如果在使用用户个人信息政策方面有大幅度修改时,我们会通过电子邮件通知您。本隐私保护制度最后一次更新时间为2020年8月29日。
</view>
<view class="pp-title1">六、如何联系我们</view>
<view class="pp-content">您可以通过以下方式与我们联系,我们将在收到您的需求后,在15个工作日内予以回复:</view>
<view class="pp-items">
a) 如对本政策内容有任何疑问、意见或建议,您可通过宠物商店客服与我们联系;<br>
b) 如发现个人信息可能被泄露,您可以通过宠物商店客服进行投诉举报;
a) 如对本政策内容有任何疑问、意见或建议,您可通过萌宠商城客服与我们联系;<br>
b) 如发现个人信息可能被泄露,您可以通过萌宠商城客服进行投诉举报;
</view>
......
<template>
<view class="wrap">
<view class="pp-content">欢迎使用宠物商店平台(以下简称“本平台”),本协议自开始使用网站,或成为网站的注册用户时即产生法律效力。本协议包括本平台网站内容的使用政策及本平台隐私政策。您在使用本平台提供的各项服务之前,应仔细阅读本服务公约。如您不同意本服务公约或随时对其的修改,您可以主动取消本平台提供的服务;您一旦使用本平台服务,即视为您已了解并完全同意本服务公约各项内容,并成为本平台用户(以下简称“用户”)。</view>
<view class="pp-content">欢迎使用萌宠商城平台(以下简称“本平台”),本协议自开始使用网站,或成为网站的注册用户时即产生法律效力。本协议包括本平台网站内容的使用政策及本平台隐私政策。您在使用本平台提供的各项服务之前,应仔细阅读本服务公约。如您不同意本服务公约或随时对其的修改,您可以主动取消本平台提供的服务;您一旦使用本平台服务,即视为您已了解并完全同意本服务公约各项内容,并成为本平台用户(以下简称“用户”)。</view>
<view class="pp-title1">1.服务条款的确认</view>
<view class="pp-content">本网站根据业务发展需要,有可能随时决定更改本协议条款。如本协议条款有任何变更,将在"本平台"网站上刊载公告或通过邮件的方式通知用户。如您不同意相关变更,应立即停止使用本网站所提供的服务。经修订的条款一经在本网站公布,立即自动生效。如果您继续使用本网站的服务,则表示您接受经修订的条款。除另行声明外,本平台上任何使服务范围扩大或功能增强的新内容,均受本协议约束。</view>
<view class="pp-title1">2.账户注册及使用</view>
......
......@@ -191,6 +191,7 @@
/* #endif */
display: flex;
flex-direction: column;
background-color: #f6f6f6;
}
.u-search-box {
......@@ -204,7 +205,7 @@
}
.u-search-inner {
background-color: rgb(234, 234, 234);
background-color: #fff;
border-radius: 100rpx;
display: flex;
align-items: center;
......@@ -220,26 +221,27 @@
.u-tab-view {
width: 200rpx;
height: 100%;
background-color: #FFFFFF;
}
.u-tab-item {
height: 110rpx;
background: #f6f6f6;
background: #ffffff;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
font-size: 26rpx;
color: #444;
font-size: 32rpx;
color: #222222;
font-weight: 400;
line-height: 1;
}
.u-tab-item-active {
position: relative;
color: #000;
font-size: 30rpx;
font-weight: 600;
color: #50B540;
font-size: 32rpx;
font-weight: bold;
background: #fff;
}
......@@ -261,14 +263,18 @@
}
.page-view {
padding: 16rpx;
padding: 22rpx 30rpx 0 22rpx;
}
.class-item {
// height: 284px;
background: #FFFFFF;
box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.06);
border-radius: 8px 8px 8px 8px;
margin-bottom: 30rpx;
background-color: #fff;
padding: 16rpx;
border-radius: 8rpx;
border-radius: 8px;
}
.class-item:last-child {
......@@ -276,15 +282,20 @@
}
.item-title {
font-size: 26rpx;
color: $u-main-color;
font-size: 16px;
font-family: Source Han Sans CN-Bold, Source Han Sans CN;
font-weight: bold;
color: #333333;
margin-top: 30rpx;
margin-left: 20rpx;
margin-bottom: 30rpx;
}
.item-menu-name {
font-weight: normal;
font-size: 24rpx;
color: $u-main-color;
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
}
.item-container {
......@@ -302,7 +313,10 @@
}
.item-menu-image {
width: 120rpx;
height: 120rpx;
width: 134rpx;
height: 134rpx;
// background: #50B540;
border-radius: 8px 8px 8px 8px;
margin-bottom: 22rpx;
}
</style>
......@@ -112,7 +112,7 @@
signType:res.signType,
paySign: res.paySign, //签名内容
success: (e) => {
me.queryPayResult()
this.queryPayResult()
},
fail: (e) => {
console.log("fail", e);
......@@ -168,7 +168,7 @@
paySign: paySign, // 支付签名
success: function(res) {
// 支付成功后的回调函数
me.queryPayResult()
this.queryPayResult()
},
fail: function(res) {
......
......@@ -19,7 +19,7 @@
<view class="u-m-t-20">
<u-cell-group>
<u-cell-item icon="info-circle" title="关于宠物商店" @click="openPage('/pages/setting/about')"></u-cell-item>
<u-cell-item icon="info-circle" title="关于萌宠商城" @click="openPage('/pages/setting/about')"></u-cell-item>
<!-- #ifdef H5 || APP-PLUS -->
<u-cell-item icon="file-text" title="在线文档" @click="toDoc"></u-cell-item>
<!-- #endif -->
......
<template>
<view class="wrap">
<u-navbar :is-back="false" title="购物车">
<view class="navbar-right" slot="right" v-if="isLogin">
<view class="link-text" @click="onClickRight">
<!-- <u-navbar :is-back="false" title="购物车">
</u-navbar> -->
<page-meta>
<navigation-bar background-image="/static/img/image/gouwuche_pic_bg@2x.png"></navigation-bar>
</page-meta>
<view class="topfinish" slot="right" v-if="isLogin">
<view class="navbar-right" @click="onClickRight">
{{rightText}}
</view>
<view class="right-button">
<u-button type="warning" v-if="rightText =='完成'" @click="addFav">移入收藏夹</u-button>
</view>
</view>
</u-navbar>
<view class="list" v-if="isLogin">
<view class="item" v-for="(item,index) in cartList" :key="index">
<u-row gutter="16">
<u-col :span="1">
<u-checkbox @change="changeCheckBox" v-model="item.checked" shape="circle"></u-checkbox>
</u-col>
<u-col :span="3">
<u-image width="100%" height="150rpx" :src="item.thumb"></u-image>
</u-col>
<u-col :span="8" @click="toGoods(item.goods.id)">
<view v-for="(item,index) in cartList" :key="index" style="display: flex;align-items: center;padding:0 30rpx;">
<view class="item-checkbox">
<u-checkbox activeColor="#50B540" @change="changeCheckBox" v-model="item.checked" shape="circle"></u-checkbox>
</view>
<view class="item">
<image class="item-image" :src="item.thumb"></image>
<view class="rightdetail" @click="toGoods(item.goods.id)">
<view class="gl-name">{{item.title}}</view>
<view class="gl-descript">{{item.goods.descript}}</view>
<view class="gl-price">
<u-row>
<u-col :span="6">
<view style="height: 50rpx;display: flex;align-items: center;">
{{formatPrice(item.goods.price)}}
</u-col>
<u-col :span="6" v-if="rightText=='编辑'">
</view>
<view class="rightnumberbox" v-if="rightText=='编辑'">
<u-number-box v-model="item.count" :min="1" :max="item.goods.stock" @change="countChange(item)"></u-number-box>
</u-col>
</u-row>
</view>
</view>
</view>
</view>
</u-col>
</u-row>
</view>
</view>
<view v-if="inited">
......@@ -55,17 +58,15 @@
<view class="navigation" v-if="isLogin &&cartList.length>0">
<view class="left">
<view class="item">
<u-checkbox @change="checkAll" v-model="checkedAll" shape="circle">全选</u-checkbox>
<u-checkbox activeColor="#50B540" @change="checkAll" v-model="checkedAll" shape="circle">全选</u-checkbox>
</view>
<view class="item total-price" v-if="rightText=='编辑'">
合计: ¥{{formatPrice(totalPrice)}}
</view>
</view>
<view class="right">
<u-button type="warning" v-if="rightText =='完成'" @click="addFav" style="margin-right:2rpx;">移入收藏</u-button>
<u-button type="error" @click="submit">{{rightText=='编辑'?'结算':'删除'}}</u-button>
<u-button type="success" @click="submit" v-if="rightText=='编辑'">结算</u-button>
<u-button v-if="rightText !=='编辑'" type="error" @click="submit">删除</u-button>
</view>
</view>
......@@ -237,38 +238,96 @@
</script>
<style lang="scss" scoped>
/deep/.u-navbar{
background-image: url("../../static/img/image/gouwuche_pic_bg@2x.png");
}
.wrap {
padding: 0rpx 30rpx;
background-color: #F6F6F6;
// padding: 0rpx 30rpx;
min-height: 100vh;
box-sizing: border-box;
.navbar-right {
margin-right: 24rpx;
.topfinish{
display: flex;
position: relative;
}
.right-button{
position: absolute;
right: 30rpx;
top: 30rpx;
}
.navbar-right {
// margin-right: 24rpx;
// display: flex;
font-size: 16px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #222222;
margin: 44rpx 0 40rpx 30rpx;
}
.rightdetail{
width: 62%;
}
.list {
.item {
margin-top: 20rpx;
// margin-top: 20rpx;
display: flex;
align-items: center;
height: 252rpx;
background: #FFFFFF;
box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.06);
border-radius: 12px 12px 12px 12px;
margin: 20rpx 0 0 0;
padding-left: 30rpx;
.gl-name {
font-size: 26rpx;
font-size: 16px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #333333;
}
.gl-descript {
margin-top: 14rpx;
font-size: 20rpx;
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #666666;
overflow: hidden;
-webkit-line-clamp: 2;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
}
.gl-price {
margin-top: 26rpx;
font-size: 24rpx;
color: #FA3534;
display: flex;
position: relative;
}
}
}
.item-image{
width: 176rpx;
height: 176rpx;
border-radius: 8px 8px 8px 8px;
margin-right: 30rpx;
}
.rightnumberbox{
position: absolute;
right: 10rpx;
}
.item-checkbox{
// margin-left: 30rpx;
}
.no-data {
padding: 0rpx 30rpx;
margin-top: 50%;
// margin-top: 50%;
padding-top: 50%;
.content {
text-align: center;
......@@ -281,11 +340,11 @@
width: 100%;
display: flex;
position: fixed;
bottom: 10;
bottom: 0;
margin-top: 100rpx;
border: solid 2rpx #f2f2f2;
// border: solid 2rpx #f2f2f2;
background-color: #ffffff;
padding: 16rpx 0;
padding: 16rpx 0 16rpx 30rpx;
justify-content: space-between;
.left {
......@@ -312,4 +371,9 @@
}
}
}
/deep/.u-btn--success {
color: #ffffff;
border-color: #50B540 !important;
background-color: #50B540 !important;
}
</style>
<template>
<view>
<view class="top">
<u-tabs :list="navList" :is-scroll="false" :current="activeNav" @change="changeNav"></u-tabs>
<u-row gutter="16">
<u-col style="padding:0px;" v-for="(topic,index) in topicList" :key="index" :span="(index+3)%3===0?6:3">
<u-image width="100%" height="180rpx" :src="topic.img" @click="toTopic(topic.id)"></u-image>
<u-col style="padding:0px;" v-for="(topic,index) in topicList" :key="index" :span="(index+3)%3===0?12:6">
<view class="topimage">
<!-- <u-image width="100%" height="274rpx" :src="topic.img" @click="toTopic(topic.id)"></u-image> -->
<image :src="topic.img" @click="toTopic(topic.id)" class="imagedeatil"></image>
</view>
</u-col>
</u-row>
<view>
<view class="gl-title">热门推荐</view>
<view class="gl-body">
<u-row v-for="(item,index) in hotList" :key="index">
<u-col :span="4" class="gl-img">
<u-image width="170rpx" height="170rpx" :src="item.img" @click="toDetail(item.id)"></u-image>
</u-col>
<u-col :span="8" @click="toDetail(item.id)">
<view class="gl-name">{{item.name}}</view>
<view class="gl-descript">{{item.descript}}</view>
<view class="gl-price">{{formatPrice(item.price)}}</view>
</u-col>
</u-row>
<view class="gl-title">
<image src="../../static/img/image/home_icon_remen@2x.png" class="smallicon"></image>
<span>热门推荐</span>
</view>
<view>
<view v-for="(item,index) in hotList" :key="index" class="indexcard">
<image class="cardimage" :src="item.img" @click="toDetail(item.id)"></image>
<view class="cardtitle" @click="toDetail(item.id)">
<view class="cardtitle1">{{item.name}}</view>
<view class="cardtitle2">{{item.descript}}</view>
<view class="cardtitle3">{{formatPrice(item.price)}}</view>
</view>
</view>
</view>
</view>
<view>
<view class="gl-title">新品推荐</view>
<view class="gl-body">
<u-row v-for="(item,index) in newList" :key="index">
<u-col :span="4" class="gl-img">
<u-image width="170rpx" height="170rpx" :src="item.img" @click="toDetail(item.id)"></u-image>
</u-col>
<u-col :span="8" @click="toDetail(item.id)">
<view class="gl-name">{{item.name}}</view>
<view class="gl-descript">{{item.descript}}</view>
<view class="gl-price">{{formatPrice(item.price)}}</view>
</u-col>
</u-row>
<view class="gl-title">
<image src="../../static/img/image/home_icon_xinpin@2x.png" class="smallicon"></image>
<span>热门推荐</span>
</view>
<view>
<view v-for="(item,index) in newList" :key="index" class="indexcard">
<image class="cardimage" :src="item.img" @click="toDetail(item.id)"></image>
<view class="cardtitle" @click="toDetail(item.id)">
<view class="cardtitle1">{{item.name}}</view>
<view class="cardtitle2">{{item.descript}}</view>
<view class="cardtitle3">{{formatPrice(item.price)}}</view>
</view>
</view>
</view>
</view>
</view>
......@@ -140,8 +144,16 @@
</script>
<style>
.top{
background-color: #F6F6F6;
}
.gl-title {
padding: 20rpx;
/* padding: 20rpx; */
margin: 50rpx 0 40rpx 38rpx;
font-size: 18px;
font-family: Source Han Sans CN-Bold, Source Han Sans CN;
font-weight: bold;
color: #222222;
}
.gl-img {
......@@ -160,4 +172,64 @@
font-size: 24rpx;
color: #FA3534;
}
.topimage{
border-radius: 12px 12px 12px 12px;
margin: 22rpx 30rpx 0 30rpx;
height: 274rpx;
}
.imagedeatil{
width: 100%;
height: 100%;
border-radius: 12px 12px 12px 12px;
}
.smallicon{
width: 36rpx;
height: 36rpx;
margin-right: 26rpx;
}
.indexcard{
height: 127px;
background: #FFFFFF;
box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.06);
border-radius: 12px 12px 12px 12px;
display: flex;
margin: 0 30rpx 22rpx 30rpx;
/* margin-bottom: 22rpx; */
padding: 22rpx;
}
.cardimage{
width: 210rpx !important;
height: 210rpx !important;
border-radius: 8px 8px 8px 8px;
margin-right: 22rpx;
/* margin: 22rpx; */
}
.cardtitle{
width: 414rpx;
}
.cardtitle1{
font-size: 16px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #333333;
margin-bottom: 30rpx;
}
.cardtitle2{
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #666666;
margin-bottom: 30rpx;
overflow: hidden;
-webkit-line-clamp: 2;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
}
.cardtitle3{
font-size: 16px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #D94343;
}
</style>
<template>
<view class="wrap">
<view class="u-flex user-box u-p-l-30 u-p-r-20 u-p-b-30">
<view class="top">
</view>
<view class="u-flex user-box">
<view class="u-m-r-10">
<u-avatar v-if="vuex_user.nickName == '未登录'" size="140"></u-avatar>
<u-avatar v-if="vuex_user.nickName !== '未登录'" :src="vuex_avatar" size="140"></u-avatar>
<!-- <u-avatar v-if="vuex_user.nickName == '未登录'" size="140"></u-avatar> -->
<image v-if="vuex_user.nickName == '未登录'" src="../../static/img/image/wode_logo_default@2x.png"
class="avaterimage"></image>
<!-- <u-avatar v-if="vuex_user.nickName !== '未登录'" :src="vuex_avatar" size="140"></u-avatar> -->
<image v-if="vuex_user.nickName !== '未登录'" :src="vuex_avatar" class="avaterimage"></image>
</view>
<view class="toptitlelist">
<view class="toptitlelist1">{{vuex_user.nickName}}</view>
<view class="toptitlelist2" v-if="vuex_user.nickName !== '未登录'">ID:{{vuex_user.mobile}}</view>
<view class="toptitlelist2" v-if="vuex_user.nickName == '未登录'" @click="toLogin">点击登录萌宠商城账号
</view>
<view class="u-flex-1">
<view class="u-font-18 u-p-b-20">{{vuex_user.nickName}}</view>
<view class="u-font-14 u-tips-color" v-if="vuex_user.nickName !== '未登录'">ID:{{vuex_user.mobile}}</view>
<view class="u-font-14 u-tips-color" v-if="vuex_user.nickName == '未登录'" @click="toLogin">点击登录宠物商店账号</view>
</view>
<!-- <view class="u-m-l-10 u-p-10">
<u-icon name="scan" color="#969799" size="28"></u-icon>
......@@ -17,29 +24,73 @@
<u-icon name="arrow-right" color="#969799" size="28"></u-icon>
</view> -->
</view>
<view class="u-m-t-20">
<u-cell-group>
<!-- <u-cell-group>
<u-cell-item icon="list" title="我的订单" @click="openPage('/pages/order/list')"></u-cell-item>
</u-cell-group>
</u-cell-group> -->
<view class="card" @click="openPage('/pages/order/list')">
<image src="../../static/img/image/wode_icon_dingdan@2x.png" class="leftimage"></image>
<view class="cardtitle">
<span>我的订单</span>
</view>
<view class="u-m-t-20">
<image src="../../static/img/image/wode_icon_jiantou@2x.png" class="rightimage"></image>
</view>
<!-- <view class="u-m-t-20">
<u-cell-group>
<u-cell-item icon="map" title="收货地址" @click="openPage('/pages/address/list')"></u-cell-item>
<u-cell-item icon="star" @click="openPage('/pages/favorite/favorite')" title="喜欢的商品"></u-cell-item>
<u-cell-item icon="integral" @click="todo" title="我的积分"></u-cell-item>
<u-cell-item icon="coupon" @click="todo" title="我的优惠券"></u-cell-item>
</u-cell-group>
</view> -->
<view class="card1" @click="openPage('/pages/address/list')">
<view class="card1plus">
<image src="../../static/img/image/wode_icon_dizhi@2x.png" class="leftimage"></image>
<view class="cardtitle">
<span>收货地址</span>
</view>
<image src="../../static/img/image/wode_icon_jiantou@2x.png" class="rightimage1"></image>
</view>
</view>
<view class="card2" @click="openPage('/pages/favorite/favorite')">
<view class="card1plus">
<image src="../../static/img/image/wode_icon_shoucang@2x.png" class="leftimage"></image>
<view class="cardtitle">
<span>我喜欢的商品</span>
</view>
<image src="../../static/img/image/wode_icon_jiantou@2x.png" class="rightimage1"></image>
</view>
</view>
<view class="card2" @click="todo">
<view class="card1plus">
<image src="../../static/img/image/wode_icon_jifen@2x.png" class="leftimage"></image>
<view class="cardtitle">
<span>我的积分</span>
</view>
<image src="../../static/img/image/wode_icon_jiantou@2x.png" class="rightimage1"></image>
</view>
</view>
<view class="card3" @click="todo">
<image src="../../static/img/image/wode_icon_youhuiquan@2x.png" class="leftimage"></image>
<view class="cardtitle">
<span>我的优惠券</span>
</view>
<image src="../../static/img/image/wode_icon_jiantou@2x.png" class="rightimage"></image>
</view>
<view class="u-m-t-20">
<!-- <view class="u-m-t-20">
<u-cell-group>
<u-cell-item icon="setting" title="设置" @click="openPage('/pages/setting/setting')"></u-cell-item>
<!-- #ifdef H5 -->
<u-cell-item icon="download" title="下载APP" @click="openPage('/pages/setting/app')"></u-cell-item>
<!-- <u-cell-item icon="download" title="下载APP" @click="openPage('/pages/setting/app')"></u-cell-item>
<!-- #endif -->
</u-cell-group>
<!-- </u-cell-group> -->
<!-- </view> -->
<view class="card" @click="openPage('/pages/setting/setting')">
<image src="../../static/img/image/滚动组 60@2x.png" class="leftimage"></image>
<view class="cardtitle">
<span>设置</span>
</view>
<image src="../../static/img/image/wode_icon_jiantou@2x.png" class="rightimage"></image>
</view>
</view>
......@@ -63,10 +114,9 @@
},
methods: {
initH5() {
if (this.vuex_user.nickName !=='未登录' && this.vuex_user.refreshWechatInfo === true) {
if (this.vuex_user.nickName !== '未登录' && this.vuex_user.refreshWechatInfo === true) {
const url = window.location.href
if (url.indexOf('localhost') > -1 || url.indexOf('127.0.0.1') > -1) {
} else {
if (url.indexOf('localhost') > -1 || url.indexOf('127.0.0.1') > -1) {} else {
const userAgent = window.navigator.userAgent.toLowerCase()
//使用微信访问本系统的时候获取微信openid,否则不获取
if (userAgent.indexOf('micromessenger') > -1) {
......@@ -87,18 +137,19 @@
})
},
todo() {
this.$u.toast('开发中')
this.$u.toast('敬请期待')
},
processOpenid() {
let url = window.location.href;
if (url.indexOf('code') > -1) {
const code = url.split('code=')[1].split("&")[0];
this.$u.post('wechat/getWxOpenId?code='+code).then(res => {
this.$u.post('wechat/getWxOpenId?code=' + code).then(res => {
this.$u.vuex('vuex_token', res.token)
this.$u.vuex('vuex_user', res.user)
//优先展示手动上传的头像
if (res.user.avatar && res.user.avatar !== '') {
this.$u.vuex('vuex_avatar', this.baseApi + '/file/getImgStream?idFile=' + res.user.avatar);
this.$u.vuex('vuex_avatar', this.baseApi + '/file/getImgStream?idFile=' + res.user
.avatar);
} else {
if (res.user.wechatHeadImgUrl && res.user.wechatHeadImgUrl !== '') {
//如果拉取到用户微信头像,则展示微信头像
......@@ -111,7 +162,7 @@
}
},
redirectForCode() {
this.$u.post('wechat/getWxSign?url='+window.location.href).then(res => {
this.$u.post('wechat/getWxSign?url=' + window.location.href).then(res => {
const rr = res;
const redirectUrl = window.location.href;
let param = 'appid=' + rr.appId
......@@ -144,6 +195,144 @@
}
.user-box {
background-color: #fff;
height: 224rpx;
padding: 30rpx 0 0 44rpx;
// background-color: #fff;
background: linear-gradient(270deg, #3497CE 0%, #2AADA2 27%, #5BB647 100%);
border-radius: 18px 18px 18px 18px;
margin: 0 30rpx;
}
.avaterimage {
width: 136rpx;
height: 136rpx;
}
.u-font-18 {
font-size: 18px;
font-family: Source Han Sans CN-Bold, Source Han Sans CN;
font-weight: bold;
color: #FFFFFF;
}
.u-font-14 {
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
}
.card {
display: flex;
height: 100%;
align-items: center;
position: relative;
margin: 0 30rpx;
height: 128rpx;
margin-top: 40rpx;
background: #FFFFFF;
box-shadow: 0px 0px 15px 1px rgba(0, 0, 0, 0.06);
border-radius: 12px 12px 12px 12px;
padding: 0 30rpx;
}
.card1 {
// display: flex;
height: 100%;
// align-items: center;
// position: relative;
margin: 0 30rpx;
height: 128rpx;
margin-top: 40rpx;
background: #FFFFFF;
// box-shadow: 0px 0px 15px 1px rgba(0, 0, 0, 0.06);
border-radius: 12px 12px 0px 0px;
// border-bottom: 1px solid #EEEEEE;
// padding: 0 30rpx;
}
.card1plus{
display: flex;
align-items: center;
position: relative;
height: 100%;
border-bottom: 1px solid #EEEEEE;
margin: 0 30rpx;
}
.card2 {
// display: flex;
height: 100%;
// align-items: center;
// position: relative;
margin: 0 30rpx;
height: 128rpx;
// margin-top: 40rpx;
background: #FFFFFF;
// box-shadow: 0px 0px 15px 1px rgba(0, 0, 0, 0.06);
// border-radius: 12px 12px 12px 12px;
// border-bottom: 1px solid #EEEEEE;
// padding: 0 30rpx;
}
.card3 {
display: flex;
height: 100%;
align-items: center;
position: relative;
margin: 0 30rpx;
height: 128rpx;
padding: 0 30rpx;
// margin-top: 40rpx;
background: #FFFFFF;
// box-shadow: 0px 0px 15px 1px rgba(0, 0, 0, 0.06);
border-radius: 0px 0px 12px 12px;
}
.leftimage {
width: 40rpx;
height: 40rpx;
// margin-left: 30rpx;
margin-right: 30rpx;
}
.cardtitle {
height: 40rpx;
display: flex;
align-items: center;
font-size: 16px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
}
.rightimage {
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.rightimage1 {
width: 48rpx;
height: 48rpx;
position: absolute;
right: 0rpx;
}
.toptitlelist{
margin-left: 32rpx;
.toptitlelist1{
font-size: 18px;
font-family: Source Han Sans CN-Bold, Source Han Sans CN;
font-weight: bold;
color: #FFFFFF;
margin-bottom: 32rpx;
}
.toptitlelist2{
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
}
}
// .top{
// background-image: url("../../static/img/image/wode_pic_bg1@2x.png");
// z-index: 99;
// }
</style>
......@@ -6,7 +6,7 @@
<link rel="shortcut icon" type="image/x-icon" href="http://linjiashop.microapp.store/favicon.ico">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>
宠物商店
萌宠商城
</title>
<!-- 正式发布的时候使用,开发期间不启用。↓ -->
<script src="/static/common/js/touch-emulator.js"></script>
......
......@@ -57,7 +57,7 @@
// 菜单标题和选项的激活态颜色
activeColor: {
type: String,
default: '#2979ff'
default: '#50B540'
},
// 菜单标题和选项的未激活态颜色
inactiveColor: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment