浏览代码

测试物品识别

YZM 2 年之前
父节点
当前提交
9763f37f9f

+ 84 - 0
components/data.js

@@ -0,0 +1,84 @@
+export default[
+  
+    {
+        "name": "美妆",
+        "foods": [
+            {
+                "name": "化妆刷",
+                "key": "化妆刷",
+                "icon": "http://img.kiwifruits.cn/classify/3/1.jpg",
+                "cat": 3
+            },
+            {
+                "name": "粉底",
+                "key": "粉底",
+                "icon": "http://img.kiwifruits.cn/classify/3/2.jpg",
+                "cat": 3
+            },
+            {
+                "name": "洗发护发",
+                "key": "洗发护发",
+                "icon": "http://img.kiwifruits.cn/classify/3/3.jpg",
+                "cat": 3
+            },
+
+        ]
+    },
+    {
+        "name": "居家日用",
+        "foods": [
+            {
+              "name": "垃圾袋",
+              "key": "垃圾袋",
+              "icon": "http://img.kiwifruits.cn/classify/4/1.jpg",
+              "cat": 4
+            },
+            {
+                "name": "纸巾",
+                "key": "纸巾",
+                "icon": "http://img.kiwifruits.cn/classify/4/2.jpg",
+                "cat": 4
+            }
+        ]
+    },
+    {
+        "name": "男装",
+        "foods": [
+            {
+                "name": "爸爸装",
+                "key": "爸爸装",
+                "icon": "http://img.kiwifruits.cn/classify/5/1.jpg",
+                "cat": 12
+            },
+            {
+                "name": "牛仔裤",
+                "key": "牛仔裤",
+                "icon": "http://img.kiwifruits.cn/classify/5/2.jpg",
+                "cat": 12
+            }
+        ]
+    },
+    {
+        "name": "鞋品",
+        "foods": [
+            {
+                "name": "单鞋",
+                "key": "单鞋",
+                "icon": "http://img.kiwifruits.cn/classify/6/1.jpg",
+                "cat": 5
+            },
+            {
+                "name": "皮鞋",
+                "key": "皮鞋",
+                "icon": "http://img.kiwifruits.cn/classify/6/2.jpg",
+                "cat": 5
+            },
+            {
+                "name": "帆布鞋",
+                "key": "帆布鞋",
+                "icon": "http://img.kiwifruits.cn/classify/6/3.jpg",
+                "cat": 5
+            }
+        ]
+    }
+]

+ 176 - 0
components/liandong.vue

@@ -0,0 +1,176 @@
+<template>
+	<view class="page-body" :style="'height:'+height+'px'">
+		<scroll-view class="nav-left" scroll-y :style="'height:'+height+'px'" :scroll-top="scrollLeftTop" scroll-with-animation>
+			<view class="nav-left-item" @click="categoryClickMain(index)" :key="index" :class="index==categoryActive?'active':''"
+				v-for="(item,index) in classifyData">
+				{{item.name}}
+			</view>
+		</scroll-view>
+		<scroll-view class="nav-right" scroll-y :scroll-top="scrollTop" @scroll="scroll" :style="'height:'+height+'px'" scroll-with-animation>
+			<view v-for="(foods,index) in classifyData" :key="index" class="box">
+				<view :id="i==0?'first':''" class="nav-right-item" v-for="(item,i) in foods.foods" :key="i" @click="cart(item.name)">
+					<image :src="item.icon" />
+					<view>{{item.name}}</view>
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	import classifyData from '@/components/data.js';
+	export default {
+		data() {
+			return {
+				name: "wkiwi",
+				height: 0,
+				categoryActive: 0,
+				scrollTop: 0,
+				scrollLeftTop: 0,
+				// scrollHeight: 0,
+				classifyData:classifyData,
+				arr:[0,584,1168,1752,2336,2805,3274,3858,4442,4911,5380,5734,6203,6672,7017],//初始值,后边计算会根据手机适配覆盖
+				leftItemHeight: 51,//49行会计算出新值进行覆盖
+				navLeftHeight:0,//左边scroll-view 内层nav的总高度
+				diff: 0,//左边scroll-view 内层nav的总高度与视口之差
+				tabBarHeight:0,//如果此页面为Tab页面,自己改变高度值,,一般tab高度为51
+			}
+		},
+		created(){
+			this.height = uni.getSystemInfoSync().windowHeight - this.tabBarHeight;
+			console.log(1111)
+			//如果你的分类数据为后台异步获取请	将下方代码放置你的数据回调中
+			// this.$nextTick(()=>{
+			// 	this.getHeightList();
+			// })
+		},
+		onLoad() {
+			
+			console.log(1111)
+		},
+		onReady() {
+			this.getHeightList();
+		},
+		methods: {
+			getHeightList(){
+				let _this = this;
+				let selectorQuery=uni.createSelectorQuery();
+				selectorQuery.selectAll('.nav-left-item').boundingClientRect(function(rects) {
+					_this.leftItemHeight  =  rects[0].height;
+					_this.navLeftHeight = _this.leftItemHeight * classifyData.length;
+					_this.diff =  _this.navLeftHeight - _this.height;
+				});
+				selectorQuery.selectAll('.box').boundingClientRect(function(rects) {
+					let arr = [0];
+					let top = 0;
+					rects.forEach(function(rect){
+						top += rect.height;
+						arr.push(top)
+						})
+						console.log(arr)
+						_this.arr = arr
+					}).exec()
+			},
+			scroll(e) {
+				let _this = this
+				if(this.timeoutId){
+					clearTimeout(this.timeoutId);
+				}
+				this.timeoutId = setTimeout(function(){
+					_this.scrollHeight = e.detail.scrollTop + 1 + _this.height/2;
+					for (let i = 0; i < _this.arr.length;i++) {
+						let height1 = _this.arr[i];
+						let height2 = _this.arr[i+1];
+						if (!height2 || (_this.scrollHeight >= height1 && _this.scrollHeight < height2)) {
+							_this.categoryActive = i;
+							(_this.diff>0) && (_this.scrollLeftTop = Math.round((_this.categoryActive * _this.diff)/(classifyData.length-1)));
+							return false;
+						}
+					}
+					_this.categoryActive = 0;
+					_this.timeoutId = undefined;
+				}, 10)
+			},
+			categoryClickMain(index) {
+				this.categoryActive = index;
+				this.scrollTop == this.arr[index] ? this.scrollTop = this.scrollTop+1 : this.scrollTop = this.arr[index]//防止两次相等造成点击不触发滚动时间
+			},
+			cart: function (text) {
+				uni.showToast({
+					title: text,
+					icon: "none",
+				})
+			}
+		},
+		components: {
+		}
+	}
+</script>
+
+<style>
+	.page-body {
+		display: flex;
+		background: #fff;
+		overflow: hidden;
+	}
+
+	.nav {
+		display: flex;
+		width: 100%;
+	}
+
+	.nav-left {
+		width: 25%;
+		background: #fafafa;
+	}
+
+	.nav-left-item {
+		height: 100upx;
+		border-right: solid 1px #f1f1f1;
+		border-bottom: solid 1px #f1f1f1;
+		font-size: 30upx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+	.nav-left-item:last-child{
+		border-bottom: none;
+	}
+	.nav-right {
+		width: 75%;
+	}
+	.box {
+		display: block;
+		overflow: hidden;
+		border-bottom: 20upx solid #f3f3f3;
+	}
+	.box:last-child {
+		border: none;
+		min-height:100vh;
+	}
+	.nav-right-item {
+		width: 28%;
+		height: 220upx;
+		float: left;
+		text-align: center;
+		padding: 11upx;
+		font-size: 28upx;
+		background: #fff;
+	}
+
+	.nav-right-item image {
+		width: 150upx;
+		height: 150upx;
+	}
+
+	.active {
+		color: #FF80AB;
+		background: #fff;
+		border-right: 0;
+	}
+	::-webkit-scrollbar {/*取消小程序的默认导航条样式*/
+   width: 0;
+   height: 0;
+   color: transparent;
+}
+</style>

+ 0 - 26
components/tabbar.vue

@@ -1,26 +0,0 @@
-<template>
-	<view class="grey text" >
-		<tm-bottomnavigation style="height:40px" icon-color="red" :list="list_1"></tm-bottomnavigation>
-	</view>
-</template>
-
-<script>
-	export default {
-	data() {
-		return {
-			list_1: [
-				{ iconSize: 46,showDot:false,icon: '/static/aa.png',noIcon:'/static/logo.png', path:'/pages/index/index', value: '' },
-				{ iconSize: 46,showDot:false,icon: '/static/aa.png',noIcon:'/static/logo.png', path:'/pages/wardrobe/index', value: '' },
-				{ iconSize: 46,showDot:true, icon: '/static/aa.png',noIcon:'/static/logo.png', path:'/pages/message/index', value: '' },
-				{ iconSize: 46,showDot:true, icon: '/static/aa.png',noIcon:'/static/logo.png', path:'/pages/shop/index', value: '' },
-				{ iconSize: 46,showDot:true, icon: '/static/aa.png',noIcon:'/static/logo.png', path:'/pages/user/index', value: '' }
-			],
-		};
-	},
-	onLoad() {
-		
-
-	},
-	methods: {}
-};
-</script>

+ 1 - 1
env/dev.js

@@ -1,4 +1,4 @@
 const ENV_TYPE = {
-	baseUrl: "https://api.circleo.win"
+	baseUrl: "http://yigui.liliju.com"
 }
 module.exports = ENV_TYPE

+ 21 - 20
pages.json

@@ -21,7 +21,7 @@
 			}
 		},
 		{
-			"path": "pages/message/index",
+			"path": "pages/dapei/index",
 			"style": {
 				"navigationBarTitleText": "消息",
 				"app-plus":{
@@ -46,31 +46,32 @@
 					"titleNView": false
 				}
 			}
+		},
+		{
+			"path": "pages/shouye/index",
+			"style": {
+				"navigationBarTitleText": "我的",
+				"app-plus":{
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/putstorage/index",
+			"style": {
+				"navigationBarTitleText": "我的",
+				"app-plus":{
+					"titleNView": false
+				}
+			}
 		}
 	],
-	"tabBar": { //底部样式
+	"tabBar": { 
 		"color": "#999",
 		"selectedColor": "#82cfd5",
 		"borderStyle": "#fff",
 		"backgroundColor": "white",
-		"iconfontSrc": "static/icon/iconfont.ttf",
-		"list": [{
-				"pagePath": "pages/index/index"
-			},
-			{
-				"pagePath": "pages/wardrobe/index"
-			},
-			{
-				"pagePath": "pages/message/index"
-			},
-			{
-				"pagePath": "pages/shop/index"
-			},
-			{
-				"pagePath": "pages/user/index"
-			}
-
-		]
+		"iconfontSrc": "static/icon/iconfont.ttf"
 	},
 	"globalStyle": {
 		"navigationBarTextStyle": "black",

+ 27 - 0
pages/dapei/index.vue

@@ -0,0 +1,27 @@
+<template>
+	<view >
+		搭配
+		
+	</view>
+</template>	
+<script>
+export default {
+	data() {
+		return {
+			
+		};
+	},
+	onLoad() {
+		
+	},
+	created() {
+		
+	},
+	methods: {
+	},
+}
+</script>
+
+<style lang="scss">
+
+</style>

+ 48 - 142
pages/index/index.vue

@@ -1,150 +1,56 @@
 <template>
-	<view >
-		111
-		<Tabbar></Tabbar>
+	<view>
+		<!-- 首页 -->
+		<HomePage v-if="showpage==0"></HomePage>
+		<!-- 衣柜 -->
+		<MardPage v-if="showpage==1"></MardPage>
+		<!-- 搭配 -->
+		<DapeiPage v-if="showpage==2"></DapeiPage>
+		<!-- 商城 -->
+		<ShopPage v-if="showpage==3"></ShopPage>
+		<!-- 我的 -->
+		<UserPage v-if="showpage==4"></UserPage>
+		<!-- 底部 -->
+		<view class="grey text" >
+			<tm-bottomnavigation @change="changepage" style="height:50px" icon-color="red" :list="list_1"></tm-bottomnavigation>
+		</view>
 	</view>
 </template>
 
 <script>
-import Tabbar from "../../components/tabbar.vue"
-	export default {
-		components:{
-			Tabbar
-		},
-		data() {
-			return {
-				test: true,
-				show: false,
-				keyword: '',
-				top: 60,
-				flootBootm: 0,
-				time: '2022/3/27',
-				ver: '1.2.30',
-				sys: null,
-				bottom: 0,
-				list: [{
-						icon: 'https://jx2d.cn/yuwuimages/120/com.png?v=2',
-						title: '基础组件',
-						label: '提供了基础组件90+',
-						url: '/subpages/com/index',
-						btn: '预览组件'
-					},
-					{
-						icon: 'https://jx2d.cn/yuwuimages/120/theme.png?v=2',
-						title: '主题切换',
-						label: '暗黑,其它主题切换',
-						url: 'themechange',
-						btn: '前往体验'
-					},
-					{
-						icon: 'https://jx2d.cn/yuwuimages/120/com.png?v=2',
-						title: 'render',
-						label: 'canvas渲染引擎',
-						url: '/pages/index/crender',
-						btn: '1.0正式版'
-					},
-					{
-						icon: 'https://jx2d.cn/yuwuimages/120/css.png?v=2',
-						title: '预设样式库',
-						label: '零CSS写应用',
-						url: '/subpages/csspage/csspage',
-						btn: '预览相关'
-					},
-					{
-						icon: 'https://jx2d.cn/yuwuimages/120/lottie.png?v=2',
-						title: 'lottie动画',
-						label: '提供了对lottie的封装',
-						url: '/subpages/lottie/index',
-						btn: '前往体验'
-					},
-					{
-						icon: 'https://jx2d.cn/yuwuimages/120/echarts.png?v=2',
-						title: 'Echarts',
-						label: '对百度图表的封装',
-						url: '/subpages/echarts/index',
-						btn: '前往体验'
-					},
-					{
-						icon: 'https://jx2d.cn/yuwuimages/120/yewu.png?v=2',
-						title: '业务组件',
-						label: '提供了相关行业的组件',
-						url: '/subpages/food/index',
-						btn: '预览相关'
-					},
-					{
-						icon: 'https://jx2d.cn/yuwuimages/120/moban.png?v=2',
-						title: '页面模板',
-						label: '相关行业的页面模板',
-						url: '/subpages/moban/index',
-						btn: '预览模板'
-					},
-					{
-						icon: 'https://jx2d.cn/yuwuimages/120/game.png?v=2',
-						title: '游戏抽奖',
-						label: '转盘|老虎机|九宫格等',
-						url: '/subpages/yewu/index',
-						btn: '体验相关'
-					}
-				]
-			};
-		},
-		created() {
-			this.sys = uni.getSystemInfoSync();
-		},
-		onLoad() {
-			// uni.hideTabBar()
-			    uni.request({
-			        url : "https://jisutqybmf.market.alicloudapi.com/weather/query",
-			        type : "POST",
-					header: {
-						'Authorization':'APPCODE b838ad36bbd741ad97bbe22e50be1847'
-					},
-					data:{
-						city:'南京'
-					},
-			        dataType:'json',
-			        success : function(data) {
-			            
-			        },
-			        error : function(e) {
-			            alert("网络异常,请重试");
-			        }
-			    });
+import HomePage from "@/pages/shouye/index"
+import MardPage from "@/pages/wardrobe/index"
+import DapeiPage from "@/pages/dapei/index"
+import ShopPage from "@/pages/shop/index"
+import UserPage from "@/pages/user/index"
+export default {
+	components:{
+		HomePage,
+		MardPage,
+		DapeiPage,
+		ShopPage,
+		UserPage
+	},
+	data() {
+		return {
+			list_1: [
+				{iconSize: 48,showDot:false,icon: '/static/aa.png',noIcon:'/static/logo.png', value: '' },
+				{iconSize: 48,showDot:false,icon: '/static/aa.png',noIcon:'/static/logo.png', value: '' },
+				{iconSize: 48,showDot:true, icon: '/static/aa.png',noIcon:'/static/logo.png', value: '' },
+				{iconSize: 48,showDot:true, icon: '/static/aa.png',noIcon:'/static/logo.png', value: '' },
+				{iconSize: 48,showDot:true, icon: '/static/aa.png',noIcon:'/static/logo.png', value: '' }
+			],
+			showpage:0
+		};
+	},
+	onLoad() {
+		
 
-		},
-		mounted() {
-			uni.showTabBar({
-				animation: true
-			});
-			
-		},
-		methods: {
-			openSearch() {
-				uni.navigateTo({
-					url: 'search?key=' + this.keyword
-				});
-			},
-			openUrl(url) {
-				let t = this;
-				uni.navigateTo({
-					url: url,
-					fail: e => {
-						t.show = true;
-					}
-				});
-			},
-			imte() {
-				this.$tm.theme.setBlack();
-			},
+	},
+	methods: {
+		changepage(info){
+			this.showpage=info.index
 		}
-	};
-</script>
-
-<style lang="scss">
-	page,
-	body {
-		min-height: 100%;
-		background-color: #f5f5f5;
 	}
-</style>
-<style lang="scss" scoped></style>
+};
+</script>

+ 0 - 34
pages/message/index.vue

@@ -1,34 +0,0 @@
-<template>
-	<view >
-		222
-		<Tabbar></Tabbar>
-	</view>
-</template>
-
-<script>
-	import Tabbar from "../../components/tabbar.vue"
-	export default {
-		components:{
-			Tabbar
-		},
-		data() {
-			return {
-				defaultTheme:[],
-				infoHeight:0
-			};
-		},
-		onLoad() {
-			// uni.hideTabBar()
-		},
-		created() {
-			this.defaultTheme = [this.$tm.vx.state().tmVuetify.color||'primary']
-			this.infoHeight = uni.getSystemInfoSync().windowHeight
-		},
-		methods: {
-		},
-	}
-</script>
-
-<style lang="scss">
-
-</style>

+ 107 - 0
pages/putstorage/index.vue

@@ -0,0 +1,107 @@
+<template>
+	<view :class="$tm.vx.state().tmVuetify.black?'black bk':''">
+		<tm-menubars color="primary" title="入库" :shadow="0" :showback="true"></tm-menubars>
+		<tm-button theme="light-green" @click="paizhao()">拍照</tm-button>
+	</view>
+</template>	
+<script>
+	
+export default {
+	data() {
+		return {
+			imgpath : [],
+			tag : 0,
+			imgbase64 : []
+		};
+	},
+	onLoad() {
+		
+	},
+	created() {
+		uni.request({
+			url: "https://jisutqybmf.market.alicloudapi.com/weather/query",
+			method: "get",
+			header: {
+				'Authorization':'APPCODE e4b9accfb1f246cb8c0766a54efe8730'
+			},
+			data:{
+				city:'南京'
+			},
+			dataType:'json',
+			success : function(data) {
+				
+			},
+			error : function(e) {
+				alert("网络异常,请重试");
+			}
+		});
+	},
+	methods: {
+		paizhao(){
+			var that=this;
+			uni.chooseImage({     //uni官方api,用于选取本地图片
+				count: 6, //默认9
+				sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
+				sourceType: ['album'], //从相册选择
+				success: function (res) {
+					that.imgpath = res.tempFilePaths   //先获得本地文件的路径列表,存储到数组
+					console.log(that.imgpath)          //注意该api会将路径转换为blob格式
+					that.getBase64Image();
+				}
+			})
+		},
+		getBase64Image(){
+			var that=this;
+			console.log(" 开始转换")
+			var that = this
+			for(let i=0;i<that.imgpath.length;i++){
+				var url = that.imgpath[i]
+				getImgToBase64(url,function(dataURL){
+					that.imgbase64.push(dataURL)
+					that.shibie(dataURL[0])
+				})
+			}
+			function getImgToBase64(url,callback){
+			  var canvas = document.createElement('canvas'),
+				ctx = canvas.getContext('2d'),
+				img = new Image;
+			  img.crossOrigin = 'Anonymous';
+			  img.onload = function(){
+				canvas.height = img.height;
+				canvas.width = img.width;
+				ctx.drawImage(img,0,0);
+				var dataURL = canvas.toDataURL('image/png');
+				callback(dataURL);
+				canvas = null;
+			  };
+			  img.src = url;
+			}
+		},
+		shibie(){
+			var that=this;
+			uni.request({
+				url: 'https://dect.market.alicloudapi.com/imgdect',
+				method : "post",
+				header: {
+					'Authorization':'APPCODE e4b9accfb1f246cb8c0766a54efe8730'
+				},
+				data:{
+					src:that.imgbase64[0]
+				},
+				dataType:'json',
+				success : function(data) {
+					
+				},
+				error : function(e) {
+					alert("网络异常,请重试");
+				}
+			});
+
+		}
+	},
+}
+</script>
+
+<style lang="scss">
+	
+</style>

+ 18 - 25
pages/shop/index.vue

@@ -1,32 +1,25 @@
 <template>
 	<view >
-		333
-		<Tabbar></Tabbar>
+		商城
+		
 	</view>
-</template>
-	
+</template>	
 <script>
-	import Tabbar from "../../components/tabbar.vue"
-	export default {
-		components:{
-			Tabbar
-		},
-		data() {
-			return {
-				defaultTheme:[],
-				infoHeight:0
-			};
-		},
-		onLoad() {
-			// uni.hideTabBar()
-		},
-		created() {
-			this.defaultTheme = [this.$tm.vx.state().tmVuetify.color||'primary']
-			this.infoHeight = uni.getSystemInfoSync().windowHeight
-		},
-		methods: {
-		},
-	}
+export default {
+	data() {
+		return {
+			
+		};
+	},
+	onLoad() {
+		
+	},
+	created() {
+		
+	},
+	methods: {
+	},
+}
 </script>
 
 <style lang="scss">

+ 206 - 0
pages/shouye/index.vue

@@ -0,0 +1,206 @@
+<template>
+	<view :style="{ minHeight: sys.windowHeight + 'px' }"
+		:class="[$tm.vx.state().tmVuetify.black ? 'black' : 'grey text ']">
+		<tm-menubars color="primary" title="tm-vuetify" :shadow="0" :showback="false">
+			<template #left>
+				<view class="pl-24">
+					<tm-images :width="86" src="static/logowhite.png"></tm-images>
+				</view>
+			</template>
+	
+		</tm-menubars>
+		
+		<view>
+			<view class="fixed fulled  overflow" style="z-index: 8;">
+				<tm-search @confirm="openSearch" v-model="keyword" suffixIcon=" " :showRight="false" :fllowTheme="false"
+					color="white" :bg-color="$tm.vx.state().tmVuetify.color || 'primary'"
+					:insertColor="$tm.vx.state().tmVuetify.color || 'primary'" :round="4" placeholder="组件中英文名的关键词"
+					:shadow="0">
+					<template #suffixIcon>
+						<view @click="openSearch">
+							<tm-tags dense color="primary" model="text">搜索组件</tm-tags>
+						</view>
+					</template>
+				</tm-search>
+			</view>
+			<view style="height: 84rpx;"></view>
+		</view>
+	
+		<view :class="[$tm.vx.state().tmVuetify.black ? 'black' : $tm.vx.state().tmVuetify.color || 'primary']">
+			<view class=" py-32" style=""
+				:class="[$tm.vx.state().tmVuetify.black ? 'grey-darken-5 bk' : $tm.vx.state().tmVuetify.color || 'primary']">
+				<!-- <navigator url="gonggao" class=" text-align-center text-white pb-12 flex-center mx-32" style="vertical-align: middle;">
+					<text class="pr-32 text-weight-b text-size-s">来自作者的一条公告>></text>
+				</navigator> -->
+				<view class="text-size-s text-align-center text-white opacity-8">
+					<text class="pr-24 ">当前版本:{{ ver }}</text>
+					<text>更新时间:{{ time }}</text>
+				</view>
+			</view>
+			<view class="pt-14 pb-n10 round-t-8" :class="[$tm.vx.state().tmVuetify.black ? 'black' : 'grey text  ']">
+				<view class="ma-32  flex-between flex-wrap ">
+					<view @click="openUrl(item.url)" v-for="(item, index) in list" :key="index"
+						class=" round-10 mb-n10 shadow-24" style="width: 48%;"
+						:class="[$tm.vx.state().tmVuetify.black ? 'grey-darken-5 bk' : 'white']">
+						<view class="flex-center flex-col px-32 py-n12">
+							<tm-icons :color="$tm.vx.state().tmVuetify.color || 'primary'" :size="130"
+								:name="item.icon"></tm-icons>
+							<view class="text-size-lg text-weight-b">{{ item.title }}</view>
+							<view class="text-size-s py-12 text-align-center">{{ item.label }}</view>
+							<view>
+								<!-- <tm-tags color="grey" size="g" model="text">{{ item.btn }}</tm-tags> -->
+								<tm-button :round="12" text size="s">
+									<view class="flex-center px-10 vertical-align-middle" style="line-height: 0;">
+										<text class="pr-10">{{ item.btn }}</text>
+										<tm-icons :fllowTheme="true" style="line-height: 0;" dense size="20"
+											name="icon-angle-right"></tm-icons>
+									</view>
+								</tm-button>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="flex-center">
+					<tm-images :width="60" src="static/logo_great.png"></tm-images>
+				</view>
+				<view class="py-24 px-0 text-size-xs text-grey-lighten-1 text mx-32 text-align-center">
+					本UI经过细致打磨,并且还在不断的细化中,让它成为高效率、高颜值、高覆盖率的组件库,需要各方努力贡献。
+					<view>请不要盗版,可免费使用。</view>
+					<view class=" text-weight-b" :class="[`text-${$tm.vx.state().tmVuetify.color || 'primary'}`]">
+						用户Q群:
+						<text selectable>18593916</text>
+					</view>
+				</view>
+			</view>
+		</view>
+		<tm-dialog v-model="show" title="提醒"
+			content="因小程序大小限制,本demo页面过大,主体导入的js超过2mb,对于分包已无作用,因此如需查询相关demo请前往H5预览,一定是兼容小程序的,不用担心."></tm-dialog>
+		<tm-flotbutton :safe="true" color="bg-gradient-primary-accent-b" @click="imte"
+			:icon="$tm.vx.state().tmVuetify.black ? 'icon-lightbulb-fill' : 'icon-lightbulb'"
+			:label="$tm.vx.state().tmVuetify.black ? '亮色' : '暗黑'" :show-text="true" :offset="[16, bottom]">
+		</tm-flotbutton>
+	
+		<view style="height: 150rpx;" @click="show=true"></view>
+	
+	</view>
+</template>
+		
+<script>
+	import{myRequest} from '@/api/request.js'
+	export default {
+		data() {
+			return {
+				test: true,
+				show: false,
+				keyword: '',
+				top: 60,
+				flootBootm: 0,
+				time: '2022/3/27',
+				ver: '1.2.30',
+				sys: null,
+				bottom: 0,
+				list: [{
+						icon: 'https://jx2d.cn/yuwuimages/120/com.png?v=2',
+						title: '基础组件',
+						label: '提供了基础组件90+',
+						url: '/subpages/com/index',
+						btn: '预览组件'
+					},
+					{
+						icon: 'https://jx2d.cn/yuwuimages/120/theme.png?v=2',
+						title: '主题切换',
+						label: '暗黑,其它主题切换',
+						url: 'themechange',
+						btn: '前往体验'
+					},
+					{
+						icon: 'https://jx2d.cn/yuwuimages/120/com.png?v=2',
+						title: 'render',
+						label: 'canvas渲染引擎',
+						url: '/pages/index/crender',
+						btn: '1.0正式版'
+					},
+					{
+						icon: 'https://jx2d.cn/yuwuimages/120/css.png?v=2',
+						title: '预设样式库',
+						label: '零CSS写应用',
+						url: '/subpages/csspage/csspage',
+						btn: '预览相关'
+					},
+					{
+						icon: 'https://jx2d.cn/yuwuimages/120/lottie.png?v=2',
+						title: 'lottie动画',
+						label: '提供了对lottie的封装',
+						url: '/subpages/lottie/index',
+						btn: '前往体验'
+					},
+					{
+						icon: 'https://jx2d.cn/yuwuimages/120/echarts.png?v=2',
+						title: 'Echarts',
+						label: '对百度图表的封装',
+						url: '/subpages/echarts/index',
+						btn: '前往体验'
+					},
+					{
+						icon: 'https://jx2d.cn/yuwuimages/120/yewu.png?v=2',
+						title: '业务组件',
+						label: '提供了相关行业的组件',
+						url: '/subpages/food/index',
+						btn: '预览相关'
+					},
+					{
+						icon: 'https://jx2d.cn/yuwuimages/120/moban.png?v=2',
+						title: '页面模板',
+						label: '相关行业的页面模板',
+						url: '/subpages/moban/index',
+						btn: '预览模板'
+					},
+					{
+						icon: 'https://jx2d.cn/yuwuimages/120/game.png?v=2',
+						title: '游戏抽奖',
+						label: '转盘|老虎机|九宫格等',
+						url: '/subpages/yewu/index',
+						btn: '体验相关'
+					}
+				]
+			};
+		},
+		onLoad() {
+			// #ifdef MP
+			this.top = uni.upx2px(150);
+			// #endif
+		},
+		created() {
+			this.sys = uni.getSystemInfoSync();
+			myRequest({
+				url: "/api/login/sendCode?mobile=17721029919",
+				method:'get',
+			}).then(res => {
+				console.log(res)
+			})
+		},
+		methods: {
+			openSearch() {
+				uni.navigateTo({
+					url: 'search?key=' + this.keyword
+				});
+			},
+			openUrl(url) {
+				let t = this;
+				uni.navigateTo({
+					url: url,
+					fail: e => {
+						t.show = true;
+					}
+				});
+			},
+			imte() {
+				this.$tm.theme.setBlack();
+			},
+		},
+	}
+</script>
+
+<style lang="scss">
+
+</style>

+ 18 - 34
pages/user/index.vue

@@ -1,41 +1,25 @@
 <template>
 	<view >
-		4444
-		<Tabbar></Tabbar>
+		我的
+		
 	</view>
-</template>
-
+</template>	
 <script>
-import Tabbar from "../../components/tabbar.vue"
-	export default {
-		components:{
-			Tabbar
-		},
-		data() {
-			return {
-				defaultTheme:[],
-				themeSList:["primary","red","green","blue","pink","orange","yellow","indigo"],
-				infoHeight:0
-			};
-		},
-		onLoad() {
-			// uni.hideTabBar()
-		},
-		created() {
-			this.defaultTheme = [this.$tm.vx.state().tmVuetify.color||'primary']
-			this.infoHeight = uni.getSystemInfoSync().windowHeight
-		},
-		methods: {
-			change(e) {
-				this.defaultTheme = [e[0].data]
-				this.$tm.theme.setTheme(e[0].data)
-			},
-			clearTheme(){
-				this.$tm.theme.clear();
-				this.defaultTheme = ['primary']
-			}
-		},
-	}
+export default {
+	data() {
+		return {
+			
+		};
+	},
+	onLoad() {
+		
+	},
+	created() {
+		
+	},
+	methods: {
+	},
+}
 </script>
 
 <style lang="scss">

+ 100 - 23
pages/wardrobe/index.vue

@@ -1,34 +1,111 @@
 <template>
-	<view >
-		5555
-		<Tabbar></Tabbar>
+	<view :class="$tm.vx.state().tmVuetify.black?'black bk':''">
+		<tm-menubars color="primary" title="衣橱" :shadow="0" :showback="false">
+			<template #right>
+				<view class="pl-24">
+					<tm-button theme="indigo" size="s" @click="ruku">入库</tm-button>
+				</view>
+			</template>
+			
+		</tm-menubars>
+		<tm-tabs @change="change" :fllowTheme="false" bg-color="orange" color="yellow"  v-model="activeIndex" :list="list" range-key="title"></tm-tabs>
+		<tm-sheet :shadow="24" :padding="[24,32]">
+			<tm-album @click="dapei" :max="4" :gutter="10" :round="0" :grid="3" :list="list2"></tm-album>
+		</tm-sheet>
+		<view class="flex fulled-height" >
+			<view class="fulled-height " :class="$tm.vx.state().tmVuetify.black ? 'grey-darken-4 bk' : 'grey-lighten-5'">
+				<tm-sliderNav :fontSize="24"  @change="changece"  color="blue" :round="0" :width="120" :list="list3" rang-key="text"></tm-sliderNav>
+			</view>
+			<view class="fulled-height "  :class="$tm.vx.state().tmVuetify.black ? 'black ' : 'white'" style="width:calc(100% - 160rpx);">
+				<tm-album @click="xiangqing" class="shangright" :max="6" :grid="3" :list="list4"></tm-album>
+			</view>
+		</view>
 	</view>
-</template>
+</template>	
+<script>
+	
+export default {
+	data() {
+		return {
+			activeIndex:0,
+			list:[ '爸爸','媳妇','儿子'],
+			active: 2,
+			list2:[{
+				src:'https://picsum.photos/300?k=0',
+				text:'推荐穿搭1',
+				type:'tiao'
+			},{
+				src:'https://picsum.photos/300?k=1',
+				text:'推荐穿搭2',
+				type:'tiao'
+			},{
+				src:'https://picsum.photos/300?k=2',
+				text:'推荐穿搭3',
+				type:'tiao'
+			}],
+			list3:[
+				{text:'苏州'},
+				{text:'北京'},
+				{text:'广东'},
+				{text:'江西',dot:8},
+				{text:'深圳'},
+			],
+			list4:[{
+				src:'https://picsum.photos/300?k=0',
+				text:'标题0',
+				type:'tiao'
+			},{
+				src:'https://picsum.photos/300?k=1',
+				text:'标题1',
+				type:'tiao'
+			},{
+				src:'https://picsum.photos/300?k=2',
+				text:'标题2',
+				type:'tiao'
+			},{
+				src:'https://picsum.photos/300?k=1',
+				text:'标题1',
+				type:'tiao'
+			},{
+				src:'https://picsum.photos/300?k=2',
+				text:'标题2',
+				type:'tiao'
+			}],
+		};
+	},
+	onLoad() {
 		
-		<script>
-			import Tabbar from "../../components/tabbar.vue"
-			export default {
-				components:{
-					Tabbar
-				},
-		data() {
-			return {
-				defaultTheme:[],
-				infoHeight:0
-			};
+	},
+	created() {
+
+	},
+	methods: {
+		change(e){
+			uni.$tm.toast(`你选中了${e}`);
 		},
-		onLoad() {
-			// uni.hideTabBar()
+		changece(e){
+			uni.$tm.toast(`您选中了:${e}`)
 		},
-		created() {
-			this.defaultTheme = [this.$tm.vx.state().tmVuetify.color||'primary']
-			this.infoHeight = uni.getSystemInfoSync().windowHeight
+		dapei(item){
+			console.log(item)
 		},
-		methods: {
+		xiangqing(item){
+			console.log(item)
 		},
-	}
+		ruku(){
+			uni.navigateTo({
+				url: "/pages/putstorage/index",
+			})
+		}
+	},
+}
 </script>
 
 <style lang="scss">
-
+	/deep/ uni-scroll-view{
+		height: auto !important;
+	}
+	.shangright{
+		padding: 10px;
+	}
 </style>

+ 13 - 5
tm-vuetify/components/tm-album/tm-album.vue

@@ -6,7 +6,7 @@
 				<view v-if="index<max-1" :style="{width:alb_body_size+'rpx'}"  class="tm-album-item">
 					<view @click="clickAlbum(item,index)" :class="[`py-${item[textKey]?0:gutter}`,`px-${gutter}`]">
 						<view :style="{width:alb_size+'rpx',height:height||alb_size+'rpx'}" class="relative flex-center">
-							<tm-images :round="round"  :width="alb_size" :height="(height||alb_size)" :src="item[rangKey]"></tm-images>
+							<tm-images :round="round"  :width="alb_size1" :height="alb_size1" mode="widthFix" :src="item[rangKey]"></tm-images>
 							<view class="tm-album-action absolute fulled fulled-height t-0 l-0" :class="[
 								actionsPos=='top'?'flex-top-end':'',
 								actionsPos=='bottom'?'flex-end-right':'',
@@ -119,7 +119,8 @@
 				alb_size:0,
 				alb_body_size:0,
 				alb_wk_body_size:0,
-				listAlbum:[]
+				listAlbum:[],
+				alb_size1:180
 			};
 		},
 		watch:{
@@ -200,10 +201,17 @@
 				});
 			},
 			clickAlbum(item,index){
-				if(this.preview){
-					uni.$tm.preview.previewImg(item[this.rangKey],this.listData,this.rangKey);
+				console.log(item)
+				console.log(index)
+				if(item.type=="tiao"){
+					this.$emit('click',{item,index})
+				}else{
+					if(this.preview){
+						uni.$tm.preview.previewImg(item[this.rangKey],this.listData,this.rangKey);
+					}
+					this.$emit('click',{item,index})
 				}
-				this.$emit('click',{item,index})
+				
 			},
 			more(){
 				this.$emit('more')

+ 2 - 1
tm-vuetify/components/tm-bottomnavigation/tm-bottomnavigation.vue

@@ -424,7 +424,8 @@
 <style>
 	page,
 	body {
-		padding-bottom: 167rpx;
+		/* padding-bottom: 167rpx; */
+		height: 100%;
 	}
 </style>
 <style lang="scss" scoped>

+ 2 - 2
unpackage/dist/dev/app-plus/app-config-service.js

@@ -1,8 +1,8 @@
 
 var isReady=false;var onReadyCallbacks=[];
 var isServiceReady=false;var onServiceReadyCallbacks=[];
-var __uniConfig = {"pages":["pages/index/index","pages/wardrobe/index","pages/message/index","pages/shop/index","pages/user/index"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"uni-app","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"},"tabBar":{"color":"#999","selectedColor":"#82cfd5","borderStyle":"#fff","backgroundColor":"white","iconfontSrc":"static/icon/iconfont.ttf","list":[{"pagePath":"pages/index/index"},{"pagePath":"pages/wardrobe/index"},{"pagePath":"pages/message/index"},{"pagePath":"pages/shop/index"},{"pagePath":"pages/user/index"}]},"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"testApp","compilerVersion":"3.4.7","entryPagePath":"pages/index/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
-var __uniRoutes = [{"path":"/pages/index/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"","titleNView":false}},{"path":"/pages/wardrobe/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"衣厨","titleNView":false}},{"path":"/pages/message/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"消息","titleNView":false}},{"path":"/pages/shop/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"商场","titleNView":false}},{"path":"/pages/user/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"我的","titleNView":false}}];
+var __uniConfig = {"pages":["pages/index/index","pages/wardrobe/index","pages/dapei/index","pages/shop/index","pages/user/index","pages/shouye/index","pages/putstorage/index"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"uni-app","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"},"tabBar":{"color":"#999","selectedColor":"#82cfd5","borderStyle":"#fff","backgroundColor":"white","iconfontSrc":"static/icon/iconfont.ttf"},"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"testApp","compilerVersion":"3.4.7","entryPagePath":"pages/index/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
+var __uniRoutes = [{"path":"/pages/index/index","meta":{"isQuit":true},"window":{"navigationBarTitleText":"","titleNView":false}},{"path":"/pages/wardrobe/index","meta":{},"window":{"navigationBarTitleText":"衣厨","titleNView":false}},{"path":"/pages/dapei/index","meta":{},"window":{"navigationBarTitleText":"消息","titleNView":false}},{"path":"/pages/shop/index","meta":{},"window":{"navigationBarTitleText":"商场","titleNView":false}},{"path":"/pages/user/index","meta":{},"window":{"navigationBarTitleText":"我的","titleNView":false}},{"path":"/pages/shouye/index","meta":{},"window":{"navigationBarTitleText":"我的","titleNView":false}},{"path":"/pages/putstorage/index","meta":{},"window":{"navigationBarTitleText":"我的","titleNView":false}}];
 __uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
 __uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
 service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}});

文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/app-plus/app-service.js


文件差异内容过多而无法显示
+ 18 - 18
unpackage/dist/dev/app-plus/app-view.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/app-plus/manifest.json


部分文件因为文件数量过多而无法显示