Преглед на файлове

feat:提交代码,完善后续需求

longzhicheng преди 1 година
родител
ревизия
b3cefec75c
променени са 48 файла, в които са добавени 1132 реда и са изтрити 233 реда
  1. 1 1
      pages.config.ts
  2. 37 0
      src/apis/home.ts
  3. 1 0
      src/apis/model/common.model.ts
  4. 1 1
      src/apis/model/dacang.model.ts
  5. 16 0
      src/apis/quickLink.ts
  6. 1 1
      src/apis/user.ts
  7. 14 4
      src/components/CXBBanner/CXBBanner.vue
  8. 1 1
      src/manifest.json
  9. 1 1
      src/pages.json
  10. 3 3
      src/pages/account-cancel/index.vue
  11. 1 1
      src/pages/article/detail.vue
  12. 1 1
      src/pages/article/list.vue
  13. 1 1
      src/pages/bangfuzhongxin/index.vue
  14. 190 0
      src/pages/download.html
  15. 12 0
      src/pages/home/components/navs.vue
  16. 5 3
      src/pages/home/components/product-new.vue
  17. 4 4
      src/pages/home/constants.js
  18. 4 33
      src/pages/home/index.vue
  19. 1 1
      src/pages/my-rules/index.vue
  20. 3 15
      src/pages/payment/index.vue
  21. 1 1
      src/pages/pension_choice_platform/index.vue
  22. 7 13
      src/pages/real-name-authentication/index.vue
  23. 1 1
      src/pages/store/nearby/index-bak.vue
  24. 1 1
      src/pages/store/nearby/index.vue
  25. 1 1
      src/pages/user/index.vue
  26. 1 1
      src/pages/user/login/other-phone.vue
  27. 4 4
      src/pages/version-update/index.vue
  28. 1 1
      src/pages/vip/index.vue
  29. BIN
      src/static/img/img_recharge_top.png
  30. 2 2
      src/subPages/pages/bankDetail/index.vue
  31. 80 0
      src/subPages/pages/business-school/detail.vue
  32. 244 0
      src/subPages/pages/business-school/index.vue
  33. 1 0
      src/subPages/pages/immediate-withdrawal/index.vue
  34. 5 2
      src/subPages/pages/mine-top/brokerage.vue
  35. 17 0
      src/subPages/pages/mine-top/common-webView.vue
  36. 47 4
      src/subPages/pages/mine-top/jifen.vue
  37. 65 3
      src/subPages/pages/mine-top/qianbao.vue
  38. 10 3
      src/subPages/pages/mine-top/vr.vue
  39. 1 1
      src/subPages/pages/phone-bill/index.vue
  40. 26 22
      src/subPages/pages/quick-fuc/components/life-product.vue
  41. 1 1
      src/subPages/pages/quick-fuc/life.vue
  42. 298 0
      src/subPages/pages/quick-fuc/repurchase.vue
  43. 6 6
      src/subPages/pages/quick-fuc/shop.vue
  44. 1 1
      src/subPages/pages/refund/drawback.vue
  45. 1 1
      src/subPages/pages/store/home/index.vue
  46. 4 89
      src/subPages/pages/store/product/detail.vue
  47. 4 4
      src/subPages/pages/user/about/index.vue
  48. 4 0
      uni-pages.d.ts

+ 1 - 1
pages.config.ts

@@ -41,7 +41,7 @@ export default defineUniPages({
41 41
   globalStyle: {
42 42
     navigationBarBackgroundColor: '@navBgColor',
43 43
     navigationBarTextStyle: '@navTxtStyle',
44
-    navigationBarTitleText: '储蓄保',
44
+    navigationBarTitleText: '幸福保',
45 45
     backgroundColor: '@bgColor',
46 46
     backgroundTextStyle: '@bgTxtStyle',
47 47
     backgroundColorTop: '@bgColorTop',

+ 37 - 0
src/apis/home.ts

@@ -11,10 +11,47 @@ enum API {
11 11
 	GET_WPH_PRODUCT = '/api/vip/goods',//唯品会
12 12
 	GET_DENOMINATION = '/api/huafei/denomination',//充值话费lab
13 13
 	RECHARGE_INFO = '/api/huafei/recharge',//充值话费
14
+	BUSINESS_SCHOOL_LIST ='/api/business_school/list',//商学院列表
15
+	BUSINESS_SCHOOL_CLASSIFY_LIST ='/api/business_school/classify_list',//商学院列表类型
16
+	
17
+	BUSINESS_SCHOOL_DETAIL ='/api/business_school/detail',//列表详情
14 18
 }
15 19
 
16 20
 
17 21
 /**
22
+ * 商学院列表详情
23
+ */
24
+export function apiBusinessSchoolDetail(id:any) {
25
+	return defHttp.post({
26
+		url: API.BUSINESS_SCHOOL_DETAIL,
27
+		data:{id:id}
28
+	})
29
+}
30
+/**
31
+ * 商学院列表类型
32
+ */
33
+export function apiBusinessSchoolClassify() {
34
+	return defHttp.post({
35
+		url: API.BUSINESS_SCHOOL_CLASSIFY_LIST,
36
+	})
37
+}
38
+
39
+/**
40
+ * 商学院列表
41
+ */
42
+export function apiBusinessSchool(page:any,classify:any) {
43
+	let data={}
44
+	if(classify){
45
+		 data ={limit:10,page:page,classify:classify}
46
+	}else{
47
+		 data ={limit:10,page:page}
48
+	}
49
+	return defHttp.post({
50
+		url: API.BUSINESS_SCHOOL_LIST,
51
+		data:data
52
+	})
53
+}
54
+/**
18 55
  * 充值充值话费lab
19 56
  */
20 57
 export function apiRecharge(phone:any,money:any) {

+ 1 - 0
src/apis/model/common.model.ts

@@ -15,6 +15,7 @@ export enum KINGKONGKEY  {
15 15
 	JCSH= 'JCSH', //精彩生活
16 16
 	SMZQ= 'SMZQ', //商贸专区
17 17
 	FGQ= 'FGQ', //复购区
18
+	SXY= 'SXY', //商学院
18 19
 	JPSC= 'JPSC', //精品商城
19 20
 	XSMS= 'XSMS', //限时秒杀
20 21
 	LNZQ= 'LNZQ', //老年专区

+ 1 - 1
src/apis/model/dacang.model.ts

@@ -150,7 +150,7 @@ export interface DcIntroduce {
150 150
       id: number
151 151
       uid: number //用户id
152 152
       user_name: string//负责人
153
-      account: string//储蓄保账号
153
+      account: string//幸福保账号
154 154
       create_time: number//创建时间
155 155
       update_time: number//修改时间
156 156
       warehouse_name: string//大仓名称

+ 16 - 0
src/apis/quickLink.ts

@@ -16,6 +16,7 @@ enum API {
16 16
 	GET_VIP_BANNER = '/api/newhome/nologin/banner/user_banner',
17 17
 
18 18
 	GET_PRODUCT = '/api/store/merchant/product/type_lst?type=jingpin&',
19
+	GET_RE_PRODUCT = '/api/store/merchant/product/type_lst?type=fugou&',
19 20
 	GET_VIP_PRODUCT = '/api/store/merchant/product/lst/496?limit=10&',
20 21
 
21 22
 
@@ -130,6 +131,21 @@ export function apiGetJPProduct(data : any) {
130 131
 		url: API.GET_PRODUCT + params
131 132
 	})
132 133
 }
134
+
135
+
136
+/**
137
+ * 复购区产品列表
138
+ */
139
+export function apiGetReProduct(data : any) {
140
+
141
+	let params = `pageNum=${data.pageNum}&pageSize=${data.pageSize}&keyword=${data.keyword}`
142
+	if (data.cate_id) {
143
+		params = `pageNum=${data.pageNum}&pageSize=${data.pageSize}&keyword=${data.keyword}&cate_id=${data.cate_id}`
144
+	}
145
+	return defHttp.get({
146
+		url: API.GET_RE_PRODUCT + params
147
+	})
148
+}
133 149
 /**
134 150
  * 精彩生活产品列表
135 151
  */

+ 1 - 1
src/apis/user.ts

@@ -192,7 +192,7 @@ enum API {
192 192
 	VR_INFO ='/api/user/vr_info',
193 193
 	//获取相关的列表
194 194
 	VR_LIST='/api/user/vr_list?limit=10&',
195
-    VR_NAME='/vr_name?uid=',
195
+    VR_NAME='/api/user/vr_name?uid=',
196 196
 	
197 197
 	//获取复购金
198 198
 	FGJ_INFO ='/api/user/fugou_info',

+ 14 - 4
src/components/CXBBanner/CXBBanner.vue

@@ -1,11 +1,21 @@
1 1
 <script lang="ts" setup>
2
+	import {IMG_CDN_URL} from '~/config/app'
2 3
 </script>
3 4
 <template>
4
-  <div class="flex flex-col justify-center items-center py-22">
5
+  <div class="flex flex-col justify-center items-center py-22 mt-20">
5 6
     <image
6
-        src="https://test.bjtdba.com/applet/static/home/404986b1e3aeaf4b3829efa2c2ac6bf.png"
7
+        :src="IMG_CDN_URL+'logo_220607.png'"
7 8
         mode="widthFix"
8
-        class="w-35 h-35"
9
+        class="w-20 h-20"
9 10
     ></image>
11
+	<text class="login-title">华夏幸福保</text>
10 12
   </div>
11
-</template>
13
+</template>
14
+<style>
15
+	
16
+	.login-title{
17
+		font-size: 60rpx;
18
+		color: #333;
19
+		font-weight: bolder;
20
+	}
21
+</style>

+ 1 - 1
src/manifest.json

@@ -1,5 +1,5 @@
1 1
 {
2
-    "name" : "储蓄保",
2
+    "name" : "幸福保",
3 3
     "appid" : "__UNI__26118FF",
4 4
     "description" : "",
5 5
     "versionName" : "1.0.0",

Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
src/pages.json


+ 3 - 3
src/pages/account-cancel/index.vue

@@ -34,14 +34,14 @@ function onOk() {
34 34
   <CXBBasePage>
35 35
     <div class="p-3 leading-6">
36 36
       <div>
37
-        <div class="font-bold">注销储蓄保账号服务</div>
37
+        <div class="font-bold">注销幸福保账号服务</div>
38 38
         <div class="text-sm py-3">
39
-          操作后储蓄保商户服务无法使用,所有商品、资金数据直接清零,历史信息无法恢复。
39
+          操作后幸福保商户服务无法使用,所有商品、资金数据直接清零,历史信息无法恢复。
40 40
         </div>
41 41
       </div>
42 42
 
43 43
       <div>
44
-        <div class="font-bold">注销储蓄保账号服务</div>
44
+        <div class="font-bold">注销幸福保账号服务</div>
45 45
         <div class="text-sm py-3" v-if="userStore && userStore.userInfo && userStore.userInfo.phone">
46 46
           将 {{ userStore.userInfo.phone }} 所注册绑定的账号注销。
47 47
         </div>

+ 1 - 1
src/pages/article/detail.vue

@@ -46,5 +46,5 @@ onLoad((option: any) => {
46 46
 
47 47
 <route lang="yaml">
48 48
 style:
49
-  navigationBarTitleText: 储蓄
49
+  navigationBarTitleText: 幸福
50 50
 </route>

+ 1 - 1
src/pages/article/list.vue

@@ -45,6 +45,6 @@ page {
45 45
 </style>
46 46
 <route lang="yaml">
47 47
 style:
48
-  navigationBarTitleText: 储蓄
48
+  navigationBarTitleText: 幸福
49 49
   enablePullDownRefresh: true
50 50
 </route>

+ 1 - 1
src/pages/bangfuzhongxin/index.vue

@@ -172,6 +172,6 @@ page {
172 172
 </style>
173 173
 <route lang="yaml">
174 174
 style:
175
-  navigationBarTitleText: 储蓄
175
+  navigationBarTitleText: 幸福
176 176
   enablePullDownRefresh: true
177 177
 </route>

+ 190 - 0
src/pages/download.html

@@ -0,0 +1,190 @@
1
+<!doctype html>
2
+<html class="no-js">
3
+
4
+<head>
5
+    <meta charset="utf-8">
6
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
7
+    <title>华夏幸福保</title>
8
+</head>
9
+<style>
10
+    .wxtip {
11
+			background: rgba(0, 0, 0, 0.8);
12
+			text-align: center;
13
+			position: fixed;
14
+			left: 0;
15
+			top: 0;
16
+			width: 100%;
17
+			height: 100%;
18
+			z-index: 998;
19
+			display: none;
20
+		}
21
+		
22
+		.wxtip-icon {
23
+			width: 52px;
24
+			height: 67px;
25
+			background: url(weixin-tip.png) no-repeat;
26
+			display: block;
27
+			position: absolute;
28
+			right: 20px;
29
+			top: 20px;
30
+		}
31
+		
32
+		.wxtip-txt {
33
+			color: #fff;
34
+			font-size: 16px;
35
+			line-height: 1.5;
36
+		}
37
+		
38
+		html,
39
+		body {
40
+			height: 100%;
41
+			overflow: hidden;
42
+			padding: 0;
43
+			margin: 0 auto;
44
+		}
45
+		
46
+		body {
47
+			max-width: 750px;
48
+			overflow: hidden;
49
+			margin: 0 auto;
50
+			text-align: center;
51
+		}
52
+		
53
+		.down_box {
54
+			position: absolute;
55
+			top: 70% !important;
56
+			text-align: center;
57
+			width: 98%;
58
+			left: 1%;
59
+		}
60
+		
61
+		.down_box a {
62
+			display: block;
63
+			width: 42%;
64
+			margin: 0 4%;
65
+			float: left;
66
+			position: relative;
67
+			padding-bottom: 11%;
68
+			background: #e2231a;
69
+			border-radius: 30px;
70
+		}
71
+		
72
+		.down_box a img {
73
+			display: block;
74
+			position: absolute;
75
+			height: 24px;
76
+			width: 24px;
77
+			top: 50%;
78
+			margin-top: -12px;
79
+			left: 18px;
80
+		}
81
+		
82
+		.down_box a p {
83
+			display: block;
84
+			position: absolute;
85
+			height: 20px;
86
+			font-size: 15px;
87
+			line-height: 20px;
88
+			top: 50%;
89
+			margin-top: -10px;
90
+			left: 60px;
91
+			color: #fff;
92
+		}
93
+		
94
+		@media only screen and (min-width: 100px) and (max-width: 360px) {
95
+			.down_box a p {
96
+				font-size: 13px;
97
+				left: 48px;
98
+			}
99
+			.down_box a img {
100
+				left: 14px;
101
+			}
102
+		}
103
+		.yqm{text-align: center;font-size: 16px;color: #000;font-weight: bold;width: 200px;    position: absolute;top: 48%;left: 50%;margin-left: -100px;}
104
+		.yqm span{font-size: 16px;color: #000;font-weight: bold;}
105
+	</style>
106
+
107
+<body style="position: relative;">
108
+	<div> 您已经注册成功,可以下载APP使用</div> 
109
+	<p /><p/>
110
+
111
+	
112
+    <img src="https://cdn.bjtdba.com/vod/image/2025-01-21/20250121180855764.png" 
113
+	alt="" style="position: absolute; top:18%;width: 150px;left: 50%;margin-left: -75px;border-radius: 20px;">
114
+	
115
+  
116
+	
117
+
118
+
119
+  <div class="down_box" style="">
120
+        <a href="https://cdn.bjtdba.com/chuxubao/package/20250221012417106.apk" >
121
+            <img src="./img/android_icon.png" />
122
+            <p>安卓端下载</p>
123
+        </a>
124
+		<!--
125
+	商家端:http://qingyongcan.cn/down/shop/shop_1.1.9.apk
126
+	用户端:http://qingyongcan.cn/down/user/user_1.1.9.apk
127
+ -->
128
+   <!--     <a href="https://apps.apple.com/cn/app/%E5%82%A8%E8%93%84%E4%BF%9D/id1543690638" id="ios_click">
129
+            <img src="./img/android_icon.png" />
130
+            <p>IOS端下载</p>
131
+        </a> -->
132
+    </div>
133
+	
134
+	<div style="position: absolute; top:50%; height: 500px;margin-left: -75px;border-radius: 20px;"><span style="font-size: 24px;color: red;">下载提示:如果点击安卓端下载后提示以下选项时:</span>
135
+	<img style="width: 90%;" src="https://cdn.bjtdba.com/vod/image/2025-02-24/20250224151318641.png"/></div>
136
+	
137
+    <!--<div class="down_box" style="top:80%!important">
138
+		<a href="javascript:alert('暂未开放~')" id="JdownApp2">
139
+				<img src="uploads/images/ios_icon.png" />
140
+				<p>商户端下载</p>
141
+			</a>
142
+			<a href="http://wisdom.zhengdazikaowang.net/wisdom_shop.apk" id="JdownApp">
143
+				<img src="uploads/images/android_icon.png" />
144
+				<p>商户端下载</p> 
145
+			</a>
146
+		</div>-->
147
+    <div class="wxtip" id="JweixinTip">
148
+        <p class="wxtip-txt"><img src="./img/weixin-tip.png" style="width: 100%"></p>
149
+    </div>
150
+    <script type="text/javascript" src="./js/jquery-2.1.1.min.js"></script>
151
+    <script>
152
+    // $('#ios_click').on('click', function() {
153
+    //     alert('IOS开发中...');
154
+    // })
155
+    $(function() {
156
+        var u = navigator.userAgent,
157
+            app = navigator.appVersion;
158
+        var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
159
+        var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
160
+        // 这里是安卓浏览器
161
+        if (isAndroid) {
162
+            //window.location.href = ''; // 跳安卓端下载地址
163
+        }
164
+        // 这里是iOS浏览器
165
+        if (isIOS) {
166
+            // window.location.href = ''; // 跳AppStore下载地址
167
+        }
168
+        //var ua = navigator.userAgent;
169
+        //var isWeixin = !!/MicroMessenger/i.test(ua);
170
+        //if (isWeixin) {
171
+        //    document.getElementById('JweixinTip').style.display = 'block';
172
+        //}
173
+        var ua = window.navigator.userAgent.toLowerCase();
174
+        if (ua.match(/MicroMessenger/i) == "micromessenger" || ua.match(/AlipayClient/i) == "alipayclient") {
175
+            document.getElementById('JweixinTip').style.display = 'block';
176
+        }
177
+
178
+
179
+        $.get("https://api.hxxfb.com/api/common/edition", { type: 1},
180
+            function(data){
181
+                let about_link_android = data.data.about_link_android;
182
+                $('#JdownApp').attr('href',about_link_android);
183
+            }
184
+        );
185
+
186
+    })
187
+    </script>
188
+</body>
189
+
190
+</html>

+ 12 - 0
src/pages/home/components/navs.vue

@@ -27,12 +27,24 @@
27 27
 	function handleItemClick(item : any) {
28 28
 	
29 29
 		switch (item.key) {
30
+			case KINGKONGKEY.FGQ:{
31
+				uni.navigateTo({
32
+					url: `/subPages/pages/quick-fuc/repurchase`,
33
+				})
34
+				break
35
+			}
30 36
 			case KINGKONGKEY.RECHARGE:{
31 37
 				uni.navigateTo({
32 38
 					url: `/subPages/pages/phone-bill/index`,
33 39
 				})
34 40
 				break
35 41
 			}
42
+			case KINGKONGKEY.SXY:{
43
+				uni.navigateTo({
44
+					url: `/subPages/pages/business-school/index`,
45
+				})
46
+				break
47
+			}
36 48
 			case KINGKONGKEY.VIP:{
37 49
 				uni.navigateTo({
38 50
 					url: `/subPages/pages/quick-fuc/vip`,

+ 5 - 3
src/pages/home/components/product-new.vue

@@ -148,9 +148,11 @@
148 148
 				<text class="shop-name">{{item.shopName}}</text>
149 149
 			</view>
150 150
 
151
-			<view class="annuity-content">
152
-				<view v-if="item.yanglaojin" class="annuity-value-x mr-10">养老金:¥{{dealNum(item.yanglaojin+'')}}</view>
153
-				<view v-if="item.pv" class="annuity-value">pv:{{dealNum(item.pv+'')}}</view>
151
+			<view class="annuity-content" v-if="item.yanglaojin">
152
+				<view  class="annuity-value-x mr-10">养老金:¥{{dealNum(item.yanglaojin+'')}}</view>
153
+			</view>
154
+			<view class="annuity-content" v-if="item.pv">
155
+				<view  class="annuity-value">pv:{{dealNum(item.pv+'')}}</view>
154 156
 			</view>
155 157
 
156 158
 			<view class="price-content">

+ 4 - 4
src/pages/home/constants.js

@@ -130,6 +130,10 @@ export const NAVS_HOT_ARR = [{
130 130
 	title: '复购区',
131 131
 	key: KINGKONGKEY.FGQ,
132 132
 }, {
133
+	image: `${IMG_CDN_URL}icon_sxy.png`,
134
+	title: '商学院',
135
+	key: KINGKONGKEY.SXY,
136
+}, {
133 137
 	image: `${ICON_CDN_URL}icon_rx.png`,
134 138
 	title: '热销榜单',
135 139
 	key: KINGKONGKEY.RXBD,
@@ -162,10 +166,6 @@ export const NAVS_HOT_ARR = [{
162 166
 	title: '打车代价',
163 167
 	key: KINGKONGKEY.KS,
164 168
 }, {
165
-	image: `${ICON_CDN_URL}icon_mdl.png`,
166
-	title: '麦当劳KFC',
167
-	key: KINGKONGKEY.MDL,
168
-}, {
169 169
 	image: `${ICON_CDN_URL}icon_jkd.png`,
170 170
 	title: '寄快递',
171 171
 	key: KINGKONGKEY.JKD,

+ 4 - 33
src/pages/home/index.vue

@@ -1,5 +1,5 @@
1 1
 <script lang="ts" setup>
2
-	import { getNewSignInInfo, getUserInfo, getYanglaojinStatistics } from '~/apis/user'
2
+	import { getNewSignInInfo, getUserInfo} from '~/apis/user'
3 3
 	import { getProduct } from '~/apis/home'
4 4
 	import { computed } from "vue";
5 5
 	import Navs from '~/pages/home/components/navs.vue'
@@ -7,14 +7,12 @@
7 7
 	import Banner from '~/pages/home/components/banner.vue'
8 8
 	import Header from '~/pages/home/components/header.vue'
9 9
 	import ProductList from '~/pages/home/components/product-new.vue'
10
-	import { getHomeBanner, getHomeQuickLink, getProductShare } from '~/apis/common'
10
+	import { getHomeBanner, getProductShare } from '~/apis/common'
11 11
 	import { useUserStore } from '~/stores/userStore'
12 12
 	import CXBDialogSIgnIn from '~/components/CXBDialogSignIn/CXBDialogSIgnIn.vue'
13 13
 	import { CDM_URL, CDN_URL } from '~/config/app'
14 14
 	import CXBPrivacyPopup from '~/components/CXBPrivacyPopup/CXBPrivacyPopup.vue'
15 15
 	import { PRODUCT_TAB_ARR } from "./constants.js"
16
-	// import CXBDialogSIgnIn from "~/components/CXBDialogSignIn/CXBDialogSIgnIn.vue";
17
-	// import CXBDialogSIgnInSucceed from "~/components/CXBDialogSignInSucceed/CXBDialogSIgnInSucceed.vue";
18 16
 	import Cache from '~/utils/cache'
19 17
 
20 18
 	import CXBBackTop from '~/components/CXBBackTop/CXBBackTop.vue'
@@ -29,9 +27,6 @@
29 27
 		},
30 28
 	})
31 29
 
32
-	// 限时秒杀  https://cdn.bjtdba.com/vod/image/2023-12-08/20231208174028968.png
33
-	// 秒杀背景  https://cdn.bjtdba.com/vod/image/2023-12-08/20231208174007505.png
34
-	// 秒杀价格  https://cdn.bjtdba.com/vod/image/2023-12-08/20231208173948533.png
35 30
 
36 31
 	const msbkImg = `${CDM_URL}/image/2023-12-08/20231208174007505.png`
37 32
 	const xsmsImg = `${CDM_URL}/image/2023-12-08/20231208174028968.png`
@@ -55,7 +50,6 @@
55 50
 	const msStatus = ref('')
56 51
 	const productTabList = ref(PRODUCT_TAB_ARR)
57 52
 	const currentTopIndex = ref(0)
58
-	// const list = ref([])
59 53
 	const state = reactive({
60 54
 		shareId: '',
61 55
 		yanglaojine: {},
@@ -73,7 +67,6 @@
73 67
 		isShowSignIn: false,
74 68
 		banners: [],
75 69
 		announcementList: [],
76
-
77 70
 		indicatorDots: true,
78 71
 		circular: true,
79 72
 		autoplay: true,
@@ -101,9 +94,6 @@
101 94
 			getUserInfo().then((res) => {
102 95
 				userStore.setUserInfo(res)
103 96
 			})
104
-			getYanglaojinStatistics().then((res) => {
105
-				state.all_yanglao = res.all_yanglao
106
-			})
107 97
 			// 加载秒杀数据
108 98
 			loadList('reload')
109 99
 		}
@@ -117,24 +107,18 @@
117 107
 	}
118 108
 
119 109
 	function checkSignIn() {
120
-		// if (userStore.uid && state.isEject === 1) {
121 110
 		// 2 检查用户签到信息
122 111
 		getNewSignInInfo().then((res) => {
123
-			// console.log(res)
124 112
 			const { today, day } = res
125 113
 			state.signToday = today
126 114
 			if (today === 0)
127 115
 				state.isShowSignIn = true
128
-
129 116
 			state.day = day
130 117
 
131
-			// // if (today === 0) {
132
-			//   2.1 弹出签到窗口
133
-			// }
118
+			
134 119
 		}).catch((error) => {
135 120
 			console.error(`${error}->GetNewsSignInInfo`)
136 121
 		})
137
-		// }
138 122
 	}
139 123
 	const navBarStyle = ref({})
140 124
 
@@ -142,16 +126,10 @@
142 126
 		dealSystemInfo()
143 127
 		if (option && option.shareId)
144 128
 			userStore.setShareId(option.shareId)
145
-
146
-		// getLocal()
147 129
 		getIsShow()
148 130
 		getHomeBanner().then((res) => {
149 131
 			state.banners = res
150 132
 		})
151
-		// 加载地址数据
152
-		// orderStore.getCurrentAddress()
153
-		// 1加载首页数据
154
-		getHomeQuickLink().then((res) => { })
155 133
 		state.page = 1
156 134
 		loadProductList()
157 135
 		loadList('reload')
@@ -182,7 +160,6 @@
182 160
 			title: '消费储蓄 保障未来',
183 161
 			imageUrl: 'https://cdn.bjtdba.com/vod/image/2023-10-11/20231011062523504.png',
184 162
 			query: `from=share&shareId=${shareId}`,
185
-			// imageUrl: 'https://cdn.bjtdba.com/vod/image/2023-10-09/20231009202402136.png'
186 163
 		}
187 164
 	})
188 165
 
@@ -217,8 +194,6 @@
217 194
 				msProductList.value = msData.list[0].product_data
218 195
 				msSeckillDate.value = msData.list[0].seckill_date.slice(0, 5)
219 196
 				msStatus.value = msData.list[0].status
220
-				// console.log(11221111, msProductList.value);
221
-				// console.log(11221111, msSeckillDate.value);
222 197
 			}
223 198
 		})
224 199
 	}
@@ -227,12 +202,9 @@
227 202
 	function getCountdown() {
228 203
 		const now = new Date()
229 204
 		const startDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), parseHours(msSeckillDate.value), 0, 0)
230
-		// const startDate = new Date('2023-12-26 10:55:00');
231 205
 		const endDate = new Date(startDate.getTime() + 60 * 60 * 1000) // 结束时间为开始时间的一小时后
232
-
233 206
 		if (now > startDate && now < endDate) {
234 207
 			const milliseconds = endDate - now
235
-
236 208
 			const hours = Math.floor(milliseconds / (1000 * 60 * 60))
237 209
 			const minutes = Math.floor((milliseconds % (1000 * 60 * 60)) / (1000 * 60))
238 210
 			const seconds = Math.floor((milliseconds % (1000 * 60)) / 1000)
@@ -288,7 +260,6 @@
288 260
 	const headerClass = ref('')
289 261
 
290 262
 	onPageScroll((page) => {
291
-		// console.log(page.scrollTop.toFixed(),'距离顶部的距离')
292 263
 		Scroll_X.value = Number(page.scrollTop.toFixed())
293 264
 		// page.scrollTop
294 265
 		if (page.scrollTop >= 76)
@@ -748,6 +719,6 @@
748 719
 <route lang="yaml" type="home">
749 720
 style:
750 721
   navigationStyle: custom
751
-  navigationBarTitleText: 储蓄
722
+  navigationBarTitleText: 幸福
752 723
   enablePullDownRefresh: true
753 724
 </route>

+ 1 - 1
src/pages/my-rules/index.vue

@@ -392,7 +392,7 @@ function onCancel() {
392 392
 <route lang="yaml">
393 393
 style:
394 394
   navigationBarBackgroundColor: "#f8f3f3"
395
-  navigationBarTitleText: 储蓄
395
+  navigationBarTitleText: 幸福
396 396
   enablePullDownRefresh: false
397 397
 
398 398
 </route>

+ 3 - 15
src/pages/payment/index.vue

@@ -21,15 +21,11 @@ const state = reactive({
21 21
 onLoad((options) => {
22 22
   // console.log('我是options',options)
23 23
   if (options) {
24
-	  
25
-	  console.log("===options",options);
26 24
     state.orderList = options.OrderList
27 25
     state.payPrice = options.pay_price
28 26
     state.orderId = options.order_id
29 27
 	state.initType =options.initType
30 28
 
31
-    console.log('options')
32
-    console.log(options)
33 29
     if (options.tabIndex)
34 30
       state.tabIndex = options.tabIndex
35 31
 
@@ -100,11 +96,7 @@ function onClickLeft() {
100 96
         uni.$emit('cart-reload')
101 97
       }
102 98
       if (res.cancel) {
103
-        // uni.navigateBack()
104 99
         uni.$emit('cart-reload')
105
-        
106
-        console.log(state.tabIndex)
107
-
108 100
         if (state.tabIndex) {
109 101
           pageStore.setPageConfig({
110 102
             orderBack: {
@@ -113,9 +105,8 @@ function onClickLeft() {
113 105
             },
114 106
           })
115 107
         }
116
-        // setTimeout(() => {
117 108
         if (state.tabIndex == 0) {
118
-          uni.navigateTo({
109
+          uni.redirectTo({
119 110
             url: '/subPages/pages/order/index',
120 111
           })
121 112
         }
@@ -126,19 +117,16 @@ function onClickLeft() {
126 117
             })
127 118
           }
128 119
           else {
129
-            uni.navigateTo({
120
+            uni.redirectTo({
130 121
 				  url: `/subPages/pages/order/index?tabIndex=${state.tabIndex}&from=payment`,
131 122
             })
132 123
           }
133 124
         }
134 125
         else {
135
-          uni.navigateTo({
126
+          uni.redirectTo({
136 127
             url: '/subPages/pages/order/index?tabIndex=1&from=payment',
137 128
           })
138 129
         }
139
-        // const tabIndex =
140
-
141
-        // }, 300)
142 130
       }
143 131
     },
144 132
   })

+ 1 - 1
src/pages/pension_choice_platform/index.vue

@@ -27,7 +27,7 @@ const list = [{
27 27
   icon: CDN_URL + '/static/assets/pinduoduo_d.png'
28 28
 }, {
29 29
   type: '90',
30
-  title: '储蓄保',
30
+  title: '幸福保',
31 31
   icon: CDN_URL + '/static/assets/cxb_logo_230316.png'
32 32
 }]
33 33
 

+ 7 - 13
src/pages/real-name-authentication/index.vue

@@ -49,8 +49,8 @@ onLoad(async () => {
49 49
 
50 50
       formData.user_card = res.user_card.replace(/^(\d{4})\d+(\d{4})$/, '$1********$2')
51 51
       formData.user_name = formatName(res.user_name)
52
-      // formData.card_positive = res.card_positive
53
-      // formData.card_reverse = res.card_reverse
52
+      formData.card_positive = res.card_positive
53
+      formData.card_reverse = res.card_reverse
54 54
 
55 55
     }
56 56
   }).catch(error => {
@@ -194,6 +194,7 @@ function handleSubmit () {
194 194
       card_positive: formData.card_positive,
195 195
       card_reverse: formData.card_reverse
196 196
     }
197
+	console.log("===certificationRequest",certificationRequest);
197 198
     submitCertification(certificationRequest).then(res => {
198 199
       // state.isLoading = false
199 200
       uni.hideLoading()
@@ -201,6 +202,8 @@ function handleSubmit () {
201 202
       if (res && res.user_card && res.user_name) {
202 203
         formData.user_card = res.user_card
203 204
         formData.user_name = res.user_name
205
+		formData.card_positive = formData.card_positive
206
+		formData.card_reverse = formData.card_reverse
204 207
       }
205 208
       state.isLoading = false
206 209
 	  state.isCertified = true
@@ -228,7 +231,7 @@ function formatName (str) {
228 231
 <template>
229 232
   <AuthenticationSuccess v-if="state.isCertified"/>
230 233
 
231
-  <div class="flex flex-col pt-3 gap-3 pb-safe text-sm">
234
+  <div  class="flex flex-col pt-3 gap-3 pb-safe text-sm">
232 235
     <div class="bg-white flex flex-col  px-3">
233 236
       <div class="f-hairline-bottom py-3 flex">
234 237
         <div>真实姓名:</div>
@@ -239,15 +242,7 @@ function formatName (str) {
239 242
                :class="state.isCertified && 'text-gray'"
240 243
         />
241 244
       </div>
242
-<!--      <div class="f-hairline-bottom py-3 flex" v-if="!state.isCertified">-->
243
-<!--        <div>手机号码:</div>-->
244
-<!--        <input v-model="formData.mobile"-->
245
-<!--               :disabled="state.isCertified"-->
246
-<!--               placeholder="请输入证件号码" class="text-sm"-->
247
-<!--               :class="state.isCertified && 'text-gray'"-->
248
-
249
-<!--        />-->
250
-<!--      </div>-->
245
+
251 246
       <div class="f-hairline-bottom py-3 flex">
252 247
         <div>证件号码:</div>
253 248
         <input v-model="formData.user_card"
@@ -257,7 +252,6 @@ function formatName (str) {
257 252
         />
258 253
       </div>
259 254
 
260
-
261 255
     </div>
262 256
 
263 257
     <div class="bg-white flex flex-col  p-3 gap-3">

+ 1 - 1
src/pages/store/nearby/index-bak.vue

@@ -297,7 +297,7 @@ function handleScrollToLower() {
297 297
 </template>
298 298
 <route lang="yaml">
299 299
 style:
300
-  navigationBarTitleText: 储蓄
300
+  navigationBarTitleText: 幸福
301 301
   enablePullDownRefresh: false
302 302
 </route>
303 303
 

+ 1 - 1
src/pages/store/nearby/index.vue

@@ -380,7 +380,7 @@ function searchAction() {
380 380
 
381 381
 <route lang="yaml">
382 382
 style:
383
-  navigationBarTitleText: 储蓄
383
+  navigationBarTitleText: 幸福
384 384
   enablePullDownRefresh: false
385 385
 </route>
386 386
 

+ 1 - 1
src/pages/user/index.vue

@@ -776,6 +776,6 @@
776 776
 <route lang="yaml">
777 777
 style:
778 778
   navigationStyle: custom
779
-  navigationBarTitleText: 储蓄
779
+  navigationBarTitleText: 幸福
780 780
   enablePullDownRefresh: false
781 781
 </route>

+ 1 - 1
src/pages/user/login/other-phone.vue

@@ -215,7 +215,7 @@ function handleLogin() {
215 215
 
216 216
 <route lang="yaml">
217 217
 style:
218
-  navigationBarTitleText: 储蓄
218
+  navigationBarTitleText: 幸福
219 219
 </route>
220 220
 
221 221
 <style>

+ 4 - 4
src/pages/version-update/index.vue

@@ -1,12 +1,12 @@
1 1
 <script lang="ts" setup>
2 2
 import {getAboutConfig} from "~/apis/user";
3 3
 import CXBBasePage from "~/components/CXBBasePage/CXBBasePage.vue";
4
-import {CDN_URL} from "~/config/app";
4
+import {CDN_URL,IMG_CDN_URL} from "~/config/app";
5 5
 
6 6
 const state = reactive({
7
-  version: '3.2.3.3',
8
-  name: '储蓄保',
9
-  logo: CDN_URL + '/static/assets/logo_220608.png',
7
+  version: '1.0.0.0',
8
+  name: '幸福保',
9
+  logo: IMG_CDN_URL+'logo_220607.png',
10 10
 })
11 11
 
12 12
 onLoad(() => {

+ 1 - 1
src/pages/vip/index.vue

@@ -339,7 +339,7 @@ onShow(() => {
339 339
 
340 340
 <route lang="yaml">
341 341
 style:
342
-  navigationBarTitleText: 储蓄
342
+  navigationBarTitleText: 幸福
343 343
   enablePullDownRefresh: true
344 344
 </route>
345 345
 <style>

BIN
src/static/img/img_recharge_top.png


+ 2 - 2
src/subPages/pages/bankDetail/index.vue

@@ -52,13 +52,13 @@
52 52
 		account:'',
53 53
 	})
54 54
 	onLoad((option) => {
55
-		if(option.item){
55
+		if(option.item!= 'null'){
56
+			console.log("===option.item",option.item);
56 57
 			cardInfo.value =JSON.parse(option.item)
57 58
 		}
58 59
 	})
59 60
 	
60 61
 	function onSubmitClick(){
61
-		console.log("===onSubmitClick",cardInfo.value);
62 62
 		if(!cardInfo.value.user_name){
63 63
 			uni.showToast({
64 64
 				title:"请输入持卡人姓名",

+ 80 - 0
src/subPages/pages/business-school/detail.vue

@@ -0,0 +1,80 @@
1
+<template>
2
+	<view class="business-container " v-if="detailInfo">
3
+		<text class="title">{{detailInfo.name}}</text>
4
+		<text class="data">{{detailInfo.create_time}}</text>
5
+		<image class="banner" :src="detailInfo.image" mode="aspectFill"></image>
6
+		
7
+		<rich-text class="video-content" :nodes="videoHtml"></rich-text>
8
+		<video :poster="detailInfo.cover"  class="video-content" :src="detailInfo.mp4" controls></video>
9
+	</view>
10
+</template>
11
+
12
+<script setup>
13
+	import {
14
+		apiBusinessSchoolDetail,
15
+	} from '~/apis/home'
16
+	const detailInfo=ref()
17
+	const state = reactive({
18
+		id: '',
19
+	})
20
+
21
+	onLoad((option) => {
22
+		state.id=option.id
23
+		if(state.id){
24
+			getDetailInfo()
25
+		}
26
+	})
27
+
28
+	function getDetailInfo(){
29
+		uni.showLoading({
30
+			title:'加载中...'
31
+		})
32
+		apiBusinessSchoolDetail(state.id).then(res=>{
33
+			detailInfo.value = res
34
+			uni.hideLoading()
35
+		})
36
+	}
37
+	
38
+</script>
39
+
40
+<style lang="scss" scoped>
41
+	.business-container {
42
+		display: flex;
43
+		flex-direction: column;
44
+		min-height: 100VH;
45
+		background-color: #f8f8f8;
46
+		box-sizing: border-box;
47
+		padding-left: 20rpx;
48
+		padding-right: 20rpx;
49
+		
50
+		.title{
51
+			font-size: 38rpx;
52
+			color:#333;
53
+			margin-top: 30rpx;
54
+			margin-bottom: 30rpx;
55
+		}
56
+		
57
+		.data{
58
+			font-size: 30rpx;
59
+			color:#999;
60
+			margin-bottom: 30rpx;
61
+		}
62
+		.banner{
63
+			width: 100%;
64
+			height: 500rpx;
65
+			margin-bottom: 20rpx;
66
+		}
67
+		
68
+		.video-content{
69
+			width: 100%;
70
+		}
71
+		
72
+
73
+	}
74
+</style>
75
+
76
+<route lang="yaml">
77
+style:
78
+  navigationBarTitleText: 详情
79
+  enablePullDownRefresh: true
80
+</route>

+ 244 - 0
src/subPages/pages/business-school/index.vue

@@ -0,0 +1,244 @@
1
+<template>
2
+	<view class="business-container">
3
+		<view class="lab-content">
4
+			<scroll-view scroll-x="true" class="lab-item">
5
+				<view class="lab-item-x" v-for="(item,index) in tabList" :key="'lab-item-x-'+index">
6
+					<view class="lab-item-small" @click="onTabClick(index,item.id)">
7
+						<text :class="currentIndex==index?'lab-title':'lab-default-title'">{{item.name}}</text>
8
+						<view :class="currentIndex==index?'lab-line':'lab-default-line'"></view>
9
+					</view>
10
+				</view>
11
+			</scroll-view>
12
+		</view>
13
+		
14
+		<view  v-if="goodsList&& goodsList.length!=0" v-for="(item,index) in goodsList" :key="'goods-x-'+index">
15
+			<view class="item-content-out" @click="onItemClick(item)">
16
+				<view class="item-content">
17
+					<image class="item-img" :src="item.image" mode="aspectFill"></image>
18
+					<view class="right-content">
19
+						<text class="title">{{item.name}}</text>
20
+						<view class="bottom-content">
21
+							<text class="date">{{item.create_time}}</text>
22
+							<image class="eye-icon" :src="IMG_CDN_URL+'icon_eyes.png'" mode="widthFix"></image>
23
+							<text class="see-num">{{item.reading}}</text>
24
+						</view>
25
+					</view>
26
+				</view>
27
+				<view v-if="index != goodsList.length-1" class="item-line"></view>
28
+			</view>
29
+		</view>
30
+		<CXBEmpty v-else />
31
+	</view>
32
+</template>
33
+
34
+<script setup>
35
+	import {
36
+		apiBusinessSchool,
37
+		apiBusinessSchoolClassify,
38
+	} from '~/apis/home'
39
+	import CXBEmpty from "~/components/CXBEmpty/CXBEmpty.vue";
40
+	import {IMG_CDN_URL} from '~/config/app'
41
+	const currentIndex = ref(0)
42
+	const tabList = ref([])
43
+	const goodsList = ref([])
44
+	const state = reactive({
45
+		page: 1,
46
+		id: '',
47
+		count:1,
48
+	})
49
+
50
+	onLoad((option) => {
51
+		getBusinessSchoolClassify()
52
+		getGoodsList()
53
+	})
54
+
55
+	onReachBottom(() => {
56
+		if(pageList.value.length <count.value){
57
+			state.page += 1
58
+		    getGoodsList()
59
+		}
60
+	})
61
+
62
+	onPullDownRefresh(() => {
63
+		state.page =1
64
+		getGoodsList()
65
+		uni.stopPullDownRefresh()
66
+	})
67
+
68
+	function onTabClick(position, id) {
69
+		currentIndex.value = position
70
+		state.page =1
71
+		state.id =id
72
+		getGoodsList()
73
+	}
74
+	
75
+	function getGoodsList(){
76
+		uni.showLoading({
77
+			title:'加载中...'
78
+		})
79
+		apiBusinessSchool(state.page,state.id).then(res=>{
80
+			goodsList.value = res.list
81
+			state.count =res.count
82
+			uni.hideLoading()
83
+		})
84
+	}
85
+	
86
+	function getBusinessSchoolClassify(){
87
+		apiBusinessSchoolClassify().then(res=>{
88
+			tabList.value=[{
89
+				name: '全部',
90
+				id: ''
91
+			},...res]
92
+		})
93
+	}
94
+
95
+	
96
+	function onItemClick(item) {
97
+		uni.navigateTo({
98
+			url: `/subPages/pages/business-school/detail?id=${item.id}`
99
+		})
100
+	}
101
+
102
+	
103
+</script>
104
+
105
+<style lang="scss" scoped>
106
+	.business-container {
107
+		display: flex;
108
+		flex-direction: column;
109
+		min-height: 100VH;
110
+		background-color: #f8f8f8;
111
+		padding-top: 90rpx;
112
+		box-sizing: border-box;
113
+		
114
+		.item-content-out{
115
+			display: flex;
116
+			flex-direction: column;
117
+			background-color: #fff;
118
+			padding-left: 30rpx;
119
+			padding-right: 30rpx;
120
+			box-sizing: border-box;
121
+			width: 100%;
122
+			
123
+			.item-line{
124
+				width: 100%;
125
+				height: 2rpx;
126
+				background-color: #f8f8f8;
127
+			}
128
+			.item-content{
129
+				display: flex;
130
+				flex-direction: row;
131
+				margin-top: 20rpx;
132
+				margin-bottom: 20rpx;
133
+				
134
+				.item-img{
135
+					width: 300rpx;
136
+					height: 200rpx;
137
+					border-radius: 20rpx;
138
+					margin-right: 20rpx;
139
+					min-width: 300rpx;
140
+				}
141
+				
142
+				.right-content{
143
+					display: flex;
144
+					flex-direction: column;
145
+					justify-content: space-between;
146
+					width: 100%;
147
+					
148
+					.title{
149
+						font-size: 30rpx;
150
+						color:#333;
151
+					}
152
+					
153
+					.bottom-content{
154
+						display: flex;
155
+						flex-direction: row;
156
+						align-items: center;
157
+						width: 100%;
158
+						
159
+						.date{
160
+							font-size: 26rpx;
161
+							color:#999;
162
+							flex: 1;
163
+						}
164
+						
165
+						.eye-icon{
166
+							width: 30rpx;
167
+							margin-right: 10rpx;
168
+							height: 30rpx;
169
+						}
170
+						.see-num{
171
+							font-size: 26rpx;
172
+							color: #333;
173
+						}
174
+					}
175
+				}
176
+			}
177
+		}
178
+		
179
+		.lab-content {
180
+			width: 100%;
181
+			height: 90rpx;
182
+			display: flex;
183
+			flex-direction: row;
184
+			align-items: center;
185
+			position: fixed;
186
+			top: 0;
187
+			left: 0;
188
+			background-color: #fff;
189
+			z-index: 99999;
190
+		
191
+			.lab-item {
192
+				display: flex;
193
+				flex-direction: row;
194
+				white-space: nowrap;
195
+				width: 100%;
196
+			}
197
+		
198
+			.lab-item-x {
199
+				display: inline-block;
200
+				margin-right: 10px;
201
+				text-align: center;
202
+			}
203
+		
204
+			.lab-item-small {
205
+				display: flex;
206
+				flex-direction: column;
207
+				align-items: center;
208
+				width: 124rpx;
209
+		
210
+				.lab-default-title {
211
+					font-size: 28rpx;
212
+					margin-bottom: 10rpx;
213
+				}
214
+		
215
+				.lab-title {
216
+					font-size: 32rpx;
217
+					margin-bottom: 10rpx;
218
+					color: #FE0032;
219
+				}
220
+		
221
+				.lab-line {
222
+					width: 50rpx;
223
+					height: 6rpx;
224
+					background-color: #FE0032;
225
+					border-radius: 4rpx;
226
+				}
227
+		
228
+				.lab-default-line {
229
+					width: 50rpx;
230
+					height: 6rpx;
231
+					border-radius: 4rpx;
232
+				}
233
+		
234
+			}
235
+		}
236
+
237
+	}
238
+</style>
239
+
240
+<route lang="yaml">
241
+style:
242
+  navigationBarTitleText: 商学院
243
+  enablePullDownRefresh: true
244
+</route>

+ 1 - 0
src/subPages/pages/immediate-withdrawal/index.vue

@@ -447,6 +447,7 @@ function onSubmitClick(){
447 447
 		  <view class="bank-item" v-else>
448 448
 			  <image class="bank-icon" :src="IMG_CDN_NEW_URL+'icon_bank_card.png'" mode="widthFix"></image>
449 449
 			  <view class="bank-info">
450
+				    <text class="bank-name">银行卡</text>
450 451
 			  		<text class="bank-hint" @click="onBankItemClick(null)">点击添加银行卡信息</text>
451 452
 			  </view>
452 453
 		  </view>

+ 5 - 2
src/subPages/pages/mine-top/brokerage.vue

@@ -138,12 +138,16 @@
138 138
 			if(res==200){
139 139
 				getInfo()
140 140
 			}
141
+		}).catch(res=>{
142
+			uni.showToast({
143
+				title:res,
144
+				icon:'none'
145
+			})
141 146
 		})
142 147
 	}
143 148
 	
144 149
 
145 150
 	function onTopClick(position) {
146
-		console.log("==onTopClick",position);
147 151
 		if (position == 0) {
148 152
          handleClickTomo()
149 153
 		} else if (position == 1) {
@@ -152,7 +156,6 @@
152 156
          	title:'请输入佣金转VR数量',
153 157
 			placeholderText:'请输入佣金转VR数量',
154 158
 			complete: (e) => {
155
-				console.log("e===",e);
156 159
 				if(e.confirm){//去转换
157 160
 					transitionVr(e.content)
158 161
 				}

+ 17 - 0
src/subPages/pages/mine-top/common-webView.vue

@@ -0,0 +1,17 @@
1
+<template>
2
+	<web-view :src="url"  />
3
+</template>
4
+<script setup lang="ts">
5
+	const url = ref('')
6
+	const title = ref('')
7
+	onLoad((option : any) => {
8
+		if(option.info){
9
+			let data =  JSON.parse(decodeURIComponent(option.info)) 
10
+			url.value =data.url
11
+			title.value = data.name
12
+		}
13
+		uni.setNavigationBarTitle({
14
+			title: title.value + ''
15
+		})
16
+	})
17
+</script>

+ 47 - 4
src/subPages/pages/mine-top/jifen.vue

@@ -2,6 +2,7 @@
2 2
 	<view class="contribute-container">
3 3
 		
4 4
 		<view class="top-content-x">
5
+			<view @click="onSignClick" class="sign-btn">{{isShowSignIn?'已签到':'签到'}}</view>
5 6
 			<view class="top-card-content">
6 7
 				<view class="card-item">
7 8
 					<text class="item-title">{{dataInfo.total_source}}</text>
@@ -45,6 +46,8 @@
45 46
 	import {
46 47
 		apiGetJFInfo,
47 48
 		apiGetJFList,
49
+		getNewSignIn,
50
+		getNewSignInInfo,
48 51
 	} from '~/apis/user'
49 52
 	import {formatDate} from '~/utils/util'
50 53
 	import { getProductShare } from "~/apis/common";
@@ -56,9 +59,10 @@
56 59
     const dataInfo=ref({})
57 60
 	const listInfo=ref([])
58 61
 	const dataNameInfo =ref()
62
+	const isShowSignIn =ref(false)
59 63
 	const state = reactive({
60 64
 		pm :0,
61
-		page :1
65
+		page :1,
62 66
 	})
63 67
 	onLoad((option) => {
64 68
 		if (option && option.shareId) {
@@ -69,8 +73,19 @@
69 73
 		})
70 74
 		getInfo()
71 75
 		getList()
76
+		getSignInInfo()
72 77
 	})
73 78
 	
79
+	
80
+	function getSignInInfo(){
81
+		getNewSignInInfo().then((res) => {
82
+			console.log("==res",res);
83
+			const { today, day } = res
84
+			if (today == 1){
85
+				isShowSignIn.value = true
86
+			}
87
+		})
88
+	}
74 89
 	function getInfo(){
75 90
 			apiGetJFInfo().then(res=>{
76 91
 				dataInfo.value= res
@@ -120,6 +135,23 @@
120 135
 		state.page=1
121 136
 		getList()
122 137
 	}
138
+	
139
+	function onSignClick(){
140
+		if(!isShowSignIn.value ){
141
+			getNewSignIn().then(res=>{
142
+				isShowSignIn.value=true
143
+				uni.showToast({
144
+					title:'签到成功',
145
+					icon:'none'
146
+				})
147
+			})
148
+		}else {
149
+			uni.showToast({
150
+				title:'您今天已经签到了',
151
+				icon:'none'
152
+			})
153
+		}
154
+	}
123 155
 
124 156
 	
125 157
 </script>
@@ -139,7 +171,7 @@
139 171
 		.list-content{
140 172
 			display: flex;
141 173
 			flex-direction: column;
142
-			margin-top:350rpx ;
174
+			margin-top:450rpx ;
143 175
 			padding-left: 20rpx;
144 176
 			padding-right: 20rpx;
145 177
 			.list-item-x{
@@ -185,7 +217,7 @@
185 217
 			align-items: center;
186 218
 			position: fixed;
187 219
 			z-index: 222;
188
-			margin-top: 260rpx;
220
+			margin-top: 349rpx;
189 221
 			width: 100%;
190 222
 			background-color: #fff;
191 223
 			top: 0;
@@ -231,7 +263,7 @@
231 263
 			flex-direction: column;
232 264
 			background-color:#fe0032;
233 265
 			width: 100%;
234
-			height: 260rpx;
266
+			height: 350rpx;
235 267
 			padding: 20rpx;
236 268
 			box-sizing: border-box;
237 269
 			position: fixed;
@@ -239,6 +271,17 @@
239 271
 			left: 0;
240 272
 			z-index: 222;
241 273
 		}
274
+		
275
+		.sign-btn{
276
+			display: flex;
277
+			flex-direction: row;
278
+			align-items: center;
279
+			height: 90rpx;
280
+			justify-content: flex-end;
281
+			padding-right: 30rpx;
282
+			color: #fff;
283
+			font-size: 32rpx;
284
+		}
242 285
 		.top-card-content{
243 286
 			background-color: #fdddc4;
244 287
 			border-radius: 20rpx;

+ 65 - 3
src/subPages/pages/mine-top/qianbao.vue

@@ -45,6 +45,7 @@
45 45
 	import {
46 46
 		apiGetHBInfo,
47 47
 		apiGetHBList,
48
+		apiTransitionVr
48 49
 	} from '~/apis/user'
49 50
 	import {formatDate} from '~/utils/util'
50 51
 	import { getProductShare } from "~/apis/common";
@@ -74,12 +75,73 @@
74 75
 	})
75 76
 	
76 77
 	function onItemClick(index){
77
-		uni.showToast({
78
-			title:'升级中',
79
-			icon:'none'
78
+		if(index==0){
79
+			handleClickTomo()
80
+		}else if(index ==1){
81
+			uni.showModal({
82
+				editable:true,
83
+				title:'请输入佣金转VR数量',
84
+						placeholderText:'请输入佣金转VR数量',
85
+						complete: (e) => {
86
+							if(e.confirm){//去转换
87
+								transitionVr(e.content)
88
+							}
89
+						}
90
+			})
91
+		}
92
+		
93
+	}
94
+	
95
+	function transitionVr(num){
96
+		if(!num || num==0){
97
+			uni.showToast({
98
+				title:''
99
+			})
100
+			return
101
+		}
102
+		apiTransitionVr(num).then(res=>{
103
+			if(res==200){
104
+				getInfo()
105
+			}
106
+		}).catch(res=>{
107
+			uni.showToast({
108
+				title:res,
109
+				icon:'none'
110
+			})
80 111
 		})
81 112
 	}
82 113
 	
114
+	function handleClickTomo() {
115
+	  if (userStore.userInfo.is_ertification == 1) {
116
+	    uni.navigateTo({
117
+	      url: '/subPages/pages/immediate-withdrawal/index?type=1'
118
+	    })
119
+	  } else {
120
+	    setTimeout(() => {
121
+	      uni.showModal({
122
+	        title: '温馨提示',
123
+	        content: '实名认证后才可提现',
124
+	        cancelText: "取消", // 取消按钮的文字
125
+	        confirmText: "去认证", // 确认按钮的文字
126
+	        showCancel: true, // 是否显示取消按钮,默认为 true
127
+	        confirmColor: '#f55850',
128
+	        success: (res) => {
129
+	          if (res.confirm) {
130
+	            console.log('comfirm') //点击确定之后执行的代码
131
+	            setTimeout(() => {
132
+	              uni.navigateTo({
133
+	                url: '/pages/real-name-authentication/index'
134
+	              })
135
+	            }, 300);
136
+	          } else {
137
+	            console.log('cancel') //点击取消之后执行的代码
138
+	          }
139
+	        }
140
+	      })
141
+	    }, 300);
142
+	  }
143
+	}
144
+	
83 145
 	function getInfo(){
84 146
 			apiGetHBInfo().then(res=>{
85 147
 				dataInfo.value= res

+ 10 - 3
src/subPages/pages/mine-top/vr.vue

@@ -7,8 +7,8 @@
7 7
 					<text class="item-title">{{dataInfo.total_source}}</text>
8 8
 					<text class="item-value">我的VR</text>
9 9
 				</view>
10
-				<view class="card-item-x">
11
-					<text class="red-btn" @click="onItemClick(0)">VR转账</text>
10
+				<view class="card-item-x" v-if="dataNameInfo">
11
+					<text class="red-btn" @click="onItemClick(0)">{{dataNameInfo.name}}</text>
12 12
 				</view>
13 13
 			</view>
14 14
 		</view>
@@ -80,7 +80,14 @@
80 80
 	
81 81
 	
82 82
 	function onItemClick(){
83
-		
83
+		console.log("===dataNameInfo",dataNameInfo.value);
84
+		let info ={
85
+			url:dataNameInfo.value.url,
86
+			name:dataNameInfo.value.name
87
+		}
88
+		uni.navigateTo({
89
+			url:`/subPages/pages/mine-top/common-webView?info=${encodeURIComponent(JSON.stringify(info))}`
90
+		})
84 91
 	}
85 92
 	
86 93
 	function getInfo(){

+ 1 - 1
src/subPages/pages/phone-bill/index.vue

@@ -2,7 +2,7 @@
2 2
 	<view class="contribute-container">
3 3
 		<view class="top-bg"></view>
4 4
 		<text @click="onHistoryClick" class="history-title">充值记录</text>
5
-		<image class="top-banner" src="/static/img/img_recharge_top.png" mode="aspectFill"></image>
5
+		<image class="top-banner" :src="IMG_CDN_URL+'img_recharge_top.png'" mode="aspectFill"></image>
6 6
 		<view class="card-info">
7 7
 			<text class="hint-title">请您输入充值手机号</text>
8 8
 			<input placeholder="请您输入充值手机号" class="input-sty" type="text" v-model="phoneNum" />

+ 26 - 22
src/subPages/pages/quick-fuc/components/life-product.vue

@@ -22,7 +22,7 @@
22 22
 	
23 23
 	function handleProductItemClick(item) {
24 24
 		 uni.navigateTo({
25
-			url: `/subPages/pages/store/product/detail?id=${item.product_id}`
25
+			url: `/subPages/pages/store/product/detail?id=${item.product_id}&type=${props.pageType}`
26 26
 		})
27 27
 	}
28 28
 </script>
@@ -40,10 +40,13 @@
40 40
 				<image class="shop-icon" src="/static/icon/icon_shop_name.png" mode="widthFix"></image>
41 41
 				<text class="shop-name">{{item.shopName}}</text>
42 42
 			</view> -->
43
-
44
-			<view class="annuity-content">
45
-				<view v-if="item.yanglao" class="annuity-value-x mr-10">养老金:¥{{dealNum(item.yanglao+'')}}</view>
46
-				<view v-if="item.pv" class="annuity-value">pv:{{dealNum(item.pv+'')}}</view>
43
+              
44
+				
45
+			<view class="annuity-content" v-if="item.yanglao">
46
+				 <text  class="annuity-value-x">养老金:¥{{dealNum(item.yanglao+'')}}</text>
47
+			</view>
48
+			<view class="annuity-content" v-if="item.pv">
49
+				<text  class="annuity-value">pv:{{dealNum(item.pv+'')}}</text>
47 50
 			</view>
48 51
 
49 52
 			<view class="price-content">
@@ -121,7 +124,23 @@
121 124
 					margin-right: 10rpx;
122 125
 				}
123 126
 			}
124
-
127
+            .annuity-value {
128
+            	background-color: antiquewhite;
129
+            	color: #F83554;
130
+            	font-size: 24rpx;
131
+            	border-radius: 4rpx;
132
+            	padding-left: 4rpx;
133
+            	padding-right: 4rpx;
134
+            }
135
+            .annuity-value-x {
136
+            	background-color: #faf0f1;
137
+            	color: #F83554;
138
+				display: flex;
139
+            	font-size: 24rpx;
140
+            	border-radius: 4rpx;
141
+            	padding-left: 4rpx;
142
+            	padding-right: 4rpx;
143
+            }
125 144
 			.annuity-content {
126 145
 				display: flex;
127 146
 				margin-left: 20rpx;
@@ -129,22 +148,7 @@
129 148
 				align-items: center;
130 149
 				margin-top: 20rpx;
131 150
 
132
-				.annuity-value {
133
-					background-color: antiquewhite;
134
-					color: #F83554;
135
-					font-size: 24rpx;
136
-					border-radius: 4rpx;
137
-					padding-left: 4rpx;
138
-					padding-right: 4rpx;
139
-				}
140
-				.annuity-value-x {
141
-					background-color: #faf0f1;
142
-					color: #F83554;
143
-					font-size: 24rpx;
144
-					border-radius: 4rpx;
145
-					padding-left: 4rpx;
146
-					padding-right: 4rpx;
147
-				}
151
+				
148 152
 
149 153
 				.mr-10 {
150 154
 					margin-right: 10rpx;

+ 1 - 1
src/subPages/pages/quick-fuc/life.vue

@@ -93,7 +93,7 @@
93 93
 		getBanner()
94 94
 		getProduct()
95 95
 		getProductShareInfo()
96
-		userStore.setRedirectPage(`/pages/vip/index?type` + state.type, 'page')
96
+		userStore.setRedirectPage(`/subPages/pages/quick-fuc/life?type` + state.type, 'page')
97 97
 	})
98 98
 	
99 99
    function getProductShareInfo(){

+ 298 - 0
src/subPages/pages/quick-fuc/repurchase.vue

@@ -0,0 +1,298 @@
1
+<template>
2
+
3
+	<div class="flex flex-col gap-3 ">
4
+		<div style="height: 80rpx;">
5
+			<div style="background-color: transparent  " class="overflow-hidden fixed top-0 w-full z-10">
6
+				<nut-searchbar v-model="state.keyword" @search="searchkwd" @clear="clearSearch">
7
+					<template v-slot:rightout>
8
+						<div @tap="searchkwd">
9
+							搜索
10
+						</div>
11
+					</template>
12
+				</nut-searchbar>
13
+			</div>
14
+		</div>
15
+
16
+		<view class="lab-content">
17
+			<scroll-view scroll-x="true" class="lab-item">
18
+				<view class="lab-item-x" v-for="(item,index) in tabList" :key="'lab-item-x-'+index">
19
+					<view class="lab-item-small" @click="onTabClick(index,item.store_category_id)">
20
+						<text :class="currentIndex==index?'lab-title':'lab-default-title'">{{item.cate_name}}</text>
21
+						<view :class="currentIndex==index?'lab-line':'lab-default-line'"></view>
22
+					</view>
23
+				</view>
24
+			</scroll-view>
25
+		</view>
26
+
27
+		<div class="w-screen swiper-height mt-90" v-if='state.banners && state.banners.length!=0'>
28
+			<div class="px-3 swiper-height">
29
+				<swiper v-if="state.banners" :indicator-dots="state.indicatorDots" indicator-active-color="#e93323"
30
+					:autoplay="state.autoplay" :circular="state.circular" :interval="state.interval"
31
+					:duration="state.duration" class="w-full h-full rounded-md overflow-hidden ">
32
+					<swiper-item v-for="(item, index) in state.banners" :key="index">
33
+						<image :src="item.pic" class="w-full h-full object-cover swiper-bg" mode="aspectFill" />
34
+					</swiper-item>
35
+				</swiper>
36
+			</div>
37
+		</div>
38
+		
39
+		<CXBBackTop :Scroll_X="Scroll_X" :isCss="1" />
40
+		
41
+		<ProductList :list="pageList" :pageType='1' v-if="pageList && pageList.length!=0" />
42
+		
43
+        <CXBEmpty v-else></CXBEmpty>
44
+		
45
+	</div>
46
+
47
+</template>
48
+
49
+<script setup lang="ts">
50
+	import FSearch from "~/components/FSearch/FSearch.vue";
51
+	import type CXBBackTop from "~/components/CXBBackTop/CXBBackTop.vue";
52
+	import CXBEmpty from "~/components/CXBEmpty/CXBEmpty.vue";
53
+	import { getProductShare } from "~/apis/common";
54
+	import { useUserStore } from "~/stores/userStore";
55
+	import Cache from "~/utils/cache";
56
+	import { apiGetClassity, apiBanner, apiGetReProduct } from '~/apis/quickLink'
57
+	import ProductList from './components/life-product.vue'
58
+	import { IMG_CDN_URL} from '~/config/app.ts'
59
+	
60
+	const userStore = useUserStore()
61
+	const state = reactive({
62
+		currentPage: 1,
63
+		pageSize: 10,
64
+		page: 1,
65
+		limit: 10,
66
+		cid: 0,
67
+		totalPage: 1,
68
+		banners: [],
69
+		count: 0,
70
+		pageType: 0,
71
+		keyword: '',
72
+		status: 'noMore',
73
+		indicatorDots: true,
74
+		circular: true,
75
+		autoplay: true,
76
+		interval: 5000,
77
+		duration: 500,
78
+		currents: "0",
79
+		title: '',
80
+		type: '',
81
+	})
82
+	
83
+	const pageList = ref([])
84
+	const tabList = ref([{ category_name: '测试' }])
85
+	const currentIndex = ref(0)
86
+	const count = ref(1)
87
+	
88
+	onLoad((option) => {
89
+		if (option && option.shareId) {
90
+			userStore.setShareId(option.shareId)
91
+		}
92
+		getClassity()
93
+		getBanner()
94
+		getProduct()
95
+		getProductShareInfo()
96
+		userStore.setRedirectPage(`/subPages/pages/quick-fuc/repurchase?type` + state.type, 'page')
97
+	})
98
+	
99
+   function getProductShareInfo(){
100
+	   getProductShare().then(res => {
101
+	   	if (res) {
102
+	   		userStore.setShareId(res.share_id)
103
+	   	}
104
+	   }).catch(message => {
105
+	   	console.log(message)
106
+	   })
107
+   }
108
+   
109
+	function getProduct() {
110
+		uni.showLoading()
111
+		apiGetReProduct({
112
+			pageNum:state.page,
113
+			pageSize:state.limit,
114
+			cate_id:state.cid,
115
+			keyword:state.keyword
116
+		}).then(res => {
117
+			count.value = res.count
118
+			if (state.page === 1) {
119
+				pageList.value = res.list
120
+			} else {
121
+				setTimeout(() => {
122
+					pageList.value.push(...res.list)
123
+				}, 300)
124
+			}
125
+			uni.hideLoading()
126
+		})
127
+	}
128
+
129
+	function getBanner() {
130
+		apiBanner().then(res => {
131
+			state.banners = res
132
+		})
133
+	}
134
+	
135
+	function getClassity() {
136
+		apiGetClassity().then(res => {
137
+			tabList.value = [{ cate_name: '全部' }, ...res]
138
+		})
139
+	}
140
+
141
+	function onTabClick(index,store_category_id) {
142
+		state.cid = store_category_id
143
+		state.page = 1
144
+		currentIndex.value = index
145
+		getProduct()
146
+	}
147
+	//搜索全部筛选
148
+	function searchkwd() {
149
+		if (!state.keyword) {
150
+			return uni.showToast({
151
+				title: '请输入搜索关键字',
152
+				icon: 'none'
153
+			})
154
+		}
155
+		state.page = 1
156
+		getProduct()
157
+	}
158
+
159
+	onShareAppMessage(() => {
160
+		const shareId = Cache.get('SHARE_ID')
161
+		return {
162
+			title: `消费储蓄 保障未来`,
163
+			path: `/pages/vip/index?shareId=${shareId}`,
164
+			imageUrl: 'https://cdn.bjtdba.com/vod/image/2023-10-09/20231009202402136.png'
165
+		}
166
+	})
167
+
168
+	onShareTimeline(() => {
169
+		const shareId = Cache.get('SHARE_ID')
170
+		return {
171
+			title: `消费储蓄 保障未来`,
172
+			query: `from=share&shareId=${shareId}`,
173
+			imageUrl: 'https://cdn.bjtdba.com/vod/image/2023-10-11/20231011062523504.png'
174
+		}
175
+	})
176
+
177
+	function handleItemClick(item) {
178
+		console.log("===item",item);
179
+		uni.navigateTo({
180
+			url: `/subPages/pages/store/product/detail?id=${item.product_id}type=1`
181
+		})
182
+	}
183
+
184
+	function clearSearch() {
185
+		state.page = 1
186
+		getProduct()
187
+	}
188
+
189
+	onPullDownRefresh(() => {
190
+		state.page = 1
191
+		getClassity()
192
+		getBanner()
193
+		getProduct()
194
+		uni.stopPullDownRefresh()
195
+	})
196
+	
197
+	onReachBottom(() => {
198
+		if(pageList.value.length <count.value){
199
+			state.page += 1
200
+			getProduct()
201
+		}
202
+	})
203
+	// 距离顶部距离
204
+	let Scroll_X = ref(0)
205
+	const headerClass = ref('')
206
+	onPageScroll((page) => {
207
+		Scroll_X.value = Number(page.scrollTop.toFixed())
208
+		// page.scrollTop
209
+		if (page.scrollTop >= 76) {
210
+			headerClass.value = '!bg-primary !text-white'
211
+		} else {
212
+			headerClass.value = ''
213
+		}
214
+	})
215
+</script>
216
+
217
+<route lang="yaml">
218
+style:
219
+  navigationBarTitleText: 精彩生活
220
+  enablePullDownRefresh: true
221
+</route>
222
+
223
+<style>
224
+	page {
225
+		background: #f8f8f8;
226
+		--nut-searchbar-background: #fff;
227
+		--nut-searchbar-input-background: #f8f8f8;
228
+		--nut-searchbar-input-box-shadow: none;
229
+	}
230
+</style>
231
+<style scoped lang="scss">
232
+	.mt-90 {
233
+		margin-top: 90rpx;
234
+	}
235
+
236
+	.swiper-height {
237
+		height: 320rpx;
238
+	}
239
+
240
+	.lab-content {
241
+		width: 100%;
242
+		height: 90rpx;
243
+		display: flex;
244
+		flex-direction: row;
245
+		align-items: center;
246
+		position: fixed;
247
+		top: 0;
248
+		margin-top: 80rpx;
249
+		left: 0;
250
+		background-color: #fff;
251
+		z-index: 99999;
252
+
253
+		.lab-item {
254
+			display: flex;
255
+			flex-direction: row;
256
+			white-space: nowrap;
257
+			width: 100%;
258
+		}
259
+
260
+		.lab-item-x {
261
+			display: inline-block;
262
+			margin-right: 10px;
263
+			text-align: center;
264
+		}
265
+
266
+		.lab-item-small {
267
+			display: flex;
268
+			flex-direction: column;
269
+			align-items: center;
270
+			width: 124rpx;
271
+
272
+			.lab-default-title {
273
+				font-size: 28rpx;
274
+				margin-bottom: 10rpx;
275
+			}
276
+
277
+			.lab-title {
278
+				font-size: 32rpx;
279
+				margin-bottom: 10rpx;
280
+				color: #FE0032;
281
+			}
282
+
283
+			.lab-line {
284
+				width: 50rpx;
285
+				height: 6rpx;
286
+				background-color: #FE0032;
287
+				border-radius: 4rpx;
288
+			}
289
+
290
+			.lab-default-line {
291
+				width: 50rpx;
292
+				height: 6rpx;
293
+				border-radius: 4rpx;
294
+			}
295
+
296
+		}
297
+	}
298
+</style>

+ 6 - 6
src/subPages/pages/quick-fuc/shop.vue

@@ -151,15 +151,15 @@
151 151
 	function getBanner() {
152 152
 		let _banner=''
153 153
 		if(state.type ==KINGKONGKEY.JD ){//京东
154
-			_banner='https://api.gdjbp.com/mweb/img/jingdong.jpg'
154
+			_banner='https://api.hxxfb.com/mweb/img/jingdong.jpg'
155 155
 		}else if(state.type ==KINGKONGKEY.PDD ){//拼多多
156
-			_banner='https://api.gdjbp.com/mweb/img/pinduoduo.jpg '
156
+			_banner='https://api.hxxfb.com/mweb/img/pinduoduo.jpg '
157 157
 		}else if(state.type==KINGKONGKEY.WPH){//唯品会
158
-			_banner='https://api.gdjbp.com/mweb/img/weipinhui.png'
158
+			_banner='https://api.hxxfb.com/mweb/img/weipinhui.png'
159 159
 		}else if(state.type==KINGKONGKEY.SN){//苏宁易购
160
-			_banner='https://api.gdjbp.com/mweb/img/suning.jpg'
160
+			_banner='https://api.hxxfb.com/mweb/img/suning.jpg'
161 161
 		}else if(state.type==KINGKONGKEY.TB){//淘宝
162
-			_banner='https://api.gdjbp.com/mweb/img/taobao.png'
162
+			_banner='https://api.hxxfb.com/mweb/img/taobao.png'
163 163
 		}
164 164
 		
165 165
 		topBanner.value =_banner
@@ -198,7 +198,7 @@
198 198
 		let res = uni.getSystemInfoSync();
199 199
 		let navBarHeight = (custom.top - res.statusBarHeight) * 2 + custom.height //计算得出导航栏高度
200 200
 		titleContentStyle.value = { marginTop: `${res.statusBarHeight }px`,height:`${navBarHeight}px`}
201
-		navBarStyle.value = { marginTop: `${custom.bottom}px` }
201
+		navBarStyle.value = { marginTop: `${custom.bottom-1}px` }
202 202
 	}
203 203
 	
204 204
 	function onBackClick(){uni.navigateBack()}

+ 1 - 1
src/subPages/pages/refund/drawback.vue

@@ -322,7 +322,7 @@ function handleshowReasonPopup() {
322 322
 
323 323
 <route lang="yaml">
324 324
 style:
325
-  navigationBarTitleText: 储蓄
325
+  navigationBarTitleText: 幸福
326 326
 </route>
327 327
 
328 328
 <style lang="scss">

+ 1 - 1
src/subPages/pages/store/home/index.vue

@@ -511,7 +511,7 @@ function handleItemClick(item) {
511 511
 </template>
512 512
 <route lang="yaml">
513 513
 style:
514
-  navigationBarTitleText: 储蓄
514
+  navigationBarTitleText: 幸福
515 515
   enablePullDownRefresh: true
516 516
 </route>
517 517
 

+ 4 - 89
src/subPages/pages/store/product/detail.vue

@@ -112,6 +112,7 @@ onLoad((option: any) => {
112 112
   // console.log("我是商品详情页");
113 113
   //二维码扫码传id/shareid
114 114
   console.log("===option",option);
115
+  
115 116
   if (option.scene) {
116 117
     let queryString = decodeURIComponent(option.scene)
117 118
     // 将字符串按 '&' 分割成数组
@@ -228,16 +229,6 @@ onShareAppMessage(async () => {
228 229
       }
229 230
     }
230 231
   }).catch(error => {
231
-    // uni.showToast({
232
-    //   title: '请登录后分享',
233
-    //   icon: 'none'
234
-    // }).then(() => {
235
-    //   setTimeout(() => {
236
-    //     uni.navigateTo({
237
-    //       url: '/pages/user/login/index'
238
-    //     })
239
-    //   }, 500)
240
-    // })
241 232
     uni.hideLoading()
242 233
 	return {
243 234
 		title: `${detail.value.store_name}`,
@@ -249,20 +240,6 @@ onShareAppMessage(async () => {
249 240
 })
250 241
 
251 242
 onShareTimeline(() => {
252
-
253
-  // if (!userStore.uid) {
254
-  //   return uni.showToast({
255
-  //     title: '请登录后分享',
256
-  //     icon: 'none'
257
-  //   }).then(() => {
258
-  //     setTimeout(() => {
259
-  //       uni.navigateTo({
260
-  //         url: '/pages/user/login/index'
261
-  //       })
262
-  //     }, 500)
263
-  //   })
264
-  // }
265
-
266 243
   return {
267 244
     title: `${detail.value.store_name}`,
268 245
     imageUrl: state.shareImage,
@@ -284,11 +261,6 @@ function loadCartCount() {
284 261
         title: '请登录',
285 262
         icon: 'none'
286 263
       })
287
-      // setTimeout(() => {
288
-      //   uni.navigateTo({
289
-      //     url: '/pages/user/login/index?key=4'
290
-      //   })
291
-      // }, 500)
292 264
     }
293 265
   })
294 266
 }
@@ -341,20 +313,6 @@ onReachBottom(() => {
341 313
 })
342 314
 
343 315
 
344
-// const skuData = computed(() => {
345
-//   const skuList = []
346
-//   if (detail.value && detail.sku) {
347
-//     for (let key in detail.sku) {
348
-//       const skuItem: SkuModel = detail.sku[key]
349
-//       skuList.push({
350
-//         name: skuItem.sku,
351
-//         id: skuItem.unique
352
-//       })
353
-//
354
-//       state.currentSku = skuList[0]
355
-//     }
356
-//   }
357
-// })
358 316
 
359 317
 const is148Merchant = computed(() => {
360 318
   return detail.value && detail.value.mer_id && detail.value.mer_id == '148'
@@ -404,6 +362,7 @@ function handleSubQg() {
404 362
 
405 363
 function handleCreateShopping() {
406 364
   // console.log(state.flag)
365
+  state.isShowSku=false
407 366
   console.log('我是detail数据', detail.value)
408 367
   createShopping({
409 368
     product_id: detail.value.product_id,
@@ -466,21 +425,16 @@ function handleBuyshow() {
466 425
   console.log('我是detail数据', detail.value)
467 426
   createShopping({
468 427
     product_id: detail.value.product_id,
469
-    // product_attr_unique: JSON.stringify(state.currentSku),
470 428
     product_attr_unique: state.currentSku.unique,
471 429
     cart_num: state.cartNum,
472 430
     is_new: (state.flag === '1' || state.flag === '3') ? '1' : '0'
473 431
   }).then(res => {
474
-    console.log('resres', res)
475
-
476 432
     if (res.cart_id) {
477 433
       uni.navigateTo({
478 434
         url: `/pages/order-confirm/index?cartId=${res.cart_id}&type=${state.flag}&product_id=${detail.value.product_id}`
479 435
       })
480 436
     }
481 437
   }).catch(error => {
482
-
483
-    console.log('我是error>>>', error);
484 438
     userStore.setRedirectPage(`/subPages/pages/store/product/detail?id=${state.id}&from=share&shareID=${state.shareId}`, 'page')
485 439
     if (error === '请登录') {
486 440
       uni.showToast({
@@ -935,12 +889,6 @@ onUnload(() => {
935 889
       <template #title>
936 890
         <div class="flex items-center" v-if="state.currentSku">
937 891
           <div class="font-bold">规格:</div>
938
-          <!--          <div v-for="(key, index) in Object.keys(detail.sku)"-->
939
-          <!--               :key="index"-->
940
-          <!--               class="pl-2 text-sm"-->
941
-          <!--          >-->
942
-          <!--            {{ key }}-->
943
-          <!--          </div>-->
944 892
           {{ state.currentSku.sku }}
945 893
         </div>
946 894
 
@@ -1181,46 +1129,13 @@ onUnload(() => {
1181 1129
   <CXBSkuPopup v-model:show="state.isShowSku" :detail="detail" @selected:item="onSelectedSku" @subQg="handleSubQg"
1182 1130
     @submit="handleCreateShopping" @count-change="handleCountChange" @subBuy="handleBuyshow" @subAdd="handleAddshow"
1183 1131
     :isTo="isTo" />
1184
-  <!--  <nut-sku-->
1185
-  <!--      v-model:visible="state.isShowSku"-->
1186
-  <!--      :goods="state.goods"-->
1187
-  <!--      @selectSku="selectSku"-->
1188
-  <!--  >-->
1189
-  <!--    &lt;!&ndash; 商品展示区,价格区域 &ndash;&gt;-->
1190
-  <!--    <template #sku-header-price>-->
1191
-  <!--      <div>-->
1192
-  <!--        <nut-price :price="goods.price" :needSymbol="true" :thousands="false"> </nut-price>-->
1193
-  <!--        <span class="tag"></span>-->
1194
-  <!--      </div>-->
1195
-  <!--    </template>-->
1196
-  <!--  </nut-sku>-->
1132
+
1197 1133
 
1198 1134
 
1199 1135
   <nut-overlay v-model:visible="shareShowTips" :lock-scroll="true">
1200 1136
     <image :lazy-load="true" src="https://cdn.bjtdba.com/vod/image/2023-09-16/20230916194347287.png" mode="widthFix"
1201 1137
       class="absolute top-0 right-0"></image>
1202
-
1203
-    <!--    <div class="flex flex-col justify-center items-center w-full h-full"-->
1204
-    <!--    >-->
1205
-    <!--      <div class="bg-white">-->
1206
-    <!--        <image :src="currentItem.image_fake" mode="widthFix" class="w-60"></image>-->
1207
-    <!--        <div class="bg-white p-3 flex justify-around gap-3">-->
1208
-    <!--          <div class="flex flex-col text-[12px] justify-center items-center" @tap.stop="shareImage">-->
1209
-    <!--            <image :src="wechatImg" mode="widthFix" class="w-8 h-8"></image>-->
1210
-    <!--            <div>微信</div>-->
1211
-    <!--          </div>-->
1212
-    <!--          <div class="flex flex-col text-[12px] justify-center items-center" @tap.stop="shareImage">-->
1213
-    <!--            <image :src="pyqImg" mode="widthFix" class="w-8 h-8"></image>-->
1214
-    <!--            <div>朋友圈</div>-->
1215
-    <!--          </div>-->
1216
-    <!--          <div class="flex flex-col text-[12px] justify-center items-center" @tap.stop="shareImage">-->
1217
-    <!--            <image :src="bctpImg" mode="widthFix" class="w-8 h-8"></image>-->
1218
-    <!--            <div>保存图片</div>-->
1219
-    <!--          </div>-->
1220
-    <!--        </div>-->
1221
-    <!--      </div>-->
1222
-
1223
-    <!--    </div>-->
1138
+  
1224 1139
   </nut-overlay>
1225 1140
 </template>
1226 1141
 <style lang="scss">

+ 4 - 4
src/subPages/pages/user/about/index.vue

@@ -1,11 +1,11 @@
1 1
 <script lang="ts" setup>
2 2
 import {getAboutConfig} from "~/apis/user";
3 3
 import CXBBasePage from "~/components/CXBBasePage/CXBBasePage.vue";
4
-import {CDN_URL} from "~/config/app";
4
+import {CDN_URL,IMG_CDN_URL} from "~/config/app";
5 5
 const state = reactive({
6
-  version: '3.2.3.3',
7
-  name: '储蓄保',
8
-  logo: CDN_URL + '/static/assets/logo_220608.png',
6
+  version: '1.0.0.0',
7
+  name: '幸福保',
8
+ logo: IMG_CDN_URL+'logo_220607.png',
9 9
 })
10 10
 
11 11
 onLoad(() => {

+ 4 - 0
uni-pages.d.ts

@@ -87,12 +87,15 @@ interface NavigateToOptions {
87 87
        "/pages/store/home/components/MerchantProductCard" |
88 88
        "/pages/store/home/components/MerchantProductList" |
89 89
        "/subPages/pages/bankDetail/index" |
90
+       "/subPages/pages/business-school/detail" |
91
+       "/subPages/pages/business-school/index" |
90 92
        "/subPages/pages/feedback/index" |
91 93
        "/subPages/pages/guest_member_new/index" |
92 94
        "/subPages/pages/help-center/index" |
93 95
        "/subPages/pages/immediate-withdrawal/index" |
94 96
        "/subPages/pages/income/index" |
95 97
        "/subPages/pages/mine-top/brokerage" |
98
+       "/subPages/pages/mine-top/common-webView" |
96 99
        "/subPages/pages/mine-top/contribute" |
97 100
        "/subPages/pages/mine-top/department" |
98 101
        "/subPages/pages/mine-top/jifen" |
@@ -113,6 +116,7 @@ interface NavigateToOptions {
113 116
        "/subPages/pages/phone-bill/list" |
114 117
        "/subPages/pages/quick-fuc/business" |
115 118
        "/subPages/pages/quick-fuc/life" |
119
+       "/subPages/pages/quick-fuc/repurchase" |
116 120
        "/subPages/pages/quick-fuc/shop" |
117 121
        "/subPages/pages/quick-fuc/vip" |
118 122
        "/subPages/pages/record-detail/detail" |