hwq 2 tahun lalu
induk
melakukan
70304ae494
51 mengubah file dengan 1969 tambahan dan 564 penghapusan
  1. 26 0
      api/quick.js
  2. 0 194
      components/uni-load-more/uni-load-more.vue
  3. 2 2
      manifest.json
  4. 12 0
      pages.json
  5. 410 335
      pages/money/qudou.vue
  6. 275 0
      pages/money/quick.vue
  7. 259 0
      pages/money/quickList.vue
  8. 0 2
      pages/navigation/bdjj.vue
  9. 0 2
      pages/navigation/fhsy.vue
  10. 0 6
      pages/navigation/tdjj.vue
  11. 0 2
      pages/navigation/team.vue
  12. 0 2
      pages/order/order.vue
  13. 0 2
      pages/order/order1.vue
  14. 0 2
      pages/product/classify.vue
  15. 0 4
      pages/product/list.vue
  16. 0 4
      pages/product/search.vue
  17. 0 2
      pages/product/seckill.vue
  18. 0 2
      pages/product/zero.vue
  19. 0 2
      pages/store/shopDetail.vue
  20. 0 1
      pages/store/store.vue
  21. TEMPAT SAMPAH
      static/icon/qudou1.png
  22. TEMPAT SAMPAH
      static/icon/qudou2.png
  23. TEMPAT SAMPAH
      static/icon/qudou3.png
  24. TEMPAT SAMPAH
      static/icon/quick0.png
  25. TEMPAT SAMPAH
      static/icon/quick1.png
  26. TEMPAT SAMPAH
      static/icon/quick2.png
  27. TEMPAT SAMPAH
      static/icon/quick3.png
  28. TEMPAT SAMPAH
      static/icon/quick4.png
  29. 19 0
      uni_modules/uni-load-more/changelog.md
  30. 5 0
      uni_modules/uni-load-more/components/uni-load-more/i18n/en.json
  31. 8 0
      uni_modules/uni-load-more/components/uni-load-more/i18n/index.js
  32. 5 0
      uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json
  33. 5 0
      uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json
  34. 112 0
      uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue
  35. 86 0
      uni_modules/uni-load-more/package.json
  36. 14 0
      uni_modules/uni-load-more/readme.md
  37. 8 0
      uni_modules/uni-scss/changelog.md
  38. 1 0
      uni_modules/uni-scss/index.scss
  39. 82 0
      uni_modules/uni-scss/package.json
  40. 4 0
      uni_modules/uni-scss/readme.md
  41. 7 0
      uni_modules/uni-scss/styles/index.scss
  42. 3 0
      uni_modules/uni-scss/styles/setting/_border.scss
  43. 66 0
      uni_modules/uni-scss/styles/setting/_color.scss
  44. 55 0
      uni_modules/uni-scss/styles/setting/_radius.scss
  45. 56 0
      uni_modules/uni-scss/styles/setting/_space.scss
  46. 167 0
      uni_modules/uni-scss/styles/setting/_styles.scss
  47. 24 0
      uni_modules/uni-scss/styles/setting/_text.scss
  48. 146 0
      uni_modules/uni-scss/styles/setting/_variables.scss
  49. 19 0
      uni_modules/uni-scss/styles/tools/functions.scss
  50. 31 0
      uni_modules/uni-scss/theme.scss
  51. 62 0
      uni_modules/uni-scss/variables.scss

+ 26 - 0
api/quick.js

@@ -0,0 +1,26 @@
+import request from '@/utils/request'
+
+// 获取兑换比例
+export function getTicket(data) {
+	return request({
+		url: '/api/ticket',
+		method: 'get',
+		data
+	});
+}
+// 兑换文票
+export function getExchange(data) {
+	return request({
+		url: '/api/exchange',
+		method: 'post',
+		data
+	});
+}
+// 兑换文票
+export function getExchangeList(data) {
+	return request({
+		url: '/api/exchange_list',
+		method: 'get',
+		data
+	});
+}

+ 0 - 194
components/uni-load-more/uni-load-more.vue

@@ -1,194 +0,0 @@
-<template>
-	<view class="uni-load-more">
-		<view class="uni-load-more__img" v-show="status === 'loading' && showIcon">
-			<view class="load1 load">
-				<view class="item" :style="{background:color}"></view>
-				<view class="item" :style="{background:color}"></view>
-				<view class="item" :style="{background:color}"></view>
-				<view class="item" :style="{background:color}"></view>
-			</view>
-			<view class="load2 load">
-				<view class="item" :style="{background:color}"></view>
-				<view class="item"  :style="{background:color}"></view>
-				<view class="item" :style="{background:color}"></view>
-				<view class="item" :style="{background:color}"></view>
-			</view>
-			<view class="load3 load">
-				<view class="item" :style="{background:color}"></view>
-				<view class="item" :style="{background:color}"></view>
-				<view class="item" :style="{background:color}"></view>
-				<view class="item" :style="{background:color}"></view>
-			</view>
-		</view>
-		<text class="uni-load-more__text" :style="{color:color}">{{status === 'more' ? contentText.contentdown : (status === 'loading' ? contentText.contentrefresh : contentText.contentnomore)}}</text>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "uni-load-more",
-		props: {
-			status: {
-				//上拉的状态:more-loading前;loading-loading中;noMore-没有更多了
-				type: String,
-				default: 'more'
-			},
-			showIcon: {
-				type: Boolean,
-				default: true
-			},
-			color: {
-				type: String,
-				default: "#777777"
-			},
-			contentText: {
-				type: Object,
-				default () {
-					return {
-						contentdown: "上拉显示更多",
-						contentrefresh: "正在加载...",
-						contentnomore: "没有更多数据了"
-					};
-				}
-			}
-		},
-		data() {
-			return {}
-		}
-	}
-</script>
-
-<style>
-	@charset "UTF-8";
-
-	.uni-load-more {
-		display: flex;
-		flex-direction: row;
-		height: 80upx;
-		align-items: center;
-		justify-content: center
-	}
-
-	.uni-load-more__text {
-		font-size: 28upx;
-		color: #999
-	}
-
-	.uni-load-more__img {
-		height: 24px;
-		width: 24px;
-		margin-right: 10px
-	}
-
-	.uni-load-more__img>.load {
-		position: absolute
-	}
-
-	.uni-load-more__img>.load .item {
-		width: 6px;
-		height: 2px;
-		border-top-left-radius: 1px;
-		border-bottom-left-radius: 1px;
-		background: #999;
-		position: absolute;
-		opacity: .2;
-		transform-origin: 50%;
-		animation: load 1.56s ease infinite
-	}
-
-	.uni-load-more__img>.load .item:nth-child(1) {
-		transform: rotate(90deg);
-		top: 2px;
-		left: 9px
-	}
-
-	.uni-load-more__img>.load .item:nth-child(2) {
-		transform: rotate(180deg);
-		top: 11px;
-		right: 0
-	}
-
-	.uni-load-more__img>.load .item:nth-child(3) {
-		transform: rotate(270deg);
-		bottom: 2px;
-		left: 9px
-	}
-
-	.uni-load-more__img>.load .item:nth-child(4) {
-		top: 11px;
-		left: 0
-	}
-
-	.load1,
-	.load2,
-	.load3 {
-		height: 24px;
-		width: 24px
-	}
-
-	.load2 {
-		transform: rotate(30deg)
-	}
-
-	.load3 {
-		transform: rotate(60deg)
-	}
-
-	.load1 .item:nth-child(1) {
-		animation-delay: 0s
-	}
-
-	.load2 .item:nth-child(1) {
-		animation-delay: .13s
-	}
-
-	.load3 .item:nth-child(1) {
-		animation-delay: .26s
-	}
-
-	.load1 .item:nth-child(2) {
-		animation-delay: .39s
-	}
-
-	.load2 .item:nth-child(2) {
-		animation-delay: .52s
-	}
-
-	.load3 .item:nth-child(2) {
-		animation-delay: .65s
-	}
-
-	.load1 .item:nth-child(3) {
-		animation-delay: .78s
-	}
-
-	.load2 .item:nth-child(3) {
-		animation-delay: .91s
-	}
-
-	.load3 .item:nth-child(3) {
-		animation-delay: 1.04s
-	}
-
-	.load1 .item:nth-child(4) {
-		animation-delay: 1.17s
-	}
-
-	.load2 .item:nth-child(4) {
-		animation-delay: 1.3s
-	}
-
-	.load3 .item:nth-child(4) {
-		animation-delay: 1.43s
-	}
-
-	@-webkit-keyframes load {
-		0% {
-			opacity: 1
-		}
-
-		100% {
-			opacity: .2
-		}
-	}
-</style>

+ 2 - 2
manifest.json

@@ -2,8 +2,8 @@
     "name" : "易趣CBB",
     "appid" : "__UNI__9A7699F",
     "description" : "",
-    "versionName" : "1.3.7",
-    "versionCode" : 137,
+    "versionName" : "1.3.8",
+    "versionCode" : 138,
     "transformPx" : false,
     "app-plus" : {
         /* 5+App特有相关 */

+ 12 - 0
pages.json

@@ -546,6 +546,18 @@
 				"navigationBarTitleText": "支付成功"
 			}
 		},
+		{
+			"path": "pages/money/quick",
+			"style": {
+				"navigationBarTitleText": "闪兑"
+			}
+		},
+		{
+			"path": "pages/money/quickList",
+			"style": {
+				"navigationBarTitleText": "兑换记录"
+			}
+		},
 		{
 			"path": "pages/money/wallet",
 			"style": {

+ 410 - 335
pages/money/qudou.vue

@@ -3,18 +3,51 @@
 		<view class="content-money">
 			<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<view class="body-title">
-				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
+				<view class="goback-box" @click="toBack">
+					<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+				</view>
 				<view class="header">我的趣豆</view>
 			</view>
-			<view class="content-bg"><image src="../../static/img/yongjin-bg.png" mode=""></image></view>
+			<view class="content-bg">
+				<image src="../../static/img/yongjin-bg.png" mode=""></image>
+			</view>
 			<view class="money-box">
 				<view class="money">{{ userInfo.integral }}</view>
 				<view>余额</view>
 			</view>
-			<view class="moneybtn-box">
-				<view class="money-btn" v-if="userInfo.staff" @click="navto('/pages/money/qdwallet?type=2')">商家转账</view>
-				<view class="money-btn" v-else></view>
-				<view class="money-btn" @click="navto('/pages/money/qdwallet')">转账</view>
+		</view>
+		<view class="moneybtn-box flex">
+			<view class="money-btn" v-if="userInfo.staff" @click="navto('/pages/money/qdwallet?type=2')">
+				<view class="flex-center">
+					<image class="tipIcon" src="../../static/icon/qudou3.png" mode="scaleToFill"></image>
+				</view>
+				<view class="margin-t-10 flex-center">
+					<text>
+						商家转账
+					</text>
+				</view>
+			</view>
+			<view class="money-bt-line" v-if="userInfo.staff"></view>
+			<view class="money-btn" @click="navto('/pages/money/quick')">
+				<view class="flex-center">
+					<image class="tipIcon" src="../../static/icon/qudou1.png" mode="scaleToFill"></image>
+				</view>
+				<view class="margin-t-10 flex-center">
+					<text>
+						闪兑
+					</text>
+				</view>
+			</view>
+			<view class="money-bt-line"></view>
+			<view class="money-btn" @click="navto('/pages/money/qdwallet')">
+				<view class="flex-center">
+					<image class="tipIcon" src="../../static/icon/qudou2.png" mode="scaleToFill"></image>
+				</view>
+				<view class="margin-t-10 flex-center">
+					<text>
+						转账
+					</text>
+				</view>
 			</view>
 		</view>
 		<!-- <view class="info-box flex">
@@ -29,9 +62,11 @@
 			</view>
 		</view> -->
 		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+			<view v-for="(item, index) in navList" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
 		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300"
+			@change="changeTab">
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
 				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
 					<!-- 空白页 -->
@@ -62,370 +97,410 @@
 </template>
 
 <script>
-import { integrallist } from '@/api/wallet.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import { mapState, mapMutations } from 'vuex';
-import { getUserInfo } from '@/api/user.js';
-import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
-import empty from '@/uview-ui/components/u-empty/u-empty.vue';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.maxheight = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			// 头部图高度
-			maxheight: '',
-			tabCurrentIndex: 0,
-			orderStatusSum: 0,
-			recharge: 0,
-			navList: [
-				{
-					state: 0,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 1000, //每次信息条数
-					loaded: false
+	import {
+		integrallist
+	} from '@/api/wallet.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
+		getUserInfo
+	} from '@/api/user.js';
+	import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+	import empty from '@/uview-ui/components/u-empty/u-empty.vue';
+	export default {
+		computed: {
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		},
+		components: {
+			empty,
+			uniLoadMore
+		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.maxheight = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
 				},
-				{
-					state: 1,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 1000, //每次信息条数
-					loaded: false
-				}
-			],
-			money: ''
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		this.loadData();
-		this.loadBaseData();
-	},
-	methods: {
-		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
+				fail: res => {}
 			});
 		},
-		loadBaseData() {
-			getUserInfo({})
-				.then(({ data }) => {
-					this.setUserInfo(data);
-				})
-				.catch(e => {
-					console.log(e);
-				});
+		data() {
+			return {
+				// 头部图高度
+				maxheight: '',
+				tabCurrentIndex: 0,
+				orderStatusSum: 0,
+				recharge: 0,
+				navList: [{
+						state: 0,
+						text: '收入',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 1000, //每次信息条数
+						loaded: false
+					},
+					{
+						state: 1,
+						text: '支出',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 1000, //每次信息条数
+						loaded: false
+					}
+				],
+				money: ''
+			};
 		},
-		// 点击返回 我的页面
-		toBack() {
-			uni.navigateBack({});
+		onLoad(options) {},
+		onShow() {
+			this.loadData();
+			this.loadBaseData();
 		},
-		//获取收入支出信息
-		async loadData(source) {
-			let obj = this;
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state;
-			console.log(source, 'iwiwiwiwi');
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-
-			integrallist({
-				page: navItem.page,
-				limit: navItem.limit
-			})
-				.then(({ data }) => {
-					// obj.recharge = data.income;
-					// obj.orderStatusSum = data.expend;
-					if (state == 0) {
-						navItem.orderList = data.zj;
-					}
-					if (state == 1) {
-						navItem.orderList = data.kc;
-					}
-				})
-				.catch(e => {
-					console.log(e);
+		methods: {
+			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+			// 页面跳转
+			navto(e) {
+				uni.navigateTo({
+					url: e
 				});
-		},
+			},
+			loadBaseData() {
+				getUserInfo({})
+					.then(({
+						data
+					}) => {
+						this.setUserInfo(data);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			// 点击返回 我的页面
+			toBack() {
+				uni.navigateBack({});
+			},
+			//获取收入支出信息
+			async loadData(source) {
+				let obj = this;
+				//这里是将订单挂载到tab列表下
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				let state = navItem.state;
+				console.log(source, 'iwiwiwiwi');
+				if (source === 'tabChange' && navItem.loaded === true) {
+					//tab切换只有第一次需要加载数据
+					return;
+				}
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
 
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
+				integrallist({
+						page: navItem.page,
+						limit: navItem.limit
+					})
+					.then(({
+						data
+					}) => {
+						// obj.recharge = data.income;
+						// obj.orderStatusSum = data.expend;
+						if (state == 0) {
+							navItem.orderList = data.zj;
+						}
+						if (state == 1) {
+							navItem.orderList = data.kc;
+						}
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			}
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss">
-page {
-	background: #f1f1f1;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-		image {
-			width: 100%;
-			height: 100%;
+	page {
+		background: #f1f1f1;
+		height: 100%;
+	}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+
+	.moneybtn-box {
+		position: relative;
+		z-index: 2;
+		color: $font-color-dark;
+		font-size: 28rpx;
+		font-weight: bold;
+		background-color: #FFF;
+		border-radius: 30rpx;
+		margin: -100rpx 30rpx 30rpx 30rpx;
+		height: 180rpx;
+
+		.money-btn {
+			flex-grow: 1;
+			line-height: 1;
+
+			.tipIcon {
+				width: 55rpx;
+				height: 55rpx;
+			}
+		}
+
+		.money-bt-line {
+			border: 1px solid $border-color-base;
+			height: 100rpx;
 		}
 	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
+
+	.content-money {
 		position: relative;
-		.header {
+		height: 480rpx;
+
+		.content-bg {
 			position: absolute;
-			left: 0;
 			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
+			left: 0;
+			right: 0;
+			width: 750rpx;
+			height: 480rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
 		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
+
+		.body-title {
 			height: 80rpx;
+			text-align: center;
+			font-size: 35rpx;
+			position: relative;
+
+			.header {
+				position: absolute;
+				left: 0;
+				top: 0;
+				width: 100%;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #fffeff;
+				height: 80rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+				z-index: 9;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.goback-box {
+				position: absolute;
+				left: 18rpx;
+				top: 0;
+				height: 80rpx;
+				display: flex;
+				align-items: center;
+			}
+
+			.goback {
+				z-index: 100;
+				width: 34rpx;
+				height: 34rpx;
+			}
+		}
+	}
+
+	.info-box {
+		width: 670rpx;
+		height: 186rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -100rpx auto 0;
+		position: relative;
+		z-index: 2;
+
+		.info-item {
+			width: 50%;
 			display: flex;
+			flex-direction: column;
 			align-items: center;
+			line-height: 1;
+
+			.info-font {
+				font-size: 30rpx;
+				font-weight: bold;
+				color: #999999;
+			}
+
+			.info-num {
+				margin-top: 30rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #181818;
+			}
 		}
 
-		.goback {
-			z-index: 100;
-			width: 34rpx;
-			height: 34rpx;
+		.shu {
+			width: 2rpx;
+			height: 74rpx;
+			background: #dcdfe6;
 		}
 	}
-}
-.info-box {
-	width: 670rpx;
-	height: 186rpx;
-	background: #ffffff;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	margin: -100rpx auto 0;
-	position: relative;
-	z-index: 2;
-	.info-item {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		line-height: 1;
-		.info-font {
-			font-size: 30rpx;
+
+
+
+	.money-box {
+		position: relative;
+		z-index: 2;
+		padding-top: 90rpx;
+		color: #ffffff;
+		text-align: center;
+
+
+
+		.money {
+			font-size: 72rpx;
+			font-family: PingFang SC;
 			font-weight: bold;
-			color: #999999;
+			color: #ffffff;
 		}
-		.info-num {
-			margin-top: 30rpx;
+
+		.text {
 			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #181818;
 		}
 	}
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
-.moneybtn-box {
-	display: flex;
-	justify-content: space-between;
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding: 20rpx 50rpx;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #ffffff;
-}
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 90rpx;
-	color: #ffffff;
-	text-align: center;
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-	}
-	.text {
-		font-size: 30rpx;
-	}
-}
-.money-btn {
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding-right: 50rpx;
-	text-align: right;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #ffffff;
-	text {
-		display: inline-block;
-		padding-left: 10rpx;
-	}
-}
-
-.navbar {
-	margin-top: 20rpx;
-	display: flex;
-	height: 88rpx;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-	.nav-item {
-		flex: 1;
+
+
+
+	.navbar {
+		margin-top: 20rpx;
 		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: #999999;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 		position: relative;
-		&.current {
-			color: #000;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid #fe5b38;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
 			}
 		}
 	}
-}
-//列表
-.swiper-box {
-	.order-item:last-child {
-		margin-bottom: 60rpx;
-	}
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
+
+	//列表
+	.swiper-box {
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+
+		.order-item {
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+
+			.title-box {
+				.title {
+					font-size: $font-lg;
+					color: $font-color-base;
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
 			}
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
+
+			.money {
+				color: #fd5b23;
+				font-size: $font-lg;
+				text-align: right;
+
+				.status {
+					color: $font-color-light;
+				}
 			}
 		}
-		.money {
-			color: #fd5b23;
-			font-size: $font-lg;
-			text-align: right;
-			.status {
-				color: $font-color-light;
-			}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+
+	.content {
+		height: 100%;
+
+		.empty-content {
+			background-color: #ffffff;
 		}
 	}
-}
-.list-scroll-content {
-	background: #ffffff;
-	height: 100%;
-}
-.content {
-	height: 100%;
-	.empty-content {
-		background-color: #ffffff;
+
+	.btn-box {
+		width: 674rpx;
+		height: 88rpx;
+		background: linear-gradient(0deg, #2e58ff, #32c6ff);
+		border-radius: 44rpx;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+		text-align: center;
+		line-height: 88rpx;
+		position: fixed;
+		bottom: 48rpx;
+		left: 0;
+		right: 0;
+		margin: 0 auto;
 	}
-}
-.btn-box {
-	width: 674rpx;
-	height: 88rpx;
-	background: linear-gradient(0deg, #2e58ff, #32c6ff);
-	border-radius: 44rpx;
-	font-size: 36rpx;
-	font-family: PingFang SC;
-	font-weight: 500;
-	color: #ffffff;
-	text-align: center;
-	line-height: 88rpx;
-	position: fixed;
-	bottom: 48rpx;
-	left: 0;
-	right: 0;
-	margin: 0 auto;
-}
-</style>
+</style>

+ 275 - 0
pages/money/quick.vue

@@ -0,0 +1,275 @@
+<template>
+	<view class="content">
+		<view class="box padding-b-30">
+			<view class="titlebox">
+				<view class="titlename padding-l-30">
+					兑换文票
+				</view>
+			</view>
+			<view class="row-box">
+				<view class="title">兑入云票</view>
+				<view class="row flex">
+					<view class="flex name-box">
+						<image class="nametip" src="../../static/icon/quick2.png" mode="scaleToFill"></image>
+						<text class="padding-l-10 name">文票</text>
+					</view>
+					<input class="input margin-l-10" type="number" v-model="ticketnum"
+						placeholder="请输入整数" placeholder-class="placeholder" />
+				</view>
+			</view>
+			<view class="flex-center">
+				<image class="tabquick" src="../../static/icon/quick0.png" mode="scaleToFill"></image>
+			</view>
+			<view class="row-box">
+				<view class="title">兑出趣豆<text class="font-size-sm">(余额:{{userInfo.integral}})</text></view>
+				<view class="row flex">
+					<view class="flex name-box">
+						<image class="nametip" src="../../static/icon/quick1.png" mode="scaleToFill"></image>
+						<text class="padding-l-10 name">趣豆</text>
+					</view>
+					<view class="input margin-l-10" type="number" placeholder="0.00" placeholder-class="placeholder">
+						{{ticketnum*ratio}}
+					</view>
+				</view>
+			</view>
+			<view class="row-box">
+				<view class="title">输入账号</view>
+				<view class="row flex">
+					<view class="flex name-box">
+						<image class="nametip" src="../../static/icon/quick3.png" mode="scaleToFill"></image>
+						<text class="padding-l-10 name">文交所账号</text>
+					</view>
+					<input class="input margin-l-10" type="number" v-model="card" placeholder="请输入文交所账号"
+						placeholder-class="placeholder" />
+				</view>
+			</view>
+			<button class="add-btn up" :class="{ action: loding }" @click="!loding ? confirm() : ''">确认兑换</button>
+		</view>
+		<navigator url="./quickList">
+			<view class="box margin-t-30">
+				<view class="titlebox flex">
+					<view class="flex-start">
+						<image class="nametip" src="../../static/icon/quick4.png" mode="scaleToFill"></image>
+						<text class="padding-l-10">兑换记录</text>
+					</view>
+					<image class="nextTip" src="../../static/img/back.png" mode="scaleToFill"></image>
+				</view>
+			</view>
+		</navigator>
+	</view>
+</template>
+
+<script>
+	import {
+		getUserInfo,
+		admintrade,
+		trade
+	} from '@/api/user.js';
+	import {
+		getTicket,
+		getExchange
+	} from '@/api/quick.js';
+	import {
+		mapMutations,
+		mapState
+	} from 'vuex';
+	export default {
+		data() {
+			return {
+				ticketnum: '', //兑换文票数
+				integral: '', //兑换所需要的积分数
+				card: '', //转账卡号
+				ratio: 1, //兑换比例
+				loding: false,
+				type: '1'
+			};
+		},
+		onLoad(options) {
+			this.dataUp();
+			// 加载文票比例
+			this.getTicket();
+		},
+		computed: {
+			...mapState('user', ['userInfo'])
+		},
+		methods: {
+			...mapMutations('user', ['setUserInfo', 'login']),
+			// 更新数据
+			dataUp() {
+				let obj = this;
+				getUserInfo({})
+					.then(e => {
+						obj.login();
+						// 保存返回用户数据
+						obj.setUserInfo(e.data);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			getTicket() {
+				getTicket().then(
+					(res) => {
+						console.log(res);
+						if (res.data.v.CurPrice != 0 && res.data.integral_price != 0) {
+							this.ratio = +(res.data.v.CurPrice / res.data.integral_price).toFixed(2);
+						} else {
+							this.loding = true;
+							uni.showModal({
+								title: '提示',
+								content: '当前兑换暂未开放',
+								showCancel: false,
+							});
+						}
+					}
+				).catch(
+					(res) => {
+						console.log(res);
+					}
+				)
+			},
+			// 提交
+			confirm() {
+				let obj = this;
+				obj.loding = true;
+				
+				if(!this.ticketnum){
+					uni.showToast({
+						title: '请输入兑换数量',
+						icon:'error'
+					});
+					return
+				}
+				if(this.ticketnum.indexOf('.')>-1){
+					uni.showToast({
+						title: '请输入整数',
+						icon:'error'
+					});
+					return
+				}
+				// if(this.ticketnum*this.ratio>this.userInfo.integral){
+				// 	uni.showToast({
+				// 		title: '趣豆不足无法兑换',
+				// 		icon:'error'
+				// 	});
+				// 	return
+				// }
+				if(!this.card){
+					uni.showToast({
+						title: '请输入社交账号',
+						icon:'error'
+					});
+					return
+				}
+				let data = {
+					account: obj.card, //账号
+					extract_ticket: obj.ticketnum, //数量
+				};
+				getExchange(data)
+					.then(e => {
+						// 允许按钮点击
+						obj.loding = false;
+						// 初始化提现金额
+						obj.ticketnum = '';
+						uni.showToast({
+							title: e.msg,
+							duration: 2000,
+							position: 'top'
+						});
+						obj.dataUp();
+					})
+					.catch(e => {
+						obj.$api.msg(e.msg);
+						obj.loding = false;
+					});
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		height: 100%;
+	}
+
+	.content {
+		padding-top: 30rpx;
+
+		.box {
+			background-color: #FFF;
+			line-height: 1;
+			.titlebox {
+				padding: 30rpx;
+				font-weight: bold;
+				font-size: $font-lg;
+				border-bottom: 1px solid $border-color-base;
+
+				.titlename {
+					border-left: 2px solid $color-red ;
+				}
+
+				.nextTip {
+					width: 20rpx;
+					height: 40rpx;
+				}
+			}
+
+			.tabquick {
+				width: 70rpx;
+				height: 70rpx;
+			}
+
+			.nametip {
+				width: 40rpx;
+				height: 40rpx;
+			}
+
+			.row-box {
+				padding: 30rpx;
+
+				.title {
+					font-size: $font-sm;
+					color: $font-color-light;
+					padding-bottom: 20rpx;
+				}
+
+				.row {
+					position: relative;
+
+					.name-box {
+						font-weight: bold;
+						font-size: $font-base;
+						width: 220rpx;
+
+						.name {
+							flex-grow: 1;
+							border-right: 2px solid $font-color-disabled;
+							margin-right: 10rpx;
+						}
+					}
+
+					.input {
+						flex: 1;
+						font-size: 30rpx;
+						height: 60rpx;
+						line-height: 60rpx;
+						color: $font-color-dark;
+						border-bottom: 1px solid $border-color-light;
+					}
+				}
+			}
+		}
+	}
+
+	.add-btn {
+		height: 80rpx;
+		border-radius: 10rpx;
+		margin: 0 50rpx;
+		margin-top: 30rpx;
+		color: #FFF;
+		background-color: $uni-color-error ;
+		&.action{
+			background-color: $border-color-light ;
+		}
+	}
+</style>

+ 259 - 0
pages/money/quickList.vue

@@ -0,0 +1,259 @@
+<template>
+	<view class="content">
+		<view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex=== index }" @click="tabClick(index)">
+				{{ item.text }}
+			</view>
+		</view>
+
+		<swiper :current="tabCurrentIndex" class="swiper-box-one" duration="0" @change="changeTab">
+
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex"
+				@click="goToOrderDetail(item)">
+				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<!-- 订单列表 -->
+					<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
+						<view class="title-box">
+							<view class="title">
+								<text>{{ item.mark||"文票闪兑" }}</text>
+							</view>
+							<view class="time">
+								<text>{{ item.add_time }}</text>
+							</view>
+						</view>
+						<view class="money">
+							<view>+{{ item.extract_ticket }}</view>
+							<view v-if="item.status == 0" class="status">待发放</view>
+							<view v-if="item.status == 1" class="status">已发放</view>
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	import empty from '@/components/empty';
+	import {
+		getExchangeList
+	} from '@/api/quick.js';
+	export default {
+		components: {
+			empty
+		},
+		data() {
+			return {
+				loading: false, //判断是否在点击
+				tabCurrentIndex: 0, //当前选中的第二级别我要买单选中项
+				navList: [{
+						state: 0,
+						text: '待发放',
+						loadingType: 'more',
+						orderList: [],
+						isnew: 1, //判断是否有新的订单
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 1,
+						text: '已发放',
+						loadingType: 'more',
+						orderList: [],
+						isnew: 1, //判断是否有新的订单
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					}
+				],
+			};
+		},
+		onLoad(options) {
+			this.tabCurrentIndex = +options.state || 0;
+		},
+		onShow() {
+			this.loadData();
+		},
+		// #ifdef APP-PLUS || H5
+		onBackPress(e) {
+			uni.switchTab({
+				url: '/pages/user/user'
+			});
+			return true;
+		},
+		// #endif
+		filters: {
+			moneyNum(value) {
+				return +value;
+			}
+		},
+		// 页面加载完获取swiper高度
+		onReady(res) {
+			var obj = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box-one').boundingClientRect();
+					query.exec(function(res) {
+						console.log(res, 'ddddddddddddd');
+						obj.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', obj.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			//顶部tab点击
+			tabClick(index, type) {
+				this.tabCurrentIndex = index;
+			},
+			//获取订单列表
+			loadData(source) {
+				//这里是将订单挂载到tab列表下
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				let state = navItem.state;
+				// if ( navItem.loaded === true) {
+				// 	//tab切换只有第一次需要加载数据
+				// 	return;
+				// }
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				if (source == 'reload') {
+					navItem.orderList = [];
+					navItem.page = 1;
+					navItem.limit = 10;
+					navItem.loadingType = 'loading';
+				}
+				if (navItem.loadingType === 'noMore') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
+
+				getExchangeList({
+						status: state,
+						page: navItem.page,
+						limit: navItem.limit
+					})
+					.then(({
+						data
+					}) => {
+						let arr = data.list.map(e => {
+							return e;
+						});
+						navItem.orderList = navItem.orderList.concat(arr);
+
+						// console.log(navItem.orderList);
+						navItem.page++;
+						if (navItem.limit == data.length) {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'more';
+							return;
+						} else {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'noMore';
+						}
+						uni.hideLoading();
+						this.$set(navItem, 'loaded', true);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+
+			},
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData();
+			},
+		}
+	};
+</script>
+
+<style lang="scss">
+	page,
+	.content {
+		background: $page-color-base;
+		height: 100%;
+	}
+
+	.navbar {
+		display: flex;
+		height: 40px;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: $font-color-dark;
+			position: relative;
+
+			&.current {
+				color: $base-color;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid $base-color;
+				}
+			}
+		}
+	}
+
+	.swiper-box-one {
+		height: calc(100% - 40px);
+
+		.tab-content {
+			height: 100%;
+		}
+
+		.order-item {
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+
+			.title-box {
+				.title {
+					font-size: $font-lg;
+					color: $font-color-base;
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
+			}
+
+			.money {
+				color: #fd5b23;
+				font-size: $font-lg;
+				text-align: right;
+
+				.status {
+					color: $font-color-light;
+				}
+			}
+		}
+	}
+</style>

+ 0 - 2
pages/navigation/bdjj.vue

@@ -71,7 +71,6 @@
 		getMoneyStyle,
 		getTime
 	} from '@/utils/rocessor.js';
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 	import empty from '@/components/empty';
 	import {
 		extractBank,
@@ -85,7 +84,6 @@
 		},
 		components: {
 			empty,
-			uniLoadMore
 		},
 		computed: {
 			...mapState('user', ['userInfo'])

+ 0 - 2
pages/navigation/fhsy.vue

@@ -71,7 +71,6 @@
 		getMoneyStyle,
 		getTime
 	} from '@/utils/rocessor.js';
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 	import empty from '@/components/empty';
 	import {
 		extractBank,
@@ -85,7 +84,6 @@
 		},
 		components: {
 			empty,
-			uniLoadMore
 		},
 		computed: {
 			...mapState('user', ['userInfo'])

+ 0 - 6
pages/navigation/tdjj.vue

@@ -68,10 +68,8 @@
 		mapMutations
 	} from 'vuex';
 	import {
-		getMoneyStyle,
 		getTime
 	} from '@/utils/rocessor.js';
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 	import empty from '@/components/empty';
 	import {
 		extractBank,
@@ -80,12 +78,8 @@
 		bill_info
 	} from '@/api/index.js'
 	export default {
-		filters: {
-			getMoneyStyle
-		},
 		components: {
 			empty,
-			uniLoadMore
 		},
 		computed: {
 			...mapState('user', ['userInfo'])

+ 0 - 2
pages/navigation/team.vue

@@ -76,7 +76,6 @@
 	import {
 		mapGetters
 	} from 'vuex';
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 	import empty from '@/components/empty';
 	import {
 		link
@@ -87,7 +86,6 @@
 		},
 		components: {
 			empty,
-			uniLoadMore
 		},
 		computed: {
 			...mapState('user', ['userInfo'])

+ 0 - 2
pages/order/order.vue

@@ -145,7 +145,6 @@
 </template>
 
 <script>
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 	import empty from '@/components/empty';
 	import {
 		orderList,
@@ -165,7 +164,6 @@
 	} from '@/utils/tabbar.js';
 	export default {
 		components: {
-			uniLoadMore,
 			empty
 		},
 		data() {

+ 0 - 2
pages/order/order1.vue

@@ -71,12 +71,10 @@
 </template>
 
 <script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import empty from '@/components/empty';
 import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
 export default {
 	components: {
-		uniLoadMore,
 		empty
 	},
 	data() {

+ 0 - 2
pages/product/classify.vue

@@ -19,7 +19,6 @@
 
 <script>
 import empty from '@/components/empty';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import { groomList } from '@/api/product.js';
 export default {
 	data() {
@@ -34,7 +33,6 @@ export default {
 		};
 	},
 	components: {
-		uniLoadMore,
 		empty
 	},
 	onReachBottom() {

+ 0 - 4
pages/product/list.vue

@@ -47,13 +47,9 @@
 </template>
 
 <script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import { getProducts } from '@/api/product.js';
 import { getCategoryList } from '@/api/product.js';
 export default {
-	components: {
-		uniLoadMore
-	},
 	data() {
 		return {
 			cateMaskState: 0, //分类面板展开状态

+ 0 - 4
pages/product/search.vue

@@ -64,12 +64,8 @@
 </template>
 
 <script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import { searchKeyword, getProducts } from '@/api/product.js';
 export default {
-	components: {
-		uniLoadMore
-	},
 	data() {
 		return {
 			arrlist: [], //热门关键词

+ 0 - 2
pages/product/seckill.vue

@@ -71,12 +71,10 @@
 <script>
 import { getSeckillList, getSeckillClass } from '@/api/product.js';
 import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import { timeComputed } from '@/utils/rocessor.js';
 export default {
 	components: {
 		uniCountdown,
-		uniLoadMore
 	},
 	data() {
 		return {

+ 0 - 2
pages/product/zero.vue

@@ -19,12 +19,10 @@
 </template>
 
 <script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import empty from '@/components/empty';
 export default {
 	components: {
 		empty,
-		uniLoadMore
 	},
 	// 计算剩余高度
 	onReady(res) {

+ 0 - 2
pages/store/shopDetail.vue

@@ -80,7 +80,6 @@
 
 <script>
 	import jyfParser from "@/components/jyf-parser/jyf-parser.vue";
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 	import {
 		getVip
 	} from '@/api/index.js';
@@ -119,7 +118,6 @@
 	import uniPopup from '@/components/uni-popup/uni-popup.vue';
 	export default {
 		components: {
-			uniLoadMore,
 			jyfParser
 		},
 		data() {

+ 0 - 1
pages/store/store.vue

@@ -117,7 +117,6 @@
 <script>
 	// 地区选择
 	import LeeSelectCity from '@/components/lee-select-city/lee-select-city.vue';
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 	import {
 		store_cate,
 		getStoreList,

TEMPAT SAMPAH
static/icon/qudou1.png


TEMPAT SAMPAH
static/icon/qudou2.png


TEMPAT SAMPAH
static/icon/qudou3.png


TEMPAT SAMPAH
static/icon/quick0.png


TEMPAT SAMPAH
static/icon/quick1.png


TEMPAT SAMPAH
static/icon/quick2.png


TEMPAT SAMPAH
static/icon/quick3.png


TEMPAT SAMPAH
static/icon/quick4.png


+ 19 - 0
uni_modules/uni-load-more/changelog.md

@@ -0,0 +1,19 @@
+## 1.3.3(2022-01-20)
+- 新增 showText属性 ,是否显示文本
+## 1.3.2(2022-01-19)
+- 修复 nvue 平台下不显示文本的bug
+## 1.3.1(2022-01-19)
+- 修复 微信小程序平台样式选择器报警告的问题
+## 1.3.0(2021-11-19)
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more)
+## 1.2.1(2021-08-24)
+- 新增 支持国际化
+## 1.2.0(2021-07-30)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.1.8(2021-05-12)
+- 新增 组件示例地址
+## 1.1.7(2021-03-30)
+- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug
+## 1.1.6(2021-02-05)
+- 调整为uni_modules目录规范

+ 5 - 0
uni_modules/uni-load-more/components/uni-load-more/i18n/en.json

@@ -0,0 +1,5 @@
+{
+	"uni-load-more.contentdown": "Pull up to show more",
+	"uni-load-more.contentrefresh": "loading...",
+	"uni-load-more.contentnomore": "No more data"
+}

+ 8 - 0
uni_modules/uni-load-more/components/uni-load-more/i18n/index.js

@@ -0,0 +1,8 @@
+import en from './en.json'
+import zhHans from './zh-Hans.json'
+import zhHant from './zh-Hant.json'
+export default {
+	en,
+	'zh-Hans': zhHans,
+	'zh-Hant': zhHant
+}

+ 5 - 0
uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json

@@ -0,0 +1,5 @@
+{
+	"uni-load-more.contentdown": "上拉显示更多",
+	"uni-load-more.contentrefresh": "正在加载...",
+	"uni-load-more.contentnomore": "没有更多数据了"
+}

+ 5 - 0
uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json

@@ -0,0 +1,5 @@
+{
+	"uni-load-more.contentdown": "上拉顯示更多",
+	"uni-load-more.contentrefresh": "正在加載...",
+	"uni-load-more.contentnomore": "沒有更多數據了"
+}

File diff ditekan karena terlalu besar
+ 112 - 0
uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue


+ 86 - 0
uni_modules/uni-load-more/package.json

@@ -0,0 +1,86 @@
+{
+  "id": "uni-load-more",
+  "displayName": "uni-load-more 加载更多",
+  "version": "1.3.3",
+  "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。",
+  "keywords": [
+    "uni-ui",
+    "uniui",
+    "加载更多",
+    "load-more"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": ""
+  },
+  "directories": {
+    "example": "../../temps/example_temps"
+  },
+  "dcloudext": {
+    "category": [
+      "前端组件",
+      "通用组件"
+    ],
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+  },
+  "uni_modules": {
+    "dependencies": ["uni-scss"],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "y"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "小程序": {
+          "微信": "y",
+          "阿里": "y",
+          "百度": "y",
+          "字节跳动": "y",
+          "QQ": "y"
+        },
+        "快应用": {
+          "华为": "u",
+          "联盟": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}

+ 14 - 0
uni_modules/uni-load-more/readme.md

@@ -0,0 +1,14 @@
+
+
+### LoadMore 加载更多
+> **组件名:uni-load-more**
+> 代码块: `uLoadMore`
+
+
+用于列表中,做滚动加载使用,展示 loading 的各种状态。
+
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 
+
+

+ 8 - 0
uni_modules/uni-scss/changelog.md

@@ -0,0 +1,8 @@
+## 1.0.3(2022-01-21)
+- 优化 组件示例
+## 1.0.2(2021-11-22)
+- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题
+## 1.0.1(2021-11-22)
+- 修复 vue3中scss语法兼容问题
+## 1.0.0(2021-11-18)
+- init

+ 1 - 0
uni_modules/uni-scss/index.scss

@@ -0,0 +1 @@
+@import './styles/index.scss';

+ 82 - 0
uni_modules/uni-scss/package.json

@@ -0,0 +1,82 @@
+{
+  "id": "uni-scss",
+  "displayName": "uni-scss 辅助样式",
+  "version": "1.0.3",
+  "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。",
+  "keywords": [
+    "uni-scss",
+    "uni-ui",
+    "辅助样式"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": "^3.1.0"
+  },
+  "dcloudext": {
+    "category": [
+        "JS SDK",
+        "通用 SDK"
+    ],
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+  },
+  "uni_modules": {
+    "dependencies": [],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "u"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "小程序": {
+          "微信": "y",
+          "阿里": "y",
+          "百度": "y",
+          "字节跳动": "y",
+          "QQ": "y"
+        },
+        "快应用": {
+          "华为": "n",
+          "联盟": "n"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}

+ 4 - 0
uni_modules/uni-scss/readme.md

@@ -0,0 +1,4 @@
+`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 

+ 7 - 0
uni_modules/uni-scss/styles/index.scss

@@ -0,0 +1,7 @@
+@import './setting/_variables.scss';
+@import './setting/_border.scss';
+@import './setting/_color.scss';
+@import './setting/_space.scss';
+@import './setting/_radius.scss';
+@import './setting/_text.scss';
+@import './setting/_styles.scss';

+ 3 - 0
uni_modules/uni-scss/styles/setting/_border.scss

@@ -0,0 +1,3 @@
+.uni-border {
+	border: 1px $uni-border-1 solid;
+}

+ 66 - 0
uni_modules/uni-scss/styles/setting/_color.scss

@@ -0,0 +1,66 @@
+
+// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐
+// @mixin get-styles($k,$c) {
+// 	@if $k == size or $k == weight{
+// 		font-#{$k}:#{$c}
+// 	}@else{
+// 		#{$k}:#{$c}
+// 	}
+// }
+$uni-ui-color:(
+	// 主色
+	primary: $uni-primary,
+	primary-disable: $uni-primary-disable,
+	primary-light: $uni-primary-light,
+	// 辅助色
+	success: $uni-success,
+	success-disable: $uni-success-disable,
+	success-light: $uni-success-light,
+	warning: $uni-warning,
+	warning-disable: $uni-warning-disable,
+	warning-light: $uni-warning-light,
+	error: $uni-error,
+	error-disable: $uni-error-disable,
+	error-light: $uni-error-light,
+	info: $uni-info,
+	info-disable: $uni-info-disable,
+	info-light: $uni-info-light,
+	// 中性色
+	main-color: $uni-main-color,
+	base-color: $uni-base-color,
+	secondary-color: $uni-secondary-color,
+	extra-color: $uni-extra-color,
+	// 背景色
+	bg-color: $uni-bg-color,
+	// 边框颜色
+	border-1: $uni-border-1,
+	border-2: $uni-border-2,
+	border-3: $uni-border-3,
+	border-4: $uni-border-4,
+	// 黑色
+	black:$uni-black,
+	// 白色
+	white:$uni-white,
+	// 透明
+	transparent:$uni-transparent
+) !default;
+@each $key, $child in $uni-ui-color {
+	.uni-#{"" + $key} {
+		color: $child;
+	}
+	.uni-#{"" + $key}-bg {
+		background-color: $child;
+	}
+}
+.uni-shadow-sm {
+	box-shadow: $uni-shadow-sm;
+}
+.uni-shadow-base {
+	box-shadow: $uni-shadow-base;
+}
+.uni-shadow-lg {
+	box-shadow: $uni-shadow-lg;
+}
+.uni-mask {
+	background-color:$uni-mask;
+}

+ 55 - 0
uni_modules/uni-scss/styles/setting/_radius.scss

@@ -0,0 +1,55 @@
+@mixin radius($r,$d:null ,$important: false){
+  $radius-value:map-get($uni-radius, $r) if($important, !important, null);
+  // Key exists within the $uni-radius variable
+  @if (map-has-key($uni-radius, $r) and  $d){
+		@if $d == t {
+				border-top-left-radius:$radius-value;
+				border-top-right-radius:$radius-value;
+		}@else if $d == r {
+				border-top-right-radius:$radius-value;
+				border-bottom-right-radius:$radius-value;
+		}@else if $d == b {
+				border-bottom-left-radius:$radius-value;
+				border-bottom-right-radius:$radius-value;
+		}@else if $d == l {
+				border-top-left-radius:$radius-value;
+				border-bottom-left-radius:$radius-value;
+		}@else if $d == tl {
+				border-top-left-radius:$radius-value;
+		}@else if $d == tr {
+				border-top-right-radius:$radius-value;
+		}@else if $d == br {
+				border-bottom-right-radius:$radius-value;
+		}@else if $d == bl {
+				border-bottom-left-radius:$radius-value;
+		}
+  }@else{
+		border-radius:$radius-value;
+  }
+}
+
+@each $key, $child in $uni-radius {
+	@if($key){
+		.uni-radius-#{"" + $key} {
+				@include radius($key)
+		}
+	}@else{
+		.uni-radius {
+				@include radius($key)
+		}
+	}
+}
+
+@each $direction in t, r, b, l,tl, tr, br, bl {
+	@each $key, $child in $uni-radius {
+		@if($key){
+			.uni-radius-#{"" + $direction}-#{"" + $key} {
+				@include radius($key,$direction,false)
+			}
+		}@else{
+			.uni-radius-#{$direction} {
+				@include radius($key,$direction,false)
+			}
+		}
+	}
+}

+ 56 - 0
uni_modules/uni-scss/styles/setting/_space.scss

@@ -0,0 +1,56 @@
+
+@mixin fn($space,$direction,$size,$n) {
+	@if $n {
+		#{$space}-#{$direction}: #{$size*$uni-space-root}px
+	} @else {
+		 #{$space}-#{$direction}: #{-$size*$uni-space-root}px
+	}
+}
+@mixin get-styles($direction,$i,$space,$n){
+	@if $direction == t {
+		@include fn($space, top,$i,$n);
+	} 
+	@if $direction == r {
+		@include fn($space, right,$i,$n);
+	} 
+	@if $direction == b {
+		@include fn($space, bottom,$i,$n);
+	} 
+	@if $direction == l {
+	 @include fn($space, left,$i,$n);
+	} 
+	@if $direction == x {
+		@include fn($space, left,$i,$n);
+		@include fn($space, right,$i,$n);
+	} 
+	@if $direction == y {
+		@include fn($space, top,$i,$n);
+		@include fn($space, bottom,$i,$n);
+	} 
+	@if $direction == a {
+		@if $n {
+			#{$space}:#{$i*$uni-space-root}px;
+		} @else {
+			#{$space}:#{-$i*$uni-space-root}px;
+		}
+	} 
+}
+
+@each $orientation in m,p {
+	$space: margin;
+	@if $orientation == m {
+		$space: margin;
+	} @else {
+		$space: padding;
+	}
+	@for $i from 0 through 16 {
+		@each $direction in t, r, b, l, x, y, a {
+			.uni-#{$orientation}#{$direction}-#{$i} { 
+				@include  get-styles($direction,$i,$space,true);
+			} 
+			.uni-#{$orientation}#{$direction}-n#{$i} { 
+				@include  get-styles($direction,$i,$space,false);
+			}
+		}
+	}
+}

+ 167 - 0
uni_modules/uni-scss/styles/setting/_styles.scss

@@ -0,0 +1,167 @@
+/* #ifndef APP-NVUE */
+
+$-color-white:#fff;
+$-color-black:#000;
+@mixin base-style($color) {
+	color: #fff;
+	background-color: $color;
+	border-color: mix($-color-black, $color, 8%);
+	&:not([hover-class]):active {
+		background: mix($-color-black, $color, 10%);
+		border-color: mix($-color-black, $color, 20%);
+		color: $-color-white;
+		outline: none;
+	}
+}
+@mixin is-color($color) {
+	@include base-style($color);
+	&[loading] {
+		@include base-style($color);
+		&::before {
+			margin-right:5px;
+		}
+	}
+	&[disabled] {
+	  &,
+		&[loading],
+	  &:not([hover-class]):active {
+	    color: $-color-white;
+			border-color: mix(darken($color,10%), $-color-white);
+	    background-color: mix($color, $-color-white);
+	  }
+	}
+
+}
+@mixin base-plain-style($color) {
+	color:$color;
+	background-color: mix($-color-white, $color, 90%);
+	border-color: mix($-color-white, $color, 70%);
+	&:not([hover-class]):active {
+	  background: mix($-color-white, $color, 80%);
+	  color: $color;
+	  outline: none;
+		border-color: mix($-color-white, $color, 50%);
+	}
+}
+@mixin is-plain($color){
+	&[plain] {
+		@include base-plain-style($color);
+		&[loading] {
+			@include base-plain-style($color);
+			&::before {
+				margin-right:5px;
+			}
+		}
+		&[disabled] {
+		  &,
+		  &:active {
+		    color: mix($-color-white, $color, 40%);
+		    background-color: mix($-color-white, $color, 90%);
+				border-color: mix($-color-white, $color, 80%);
+		  }
+		}
+	}
+}
+
+
+.uni-btn {
+	margin: 5px;
+	color: #393939;
+	border:1px solid #ccc;
+	font-size: 16px;
+	font-weight: 200;
+	background-color: #F9F9F9;
+	// TODO 暂时处理边框隐藏一边的问题
+	overflow: visible;
+	&::after{
+		border: none;
+	}
+
+	&:not([type]),&[type=default] {
+		color: #999;
+		&[loading] {
+			background: none;
+			&::before {
+				margin-right:5px;
+			}
+		}
+
+
+
+		&[disabled]{
+			color: mix($-color-white, #999, 60%);
+		  &,
+			&[loading],
+		  &:active {
+				color: mix($-color-white, #999, 60%);
+		    background-color: mix($-color-white,$-color-black , 98%);
+				border-color: mix($-color-white,  #999, 85%);
+		  }
+		}
+
+		&[plain] {
+			color: #999;
+			background: none;
+			border-color: $uni-border-1;
+			&:not([hover-class]):active {
+				background: none;
+			  color: mix($-color-white, $-color-black, 80%);
+				border-color: mix($-color-white, $-color-black, 90%);
+			  outline: none;
+			}
+			&[disabled]{
+			  &,
+				&[loading],
+			  &:active {
+			    background: none;
+					color: mix($-color-white, #999, 60%);
+					border-color: mix($-color-white,  #999, 85%);
+			  }
+			}
+		}
+	}
+
+	&:not([hover-class]):active {
+	  color: mix($-color-white, $-color-black, 50%);
+	}
+
+	&[size=mini] {
+		font-size: 16px;
+		font-weight: 200;
+		border-radius: 8px;
+	}
+
+
+
+	&.uni-btn-small {
+		font-size: 14px;
+	}
+	&.uni-btn-mini {
+		font-size: 12px;
+	}
+
+	&.uni-btn-radius {
+		border-radius: 999px;
+	}
+	&[type=primary] {
+		@include is-color($uni-primary);
+		@include is-plain($uni-primary)
+	}
+	&[type=success] {
+		@include is-color($uni-success);
+		@include is-plain($uni-success)
+	}
+	&[type=error] {
+		@include is-color($uni-error);
+		@include is-plain($uni-error)
+	}
+	&[type=warning] {
+		@include is-color($uni-warning);
+		@include is-plain($uni-warning)
+	}
+	&[type=info] {
+		@include is-color($uni-info);
+		@include is-plain($uni-info)
+	}
+}
+/* #endif */

+ 24 - 0
uni_modules/uni-scss/styles/setting/_text.scss

@@ -0,0 +1,24 @@
+@mixin get-styles($k,$c) {
+	@if $k == size or $k == weight{
+		font-#{$k}:#{$c}
+	}@else{
+		#{$k}:#{$c}
+	}
+}
+
+@each $key, $child in $uni-headings {
+	/* #ifndef APP-NVUE */
+	.uni-#{$key} {
+		@each $k, $c in $child {
+			@include get-styles($k,$c)
+		}
+	}
+	/* #endif */
+	/* #ifdef APP-NVUE */
+	.container .uni-#{$key} {
+		@each $k, $c in $child {
+			@include get-styles($k,$c)
+		}
+	}
+	/* #endif */
+}

+ 146 - 0
uni_modules/uni-scss/styles/setting/_variables.scss

@@ -0,0 +1,146 @@
+// @use "sass:math";
+@import  '../tools/functions.scss';
+// 间距基础倍数
+$uni-space-root: 2 !default;
+// 边框半径默认值
+$uni-radius-root:5px !default;
+$uni-radius: () !default;
+// 边框半径断点
+$uni-radius: map-deep-merge(
+  (
+    0: 0,
+		// TODO 当前版本暂时不支持 sm 属性
+    // 'sm': math.div($uni-radius-root, 2),
+    null: $uni-radius-root,
+    'lg': $uni-radius-root * 2,
+    'xl': $uni-radius-root * 6,
+    'pill': 9999px,
+    'circle': 50%
+  ),
+  $uni-radius
+);
+// 字体家族
+$body-font-family: 'Roboto', sans-serif !default;
+// 文本
+$heading-font-family: $body-font-family !default;
+$uni-headings: () !default;
+$letterSpacing: -0.01562em;
+$uni-headings: map-deep-merge(
+  (
+    'h1': (
+      size: 32px,
+			weight: 300,
+			line-height: 50px,
+			// letter-spacing:-0.01562em
+    ),
+    'h2': (
+      size: 28px,
+      weight: 300,
+      line-height: 40px,
+      // letter-spacing: -0.00833em
+    ),
+    'h3': (
+      size: 24px,
+      weight: 400,
+      line-height: 32px,
+      // letter-spacing: normal
+    ),
+    'h4': (
+      size: 20px,
+      weight: 400,
+      line-height: 30px,
+      // letter-spacing: 0.00735em
+    ),
+    'h5': (
+      size: 16px,
+      weight: 400,
+      line-height: 24px,
+      // letter-spacing: normal
+    ),
+    'h6': (
+      size: 14px,
+      weight: 500,
+      line-height: 18px,
+      // letter-spacing: 0.0125em
+    ),
+    'subtitle': (
+      size: 12px,
+      weight: 400,
+      line-height: 20px,
+      // letter-spacing: 0.00937em
+    ),
+    'body': (
+      font-size: 14px,
+			font-weight: 400,
+			line-height: 22px,
+			// letter-spacing: 0.03125em
+    ),
+    'caption': (
+      'size': 12px,
+      'weight': 400,
+      'line-height': 20px,
+      // 'letter-spacing': 0.03333em,
+      // 'text-transform': false
+    )
+  ),
+  $uni-headings
+);
+
+
+
+// 主色
+$uni-primary: #2979ff !default;
+$uni-primary-disable:lighten($uni-primary,20%) !default;
+$uni-primary-light: lighten($uni-primary,25%) !default;
+
+// 辅助色
+// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。
+$uni-success: #18bc37 !default;
+$uni-success-disable:lighten($uni-success,20%) !default;
+$uni-success-light: lighten($uni-success,25%) !default;
+
+$uni-warning: #f3a73f !default;
+$uni-warning-disable:lighten($uni-warning,20%) !default;
+$uni-warning-light: lighten($uni-warning,25%) !default;
+
+$uni-error: #e43d33 !default;
+$uni-error-disable:lighten($uni-error,20%) !default;
+$uni-error-light: lighten($uni-error,25%) !default;
+
+$uni-info: #8f939c !default;
+$uni-info-disable:lighten($uni-info,20%) !default;
+$uni-info-light: lighten($uni-info,25%) !default;
+
+// 中性色
+// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。
+$uni-main-color: #3a3a3a !default; 			// 主要文字
+$uni-base-color: #6a6a6a !default;			// 常规文字
+$uni-secondary-color: #909399 !default;	// 次要文字
+$uni-extra-color: #c7c7c7 !default;			// 辅助说明
+
+// 边框颜色
+$uni-border-1: #F0F0F0 !default;
+$uni-border-2: #EDEDED !default;
+$uni-border-3: #DCDCDC !default;
+$uni-border-4: #B9B9B9 !default;
+
+// 常规色
+$uni-black: #000000 !default;
+$uni-white: #ffffff !default;
+$uni-transparent: rgba($color: #000000, $alpha: 0) !default;
+
+// 背景色
+$uni-bg-color: #f7f7f7 !default;
+
+/* 水平间距 */
+$uni-spacing-sm: 8px !default;
+$uni-spacing-base: 15px !default;
+$uni-spacing-lg: 30px !default;
+
+// 阴影
+$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default;
+$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default;
+$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default;
+
+// 蒙版
+$uni-mask: rgba($color: #000000, $alpha: 0.4) !default;

+ 19 - 0
uni_modules/uni-scss/styles/tools/functions.scss

@@ -0,0 +1,19 @@
+// 合并 map
+@function map-deep-merge($parent-map, $child-map){
+	$result: $parent-map;
+	@each $key, $child in $child-map {
+		$parent-has-key: map-has-key($result, $key);
+		$parent-value: map-get($result, $key);
+		$parent-type: type-of($parent-value);
+		$child-type: type-of($child);
+		$parent-is-map: $parent-type == map;
+		$child-is-map: $child-type == map;
+			
+		@if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){
+			$result: map-merge($result, ( $key: $child ));
+		}@else {
+			$result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) ));
+		}
+	}
+	@return $result;
+};

+ 31 - 0
uni_modules/uni-scss/theme.scss

@@ -0,0 +1,31 @@
+// 间距基础倍数
+$uni-space-root: 2;
+// 边框半径默认值
+$uni-radius-root:5px;
+// 主色
+$uni-primary: #2979ff;
+// 辅助色
+$uni-success: #4cd964;
+// 警告色
+$uni-warning: #f0ad4e;
+// 错误色
+$uni-error: #dd524d;
+// 描述色
+$uni-info: #909399;
+// 中性色
+$uni-main-color: #303133;
+$uni-base-color: #606266;
+$uni-secondary-color: #909399;
+$uni-extra-color: #C0C4CC;
+// 背景色
+$uni-bg-color: #f5f5f5;
+// 边框颜色
+$uni-border-1: #DCDFE6;
+$uni-border-2: #E4E7ED;
+$uni-border-3: #EBEEF5;
+$uni-border-4: #F2F6FC;
+
+// 常规色
+$uni-black: #000000;
+$uni-white: #ffffff;
+$uni-transparent: rgba($color: #000000, $alpha: 0);

+ 62 - 0
uni_modules/uni-scss/variables.scss

@@ -0,0 +1,62 @@
+@import './styles/setting/_variables.scss';
+// 间距基础倍数
+$uni-space-root: 2;
+// 边框半径默认值
+$uni-radius-root:5px;
+
+// 主色
+$uni-primary: #2979ff;
+$uni-primary-disable:mix(#fff,$uni-primary,50%);
+$uni-primary-light: mix(#fff,$uni-primary,80%);
+
+// 辅助色
+// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。
+$uni-success: #18bc37;
+$uni-success-disable:mix(#fff,$uni-success,50%);
+$uni-success-light: mix(#fff,$uni-success,80%);
+
+$uni-warning: #f3a73f;
+$uni-warning-disable:mix(#fff,$uni-warning,50%);
+$uni-warning-light: mix(#fff,$uni-warning,80%);
+
+$uni-error: #e43d33;
+$uni-error-disable:mix(#fff,$uni-error,50%);
+$uni-error-light: mix(#fff,$uni-error,80%);
+
+$uni-info: #8f939c;
+$uni-info-disable:mix(#fff,$uni-info,50%);
+$uni-info-light: mix(#fff,$uni-info,80%);
+
+// 中性色
+// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。
+$uni-main-color: #3a3a3a; 			// 主要文字
+$uni-base-color: #6a6a6a;			// 常规文字
+$uni-secondary-color: #909399;	// 次要文字
+$uni-extra-color: #c7c7c7;			// 辅助说明
+
+// 边框颜色
+$uni-border-1: #F0F0F0;
+$uni-border-2: #EDEDED;
+$uni-border-3: #DCDCDC;
+$uni-border-4: #B9B9B9;
+
+// 常规色
+$uni-black: #000000;
+$uni-white: #ffffff;
+$uni-transparent: rgba($color: #000000, $alpha: 0);
+
+// 背景色
+$uni-bg-color: #f7f7f7;
+
+/* 水平间距 */
+$uni-spacing-sm: 8px;
+$uni-spacing-base: 15px;
+$uni-spacing-lg: 30px;
+
+// 阴影
+$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5);
+$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2);
+$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5);
+
+// 蒙版
+$uni-mask: rgba($color: #000000, $alpha: 0.4);

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini