Browse Source

Merge branch 'master' of http://git.liuniu946.com/xuhaolan/boying

hwq 4 years ago
parent
commit
1436a78683
77 changed files with 2237 additions and 1199 deletions
  1. 4 0
      .hbuilderx/launch.json
  2. 5 2
      App.vue
  3. 9 0
      api/apply.js
  4. 2 3
      api/login.js
  5. 1 1
      api/set.js
  6. 12 2
      api/user.js
  7. 1 1
      manifest.json
  8. 202 195
      pages.json
  9. 53 874
      pages/index/index.vue
  10. 18 31
      pages/profit/profit.vue
  11. 31 17
      pages/public/forget.vue
  12. 4 2
      pages/public/login.vue
  13. 9 9
      pages/public/register.vue
  14. 114 0
      pages/public/success.vue
  15. 4 4
      pages/set/userinfo.vue
  16. 115 0
      pages/upload/upload.vue
  17. 222 0
      pages/user/applyList.vue
  18. 122 0
      pages/user/upgrade.vue
  19. 17 11
      pages/user/user.vue
  20. BIN
      static/img/index/baodan1.png
  21. BIN
      static/img/index/baodan2.png
  22. BIN
      static/img/index/index.png
  23. BIN
      static/img/index/vip.png
  24. BIN
      static/img/index/youhui1.png
  25. BIN
      static/img/index/youhui2.png
  26. BIN
      static/img/success.png
  27. BIN
      static/img/uonow.png
  28. BIN
      static/img/upload.png
  29. BIN
      static/img/upone.png
  30. BIN
      static/img/uptow.png
  31. 1 1
      store/index.js
  32. 5 1
      store/model/user.js
  33. 0 0
      unpackage/dist/dev/.automator/app-plus/.automator.json
  34. 0 0
      unpackage/dist/dev/app-plus/__uniappchooselocation.js
  35. BIN
      unpackage/dist/dev/app-plus/__uniapperror.png
  36. 0 0
      unpackage/dist/dev/app-plus/__uniappes6.js
  37. 0 0
      unpackage/dist/dev/app-plus/__uniappopenlocation.js
  38. 0 0
      unpackage/dist/dev/app-plus/__uniapppicker.js
  39. 6 0
      unpackage/dist/dev/app-plus/__uniappquill.js
  40. 0 0
      unpackage/dist/dev/app-plus/__uniappquillimageresize.js
  41. 0 0
      unpackage/dist/dev/app-plus/__uniappscan.js
  42. BIN
      unpackage/dist/dev/app-plus/__uniappsuccess.png
  43. 25 0
      unpackage/dist/dev/app-plus/__uniappview.html
  44. 4 0
      unpackage/dist/dev/app-plus/app-config-service.js
  45. 154 0
      unpackage/dist/dev/app-plus/app-config.js
  46. 9 0
      unpackage/dist/dev/app-plus/app-service.js
  47. 476 0
      unpackage/dist/dev/app-plus/app-view.js
  48. 0 0
      unpackage/dist/dev/app-plus/manifest.json
  49. 551 0
      unpackage/dist/dev/app-plus/static/css/cmy.css
  50. BIN
      unpackage/dist/dev/app-plus/static/error/emptyCart.png
  51. BIN
      unpackage/dist/dev/app-plus/static/error/errorImage.jpg
  52. BIN
      unpackage/dist/dev/app-plus/static/error/missing-face.png
  53. BIN
      unpackage/dist/dev/app-plus/static/img/centerbg.png
  54. BIN
      unpackage/dist/dev/app-plus/static/img/index/baodan1.png
  55. BIN
      unpackage/dist/dev/app-plus/static/img/index/baodan2.png
  56. BIN
      unpackage/dist/dev/app-plus/static/img/index/index.png
  57. BIN
      unpackage/dist/dev/app-plus/static/img/index/vip.png
  58. BIN
      unpackage/dist/dev/app-plus/static/img/index/youhui1.png
  59. BIN
      unpackage/dist/dev/app-plus/static/img/index/youhui2.png
  60. BIN
      unpackage/dist/dev/app-plus/static/img/jiantou.png
  61. BIN
      unpackage/dist/dev/app-plus/static/img/kefu.png
  62. BIN
      unpackage/dist/dev/app-plus/static/img/share.png
  63. BIN
      unpackage/dist/dev/app-plus/static/img/team.png
  64. BIN
      unpackage/dist/dev/app-plus/static/img/tuiguang.png
  65. BIN
      unpackage/dist/dev/app-plus/static/img/upload.png
  66. BIN
      unpackage/dist/dev/app-plus/static/img/vip.png
  67. BIN
      unpackage/dist/dev/app-plus/static/tabBar/center-action.png
  68. BIN
      unpackage/dist/dev/app-plus/static/tabBar/center.png
  69. BIN
      unpackage/dist/dev/app-plus/static/tabBar/home-action.png
  70. BIN
      unpackage/dist/dev/app-plus/static/tabBar/home.png
  71. BIN
      unpackage/dist/dev/app-plus/static/tabBar/user-action.png
  72. BIN
      unpackage/dist/dev/app-plus/static/tabBar/user.png
  73. BIN
      unpackage/dist/dev/app-plus/static/yticon.ttf
  74. 0 0
      unpackage/dist/dev/app-plus/view.css
  75. 0 0
      unpackage/dist/dev/app-plus/view.umd.min.js
  76. 3 1
      utils/newRequest.js
  77. 58 44
      utils/request.js

+ 4 - 0
.hbuilderx/launch.json

@@ -2,6 +2,10 @@
   // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
     "version": "0.0",
     "configurations": [{
+     	"app-plus" : 
+     	{
+     		"launchtype" : "remote"
+     	},
      	"default" : 
      	{
      		"launchtype" : "remote"

+ 5 - 2
App.vue

@@ -20,11 +20,14 @@ export default {
 		...mapMutations('user', ['setUserInfo', 'login', 'hasLogin'])
 	},
 	onLaunch: function(urlObj) {
-		let obj = this;
+		let obj = this;
+		let systemInfo = uni.getSystemInfoSync();
+		let lang = systemInfo.language || 'zh-CN'
+		uni.setStorageSync('lang',lang)
 		// 加载缓存中的用户信息
 		let userInfo = uni.getStorageSync('userInfo') || '';
 		// 判断是否拥有用户信息
-		if (userInfo.uid) {
+		if (userInfo.id) {
 			//更新登陆状态
 			uni.getStorage({
 				key: 'userInfo',

+ 9 - 0
api/apply.js

@@ -0,0 +1,9 @@
+import {upFilse} from '@/utils/request'
+import request from '@/utils/request'
+export function upload(data){
+	return upFilse({
+		url:'/api/upload/image',
+		method:'post',
+		data
+	})
+}

+ 2 - 3
api/login.js

@@ -18,10 +18,9 @@ export function register(data) {
 }
 // 验证码
 export function verify(data) {
-	// type=register为注册
-	// type=login为登录
+	//event : 注册 registe  修改密码 resetpwd   changemobile 修改手机号
 	return request({
-		url: '/api/register/verify',
+		url: '/api/captcha',
 		method: 'post',
 		data
 	});

+ 1 - 1
api/set.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 修改用户信息
 export function userEdit(data) {
 	return request({
-		url: '/api/user/edit',
+		url: '/api/user/profile',
 		method: 'post',
 		data
 	});

+ 12 - 2
api/user.js

@@ -1,4 +1,5 @@
-import request from '@/utils/request'
+import request from '@/utils/request'
+import { upFilse} from '@/utils/request';
 
 // 订单统计信息
 export function orderData(data) {
@@ -12,7 +13,7 @@ export function orderData(data) {
 // 获取用户信息
 export function getUserInfo(data) {
 	return request({
-		url: '/api/userinfo',
+		url: '/api/user',
 		method: 'get',
 		data
 	});
@@ -99,6 +100,15 @@ export function delcollect(data) {
 		method: 'post',
 		data
 	});
+}
+
+//上传图片
+export function uploads(data) {
+	return upFilse({
+		url:'/api/upload',
+		method:'post',
+		data
+	});
 }
 
 

+ 1 - 1
manifest.json

@@ -73,7 +73,7 @@
         "devServer" : {
             "proxy" : {
                 "/api" : {
-                    "target" : "http://192.168.0.101/api",
+                    "target" : "http://bowin.frp.liuniu946.com/api",
                     // "changeOrigin": true,
                     "pathRewrite" : {
                         "/api" : "" // rewrite path

+ 202 - 195
pages.json

@@ -1,170 +1,139 @@
-{
-	"pages": [{
-			"path": "pages/index/index",
-			"style": {
-				"enablePullDownRefresh": true,
-				// #ifdef MP
-				"navigationStyle": "custom",
-				// #endif
-				// #ifndef MP
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent",
-						"searchInput": {
-							"backgroundColor": "rgba(231, 231, 231,.7)",
-							"borderRadius": "16px",
-							"placeholder": "请输入关键字",
-							"disabled": true,
-							"placeholderColor": "#606266",
-							"align": "left"
-						},
-						"buttons": [{
-								"fontSrc": "/static/yticon.ttf",
-								"text": "\ue60d",
-								"fontSize": "26",
-								"color": "#303133",
-								"float": "left",
-								"background": "rgba(0,0,0,0)"
-							},
-							{
-								"fontSrc": "/static/yticon.ttf",
-								"text": "\ue744",
-								"fontSize": "27",
-								"color": "#303133",
-								"background": "rgba(0,0,0,0)"
-							}
-						]
-					}
-				},
-				// #endif
-				"navigationBarTitleText": "商城首页"
-			}
-		},
-		{
-			"path": "pages/public/register",
-			"style": {
-				"navigationBarTitleText": "注册",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		}, {
-			"path": "pages/public/login",
-			"style": {
-				"navigationBarTitleText": "登录",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/public/wxLogin",
-			"style": {
-				"navigationBarTitleText": "微信登录",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/public/forget",
-			"style": {
-				"navigationBarTitleText": "忘记密码",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/set/password",
-			"style": {
-				"navigationBarTitleText": "修改密码"
-			}
-		},
-		{
-			"path": "pages/set/userinfo",
-			"style": {
-				"navigationBarTitleText": "设置",
-				"navigationBarBackgroundColor":"#000",
-				"navigationBarTextStyle":"white"
-			}
+{
+	"pages": [{
+			"path": "pages/index/index",
+			"style": {
+				"navigationBarTextStyle": "white",
+				"navigationBarBackgroundColor": "#000000",
+				"navigationStyle": "custom"
+
+
+			}
+		},
+		{
+			"path": "pages/public/register",
+			"style": {
+				"navigationBarTitleText": "注册",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		}, {
+			"path": "pages/public/login",
+			"style": {
+				"navigationBarTitleText": "登录",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/public/wxLogin",
+			"style": {
+				"navigationBarTitleText": "微信登录",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/public/forget",
+			"style": {
+				"navigationBarTitleText": "忘记密码",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/set/password",
+			"style": {
+				"navigationBarTitleText": "修改密码"
+			}
+		},
+		{
+			"path": "pages/set/userinfo",
+			"style": {
+				"navigationBarTitleText": "设置",
+				"navigationBarBackgroundColor": "#000",
+				"navigationBarTextStyle": "white"
+			}
 		},
 		{
 			"path": "pages/index/info",
 			"style": {
 				"navigationBarTitleText": "打款信息",
-				"navigationBarBackgroundColor":"#000",
-				"navigationBarTextStyle":"white"
+				"navigationBarBackgroundColor": "#000",
+				"navigationBarTextStyle": "white"
 			}
-		}, 
+		},
 		{
 			"path": "pages/user/team",
 			"style": {
 				"navigationBarTitleText": "我的团队",
-				"navigationBarBackgroundColor":"#000",
-				"navigationBarTextStyle":"white"
-			}
-		}, 
-		{
-			"path": "pages/user/user",
-			"style": {
-				"navigationBarTitleText": "我的",
-				"navigationBarBackgroundColor":"#000",
-				"navigationBarTextStyle":"white"
-			}
-		},
-		{
-			"path": "pages/user/award",
-			"style": {
-				"navigationBarTitleText": "奖励明细",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/user/withdrawal",
-			"style": {
-				"navigationBarTitleText": "奖励提现"
-			}
-		},
-		
-	
-		{
-			"path": "pages/user/scoreAccumulate",
-			"style": {
-				"navigationBarTitleText": "积分明细"
-			}
-		}, 
-		
-		
-	
-		{
-			"path": "pages/redirect/redirect",
-			"style": {
-				"navigationBarTitleText": "微信登录跳转页面",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		},
-		{
-			"path": "pages/user/shareQrCode",
-			"style": {
-				"navigationBarTitleText": "我的二维码",
-				"navigationBarBackgroundColor":"#000",
-				"navigationBarTextStyle":"white"
-			}
+				"navigationBarBackgroundColor": "#000",
+				"navigationBarTextStyle": "white"
+			}
+		},
+		{
+			"path": "pages/user/user",
+			"style": {
+				"navigationBarTitleText": "我的",
+				"navigationBarBackgroundColor": "#000",
+				"navigationBarTextStyle": "white"
+			}
+		},
+		{
+			"path": "pages/user/award",
+			"style": {
+				"navigationBarTitleText": "奖励明细",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/user/withdrawal",
+			"style": {
+				"navigationBarTitleText": "奖励提现"
+			}
+		},
+
+
+		{
+			"path": "pages/user/scoreAccumulate",
+			"style": {
+				"navigationBarTitleText": "积分明细"
+			}
+		},
+
+
+
+		{
+			"path": "pages/redirect/redirect",
+			"style": {
+				"navigationBarTitleText": "微信登录跳转页面",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/user/shareQrCode",
+			"style": {
+				"navigationBarTitleText": "我的二维码",
+				"navigationBarBackgroundColor": "#000",
+				"navigationBarTextStyle": "white"
+			}
 		},
 		{
 			"path": "pages/user/promotion",
@@ -174,7 +143,7 @@
 					"titleNView": {
 						"backgroundColor": "#15130f",
 						"type": "float",
-						"titleText": "我的推广" 
+						"titleText": "我的推广"
 					}
 				}
 			}
@@ -188,43 +157,81 @@
 					"titleNView": {
 						"backgroundColor": "#15130f",
 						"type": "float",
-						"titleText": "收益中心" 
+						"titleText": "收益中心"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/public/success",
+			"style": {
+				// "navigationBarTitleText": "收益中心",
+				"navigationBarTextStyle": "white",
+				"app-plus": {
+					"titleNView": {
+						"backgroundColor": "#000",
+						"type": "float",
+						"titleText": "提交成功"
 					}
 				}
-			}
-		}
-	],
-
-	"globalStyle": {
-		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "uni-app",
-		"navigationBarBackgroundColor": "#FFFFFF",
-		"backgroundColor": "#f8f8f8"
-	},
-	"tabBar": {
-
-		"color": "#71614f",
-		"selectedColor": "#FAD6B0",
-		"borderStyle": "black",
-		"backgroundColor": "#15130f",
-		"list": [{
-				"pagePath": "pages/index/index",
-				"iconPath": "static/tabBar/home.png",
-				"selectedIconPath": "static/tabBar/home-action.png",
-				"text": "首页"
-			},
-			{
-				"pagePath": "pages/profit/profit",
-				"iconPath": "static/tabBar/center.png",
-				"selectedIconPath": "static/tabBar/center-action.png",
-				"text": "收益中心"
-			},
-			{
-				"pagePath": "pages/user/user",
-				"iconPath": "static/tabBar/user.png",
-				"selectedIconPath": "static/tabBar/user-action.png",
-				"text": "我的"
-			}
-		]
-	}
+			}
+		},
+		{
+			"path": "pages/user/applyList",
+			"style": {
+				"navigationBarTitleText": "收益中心",
+				"navigationBarTextStyle": "white",
+				"navigationBarBackgroundColor": "#000"
+			}
+		},
+		{
+			"path": "pages/user/upgrade",
+			"style": {
+				"navigationBarTitleText": "升级会员",
+				"navigationBarTextStyle": "white",
+				"navigationBarBackgroundColor": "#000"
+			}
+		},
+		{
+			"path": "pages/upload/upload",
+			"style": {
+				"navigationBarTitleText": "上传资料",
+				"navigationBarTextStyle": "white",
+				"navigationBarBackgroundColor": "#000000"
+			}
+		}
+	],
+
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "uni-app",
+		"navigationBarBackgroundColor": "#FFFFFF",
+		"backgroundColor": "#f8f8f8"
+	},
+	"tabBar": {
+
+		"color": "#71614f",
+		"selectedColor": "#FAD6B0",
+		"borderStyle": "black",
+		"backgroundColor": "#15130f",
+		"list": [{
+				"pagePath": "pages/index/index",
+				"iconPath": "static/tabBar/home.png",
+				"selectedIconPath": "static/tabBar/home-action.png",
+				"text": "首页"
+			},
+			{
+				"pagePath": "pages/profit/profit",
+				"iconPath": "static/tabBar/center.png",
+				"selectedIconPath": "static/tabBar/center-action.png",
+				"text": "收益中心"
+			},
+			{
+				"pagePath": "pages/user/user",
+				"iconPath": "static/tabBar/user.png",
+				"selectedIconPath": "static/tabBar/user-action.png",
+				"text": "我的"
+			}
+		]
+	}
 }

File diff suppressed because it is too large
+ 53 - 874
pages/index/index.vue


+ 18 - 31
pages/profit/profit.vue

@@ -6,28 +6,15 @@
 				<view class="text">当前余额</view>
 				<view class="money"><text>¥</text>{{ money | getMoneyStyle }}</view>		
 			</view>
-			<!-- <view class="moneyTx" @click="navto('./withdrawal')">提现</view>
-			<view class="flex buttom-box">
-				<view class="buttom" @click="navto('/pages/money/recharge')">
-					<view class="icon"><image src="/static/icon/i6.png" mode="aspectFill" class="icon-img"></image></view>
-					<text>统计</text>
-				</view>
-				<view class="interval"></view>
-				<view class="buttom" @click="navto('./withdrawal')">
-					<view class="icon"><image src="/static/icon/i7.png" mode="aspectFill" class="icon-img"></image></view>
-					<text>提现</text>
-				</view>
-			</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>
-		<swiper :current="tabCurrentIndex" :style="{'height':maxheight+'px'}" 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">
 					<!-- 空白页 -->
 					<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">
@@ -63,22 +50,20 @@ export default {
 		empty,
 		uniLoadMore
 	},
-	onReady() {
-		//初始化获取页面宽度
-		uni.createSelectorQuery().select('.content')
-			.fields(
-			{
-				size:true
-			},
-			data => {
-				console.log(data);
-				console.log(Math.floor((data.width /750) * 300));
-				//保存头部高度
-				this.maxheight =data.height - Math.floor((data.width / 750) * 570);
-				console.log(this.maxheight);
-				}
-			)
-			.exec();
+	onReady(res) {
+		var obj = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					console.log(res, 'ddddddddddddd');
+					obj.maxheight = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', obj.maxheight);
+				});
+			},
+			fail: res => {}
+		});
 	},
 	data() {
 		return {
@@ -181,13 +166,15 @@ page {
 	background: #000;
 	height: 100%;
 }
-.content-money {
+.content-money {
+	height: 430rpx;
 	padding-bottom: 30rpx;
 	background: $page-color-base;
 	position: relative;
 	.bg{ 
 		position: absolute;
 		width: 100%;
+		height: 430rpx;
 	}
 	.moneyTx{
 		position: absolute;

+ 31 - 17
pages/public/forget.vue

@@ -27,14 +27,15 @@
 				</view>
 			</view>
 			<view>
-				<button type="green" @click="register" class="uni-button uni-button-green">确定修改</button>
+				<button type="green" @click="loding?register():''" class="uni-button uni-button-green">确定修改</button>
 			</view>
 		</view>
 	</view>
 </template>
 <script>
 import { mapMutations } from 'vuex';
-import { verify, loginMobile, getUserInfo } from '@/api/login.js';
+import { verify, loginMobile, getUserInfo } from '@/api/login.js';
+import { registerReset } from '@/api/set.js';
 export default {
 	data() {
 		return {
@@ -44,6 +45,7 @@ export default {
 			countDown: 0, //倒计时
 			password: '',
 			repassword: '',
+			loding:true,//是否载入中
 			
 		};
 	},
@@ -60,7 +62,8 @@ export default {
 		...mapMutations('user', ['setUserInfo', 'login']),
 		// 手机登录
 		register() {
-			let obj = this;
+			let obj = this;
+			console.log('dianji')
 			if (obj.phone == '') {
 				obj.$api.msg('请输入电话号码');
 				return;
@@ -68,26 +71,37 @@ export default {
 			if (!/(^1[3|4|5|7|8][0-9]{9}$)/.test(this.phone)) {
 				obj.$api.msg('请输入正确的手机号');
 				return;
+			}
+			if(obj.password == '') {
+				obj.$api.msg('请输入新密码')
+				return 
+			}
+			if(obj.password != obj.repassword) {
+				obj.$api.msg('两次密码不一致')
+				return 
 			}
 			if (obj.code == '') {
 				obj.$api.msg('请输入验证码');
 				return;
 			}
-
-			loginMobile({
-				phone: obj.phone, //账号
-				captcha: obj.code
+			obj.loding = false
+			registerReset({
+				// phone: obj.phone, //账号
+				// captcha: obj.code,
+				account: obj.account,
+				captcha: obj.code,
+				password: obj.password,
 			}).then(function(e) {
-				uni.setStorageSync('token', e.data.token);
-				getUserInfo({}).then(e => {
-					obj.login();
-					// 保存返回用户数据
-					obj.setUserInfo(e.data);
-					//成功跳转首页
-					uni.switchTab({
-						url: '/pages/index/index'
-					});
-				});
+				// uni.setStorageSync('token', e.data.token);
+				// getUserInfo({}).then(e => {
+				// 	obj.login();
+				// 	// 保存返回用户数据
+				// 	obj.setUserInfo(e.data);
+				// 	//成功跳转首页
+				// 	uni.switchTab({
+				// 		url: '/pages/index/index'
+				// 	});
+				// });
 			}).catch((e) => {
 				console.log(e);
 			});

+ 4 - 2
pages/public/login.vue

@@ -226,12 +226,14 @@
 						password: obj.passward
 					})
 					.then(function(e) {
-						uni.setStorageSync('token', e.data.token);
+						uni.setStorageSync('token', e.data.userinfo.token);
+						// 保存返回用户数据
+						obj.setUserInfo(e.data.userinfo);
 						obj.$store.commit('hasLogin', true);
 						getUserInfo({}).then(e => {
 							obj.login();
 							// 保存返回用户数据
-							obj.setUserInfo(e.data);
+							// obj.setUserInfo(e.data.userinfo);
 							let ur = uni.getStorageSync('present') || '/pages/index/index';
 							//成功跳转首页
 							uni.switchTab({

+ 9 - 9
pages/public/register.vue

@@ -73,7 +73,7 @@ export default {
 				obj.$api.msg('请输入电话号码');
 				return;
 			}
-			if (!/(^1[3|4|5|7|8][0-9]{9}$)/.test(this.phone)) {
+			if (!/(^1[2|3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone)) {
 				obj.$api.msg('请输入正确的手机号');
 				return;
 			}
@@ -93,13 +93,13 @@ export default {
 			// 	obj.$api.msg('请输入邀请码');
 			// 	return;
 			// }
-			// if (obj.code == '') {
-			// 	obj.$api.msg('请输入验证码');
-			// 	return;
-			// }
+			if (obj.code == '') {
+				obj.$api.msg('请输入验证码');
+				return;
+			}
 			register({
-				account: obj.phone, //账号
-				// captcha: obj.code, //验证码
+				mobile: obj.phone, //账号
+				code: obj.code, //验证码
 				password: obj.password ,//密码
 				spread:this.invitation//上级推广人
 			}).then(function(e) {
@@ -138,8 +138,8 @@ export default {
 				}, 1000);
 				//调用验证码接口
 				verify({
-					phone: obj.phone,
-					type: 'register'
+					mobile: obj.phone,
+					event: 'register'
 				})
 					.then(({ data }) => {})
 					.catch(err => {

+ 114 - 0
pages/public/success.vue

@@ -0,0 +1,114 @@
+<template>
+	<view class="content">
+		<image src="../../static/img/success.png" mode="" class="okimg"></image>
+		<text class="tit">提交成功</text>
+		<text class="tit1">请耐心等待审核</text>
+		<view class="btn-wrapper" >
+			<navigator url="/pages/index/index" open-type="switchTab" class="bank">返回首页</navigator>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				orderId:'',
+				money: '',
+			}
+		},
+		onLoad() {
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang='scss'>
+	.content{
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		padding-top: 277rpx;
+	}
+	.success-icon{
+		font-size: 160upx;
+		color: #5dbc7c;
+		margin-top: 100upx;
+	}
+	.tit{
+		margin-top: -50rpx;
+		font-size: 40rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #FFFFFF;
+		line-height: 1.5;
+	}
+	.tit1 {
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #B3B3B3;
+	}
+	.btn-group{
+		padding-top: 100upx;
+	}
+	.mix-btn {
+		margin-top: 30upx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 600upx;
+		height: 80upx;
+		font-size: $font-lg;
+		color: #fff;
+		background-color: $base-color;
+		border-radius: 10upx;
+		&.hollow{
+			background: #fff;
+			color: #303133;
+			border: 1px solid #ccc;
+		}
+	}
+	.okimg {
+		width: 362rpx;
+		height: 267rpx;
+	}
+	.btn-wrapper {
+		margin-top: 46rpx;
+		display: flex;
+		.look-btn {
+			width: 301rpx;
+			height: 78rpx;
+			background: #901b21;
+			text-align: center;
+			line-height: 78rpx;
+			border-radius: 10rpx;
+			color: #fff;
+			margin-right: 37rpx;
+		}
+		.bank {
+			/* width: 301rpx;
+			height: 78rpx;
+			text-align: center;
+			line-height: 78rpx;
+			background: #FFFFFF;
+			border: 2px solid #901B21;
+			border-radius: 10rpx;
+			color: #901b21; */
+			width: 350rpx;
+			line-height: 80rpx;
+			text-align: center;
+			background: linear-gradient(-74deg, #CE9C6D, #FFECD6);
+			box-shadow: 3rpx 4rpx 5rpx 0px rgba(151, 118, 74, 0.5);
+			border-radius: 40rpx;
+		
+			font-size: 34rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #874B19;
+		}
+	}
+</style>

+ 4 - 4
pages/set/userinfo.vue

@@ -2,7 +2,7 @@
 	<view class="content">
 		<view class="row1">
 			<text class="tit">头像</text>
-			<view class="background-img" @click.stop="imgsub"><image class="background-img" v-model="userInfo.avatar" :src="userInfo.avatar" mode="aspectFill"></image></view>
+			<view class="background-img" @click.stop="imgsub"><image class="background-img" :src="userInfo.avatar" mode="aspectFill"></image></view>
 		</view>
 		<view class="row">
 			<text class="tit">昵称</text>
@@ -10,11 +10,11 @@
 		</view>
 		<view class="row">
 			<text class="tit">ID</text>
-			<input class="input" type="text"  disabled="true" v-model="userInfo.uid" placeholder-class="placeholder" />
+			<input class="input" type="text"  disabled="true" v-model="userInfo.id" placeholder-class="placeholder" />
 		</view>
 		<view class="row">
 			<text class="tit">账户</text>
-			<input class="input" type="text"  disabled="true" v-model="userInfo.account" placeholder-class="placeholder" />
+			<input class="input" type="text"  disabled="true" v-model="userInfo.username" placeholder-class="placeholder" />
 		</view>
 		<view class="add-btn" @click="confirm">提交</view>
 		<view class="out" @click="toLogout">退出登录</view>
@@ -46,7 +46,7 @@ export default{
 				filename: ''
 			}).then(data => {
 				console.log("data",data);
-				this.userInfo.avatar = data[0].url;
+				this.userInfo.avatar = data.fullurl;
 			})
 		},
 		confirm() {

+ 115 - 0
pages/upload/upload.vue

@@ -0,0 +1,115 @@
+<template>
+	<view class="content">
+		<view class="upload-title">
+			请提供相关截图及描述,以便上级审核(最多两张)
+		</view>
+		<view class="upload-box">
+			<view class="upload-img">
+				<image src="../../static/img/upload.png" mode=""></image>
+			</view>
+			<view class="fenge"></view>
+			<view class="upload-content">
+				<view class="describe">
+					<view class="title">
+						补充描述
+					</view>
+					<textarea class="title1" value=""  placeholder="填写描述" maxlength="140" focus="focus" />
+				</view>
+			</view>
+		</view>
+		<view class="submit">
+			提交
+		</view>
+	</view>
+</template>
+<script>
+	import {
+		upload
+	} from '@/api/apply.js'
+	export default {
+		data() {
+			return {
+
+			}
+		},
+		mrthods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		width: 100%;
+		padding: 0;
+		margin: 0;
+	}
+
+	.content {
+		
+		.upload-title {
+			padding: 30rpx 30rpx;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #FFFFFF;
+			line-height: 28rpx;
+		}
+
+		.upload-box {
+			width: 100%;
+			height: 450rpx;
+			background-color: #15130F;
+
+			.upload-img {
+				margin: 30rpx;
+				padding-top: 30rpx;
+				width: 160rpx;
+				height: 190rpx;
+
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+
+			.fenge {
+				width: 100%;
+				border: 1rpx solid #F0F0F0;
+			}
+
+			.describe {
+				display: flex;
+		
+				margin: 20rpx 30rpx;
+
+				.title {
+					font-size: 28rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FFFFFF;
+				}
+
+				.title1 {
+					margin-left: 40rpx;
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #999999;
+				}
+			}
+		}
+		.submit{
+			margin: 120rpx auto;
+			text-align: center;
+			line-height: 80rpx;
+			width: 560rpx;
+			height: 80rpx;
+			background: linear-gradient(-74deg, #CE9C6D, #FFECD6);
+			border: 1px solid;
+			border-image: linear-gradient(115deg, #FEEBD5, #FFFFFF, #E1AD7D) 1 1;
+			box-shadow: 3rpx 4rpx 5rpx 0rpx rgba(151, 118, 74, 0.5);
+			border-radius: 40rpx;
+		}
+	}
+</style>

+ 222 - 0
pages/user/applyList.vue

@@ -0,0 +1,222 @@
+<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" :style="{'height':height}" 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" :style="{'height':height}">
+					<!-- 申请列表 -->
+					<view class="apply-box" v-for="item in 20">
+						<view class="box-top">
+							<image src="" mode="" class="user-img"></image>
+							<view class="user-info">
+								<view class="user-name clamp">
+								假猪套	假猪套假猪套假
+								</view>
+								<view class="user-phone">
+								13245678911
+								</view>
+							</view>
+						</view>
+						<view class="apply-info flex">
+							<view class="img-wrap">
+								<image src="" mode="" class="upimg" v-for="item in 2"></image>
+							</view>
+							<view class="btn-wrap flex" v-if="tabCurrentIndex == 0">
+								<view class="btn btn-reject">拒绝</view>
+								<view class="btn btn-pass">通过</view>
+							</view>
+							<view class="btn-wrap" v-if="tabCurrentIndex == 1">
+								已通过
+							</view>
+						</view>
+					</view>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				height: '',
+				tabCurrentIndex: 0,
+				navList: [{
+						state: 0,
+						text: '未审核',
+						loadingType: 'more',
+						orderList: [],
+					},
+					{
+						state: 1,
+						text: '已审核',
+						loadingType: 'more',
+						orderList: [],
+					}
+				]
+			}
+		},
+		onReady(res) {
+			var obj = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').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) {
+				this.tabCurrentIndex = index;
+			},
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			loadData(source) {
+				console.log('swiper')
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				// let state = navItem.state+3;
+				if (source === 'tabChange' && navItem.loaded === true) {
+					//tab切换只有第一次需要加载数据
+					return;
+				}
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				//修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.navbar {
+		display: flex;
+		height: 40px;
+		padding: 0 5px;
+		background: #000;
+		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: #999999;
+			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 {
+		background-color: #15130f;
+		.apply-box {
+			height: 317rpx;
+			width: 702rpx;
+			// background-color: red;
+			margin: 0 auto;
+			border-bottom: 1px solid #6c6a68;
+			padding-top: 30rpx;
+			.box-top {
+				height: 80rpx;
+				// background-color: #bfa;
+				display: flex;
+				justify-content: flex-start;
+				.user-img {
+					width: 80rpx;
+					height: 80rpx;
+					background-color: #eee;
+					margin-right: 20rpx;
+					flex-shrink: 0;
+					border-radius: 50%;
+				}
+				.user-name {
+					max-width: 500rpx;
+					font-size: 30rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FFFFFF;
+				}
+				.user-phone {
+					padding-top: 10rpx;
+					font-size: 22rpx;
+					font-family: PingFang SC;
+					font-weight: 400;
+					color: #FFFFFF;
+				}
+			}
+			.apply-info {
+				padding: 25rpx 0 0 100rpx;
+				justify-content: space-between;
+				
+				.img-wrap {
+					.upimg {
+						width: 153rpx;
+						height: 152rpx;
+						border-radius: 10rpx;
+						background-color: #999;
+						margin-left: 10rpx;
+					}
+				}
+				.btn-wrap {
+					align-self: flex-end;
+					color: #FAD6B0;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FAD6B0;
+					.btn {
+						width: 98rpx;
+						line-height: 47rpx;
+						text-align: center;
+					}
+					.btn-reject {
+						border: 1px solid #FAD6B0;
+						border-radius: 5rpx;
+						color: #FAD6B0;
+					}
+					.btn-pass {
+						background: linear-gradient(-74deg, #CE9C6D, #FFECD6);
+						border-image: linear-gradient(115deg, #FEEBD5, #FFFFFF, #E1AD7D) 1 1;
+						box-shadow: 3rpx 4rpx 5rpx 0rpx rgba(151, 118, 74, 0.5);
+						border-radius: 5rpx;
+						color: #874B19;
+						margin-left: 10rpx;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 122 - 0
pages/user/upgrade.vue

@@ -0,0 +1,122 @@
+<template>
+	<view class="content">
+		<view class="user-info flex">
+			<image src="" mode="" class="user-img"></image>
+			<view class="user-name">
+				假猪套天下第一
+			</view>
+			<view class="tit">
+				尚未升级黑钻会员
+			</view>
+		</view>
+		<view class="up-box">
+			<view class="up">
+				<image src="../../static/img/upone.png" mode="" class="bg"></image>
+				<view class="up-price">
+					<text class="inconn">¥</text><text>10000</text>
+				</view>
+				<image src="../../static/img/uonow.png" mode="" class="uplevel" @click="navto('/pages/index/info')"></image>
+			</view>
+			<view class="up">
+				<image src="../../static/img/uptow.png" mode="" class="bg"></image>
+				<view class="up-price">
+					<text class="inconn">¥</text><text>60000</text>
+				</view>
+				<image src="../../static/img/uonow.png" mode="" class="uplevel" @click="navto('/pages/index/info')"></image>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			navto(url) {
+				uni.navigateTo({
+					url
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.user-info {
+		flex-direction: column;
+		align-items: center;
+		text-align: center;
+		padding-top: 20rpx;
+		.user-img {
+			width: 120rpx;
+			height: 120rpx;
+			border-radius: 50%;
+			background-color: #eee;
+		}
+		.user-name {
+			margin-top: 20rpx;
+			width: 240rpx;
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #FFFFFF;
+			
+		}
+		.tit {
+			padding-top: 8rpx;
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: 400;
+			color: #999999;
+		}
+	}
+	.up-box {
+		padding: 30rpx 0 100rpx 0;
+		.up {
+			width: 690rpx;
+			height: 892rpx;
+			position: relative;
+			margin: 0 auto 34rpx;
+			.bg {
+				width: 690rpx;
+				height: 892rpx;
+				position: absolute;
+			}
+			.up-price {
+				font-size: 116rpx;
+				display: inline-block;
+				font-family: Source Han Sans CN;
+				font-weight: 800;
+				color: #C63535;
+				position: absolute;
+				top: 250rpx;
+				right: 0;
+				left: 0;
+				margin: auto;
+				display: flex;
+				justify-content: center;
+				.inconn {
+					font-size: 36rpx;
+					font-family: Source Han Sans CN;
+					font-weight: bold;
+					color: #C63535;
+					padding-top: 25rpx;
+				}
+			}
+			.uplevel {
+				width: 307rpx;
+				height: 80rpx;
+				position: absolute;
+				bottom: 118rpx;
+				right: 0;
+				left: 0;
+				margin: auto;
+			}
+		}
+		
+	}
+</style>

+ 17 - 11
pages/user/user.vue

@@ -2,10 +2,10 @@
 	<view class="container">
 		<view class="user-info-box">
 			<view class="detail flex">
-				<view class="portrait-box"><image class="portrait" src=" ../../static/error/missing-face.png"></image></view>
+				<view class="portrait-box"><image class="portrait" :src=" userInfo.avatar || '../../static/error/missing-face.png'"></image></view>
 				<view class="info-box">
-					<view class="username">游客</view>
-					<view class="font-size-sm">13800000000</view>
+					<view class="username">{{userInfo.nickname||"游客"}}</view>
+					<view class="font-size-sm">{{userInfo.mobile || ''}}</view>
 				</view>
 			</view>
 			<view class="config iconfont"><text class="setting iconsetting" @click="navTo('/pages/set/userinfo')"></text></view>
@@ -55,25 +55,31 @@
 
 <script>
 import uniPopup from '@/components/uni-popup/uni-popup.vue';
-import uniCopy from '@/utils/uni-copy.js';
+import uniCopy from '@/utils/uni-copy.js';
+
+import { mapState, mapMutations } from 'vuex';
+import { saveUrl, interceptor } from '@/utils/loginUtils.js';
 export default {
 	data() {
 		return {
 			text:'123456789'
 		};
+	},
+	computed:{
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	},
 	methods: {
 		navTo(url) {
-			// if (!this.hasLogin) {
-			// 	// 保存地址
-			// 	saveUrl();
-			// 	// 登录拦截
-			// 	interceptor();
-			// } else {
+			if (!this.hasLogin) {
+				// 保存地址
+				saveUrl();
+				// 登录拦截
+				interceptor();
+			} else {
 			uni.navigateTo({
 				url
 			});
-			// }
+			}
 		},
 		open() {
 			console.log('点击出现弹窗');

BIN
static/img/index/baodan1.png


BIN
static/img/index/baodan2.png


BIN
static/img/index/index.png


BIN
static/img/index/vip.png


BIN
static/img/index/youhui1.png


BIN
static/img/index/youhui2.png


BIN
static/img/success.png


BIN
static/img/uonow.png


BIN
static/img/upload.png


BIN
static/img/upone.png


BIN
static/img/uptow.png


+ 1 - 1
store/index.js

@@ -6,7 +6,7 @@ Vue.use(Vuex)
 const store = new Vuex.Store({
 	state: {
 		// baseURL:"http://yrh.liuniu946.com",//'http://eb.shuibo.net',//请求地址配置 
-		baseURL:'http://base.liuniu946.com',//请求地址配置 
+		baseURL:'http://bowin.frp.liuniu946.com',//请求地址配置 
 		urlFile:'/index',//项目部署所在文件夹
 		userInfo: {}, //登录信息
 		loginInterceptor:false,//是否打开强制登录

+ 5 - 1
store/model/user.js

@@ -7,7 +7,8 @@ let state = {
 		order_count: 0, //订单总数
 		unpaid_count: 0 //待付款
 	}, //订单信息
-	hasLogin: false, //是否登录
+	hasLogin: false, //是否登录
+	lang: 'zh-cn'
 }
 
 let mutations = {
@@ -47,6 +48,9 @@ let mutations = {
 	// 保存订单信息
 	setOrderInfo(state, provider) {
 		state.orderInfo = provider;
+	},
+	setLang(state,provider) {
+		state.lang = provider;
 	}
 
 }

+ 0 - 0
unpackage/dist/dev/.automator/app-plus/.automator.json


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappchooselocation.js


BIN
unpackage/dist/dev/app-plus/__uniapperror.png


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappes6.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappopenlocation.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/__uniapppicker.js


File diff suppressed because it is too large
+ 6 - 0
unpackage/dist/dev/app-plus/__uniappquill.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappquillimageresize.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappscan.js


BIN
unpackage/dist/dev/app-plus/__uniappsuccess.png


+ 25 - 0
unpackage/dist/dev/app-plus/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

File diff suppressed because it is too large
+ 4 - 0
unpackage/dist/dev/app-plus/app-config-service.js


+ 154 - 0
unpackage/dist/dev/app-plus/app-config.js

@@ -0,0 +1,154 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// install a JSONP callback for chunk loading
+/******/ 	function webpackJsonpCallback(data) {
+/******/ 		var chunkIds = data[0];
+/******/ 		var moreModules = data[1];
+/******/ 		var executeModules = data[2];
+/******/
+/******/ 		// add "moreModules" to the modules object,
+/******/ 		// then flag all "chunkIds" as loaded and fire callback
+/******/ 		var moduleId, chunkId, i = 0, resolves = [];
+/******/ 		for(;i < chunkIds.length; i++) {
+/******/ 			chunkId = chunkIds[i];
+/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
+/******/ 				resolves.push(installedChunks[chunkId][0]);
+/******/ 			}
+/******/ 			installedChunks[chunkId] = 0;
+/******/ 		}
+/******/ 		for(moduleId in moreModules) {
+/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ 				modules[moduleId] = moreModules[moduleId];
+/******/ 			}
+/******/ 		}
+/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
+/******/
+/******/ 		while(resolves.length) {
+/******/ 			resolves.shift()();
+/******/ 		}
+/******/
+/******/ 		// add entry modules from loaded chunk to deferred list
+/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
+/******/
+/******/ 		// run deferred modules when all chunks ready
+/******/ 		return checkDeferredModules();
+/******/ 	};
+/******/ 	function checkDeferredModules() {
+/******/ 		var result;
+/******/ 		for(var i = 0; i < deferredModules.length; i++) {
+/******/ 			var deferredModule = deferredModules[i];
+/******/ 			var fulfilled = true;
+/******/ 			for(var j = 1; j < deferredModule.length; j++) {
+/******/ 				var depId = deferredModule[j];
+/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
+/******/ 			}
+/******/ 			if(fulfilled) {
+/******/ 				deferredModules.splice(i--, 1);
+/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		return result;
+/******/ 	}
+/******/
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// object to store loaded and loading chunks
+/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
+/******/ 	// Promise = chunk loading, 0 = chunk loaded
+/******/ 	var installedChunks = {
+/******/ 		"app-config": 0
+/******/ 	};
+/******/
+/******/ 	var deferredModules = [];
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/ 	var jsonpArray = this["webpackJsonp"] = this["webpackJsonp"] || [];
+/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
+/******/ 	jsonpArray.push = webpackJsonpCallback;
+/******/ 	jsonpArray = jsonpArray.slice();
+/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
+/******/ 	var parentJsonpFunction = oldJsonpFunction;
+/******/
+/******/
+/******/ 	// run deferred modules from other chunks
+/******/ 	checkDeferredModules();
+/******/ })
+/************************************************************************/
+/******/ ([]);

File diff suppressed because it is too large
+ 9 - 0
unpackage/dist/dev/app-plus/app-service.js


File diff suppressed because it is too large
+ 476 - 0
unpackage/dist/dev/app-plus/app-view.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/manifest.json


+ 551 - 0
unpackage/dist/dev/app-plus/static/css/cmy.css

@@ -0,0 +1,551 @@
+/*初始化类*/
+@font-face {
+	font-family: 'iconfont';
+	/* project id 1482221 */
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
+}
+
+.acea-row {
+	display: -webkit-box;
+	display: -moz-box;
+	display: -webkit-flex;
+	display: -ms-flexbox;
+	display: flex;
+	-webkit-box-lines: multiple;
+	-moz-box-lines: multiple;
+	-o-box-lines: multiple;
+	-webkit-flex-wrap: wrap;
+	-ms-flex-wrap: wrap;
+	flex-wrap: wrap
+}
+
+.acea-row.row-middle {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center
+}
+
+.bg-color-red {
+	background-color: #e93323 !important;
+}
+
+.acea-row.row-right {
+	-webkit-box-pack: end;
+	-moz-box-pack: end;
+	-o-box-pack: end;
+	-ms-flex-pack: end;
+	-webkit-justify-content: flex-end;
+	justify-content: flex-end
+}
+
+.acea-row.row-between-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: justify;
+	-moz-box-pack: justify;
+	-o-box-pack: justify;
+	-ms-flex-pack: justify;
+	-webkit-justify-content: space-between;
+	justify-content: space-between
+}
+
+.acea-row.row-column-around {
+	-webkit-flex-direction: column;
+	-ms-flex-direction: column;
+	flex-direction: column;
+	justify-content: space-around;
+	-webkit-justify-content: space-around
+}
+
+.acea-row.row-center-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: center;
+	-moz-box-pack: center;
+	-o-box-pack: center;
+	-ms-flex-pack: center;
+	-webkit-justify-content: center;
+	justify-content: center
+}
+
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 34rpx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-webkit-text-stroke-width: 0rpx;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.iconedit:before {
+	content: "\e649";
+}
+
+.iconfavorfill:before {
+	content: "\e64b";
+}
+
+.iconfavor:before {
+	content: "\e64c";
+}
+
+.iconlocation:before {
+	content: "\e651";
+}
+
+.iconroundcheckfill:before {
+	content: "\e656";
+}
+
+.iconroundcheck:before {
+	content: "\e657";
+}
+
+.iconunfold:before {
+	content: "\e661";
+}
+
+.iconlikefill:before {
+	content: "\e668";
+}
+
+.iconlike:before {
+	content: "\e669";
+}
+
+.iconshop:before {
+	content: "\e676";
+}
+
+.iconcart:before {
+	content: "\e6af";
+}
+
+.icondelete:before {
+	content: "\e6b4";
+}
+
+.iconhome:before {
+	content: "\e6b8";
+}
+
+.iconcartfill:before {
+	content: "\e6b9";
+}
+
+.iconhomefill:before {
+	content: "\e6bb";
+}
+
+.iconlock:before {
+	content: "\e6c0";
+}
+
+.iconfriendadd:before {
+	content: "\e6ca";
+}
+
+.iconfold:before {
+	content: "\e6de";
+}
+
+.iconapps:before {
+	content: "\e729";
+}
+
+.iconadd:before {
+	content: "\e767";
+}
+
+.iconmove:before {
+	content: "\e768";
+}
+
+.icontriangledownfill:before {
+	content: "\e79b";
+}
+
+.icontriangleupfill:before {
+	content: "\e79c";
+}
+
+.iconshaixuan:before {
+	content: "\e74a";
+}
+
+.iconyanzhengma:before {
+	content: "\e684";
+}
+
+.iconjifen:before {
+	content: "\e60f";
+}
+
+.iconwuliuxinxi:before {
+	content: "\e62b";
+}
+
+.iconmessage:before {
+	content: "\e78a";
+}
+
+.iconsetting:before {
+	content: "\e78e";
+}
+
+.iconaddition:before {
+	content: "\e6e0";
+}
+
+.iconclose:before {
+	content: "\e6e9";
+}
+
+.iconenter:after {
+	content: "\e6f8";
+}
+
+.iconprompt:before {
+	content: "\e71b";
+}
+
+.iconreturn:before {
+	content: "\e720";
+}
+
+.iconsearch:before {
+	content: "\e741";
+}
+
+.iconpengyouquan:before {
+	content: "\e62c";
+}
+
+.iconweixin:before {
+	content: "\e60e";
+}
+
+.iconzhifubao:before {
+	content: "\e673";
+}
+
+.iconyue:before {
+	content: "\e618";
+}
+
+.iconweixin1:before {
+	content: "\e622";
+}
+
+.iconlock1:before {
+	content: "\e64d";
+}
+
+.iconuser:before {
+	content: "\e64e";
+}
+
+.iconchenggongtixianshouyi:before {
+	content: "\e64f";
+}
+
+.iconviptuiguangdingdan:before {
+	content: "\e650";
+}
+
+.icondaifukuan:before {
+	content: "\e652";
+}
+
+.icondaijiesuanshouyi:before {
+	content: "\e653";
+}
+
+.icondaidakuanshouyi:before {
+	content: "\e654";
+}
+
+.icondaifahuo:before {
+	content: "\e655";
+}
+
+.icondaishouhuoshouyi:before {
+	content: "\e658";
+}
+
+.icondaishouhuo:before {
+	content: "\e659";
+}
+
+.iconwuxiaoshouyi:before {
+	content: "\e65a";
+}
+
+.icontixianmingxi:before {
+	content: "\e65b";
+}
+
+.iconshouyi:before {
+	content: "\e65c";
+}
+
+.iconkouchutixianshouxufei:before {
+	content: "\e65d";
+}
+
+.iconyishenqingshouyi:before {
+	content: "\e65e";
+}
+
+.icontuihuanhuo:before {
+	content: "\e65f";
+}
+
+
+/*水平线*/
+.hr {
+	width: 100%;
+	position: relative;
+	border-bottom: 1px solid #dddddd;
+	/* height: 0.5rpx; */
+}
+
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+
+/* 二行显示 */
+.clamp2 {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+
+/* 二行显示 */
+.ellipsis {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-box-orient: vertical;
+	-webkit-line-clamp: 2;
+}
+
+.common-hover {
+	background: #f5f5f5;
+}
+
+/* 角标 */
+.corner {
+	background-color: #e51c23;
+	position: absolute;
+	right: -18rpx;
+	top: -18rpx;
+	color: #FFFFFF;
+	text-align: center;
+	border-radius: 999px;
+	font-size: 24rpx !important;
+	min-width: 35rpx;
+	min-height: 35rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	line-height: 1;
+}
+
+.flex_item {
+	display: flex;
+	align-items: center;
+	/* justify-content: space-between; */
+}
+
+/* 左右顶格加上下居中 */
+.flex-between-center {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+
+/* flex布局-整体居中 */
+.flex-center {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+.flex-start {
+	display: flex;
+	align-items: center;
+	justify-content: flex-start;
+}
+
+/*文字对齐*/
+.text-left {
+	text-align: left !important;
+}
+
+.text-center {
+	text-align: center !important;
+}
+
+.text-justify {
+	text-align: justify !important;
+}
+
+.text-right {
+	text-align: right !important;
+}
+
+.text-default {
+	color: #212121 !important;
+}
+
+.text-white {
+	color: #ffffff !important;
+}
+
+.text-primary {
+	color: #00bcd4 !important;
+}
+
+.text-success {
+	color: #009688 !important;
+}
+
+.text-info {
+	color: #03a9f4 !important;
+}
+
+.text-warning {
+	color: #ffc107 !important;
+}
+
+.text-danger {
+	color: #e51c23 !important;
+}
+
+.text-pink {
+	color: #e91e63 !important;
+}
+
+.text-purple {
+	color: #673ab7 !important;
+}
+
+.text-indigo {
+	color: #3f51b5 !important;
+}
+
+.text-gray {
+	color: #999999 !important;
+}
+
+.bg-default {
+	background-color: #f5f5f5 !important;
+}
+
+.bg-primary {
+	background-color: #00bcd4 !important;
+}
+
+.bg-success {
+	background-color: #009688 !important;
+}
+
+.bg-info {
+	background-color: #03a9f4 !important;
+}
+
+.bg-warning {
+	background-color: #FFB238 !important;
+}
+
+.bg-danger {
+	background-color: #DC4D46 !important;
+}
+
+.bg-pink {
+	background-color: #e91e63 !important;
+}
+
+.bg-purple {
+	background-color: #673ab7 !important;
+}
+
+.bg-indigo {
+	background-color: #3f51b5 !important;
+}
+
+.bg-white {
+	background-color: white !important;
+}
+
+.bg-gray {
+	background-color: #e3e3e3 !important;
+}
+
+/* 边框 */
+.border-radius-15 {
+	border-radius: 15rpx;
+}
+
+.border-radius-10 {
+	border-radius: 10rpx;
+}
+
+.border-radius-all {
+	border-radius: 1000rpx;
+}
+
+/* 底部边线 */
+.borde-b {
+	border-bottom: 1px solid #dddddd;
+}
+
+/* 弹性盒子 */
+.flex {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+}
+
+.items-left {
+	justify-content: flex-start;
+}
+
+.items-right {
+	justify-content: flex-end;
+}
+
+.flex-shrink-false {
+	flex-shrink: 0;
+}
+
+.flex-grow-true {
+	flex-grow: 1;
+}
+
+.position-relative {
+	position: relative;
+}

BIN
unpackage/dist/dev/app-plus/static/error/emptyCart.png


BIN
unpackage/dist/dev/app-plus/static/error/errorImage.jpg


BIN
unpackage/dist/dev/app-plus/static/error/missing-face.png


BIN
unpackage/dist/dev/app-plus/static/img/centerbg.png


BIN
unpackage/dist/dev/app-plus/static/img/index/baodan1.png


BIN
unpackage/dist/dev/app-plus/static/img/index/baodan2.png


BIN
unpackage/dist/dev/app-plus/static/img/index/index.png


BIN
unpackage/dist/dev/app-plus/static/img/index/vip.png


BIN
unpackage/dist/dev/app-plus/static/img/index/youhui1.png


BIN
unpackage/dist/dev/app-plus/static/img/index/youhui2.png


BIN
unpackage/dist/dev/app-plus/static/img/jiantou.png


BIN
unpackage/dist/dev/app-plus/static/img/kefu.png


BIN
unpackage/dist/dev/app-plus/static/img/share.png


BIN
unpackage/dist/dev/app-plus/static/img/team.png


BIN
unpackage/dist/dev/app-plus/static/img/tuiguang.png


BIN
unpackage/dist/dev/app-plus/static/img/upload.png


BIN
unpackage/dist/dev/app-plus/static/img/vip.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/center-action.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/center.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/home-action.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/home.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/user-action.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/user.png


BIN
unpackage/dist/dev/app-plus/static/yticon.ttf


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/view.css


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/app-plus/view.umd.min.js


+ 3 - 1
utils/newRequest.js

@@ -142,7 +142,9 @@ let service = {
 							filePath: path,
 							name: 'file',
 							header: {
-								"Authori-zation": 'Bearer ' + uni.getStorageSync('token')
+								"bowintoken": uni.getStorageSync('token'),
+								"bowinlang": uni.getStorageSync('lang') || 'zh-CN'
+								
 							},
 							success: (uploadFileRes) => {
 								if ("string" === typeof uploadFileRes.data) {

+ 58 - 44
utils/request.js

@@ -6,47 +6,48 @@ import {
 } from '@/utils/loginUtils.js';
 // 请求完成后拦截
 service.interceptors.response(
-	response => {
-		try {
-			let res = response.data;
-			// 解析字符串为数字
-			if (res.status !== 200) {
-				console.log(res.status);
-				if (res.status == 410000) {
-					// 调用退出登录方法清空用户信息
-					store.commit('user/logout');
-					// 判断是否开启强制登录
-					uni.showModal({
-						title: "登陆",
-						content: '您未登录!是否马上登录?',
-						success: (e) => {
-							// 判断是否点击确认按钮
-							if (e.confirm) {
-								// 保存当前页面地址
-								saveUrl()
-								// 跳转页面
-								interceptor()
-							}
-						}
-					})
-				} else {
-					if (res.msg != '系统出现异常') {
-						uni.showToast({
-							title: res.msg,
-							duration: 1500,
-							mask: false,
-							icon: 'none',
-						})
-
-					}
-				}
-				return Promise.reject(res)
-			} else {
-				return res
-			}
-		} catch (e) {
-			console.log(e);
-		}
+	response => {
+		try {
+			let res = response.data;
+			// 解析字符串为数字
+			if (res.code !== 1) {
+				console.log(res.code);
+				if (res.code == 401) {
+					// 调用退出登录方法清空用户信息
+					console.log('清空登录信息')
+					store.commit('user/logout');
+					// 判断是否开启强制登录
+					uni.showModal({
+						title: "登陆",
+						content: '您未登录!是否马上登录?',
+						success: (e) => {
+							// 判断是否点击确认按钮
+							if (e.confirm) {
+								// 保存当前页面地址
+								saveUrl()
+								// 跳转页面
+								interceptor()
+							}
+						}
+					})
+				} else {
+					if (res.msg != '系统出现异常') {
+						uni.showToast({
+							title: res.msg,
+							duration: 1500,
+							mask: false,
+							icon: 'none',
+						})
+	
+					}
+				}
+				return Promise.reject(res)
+			} else {
+				return res
+			}
+		} catch (e) {
+			console.log(e);
+		}
 	},
 	error => {
 		uni.showToast({
@@ -62,15 +63,28 @@ service.interceptors.response(
 // 请求前拦截器
 service.interceptors.request(
 	config => {
-		let token = uni.getStorageSync('token') || '';
+		let token = uni.getStorageSync('token') || '';
+		let lang = ''
+		try {
+		    const systemInfo = uni.getSystemInfoSync();
+			lang = systemInfo.language || 'zh-CN'
+		} catch (e) {
+		   console.log(e)
+		   lang = 'zh-CN'
+		}
+		
 		// console.log(config);
 		if (!config.header) {
 			config.header = {
-				"Authori-zation": 'Bearer ' + token,
+				// "Authori-zation": 'Bearer ' + token,
+				"bowintoken": token,
+				"bowinlang": lang
 			}
 		} else {
 			// 添加key请求头
-			config.header["Authori-zation"] = 'Bearer ' + token;
+			// config.header["Authori-zation"] = 'Bearer ' + token;
+			config.header["bowintoken"] = token
+			config.header["bowinlang"] = lang
 		}
 		return config
 	},

Some files were not shown because too many files changed in this diff