Merge branch 'master' of https://git.yuzhankeji.cn/TmOct5/ZhHealth into master
This commit is contained in:
57
App.vue
57
App.vue
@@ -1,8 +1,63 @@
|
||||
<script>
|
||||
import { getVersions } from './apis/interfaces/versions'
|
||||
import im from '@/public/im'
|
||||
export default {
|
||||
onLaunch: function() {
|
||||
// im.imInit()
|
||||
//#ifdef APP-PLUS
|
||||
// 获取系统版本号
|
||||
getVersions({
|
||||
platform: plus.os.name,
|
||||
version : plus.runtime.versionCode
|
||||
}).then(res => {
|
||||
if(res.update){
|
||||
uni.showModal({
|
||||
title: "更新提示",
|
||||
content: res.note || '版本更新信息',
|
||||
confirmText: "更新",
|
||||
success: modalRes => {
|
||||
if (modalRes.confirm) {
|
||||
if (plus.os.name == "Android") {
|
||||
uni.showToast({
|
||||
title: '新版本下载中,将在下载完成后自动为您安装更新包',
|
||||
icon : 'none'
|
||||
})
|
||||
uni.downloadFile({
|
||||
url : res.info.download,
|
||||
success : apkPick=> {
|
||||
plus.runtime.install(apkPick.tempFilePath, '', installRES => {
|
||||
// 安装完成用于提示新版本引导,暂时无用
|
||||
}, installERR => {
|
||||
// 安装失败
|
||||
})
|
||||
},
|
||||
fail(err){
|
||||
uni.showToast({
|
||||
title: '安装包下载失败,请检查您的网络或稍后重试',
|
||||
icon : 'none'
|
||||
})
|
||||
}
|
||||
})
|
||||
// plus.runtime.openURL(res.info.download, err => {
|
||||
// console.log(err)
|
||||
// }, 'com.android.browser');
|
||||
} else{
|
||||
uni.showToast({
|
||||
title: 'IOS应用暂未上架,请打开测试(TestFlight)工具点击更新',
|
||||
icon : 'none'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
})
|
||||
})
|
||||
//#endif
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -33,7 +33,6 @@ const meals = (id, categoryId) => {
|
||||
|
||||
// 商品列表
|
||||
const lists = data => {
|
||||
console.log(data)
|
||||
return request({
|
||||
url: 'mall/goods',
|
||||
data
|
||||
|
||||
176
pages.json
176
pages.json
@@ -131,7 +131,20 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": "商品",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": true
|
||||
"enablePullDownRefresh": true,
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"backgroundColor": "#FFFFFF",
|
||||
"titleSize": "16",
|
||||
"buttons": [{
|
||||
"float": "right",
|
||||
"text": "\ue603",
|
||||
"fontSrc": "/static/iconfont.ttf",
|
||||
"color": "#000",
|
||||
"fontSize": "20px"
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"path": "pages/store/meals",
|
||||
@@ -214,155 +227,162 @@
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
}, {
|
||||
"path": "pages/notice/index",
|
||||
"path": "pages/notice/index",
|
||||
"name": "noticeIndex",
|
||||
"style": {
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
}, {
|
||||
"path": "pages/notice/list",
|
||||
"path": "pages/notice/list",
|
||||
"name": "noticeList",
|
||||
"style": {
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
}, {
|
||||
"path": "pages/notice/details",
|
||||
"path": "pages/notice/details",
|
||||
"name": "noticeDetails",
|
||||
"style": {
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
},{
|
||||
"path": "pages/im/index",
|
||||
"name": "IM",
|
||||
"style": {
|
||||
"navigationBarTitleText": "聊聊",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"buttons": [{
|
||||
"float": "right",
|
||||
"text": "\ue605",
|
||||
"fontSrc": "/static/iconfont.ttf",
|
||||
"color": "#000",
|
||||
"fontSize": "20px"
|
||||
}, {
|
||||
"float": "left",
|
||||
"text": "\ue606",
|
||||
"fontSrc": "/static/iconfont.ttf",
|
||||
"color": "#000",
|
||||
"fontSize": "20px"
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/im/index",
|
||||
"name": "IM",
|
||||
"style": {
|
||||
"navigationBarTitleText": "聊聊",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"buttons": [{
|
||||
"float": "right",
|
||||
"text": "\ue605",
|
||||
"fontSrc": "/static/iconfont.ttf",
|
||||
"color": "#000",
|
||||
"fontSize": "20px"
|
||||
}, {
|
||||
"float": "left",
|
||||
"text": "\ue606",
|
||||
"fontSrc": "/static/iconfont.ttf",
|
||||
"color": "#000",
|
||||
"fontSize": "20px"
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"path": "pages/im/chum",
|
||||
"name": "ImChum",
|
||||
"style": {
|
||||
"navigationBarTitleText": "好友",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/wallet/add",
|
||||
"name": "WalletAdd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "创建钱包",
|
||||
"navigationBarBackgroundColor":"#FFFFFF",
|
||||
"navigationBarTitleText": "创建钱包",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/wallet/create",
|
||||
"name": "WalletCreate",
|
||||
"style": {
|
||||
"navigationBarTitleText": "设置密码",
|
||||
"navigationBarBackgroundColor":"#FFFFFF",
|
||||
"navigationBarTitleText": "设置密码",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/wallet/mnemonic",
|
||||
"name": "WalletMnemonic",
|
||||
"style": {
|
||||
"navigationBarTitleText": "导出助记词",
|
||||
"navigationBarBackgroundColor":"#FFFFFF",
|
||||
"navigationBarTitleText": "导出助记词",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/wallet/validation",
|
||||
"name": "WalletValidation",
|
||||
"style": {
|
||||
"navigationBarTitleText": "验证助记词",
|
||||
"navigationBarBackgroundColor":"#FFFFFF",
|
||||
"navigationBarTitleText": "验证助记词",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/wallet/property",
|
||||
"name": "WalletProperty",
|
||||
"style": {
|
||||
"navigationBarTitleText": "ZH钱包",
|
||||
"navigationBarTextStyle":"white",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"backgroundImage": "linear-gradient(to right, #34ce98, #22aa98)",
|
||||
"type": "transparent",
|
||||
"buttons": [{
|
||||
"float": "right",
|
||||
"text": "\ue607",
|
||||
"fontSrc": "/static/iconfont.ttf",
|
||||
"color": "#FFF",
|
||||
"fontSize": "20px",
|
||||
"background": "rgba(0,0,0,0)"
|
||||
}],
|
||||
"backButton":{
|
||||
"background": "rgba(0,0,0,0)"
|
||||
}
|
||||
}
|
||||
"navigationBarTitleText": "ZH钱包",
|
||||
"navigationBarTextStyle": "white",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"backgroundImage": "linear-gradient(to right, #34ce98, #22aa98)",
|
||||
"type": "transparent",
|
||||
"buttons": [{
|
||||
"float": "right",
|
||||
"text": "\ue607",
|
||||
"fontSrc": "/static/iconfont.ttf",
|
||||
"color": "#FFF",
|
||||
"fontSize": "20px",
|
||||
"background": "rgba(0,0,0,0)"
|
||||
}],
|
||||
"backButton": {
|
||||
"background": "rgba(0,0,0,0)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/service/index",
|
||||
"name": "serviceIndex",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/service/index",
|
||||
"name": "serviceIndex",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/service/details",
|
||||
"name": "serviceDetails",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},{
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wallet/privatekey",
|
||||
"name": "WalletPrivatekey",
|
||||
"style": {
|
||||
"navigationBarTitleText": "钱包私钥",
|
||||
"navigationBarBackgroundColor":"#FFFFFF",
|
||||
"navigationBarTitleText": "钱包私钥",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/wallet/resetPassword",
|
||||
"name": "ResetPassword",
|
||||
"style": {
|
||||
"navigationBarTitleText": "修改钱包密码",
|
||||
"navigationBarBackgroundColor":"#FFFFFF",
|
||||
"navigationBarTitleText": "修改钱包密码",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}],
|
||||
}, {
|
||||
"path": "pages/store/search",
|
||||
"name": "StoreSearch",
|
||||
"style": {
|
||||
"navigationBarTitleText": "搜索",
|
||||
"navigationBarBackgroundColor": "#FFFFFF"
|
||||
}
|
||||
}],
|
||||
"tabBar": {
|
||||
"borderStyle": "white",
|
||||
"selectedColor": "#34CE98",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<block v-if="messageArr.length >= 1">
|
||||
<block v-if="messageArr.length < 1">
|
||||
<view class="vertical null-list">
|
||||
<u-empty
|
||||
icon="http://cdn.uviewui.com/uview/empty/message.png"
|
||||
@@ -17,22 +17,30 @@
|
||||
<!-- <button type="default">连接</button> -->
|
||||
<!-- <button type="default">发送</button> -->
|
||||
|
||||
<view v-for="item in 2" :key="item" class="mssage-box">
|
||||
<view class="mssage-action" @click="$Router.push({name: 'ImChat'})">
|
||||
<u-avatar
|
||||
clsss="mssage-action-cover"
|
||||
src="https://cdn.uviewui.com/uview/album/1.jpg"
|
||||
size="44"
|
||||
text="唐"
|
||||
font-size="14"
|
||||
randomBgColor
|
||||
></u-avatar>
|
||||
<view v-for="(item, index) in messageArr" :key="index" class="mssage-box">
|
||||
<view class="mssage-action" @click="openChum">
|
||||
<block v-if="item.cover === ''">
|
||||
<u-avatar
|
||||
clsss="mssage-action-cover"
|
||||
size="44"
|
||||
:text="item.text"
|
||||
font-size="14"
|
||||
randomBgColor
|
||||
></u-avatar>
|
||||
</block>
|
||||
<block v-else>
|
||||
<u-avatar
|
||||
clsss="mssage-action-cover"
|
||||
:src="item.cover"
|
||||
size="44"
|
||||
></u-avatar>
|
||||
</block>
|
||||
<view class="mssage-action-content">
|
||||
<view class="mssage-header">
|
||||
<view class="header-name">唐明明</view>
|
||||
<view class="header-time">2021/12/31</view>
|
||||
<view class="header-name">{{item.name}}</view>
|
||||
<view class="header-time">{{item.time}}</view>
|
||||
</view>
|
||||
<view class="mssage-msg">消息</view>
|
||||
<view class="mssage-msg">{{item.message}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -45,7 +53,33 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
messageArr : [],
|
||||
messageArr : [
|
||||
{
|
||||
cover: 'https://cdn.uviewui.com/uview/album/1.jpg',
|
||||
name: '班班五月',
|
||||
message: '咱们进直播间了吗?上课啦~今天教大家【拆解项目背后的逻辑】',
|
||||
time: '昨天'
|
||||
},
|
||||
{
|
||||
cover: 'https://cdn.uviewui.com/uview/album/4.jpg',
|
||||
name: '周磊',
|
||||
message: '[语音]',
|
||||
time: '周一'
|
||||
},
|
||||
{
|
||||
cover: '',
|
||||
text: 'S',
|
||||
name: 'SKY',
|
||||
message: '谢谢',
|
||||
time: '2022/1/5'
|
||||
},
|
||||
{
|
||||
cover: 'https://cdn.uviewui.com/uview/album/5.jpg',
|
||||
name: '俊少',
|
||||
message: '[语音]',
|
||||
time: '2022/1/4'
|
||||
},
|
||||
],
|
||||
optionsAction: [
|
||||
{
|
||||
text: '删除',
|
||||
@@ -58,17 +92,26 @@
|
||||
},
|
||||
methods:{
|
||||
openChum(){
|
||||
this.$Router.push({name: 'ImChum'})
|
||||
console.log("好友列表")
|
||||
uni.showToast({
|
||||
title: '聊聊系统正在开发中,敬请期待',
|
||||
icon : 'none'
|
||||
})
|
||||
}
|
||||
},
|
||||
onNavigationBarButtonTap(e) {
|
||||
|
||||
switch (e.index){
|
||||
case 1:
|
||||
this.openChum()
|
||||
uni.showToast({
|
||||
title: '聊聊好友系统正在开发中,敬请期待',
|
||||
icon : 'none'
|
||||
})
|
||||
break;
|
||||
case 0:
|
||||
console.log("扫码添加好友")
|
||||
uni.showToast({
|
||||
title: '聊聊扫一扫系统正在开发中,敬请期待',
|
||||
icon : 'none'
|
||||
})
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view>
|
||||
<!-- 搜索 -->
|
||||
<view class="search">
|
||||
<view class="search-nav">
|
||||
<u-search
|
||||
v-model="keyword"
|
||||
placeholder="请输入食物名称"
|
||||
focus
|
||||
:clearabled="true"
|
||||
:showAction="false"
|
||||
@change="change"
|
||||
@search="search"
|
||||
@clear="clear"
|
||||
color="#000000"
|
||||
bgColor="#F3F6FB"
|
||||
searchIconColor="#34CE98"
|
||||
/>
|
||||
</view>
|
||||
<view class="search-cancel" @click="$router.back(-1)">
|
||||
取消
|
||||
</view>
|
||||
</view>
|
||||
<u-sticky>
|
||||
<view class="header ios-top">
|
||||
<view class="search">
|
||||
<view class="search-nav">
|
||||
<u-search
|
||||
v-model="keyword"
|
||||
placeholder="请输入食物名称"
|
||||
focus
|
||||
:clearabled="true"
|
||||
:showAction="false"
|
||||
@change="change"
|
||||
@search="search"
|
||||
@clear="clear"
|
||||
color="#000000"
|
||||
bgColor="#F3F6FB"
|
||||
searchIconColor="#34CE98"
|
||||
/>
|
||||
</view>
|
||||
<view class="search-cancel" @click="$Router.back()">取消</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-sticky>
|
||||
|
||||
<view class="recommend" v-if="listArr == ''">
|
||||
<view class="recommend-title">
|
||||
@@ -123,44 +125,34 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.content {
|
||||
padding-top: calc(var(--status-bar-height) + 120rpx);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
// 搜索
|
||||
.search {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 99;
|
||||
height: 120rpx;
|
||||
background-color: white;
|
||||
@extend .ios-top;
|
||||
padding: $padding;
|
||||
box-sizing: border-box;
|
||||
.search-nav {
|
||||
width: calc(100% - 100rpx);
|
||||
background: $window-color;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
border-radius: 40rpx;
|
||||
color: $text-gray;
|
||||
font-size: $title-size-lg;
|
||||
display: flex;
|
||||
}
|
||||
.search-cancel {
|
||||
color: $main-color;
|
||||
position: absolute;
|
||||
right: $padding;
|
||||
top: $padding;
|
||||
line-height: 80rpx;
|
||||
width: 100rpx;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.header{
|
||||
background-color: white;
|
||||
.search {
|
||||
position: relative;
|
||||
padding: $padding/2 $padding;
|
||||
box-sizing: border-box;
|
||||
.search-nav {
|
||||
width: calc(100% - 100rpx);
|
||||
background: $window-color;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
border-radius: 40rpx;
|
||||
color: $text-gray;
|
||||
font-size: $title-size-lg;
|
||||
display: flex;
|
||||
}
|
||||
.search-cancel {
|
||||
color: $main-color;
|
||||
position: absolute;
|
||||
right: $padding;
|
||||
top: $padding/2;
|
||||
line-height: 80rpx;
|
||||
width: 100rpx;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
.recommend {
|
||||
padding: $padding;
|
||||
box-sizing: border-box;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
<u-tabs
|
||||
class="tabs"
|
||||
:list="tabs"
|
||||
:current="index"
|
||||
lineColor="#34CE98"
|
||||
@click="onTabs"
|
||||
sticky
|
||||
@@ -63,6 +64,7 @@
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.index = this.$Route.query.index
|
||||
this.getOrder()
|
||||
},
|
||||
methods:{
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="status">
|
||||
<view class="top">
|
||||
<view class="top-name">
|
||||
ZH大家庭
|
||||
</view>
|
||||
<view class="top-card">
|
||||
会员卡
|
||||
</view>
|
||||
</view>
|
||||
<view class="site">
|
||||
<view class="site-name">
|
||||
<u-icon name="map" style="margin-right: 10rpx;"></u-icon>
|
||||
全国
|
||||
</view>
|
||||
<view class="site-number">
|
||||
共<text>{{ total }}</text>家
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-sticky>
|
||||
<view class="status">
|
||||
<view class="top">
|
||||
<view class="top-name">
|
||||
ZH大家庭
|
||||
</view>
|
||||
<view class="top-card">
|
||||
会员卡
|
||||
</view>
|
||||
</view>
|
||||
<view class="site">
|
||||
<view class="site-name">
|
||||
<u-icon name="map" style="margin-right: 10rpx;"></u-icon>
|
||||
全国
|
||||
</view>
|
||||
<view class="site-number">
|
||||
共<text>{{ total }}</text>家
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-sticky>
|
||||
<view class="list">
|
||||
<view class="label" v-for="(item, index) in lists" @click="$Router.push({name: 'serviceDetails', params: {id: item.hall_id, title: item.title + ' ' + item.subtitle}})">
|
||||
<view class="label" v-for="(item, index) in lists" :key="index" @click="$Router.push({name: 'serviceDetails', params: {id: item.hall_id, title: item.title + ' ' + item.subtitle}})">
|
||||
<view class="labelImg">
|
||||
<image :src="item.cover" mode="aspectFill"></image>
|
||||
</view>
|
||||
@@ -94,21 +96,17 @@
|
||||
}
|
||||
|
||||
.status {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 99;
|
||||
height: 180rpx;
|
||||
background-color: white;
|
||||
padding: $padding;
|
||||
padding: 0 $padding $padding;
|
||||
box-sizing: border-box;
|
||||
border-bottom: $border-color 2rpx solid;
|
||||
.top {
|
||||
display: flex;
|
||||
margin-bottom: $margin;
|
||||
@extend .ios-top;
|
||||
.top-name {
|
||||
font-size: $title-size + 6;
|
||||
font-weight: bold;
|
||||
}
|
||||
.top-card {
|
||||
font-size: $title-size-m;
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
<script>
|
||||
import { goods } from '@/apis/interfaces/store'
|
||||
import userAuth from '@/public/userAuth'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -66,6 +67,11 @@
|
||||
})
|
||||
},
|
||||
buy(){
|
||||
if(this.$store.state.token === ''){
|
||||
const Auth = new userAuth()
|
||||
Auth.Login()
|
||||
return
|
||||
}
|
||||
this.$Router.push({
|
||||
name: 'StoreBuy',
|
||||
params: {
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.getMall()
|
||||
},
|
||||
onNavigationBarButtonTap() {
|
||||
this.$Router.push({name: 'StoreSearch'})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -11,6 +11,10 @@
|
||||
color="#e6576b"
|
||||
@onGoods="$Router.push({ name: 'StoreGoods', params: {id: $event.goods_id}})"
|
||||
/>
|
||||
<!-- 加载更多 -->
|
||||
<view class="pages-load">
|
||||
<u-loadmore :status="status" />
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="vertical pages-empty">
|
||||
@@ -34,7 +38,8 @@
|
||||
classify: [
|
||||
{ name: "全部", category_id: "" }
|
||||
],
|
||||
cid : ""
|
||||
cid : "",
|
||||
page : 1
|
||||
};
|
||||
},
|
||||
mounted(){
|
||||
@@ -46,12 +51,17 @@
|
||||
},
|
||||
methods:{
|
||||
// 商品列表
|
||||
getLists(cid) {
|
||||
getLists() {
|
||||
lists({
|
||||
category_id : this.$Route.query.id,
|
||||
category_cid: this.cid
|
||||
category_cid: this.cid,
|
||||
page : this.page
|
||||
}).then(res => {
|
||||
this.goodsArr = res.data
|
||||
if(res.page.current === 1){
|
||||
this.goodsArr = []
|
||||
}
|
||||
this.goodsArr = this.goodsArr.concat(res.data)
|
||||
this.status = res.page.has_more ? 'loadmore' : 'nomore'
|
||||
uni.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
@@ -66,10 +76,22 @@
|
||||
this.goodsArr = []
|
||||
this.cid = e.category_id
|
||||
this.getLists()
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.page = 1
|
||||
this.getLists()
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.status === 'loadmore'){
|
||||
this.page += 1
|
||||
this.status = 'loading'
|
||||
this.getLists()
|
||||
}
|
||||
},
|
||||
onNavigationBarButtonTap() {
|
||||
this.$Router.push({name: 'StoreSearch'})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -83,4 +105,9 @@
|
||||
.pages-empty{
|
||||
height: 70vh;
|
||||
}
|
||||
|
||||
// 加载分页
|
||||
.pages-load{
|
||||
padding-bottom: $padding;
|
||||
}
|
||||
</style>
|
||||
|
||||
116
pages/store/search.vue
Normal file
116
pages/store/search.vue
Normal file
@@ -0,0 +1,116 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<!-- 搜索 -->
|
||||
<view class="header">
|
||||
<input type="text" v-model="searchVlaue" focus placeholder="输入产品关键搜索" />
|
||||
<view class="btn" @click="getLists()">搜索</view>
|
||||
</view>
|
||||
<!-- 搜索列表 -->
|
||||
<block v-if="goodsArr.length >= 1">
|
||||
<oct-goods
|
||||
:lists="goodsArr"
|
||||
color="#e6576b"
|
||||
@onGoods="$Router.push({ name: 'StoreGoods', params: {id: $event.goods_id}})"
|
||||
/>
|
||||
<!-- 加载更多 -->
|
||||
<view class="pages-load">
|
||||
<u-loadmore :status="status" />
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="vertical pages-empty">
|
||||
<u-empty
|
||||
icon="http://cdn.uviewui.com/uview/empty/search.png"
|
||||
textColor="#999"
|
||||
text="暂无搜索结果"
|
||||
></u-empty>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { lists } from "@/apis/interfaces/store"
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchVlaue : '',
|
||||
goodsArr : [],
|
||||
status : "loading",
|
||||
page : 1
|
||||
};
|
||||
},
|
||||
methods:{
|
||||
getLists() {
|
||||
lists({
|
||||
name: this.searchVlaue,
|
||||
page: this.page
|
||||
}).then(res => {
|
||||
console.log(res.page)
|
||||
|
||||
if(res.page.current === 1){
|
||||
this.goodsArr = []
|
||||
}
|
||||
this.goodsArr = this.goodsArr.concat(res.data)
|
||||
this.status = res.page.has_more ? 'loadmore' : 'nomore'
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.status === 'loadmore'){
|
||||
this.page += 1
|
||||
this.status = 'loading'
|
||||
this.getLists()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.content{
|
||||
min-height: 100vh;
|
||||
padding-top: 110rpx;
|
||||
background: $window-color;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
// 搜索
|
||||
.header{
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 120rpx;
|
||||
padding: 20rpx ($padding + 150) 20rpx $padding;
|
||||
box-sizing: border-box;
|
||||
background: white;
|
||||
input{
|
||||
background: $window-color;
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
padding: 0 $padding;
|
||||
border-radius: 35rpx;
|
||||
font-size: $title-size-lg;
|
||||
}
|
||||
.btn{
|
||||
position: absolute;
|
||||
top: 20rpx;
|
||||
right: $padding;
|
||||
width: 130rpx;
|
||||
background: $window-color;
|
||||
line-height: 70rpx;
|
||||
text-align: center;
|
||||
font-size: $title-size-lg;
|
||||
color: $main-color;
|
||||
font-weight: bold;
|
||||
border-radius: 35rpx;
|
||||
}
|
||||
}
|
||||
// 结果空
|
||||
.pages-empty{
|
||||
height: 80vh;
|
||||
}
|
||||
// 加载分页
|
||||
.pages-load{
|
||||
padding-bottom: $padding;
|
||||
}
|
||||
</style>
|
||||
@@ -13,7 +13,7 @@
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="name" @click="Login">未登录</view>
|
||||
<view class="name" @click="isLogin()">未登录</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
@@ -61,39 +61,29 @@
|
||||
</view>
|
||||
<!-- 订单 -->
|
||||
<view class="order-box">
|
||||
<view class="order-box-item" @click="$Router.push({name: 'Order'})">
|
||||
<view class="order-box-item" @click="onBtn('Order', {index: 0})">
|
||||
<image class="icon" src="@/static/user/order_icon_00.png" mode="widthFix"></image>
|
||||
<view class="title">全部订单</view>
|
||||
</view>
|
||||
<view class="order-box-item" @click="$Router.push({name: 'Order'})">
|
||||
<view class="order-box-item" @click="onBtn('Order', {index: 1})">
|
||||
<image class="icon" src="@/static/user/order_icon_01.png" mode="widthFix"></image>
|
||||
<view class="title">待付款</view>
|
||||
</view>
|
||||
<view class="order-box-item" @click="$Router.push({name: 'Order'})">
|
||||
<view class="order-box-item" @click="onBtn('Order', {index: 2})">
|
||||
<image class="icon" src="@/static/user/order_icon_02.png" mode="widthFix"></image>
|
||||
<view class="title">待发货</view>
|
||||
</view>
|
||||
<view class="order-box-item" @click="$Router.push({name: 'Order'})">
|
||||
<view class="order-box-item" @click="onBtn('Order', {index: 3})">
|
||||
<image class="icon" src="@/static/user/order_icon_03.png" mode="widthFix"></image>
|
||||
<view class="title">待收货</view>
|
||||
</view>
|
||||
<view class="order-box-item" @click="$Router.push({name: 'Order'})">
|
||||
<view class="order-box-item" @click="onBtn('Order', {index: 4})">
|
||||
<image class="icon" src="@/static/user/order_icon_04.png" mode="widthFix"></image>
|
||||
<view class="title">已完成</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 功能块 -->
|
||||
<view class="btns-box">
|
||||
<!-- <view class="btns-box-item" @click="$Router.push({name: 'WalletAdd'})">
|
||||
<image class="icon" src="@/static/user/icon_00.png" mode="widthFix"></image>
|
||||
ZH钱包(首次)
|
||||
<uni-icons class="forward" type="forward" color="#999"></uni-icons>
|
||||
</view>
|
||||
<view class="btns-box-item" @click="$Router.push({name: 'WalletProperty'})">
|
||||
<image class="icon" src="@/static/user/userIcon_01.png" mode="widthFix"></image>
|
||||
ZH钱包(钱包)
|
||||
<uni-icons class="forward" type="forward" color="#999"></uni-icons>
|
||||
</view> -->
|
||||
<view class="btns-box-item" @click="onWallet">
|
||||
<image class="icon" src="@/static/user/userIcon_00.png" mode="widthFix"></image>
|
||||
ZH钱包
|
||||
@@ -104,18 +94,13 @@
|
||||
健康档案
|
||||
<uni-icons class="forward" type="forward" color="#999"></uni-icons>
|
||||
</view>
|
||||
<view class="btns-box-item" @click="$Router.push({name: 'Address', params: {type: 'edit'}})">
|
||||
<view class="btns-box-item" @click="onBtn('Address', {type: 'edit'})">
|
||||
<image class="icon" src="@/static/user/userIcon_03.png" mode="widthFix"></image>
|
||||
地址管理
|
||||
<uni-icons class="forward" type="forward" color="#999"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btns-box">
|
||||
<view class="btns-box-item">
|
||||
<image class="icon" src="@/static/user/userIcon_04.png" mode="widthFix"></image>
|
||||
设置
|
||||
<uni-icons class="forward" type="forward" color="#999"></uni-icons>
|
||||
</view>
|
||||
<view class="btns-box-item" @click="logOut">
|
||||
<image class="icon" src="@/static/user/userIcon_05.png" mode="widthFix"></image>
|
||||
退出登录
|
||||
@@ -135,7 +120,7 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
cardText: ['老用户专属特权', '老用户专属健康会员'],
|
||||
cardText: ['新用户首单即赠会员', '老用户专属验证开通会员'],
|
||||
userInfo: {
|
||||
nickname: "",
|
||||
avatar : ""
|
||||
@@ -150,11 +135,9 @@
|
||||
getInfo(){
|
||||
if(this.$store.state.token === '') return
|
||||
info().then(res => {
|
||||
console.log(res)
|
||||
uni.setNavigationBarTitle({
|
||||
title: res.nickname
|
||||
})
|
||||
|
||||
this.userInfo = res
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
@@ -165,25 +148,55 @@
|
||||
},
|
||||
// 开通会员
|
||||
openVip(){
|
||||
if(this.$store.state.token === ''){
|
||||
this.Login()
|
||||
return
|
||||
if(this.isLogin()){
|
||||
uni.showActionSheet({
|
||||
itemList: ["我是新用户", "我是老用户"],
|
||||
success: res=> {
|
||||
switch (res.tapIndex){
|
||||
case 0:
|
||||
uni.showModal({
|
||||
title: '开通提示',
|
||||
content: '平台新用户完成手笔订单,即可获赠ZH健康会员',
|
||||
showCancel:false,
|
||||
cancelText: '去完成',
|
||||
success: res => {
|
||||
console.log(res)
|
||||
this.$Router.pushTab({name: 'Store'})
|
||||
}
|
||||
})
|
||||
break;
|
||||
case 1:
|
||||
uni.showToast({
|
||||
title: '老用户渠道暂未开放',
|
||||
icon : 'none'
|
||||
})
|
||||
break;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log("开通会员")
|
||||
},
|
||||
// 开通钱包
|
||||
onWallet(){
|
||||
if(this.$store.state.token === ''){
|
||||
this.Login()
|
||||
return
|
||||
if(this.isLogin()){
|
||||
if(this.userInfo.is_wallet) this.$Router.push({name: 'WalletProperty'})
|
||||
else this.$Router.push({name: 'WalletAdd'})
|
||||
}
|
||||
if(this.userInfo.is_wallet) this.$Router.push({name: 'WalletProperty'})
|
||||
else this.$Router.push({name: 'WalletAdd'})
|
||||
},
|
||||
// 登录
|
||||
Login(){
|
||||
const Auth = new userAuth()
|
||||
Auth.Login()
|
||||
// 按钮导航
|
||||
onBtn(name, params){
|
||||
if(this.isLogin()){
|
||||
this.$Router.push({name, params})
|
||||
}
|
||||
},
|
||||
// 检查登录
|
||||
isLogin(){
|
||||
if(this.$store.state.token === ''){
|
||||
const Auth = new userAuth()
|
||||
Auth.Login()
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 退出登录
|
||||
logOut(){
|
||||
|
||||
Reference in New Issue
Block a user