chenyidong il y a 4 mois
Parent
commit
18a70070b7

+ 3 - 0
main.js

@@ -23,6 +23,9 @@ import httpApi from '@/utils/api.js';
23 23
 import { showLoading } from './utils/loading'
24 24
 Vue.use(httpApi, app);
25 25
 
26
+import hideNav from "@/utils/hideNav.js";
27
+Vue.use(hideNav,app);
28
+
26 29
 Vue.prototype.$getDicts = function (dictType,customFlag = true) {
27 30
   return store.dispatch('dict/getDicts', {dictType,customFlag})
28 31
 }

+ 2 - 2
manifest.json

@@ -2,8 +2,8 @@
2 2
     "name" : "时与",
3 3
     "appid" : "__UNI__0C0EF72",
4 4
     "description" : "",
5
-    "versionName" : "1.1.6",
6
-    "versionCode" : 116,
5
+    "versionName" : "1.1.7",
6
+    "versionCode" : 117,
7 7
     "transformPx" : false,
8 8
     /* 5+App特有相关 */
9 9
     "app-plus" : {

+ 39 - 13
pages.json

@@ -31,22 +31,24 @@
31 31
 			"style": {
32 32
 				"navigationBarTitleText": "首页",
33 33
 				"enablePullDownRefresh": false,
34
-				"navigationBarBackgroundColor": "#ffffff"
35
-				// ,"navigationStyle": "custom"
34
+				"navigationBarBackgroundColor": "#ffffff",
35
+				"navigationStyle": "custom"
36 36
 			}
37 37
 		},
38 38
 		{
39 39
 			"path": "pages/setting/index",
40 40
 			"style": {
41 41
 				"navigationBarTitleText": "我的设置",
42
-				"enablePullDownRefresh": false
42
+				"enablePullDownRefresh": false,
43
+				"navigationStyle": "custom"
43 44
 			}
44 45
 		},
45 46
 		{
46 47
 			"path": "pages/message/index",
47 48
 			"style": {
48 49
 				"navigationBarTitleText": "消息",
49
-				"enablePullDownRefresh": false
50
+				"enablePullDownRefresh": false,
51
+				"navigationStyle": "custom"
50 52
 			}
51 53
 		},
52 54
 		{
@@ -54,14 +56,16 @@
54 56
 			"style": {
55 57
 				"navigationBarTitleText": "销售",
56 58
 				"enablePullDownRefresh": true,
57
-				"onReachBottomDistance": 100
59
+				"onReachBottomDistance": 100,
60
+				"navigationStyle": "custom"
58 61
 			}
59 62
 		},
60 63
 		{
61 64
 			"path": "pages/messageList/index",
62 65
 			"style": {
63 66
 				"navigationBarTitleText": "提醒消息",
64
-				"enablePullDownRefresh": false
67
+				"enablePullDownRefresh": false,
68
+				"navigationStyle": "custom"
65 69
 			}
66 70
 		},
67 71
 		{
@@ -75,7 +79,7 @@
75 79
 		{
76 80
 			"path": "pages/circumstances/index",
77 81
 			"style": {
78
-				"navigationBarTitleText": "",
82
+				"navigationBarTitleText": "环境监测",
79 83
 				"enablePullDownRefresh": false,
80 84
 				"navigationStyle": "custom"
81 85
 			}
@@ -84,7 +88,8 @@
84 88
 			"path": "pages/about/index",
85 89
 			"style": {
86 90
 				"navigationBarTitleText": "关于",
87
-				"enablePullDownRefresh": false
91
+				"enablePullDownRefresh": false,
92
+				"navigationStyle": "custom"
88 93
 			}
89 94
 		},
90 95
 		{
@@ -99,14 +104,16 @@
99 104
 			"path": "pages/changePw/index",
100 105
 			"style": {
101 106
 				"navigationBarTitleText": "修改密码",
102
-				"enablePullDownRefresh": false
107
+				"enablePullDownRefresh": false,
108
+				"navigationStyle": "custom"
103 109
 			}
104 110
 		},
105 111
 		{
106 112
 			"path": "pages/updateDynamic/index",
107 113
 			"style": {
108 114
 				"navigationBarTitleText": "更新动态",
109
-				"enablePullDownRefresh": false
115
+				"enablePullDownRefresh": false,
116
+				"navigationStyle": "custom"
110 117
 			}
111 118
 		}
112 119
 		,
@@ -114,7 +121,8 @@
114 121
 			"path": "pages/clue/index",
115 122
 			"style": {
116 123
 				"navigationBarTitleText": "线索",
117
-				"enablePullDownRefresh": false
124
+				"enablePullDownRefresh": false,
125
+				"navigationStyle": "custom"
118 126
 			}
119 127
 		},
120 128
 		{
@@ -148,7 +156,8 @@
148 156
 			"style" : 
149 157
 			{
150 158
 				"navigationBarTitleText" : "线索公海",
151
-				"enablePullDownRefresh": true
159
+				"enablePullDownRefresh": true,
160
+				"navigationStyle": "custom"
152 161
 			}
153 162
 		},
154 163
 		{
@@ -156,7 +165,24 @@
156 165
 			"style" : 
157 166
 			{
158 167
 				"navigationBarTitleText" : "销售线索",
159
-				"enablePullDownRefresh": true
168
+				"enablePullDownRefresh": true,
169
+				"navigationStyle": "custom"
170
+			}
171
+		},
172
+		{
173
+			"path" : "pages/auth/auth",
174
+			"style" : 
175
+			{
176
+			    "navigationBarTitleText": "",
177
+			    "enablePullDownRefresh": false,
178
+				"navigationStyle": "custom"
179
+			}
180
+		},
181
+		{
182
+			"path" : "pages/bindSuccess/index",
183
+			"style" : 
184
+			{
185
+				"navigationStyle": "custom"
160 186
 			}
161 187
 		}
162 188
 	],

+ 1 - 0
pages/about/index.vue

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
 	<view class="about_wrap">
3
+		<u-navbar title="关于" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
3 4
 		<view class="about_top">
4 5
 			<view class="box">
5 6
 				<image src="@/static/about/logo.png" mode=""></image>

+ 43 - 0
pages/auth/auth.vue

@@ -0,0 +1,43 @@
1
+<template>
2
+	<u-loading-page loading-color="#000000" :loading="true" loadingText="正在请求微信授权"></u-loading-page>
3
+</template>
4
+
5
+<script>
6
+	import qs from 'qs';
7
+	export default {
8
+		data() {
9
+			return {
10
+			}
11
+		},
12
+		onLoad(option){
13
+			let { shiYuWxLogin , username : userName } = option;
14
+			if(shiYuWxLogin){
15
+				uni.redirectTo({
16
+					url : "/pages/login/index?shiYuWxLogin=" + shiYuWxLogin,
17
+				})
18
+			}else if(userName){
19
+				uni.$u.api.shiYuWxLoginGetInfo({userName}).then((res)=>{
20
+					const { access_token } = res.data;
21
+					this.$store.commit("user/SET_TOKEN", access_token);
22
+					this.$store.dispatch("user/getUserInfo").then(()=>{
23
+						uni.reLaunch({
24
+							url:"/pages/bindSuccess/index",
25
+						});
26
+						// uni.switchTab({
27
+						// 	url: `/pages/person/index`,
28
+						// 	success: () => {
29
+						// 		this.$store.dispatch("app/register");
30
+						// 		uni.$u.toast("登录成功");
31
+						// 	}
32
+						// })
33
+					})
34
+				})
35
+			}else{
36
+				window.location.href = "https://crm.nanjingshiyu.com/prod-api/auth/shiYuWxLogin";
37
+			}
38
+		},
39
+	}
40
+</script>
41
+
42
+<style lang="scss" scoped>
43
+</style>

+ 123 - 0
pages/bindSuccess/index.vue

@@ -0,0 +1,123 @@
1
+<template>
2
+  <view class="success-container">
3
+    <!-- 成功图标 -->
4
+    <view class="success-icon">
5
+      <view class="check-mark"></view>
6
+    </view>
7
+    <!-- 成功提示文字 -->
8
+    <view class="success-text">
9
+      <view class="title">绑定成功</view>
10
+      <view class="desc">您的账号已完成绑定,可正常使用相关功能</view>
11
+    </view>
12
+    <!-- 操作按钮 -->
13
+<!--    <view class="btn-group">
14
+      <button class="btn home-btn" @click="handleClose">关闭</button>
15
+    </view> -->
16
+  </view>
17
+</template>
18
+
19
+<script>
20
+export default {
21
+  data() {
22
+    return {};
23
+  },
24
+  methods: {
25
+    // 前往首页(可替换为你的首页地址)
26
+    handleClose() {
27
+		window.close();
28
+    }
29
+  }
30
+};
31
+</script>
32
+
33
+<style lang="scss" scoped>
34
+/* 页面容器:全屏居中 */
35
+.success-container {
36
+  width: 100vw;
37
+  min-height: 100vh;
38
+  padding: 0 20px;
39
+  box-sizing: border-box;
40
+  display: flex;
41
+  flex-direction: column;
42
+  align-items: center;
43
+  justify-content: center;
44
+  background-color: #f8f9fa;
45
+}
46
+
47
+/* 成功图标:绿色圆形+对勾 */
48
+.success-icon {
49
+  width: 100px;
50
+  height: 100px;
51
+  border-radius: 50%;
52
+  background-color: #e6f4ea;
53
+  display: flex;
54
+  align-items: center;
55
+  justify-content: center;
56
+  margin-bottom: 30px;
57
+
58
+  .check-mark {
59
+    width: 16px;
60
+    height: 30px;
61
+    border-right: 4px solid #38a169;
62
+    border-bottom: 4px solid #38a169;
63
+    transform: rotate(45deg);
64
+  }
65
+}
66
+
67
+/* 文字区域:标题粗体+描述浅灰 */
68
+.success-text {
69
+  text-align: center;
70
+  margin-bottom: 40px;
71
+
72
+  .title {
73
+    font-size: 24px;
74
+    font-weight: 600;
75
+    color: #2d3748;
76
+    margin-bottom: 10px;
77
+  }
78
+
79
+  .desc {
80
+    font-size: 16px;
81
+    color: #718096;
82
+    max-width: 300px;
83
+    margin: 0 auto;
84
+  }
85
+}
86
+
87
+/* 按钮组:横向排列+间距 */
88
+.btn-group {
89
+  width: 100%;
90
+  max-width: 320px;
91
+  display: flex;
92
+  gap: 15px;
93
+}
94
+
95
+/* 按钮样式:绿色主按钮+白色次按钮 */
96
+.btn {
97
+  flex: 1;
98
+  height: 46px;
99
+  border-radius: 8px;
100
+  font-size: 16px;
101
+  font-weight: 500;
102
+  border: none;
103
+  cursor: pointer;
104
+  transition: opacity 0.2s;
105
+}
106
+
107
+.btn:hover {
108
+  opacity: 0.9;
109
+}
110
+
111
+/* 次要按钮(返回):白色边框+浅灰文字 */
112
+.back-btn {
113
+  background-color: #fff;
114
+  color: #2d3748;
115
+  border: 1px solid #e2e8f0;
116
+}
117
+
118
+/* 主要按钮(首页):绿色背景+白色文字 */
119
+.home-btn {
120
+  background-color: #38a169;
121
+  color: #fff;
122
+}
123
+</style>

+ 1 - 0
pages/changePw/index.vue

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
 	<view class="changePw_wrap">
3
+		<u-navbar title="修改密码" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
3 4
 		<view class="ps_wrap">
4 5
 			<u-icon name="error" color="#409eff" size="16"></u-icon>
5 6
 			<text class="text">为保障您的账号安全,修改密码前请填写原密码</text>

+ 1 - 1
pages/circumstances/index.vue

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
 	<view class="cirumstances_wrap">
3
-		<u-navbar placeholder :autoBack="true" title="环境监测">
3
+		<u-navbar placeholder :autoBack="true" title="环境监测" v-hideNav>
4 4
 			<view class="u-nav-slot right_btn" slot="right">
5 5
 				<view class="reset" @click="handleReset">
6 6
 					<u-icon name="reload" color="#108CFF"></u-icon>刷新

+ 1 - 1
pages/clue/components/filterQuery.vue

@@ -583,7 +583,7 @@
583 583
 				});
584 584
 
585 585
 				// 获取所有线索标签
586
-				uni.$u.api.getClueTagGroupVoList().then(({
586
+				uni.$u.api.getClueTagGroupVoList({ tagGroupApplication : '1' }).then(({
587 587
 					data
588 588
 				}) => {
589 589
 					this.clueTagGroupVoList = data.reduce((acc, cur) => {

+ 17 - 1
pages/clue/mixins/clue.js

@@ -184,7 +184,7 @@ export default {
184 184
 			this.$getDicts('clue_entrance_type').then(res => {
185 185
 				this.dicts.clueEntranceType = res;
186 186
 			});
187
-			uni.$u.api.getClueTagGroupVoList().then(({
187
+			uni.$u.api.getClueTagGroupVoList({ tagGroupApplication : '1' }).then(({
188 188
 				data
189 189
 			}) => {
190 190
 				this.clueTagGroupVoList = data;
@@ -239,6 +239,22 @@ export default {
239 239
 				pageSize,
240 240
 				pageNum
241 241
 			}, params);
242
+			rows.forEach(v=>{
243
+				if(v.repetitionOperationName){
244
+					// 按逗号分割成数组
245
+					const parts = v.repetitionOperationName.split(',');
246
+					// 对每个部分提取 '-' 前面的内容
247
+					const result = parts.map(part => part.split('-')[0]).join(',');
248
+					v.repetitionOperationName = result;
249
+				}
250
+				if(v.repetitionOperWeixinName){
251
+					// 按逗号分割成数组
252
+					const parts = v.repetitionOperWeixinName.split(',');
253
+					// 对每个部分提取 '-' 前面的内容
254
+					const result = parts.map(part => part.split('-')[0]).join(',');
255
+					v.repetitionOperWeixinName = result;
256
+				}
257
+			})
242 258
 			return rows;
243 259
 		}
244 260
 	}

+ 1 - 2
pages/clueDetail/index.vue

@@ -1,10 +1,9 @@
1 1
 <template>
2 2
 	<view>
3
-		<u-navbar placeholder :autoBack="true">
3
+		<u-navbar placeholder :autoBack="true" v-hideNav>
4 4
 			<template slot="center">
5 5
 				<view class="navbar_center_wrap">
6 6
 					<text class="name">{{name}}</text>
7
-					<text class="pinyin">{{$chineseToPinYin(name)}}</text>
8 7
 				</view>
9 8
 			</template>
10 9
 		</u-navbar>

+ 1 - 1
pages/clueDetail/page/clueDetail.vue

@@ -287,7 +287,7 @@ import {
287 287
 				this.$getDicts('crm_clue_phase').then((res => {
288 288
 					this.crmCluePhaseDict = res.filter(v => v.dictValue !== '6');
289 289
 				}))
290
-				uni.$u.api.getClueTagGroupVoList().then(({data})=>{
290
+				uni.$u.api.getClueTagGroupVoList({ tagGroupApplication : '1' }).then(({data})=>{
291 291
 					this.clueTagGroupVoList = data;
292 292
 				});
293 293
 				this.getDetail();

+ 4 - 2
pages/index/index.vue

@@ -1,6 +1,7 @@
1 1
 <template>
2 2
 	<view>
3
-		<u-sticky class="sticky_wrap"  bgColor="#fff">
3
+		<u-navbar title="首页" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
4
+		<u-sticky class="sticky_wrap" :customNavHeight="isWeixin ? 0 : undefined"  bgColor="#fff">
4 5
 			<view class="header_wrap">
5 6
 				<view class="header_top_wrap" @click="toPerson">
6 7
 					<view class="header_info_left">
@@ -38,6 +39,7 @@
38 39
 	import dayjs from "dayjs";
39 40
 	import personage from "./personage/index.vue";
40 41
 	import team from "./team/index.vue";
42
+	import { is_weixin } from "../../utils/util";
41 43
 	export default {
42 44
 		components : { personage , team },
43 45
 		data() {
@@ -50,7 +52,7 @@
50 52
 					value: "personage"
51 53
 				}],
52 54
 				activeTab: "team",
53
-
55
+				isWeixin : is_weixin(),
54 56
 				userInfo: this.$store.state.user.userInfo,
55 57
 			};
56 58
 		},

+ 27 - 3
pages/login/index.vue

@@ -39,6 +39,7 @@
39 39
 	export default {
40 40
 		data() {
41 41
 			return {
42
+				firstLoginState : "",
42 43
 				// systemList,
43 44
 				prefixIconStyle: {
44 45
 					width: "16px",
@@ -92,6 +93,10 @@
92 93
 			this.systemChange(this.form.systemCode);
93 94
 			this.getUserByCache();
94 95
 		},
96
+		onLoad(option){
97
+			const { shiYuWxLogin } = option;
98
+			this.firstLoginState = shiYuWxLogin;
99
+		},
95 100
 		methods: {
96 101
 			changeRemember(value){
97 102
 				if (value.length > 0) {
@@ -137,7 +142,24 @@
137 142
 						uni.removeStorageSync('username');
138 143
 						uni.removeStorageSync('password');
139 144
 					}
140
-					this.$store.dispatch("user/login", this.form).then(() => {
145
+					this.$store.dispatch("user/login", this.form).then(async (userId) => {
146
+						// #ifdef H5
147
+						if(this.firstLoginState){
148
+							// 有state要绑定一下用户
149
+						  	await uni.$u.api.firstLogin({ userId , firstLoginState : this.firstLoginState });
150
+							
151
+							uni.reLaunch({
152
+								url:"/pages/bindSuccess/index",
153
+								success: () => {
154
+									uni.$u.toast("绑定成功");
155
+								}
156
+							});
157
+						}else{
158
+							uni.$u.toast("授权失败,无法绑定");
159
+						}
160
+						// #endif
161
+						
162
+						// #ifdef  APP-PLUS
141 163
 						uni.switchTab({
142 164
 							url: `/pages/person/index`,
143 165
 							success: () => {
@@ -145,8 +167,10 @@
145 167
 								uni.$u.toast("登录成功");
146 168
 							}
147 169
 						})
148
-					}).catch(() => {
149
-						uni.$u.toast("请检查您是否有该系统权限");
170
+						// #endif
171
+						
172
+					}).catch((res) => {
173
+						uni.$u.toast(res);
150 174
 					})
151 175
 				})
152 176
 			},

+ 1 - 0
pages/message/index.vue

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
 	<view class="message_wrap">
3
+		<u-navbar title="我的消息" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
3 4
 		<view class="message_list" v-if="isShow">
4 5
 			<view class="message_item" v-for="(item,index) in list" :key="index" @click="handleToList(item)">
5 6
 				<view class="item_left">

+ 1 - 0
pages/messageList/index.vue

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
 	<view class="messageList_wrap">
3
+		<u-navbar title="提醒消息" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
3 4
 		<view class="message_item" v-for="item in listData" :key="item.id">
4 5
 			<view class="message_top" :class="{ status_0 : item.status === '0' }">
5 6
 				{{handleMessage(item)}}

+ 5 - 5
pages/person/index.vue

@@ -32,11 +32,11 @@
32 32
 				</view>
33 33
 				<view class="parson_menu_wrap">
34 34
 					<view class="parson_menu_list">
35
-						<navigator url="/pages/market/index" open-type="switchTab" class="menu_item" hover-class="none">
35
+						<navigator url="/pages/publicClue/index" open-type="switchTab" class="menu_item" hover-class="none">
36 36
 							<image src="@/static/parson/icon-wf.png" mode=""></image>
37
-							<text>我的销售</text>
37
+							<text>销售公海</text>
38 38
 						</navigator>
39
-						<navigator url='/pages/message/index' open-type="switchTab" class="menu_item" hover-class="none">
39
+						<navigator url='/pages/message/index' open-type="navigate" class="menu_item" hover-class="none">
40 40
 							<image src="@/static/parson/icon-myMessage.png" mode=""></image>
41 41
 							<text>我的消息</text>
42 42
 						</navigator>
@@ -44,9 +44,9 @@
44 44
 							<image src="@/static/parson/icon-mycase.png" mode=""></image>
45 45
 							<text>个人资料</text>
46 46
 						</navigator>
47
-						<navigator url='/pages/clue/index?type=2' open-type="navigate" class="menu_item" hover-class="none">
47
+						<navigator url='/pages/privateClue/index' open-type="switchTab" class="menu_item" hover-class="none">
48 48
 							<image src="@/static/parson/clue.png" mode=""></image>
49
-							<text>我的线索</text>
49
+							<text>销售线索</text>
50 50
 						</navigator>
51 51
 					</view>
52 52
 				</view>

+ 1 - 0
pages/privateClue/index.vue

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
 	<view>
3
+		<u-navbar title="销售线索" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
3 4
 		<view class="case_top_wrap">
4 5
 			<ld-select :list="options" label-key="label" value-key="value" placeholder="选择搜索类型"
5 6
 				v-model="queryParams.condition" class="conditionSelect" @change="handleConditionChange" :isShowIcon="true"></ld-select>

+ 1 - 0
pages/publicClue/index.vue

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
 	<view>
3
+		<u-navbar title="线索公海" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
3 4
 		<view class="case_top_wrap">
4 5
 			<ld-select :list="options" label-key="label" value-key="value" placeholder="选择搜索类型"
5 6
 				v-model="queryParams.condition" class="conditionSelect" @change="handleConditionChange" :isShowIcon="true"></ld-select>

+ 1 - 0
pages/setting/index.vue

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
 	<view class="setting_wrap">
3
+		<u-navbar title="我的设置" :autoBack="true" :placeholder="true" v-hideNav></u-navbar>
3 4
 		<view class="option_list">
4 5
 			<view class="option_item" @click="toPersonal">
5 6
 				<view class="item_left">

+ 1 - 0
static/MP_verify_ajPW8XyRre1CNFvh.txt

@@ -0,0 +1 @@
1
+ajPW8XyRre1CNFvh

+ 12 - 10
store/modules/user.js

@@ -28,17 +28,22 @@ export default {
28 28
 		netConfig: {
29 29
 			// http://59.42.9.166:9520/proxy
30 30
 			// http://10.0.7.100:9500
31
-			ip : "http://47.122.23.214", // ip
32
-			// ip: "http://172.16.7.101", // ip
33
-			port: "9500", // 端口
31
+			ip : "https://crm.nanjingshiyu.com/prod-api", // ip
32
+			// ip: "http://172.16.7.200", // ip
33
+			port: "", // 端口
34 34
 			isCallOff : "2", // 开关
35 35
 			folder: "", // 文件夹
36 36
 			webRtcIp : "", // 呼叫中心的ip
37 37
 			webRtcPort : "", // 呼叫中心的端口
38 38
 		},
39 39
 		systemList: [],
40
+		
41
+		redirectUrl : null,
40 42
 	},
41 43
 	mutations: {
44
+		SET_REDIRECTURL(state,data){
45
+			state.redirectUrl = data;
46
+		},
42 47
 		SET_USER_ONLINE_STATUS:(state,data)=>{
43 48
 		    state.userInfo.onlineStatus = data;
44 49
 		},
@@ -107,11 +112,7 @@ export default {
107 112
 					commit("SET_BELONGSYSTEM", {
108 113
 						code: state.system.value,
109 114
 						callback: (flag) => {
110
-							if (flag) {
111
-								resolve();
112
-							} else {
113
-								reject();
114
-							}
115
+							resolve(res.user);
115 116
 						}
116 117
 					});
117 118
 				});
@@ -126,8 +127,9 @@ export default {
126 127
 				uni.$u.api.login(form).then((loginRes) => {
127 128
 					const token = loginRes.data.access_token;
128 129
 					commit("SET_TOKEN", token);
129
-					dispatch("getUserInfo").then(() => {
130
-						resolve();
130
+					dispatch("getUserInfo").then((userInfo) => {
131
+						const { userId } = userInfo;
132
+						resolve(userId);
131 133
 					}).catch(() => {
132 134
 						commit("SET_TOKEN", "");
133 135
 						commit("SET_USERINFO", {});

+ 4 - 2
utils/api.js

@@ -52,7 +52,7 @@ const install = (Vue, vm) => {
52 52
 		statisticsAddClueCount : (data,config = {})=>http.post(store.state.user.path + '/clueMainInfo/statisticsAddClueCount',data), // 统计添加阶段
53 53
 		getClueMainInfoList : (params = {},data = {})=> http.post(store.state.user.path + '/clueMainInfo/getClueMainInfoList?' + qs.stringify(params),data), // 线索列表
54 54
 		getUserByUserIds : (params)=>http.get('/system/user/getUserByUserIds',{params}), //
55
-		getClueTagGroupVoList : ()=>http.get(store.state.user.path + "/clueTagGroup/getClueTagGroupVoList"), // 获取线索标签;
55
+		getClueTagGroupVoList : (params = {})=>http.get(store.state.user.path + "/clueTagGroup/getClueTagGroupVoList",{ params }), // 获取线索标签;
56 56
 		getClueMainInfoVoById : (params = {},config = {})=>http.get(store.state.user.path + "/clueMainInfo/getClueMainInfoVoById",{ params , custom : { loading: false },timeout: 1500}), // 获取线索详情;
57 57
 		updateClueFixedFieldsClueState:(data,config = {})=>http.post(store.state.user.path + '/clueFixedFields/updateClueFixedFieldsClueState',data),
58 58
 		updateClueFixedFieldsAllTags:(data,config = {})=>http.post(store.state.user.path + '/clueFixedFields/updateClueFixedFieldsAllTags',data),
@@ -68,7 +68,9 @@ const install = (Vue, vm) => {
68 68
 		addClueMainInfo : (data,config = {})=>http.post(store.state.user.path + '/clueMainInfo/addClueMainInfo',data),
69 69
 		saveLog:(data,config={})=>http.post("/system/access/saveLog",data,{ custom : { loading: false } }),
70 70
 		updateClueMainInfo:(data,config={})=>http.post(store.state.user.path + '/clueMainInfo/updateClueMainInfo',data),
71
-		selectPromotionStats:(data,config={})=>http.post(store.state.user.path + '/promotionStats/selectPromotionStats',data)
71
+		selectPromotionStats:(data,config={})=>http.post(store.state.user.path + '/promotionStats/selectPromotionStats',data),
72
+		firstLogin : (data)=> http.post('/system/user/firstLogin',data),
73
+		shiYuWxLoginGetInfo : (params)=> http.get('/auth/shiYuWxLoginGetInfo',{params, custom : { noAuth: true }}),
72 74
 	}
73 75
 }
74 76
 

+ 14 - 0
utils/hideNav.js

@@ -0,0 +1,14 @@
1
+import { is_weixin } from "@/utils/util.js";
2
+const hideNav = {
3
+    install (Vue){
4
+        Vue.directive('hideNav', {
5
+            inserted: function (el,binding) {
6
+				if(is_weixin()){
7
+					// TODO 后面要改成用配置隐藏
8
+					el.remove();
9
+				}
10
+            },
11
+        })
12
+    }
13
+}
14
+export default hideNav;

+ 1 - 1
utils/request.js

@@ -26,7 +26,7 @@ const install = (Vue, vm) => {
26 26
     // 请求拦截
27 27
     uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
28 28
 		const { ip, port, folder } = store.state.user.netConfig;
29
-		const baseURL = ip + ":" + port + folder; /* 根域名 */
29
+		const baseURL = ip + (port ? ":" + port : "") + folder; /* 根域名 */
30 30
 		// 处理请求url的逻辑
31 31
 		config.url = baseURL + config.url;
32 32
 		

+ 14 - 0
utils/util.js

@@ -15,6 +15,20 @@ export function mapRoutePlan(data) {
15 15
 }
16 16
 
17 17
 
18
+// 在需要的页面中写方法,判断是否在微信浏览器中
19
+export function is_weixin() {
20
+	let flag = false;
21
+	// #ifdef H5
22
+	flag = String(navigator.userAgent.toLowerCase().match(/MicroMessenger/i)) === "micromessenger";
23
+	// #endif
24
+	
25
+	// #ifdef  APP-PLUS
26
+	flag = false;
27
+	// #endif
28
+	return flag;
29
+}
30
+
31
+
18 32
 /**
19 33
  * 获取Androoid设备mac地址
20 34
  * */