Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
self-support
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李俊赕
self-support
Commits
4cf29477
Commit
4cf29477
authored
4 years ago
by
高铭波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
缓存图片优化
埋点问题修复 登录模块优化
parent
feb6bf37
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
408 additions
and
432 deletions
+408
-432
App.vue
src/App.vue
+26
-60
learn.js
src/common/api/learn.js
+5
-1
customer.vue
src/components/mine/customer.vue
+21
-19
learn.vue
src/pages/index/learn.vue
+82
-83
mine.vue
src/pages/index/mine.vue
+7
-5
answer.vue
src/pages/learn/answer.vue
+129
-187
assessment.vue
src/pages/learn/assessment.vue
+25
-26
section.vue
src/pages/learn/section.vue
+2
-1
index.vue
src/pages/login/index.vue
+21
-15
index.vue
src/pages/mine/wallet/index.vue
+2
-1
settlement.vue
src/pages/mine/wallet/settlement.vue
+3
-2
statement.vue
src/pages/mine/wallet/statement.vue
+3
-2
index.js
src/store/index.js
+4
-1
login.js
src/utils/login.js
+20
-2
util.js
src/utils/util.js
+58
-27
No files found.
src/App.vue
View file @
4cf29477
...
@@ -38,9 +38,7 @@ export default {
...
@@ -38,9 +38,7 @@ export default {
"接单操作须知有助你快速了解充电桩安装业务,提高接单效率,请认真查看及学习。"
,
"接单操作须知有助你快速了解充电桩安装业务,提高接单效率,请认真查看及学习。"
,
},
},
},
},
// 退出登录
// 授权用户信息
authUserInfo
:
""
,
logout
:
false
,
logout
:
false
,
navHeight
:
0
,
//导航栏高度
navHeight
:
0
,
//导航栏高度
rpxScreenHeight
:
0
,
// 照相视框高度
rpxScreenHeight
:
0
,
// 照相视框高度
...
@@ -153,14 +151,10 @@ export default {
...
@@ -153,14 +151,10 @@ export default {
wxAppNo
:
that
.
globalData
.
wxAppNo
,
// 自营平台小程序
wxAppNo
:
that
.
globalData
.
wxAppNo
,
// 自营平台小程序
};
};
let
result
=
await
that
.
$u
.
api
.
loginWechatAuth
(
params
);
let
result
=
await
that
.
$u
.
api
.
loginWechatAuth
(
params
);
console
.
log
(
"result"
,
result
)
if
(
result
&&
result
.
code
==
200
&&
result
.
data
&&
result
.
data
.
token
)
{
if
(
login
.
setUserData
(
result
.
data
,
this
);
result
&&
this
.
profileSet
(
this
)
result
.
code
==
200
&&
this
.
profileAppend
(
this
)
result
.
data
&&
result
.
data
.
token
)
{
that
.
setUserData
(
result
.
data
);
}
else
{
}
else
{
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"pages/login/index"
,
url
:
"pages/login/index"
,
...
@@ -174,25 +168,6 @@ export default {
...
@@ -174,25 +168,6 @@ export default {
}
}
});
});
},
},
setUserData
(
userInfo
,
that
)
{
let
self
=
that
?
that
:
this
if
(
userInfo
&&
userInfo
.
token
)
{
// 如果已经登录则直接获取相关信息
self
.
$u
.
vuex
(
"vuex_token"
,
userInfo
.
token
);
self
.
$u
.
vuex
(
"vuex_user"
,
userInfo
);
self
.
$u
.
vuex
(
"vuex_wx_uid"
,
userInfo
.
wxopenid
);
this
.
track
(
'auth_login'
,
{
auth_token
:
userInfo
.
token
,
auth_user
:
userInfo
,
auth_wx_uid
:
userInfo
.
wxopenid
});
}
else
{
self
.
$u
.
vuex
(
"vuex_token"
,
""
);
self
.
$u
.
vuex
(
"vuex_user"
,
null
);
self
.
$u
.
vuex
(
"vuex_wx_uid"
,
""
);
}
self
.
$u
.
vuex
(
"vuex_settled"
,
null
);
},
/* 版本更新 */
/* 版本更新 */
async
updateApp
()
{
async
updateApp
()
{
...
@@ -229,41 +204,32 @@ export default {
...
@@ -229,41 +204,32 @@ export default {
AnalysysAgent
.
track
(
"self_support_"
+
event
,
properties
);
AnalysysAgent
.
track
(
"self_support_"
+
event
,
properties
);
}
}
},
},
identify
(
userInfo
,
openid
,
unionid
=
null
)
{
profileSet
(
vm
)
{
// 设备身份表示
// 设备身份标识
if
(
AnalysysAgent
)
{
let
setProfile
=
{
openid
:
openid
,
unionid
:
unionid
,
};
setProfile
=
Object
.
assign
(
setProfile
,
userInfo
);
AnalysysAgent
.
profileSet
(
setProfile
);
}
},
setUserId
(
userId
)
{
// 用户id设置
if
(
AnalysysAgent
)
{
if
(
AnalysysAgent
)
{
AnalysysAgent
.
alias
(
userId
+
""
);
let
user
=
vm
.
$u
.
deepClone
(
vm
.
vuex_user
);
let
profile
=
vm
.
$u
.
deepClone
(
vm
.
vuex_auth_user
);
profile
.
openid
=
user
.
wxopenid
||
profile
.
openid
profile
.
unionid
=
user
.
unionid
||
profile
.
unionid
||
null
AnalysysAgent
.
profileSet
(
profile
);
}
}
},
},
setUser
(
user
)
{
profileAppend
(
vm
)
{
// 用户附加属性
if
(
AnalysysAgent
)
{
if
(
AnalysysAgent
)
{
let
userInfo
=
{
let
user
=
vm
.
$u
.
deepClone
(
vm
.
vuex_user
);
mobile
:
user
.
mobile
,
// 用户id设置
userfrom_id
:
user
.
uid
,
AnalysysAgent
.
alias
(
user
.
id
+
""
);
userfrom
:
"自营平台"
,
// 用户附加属性
avatar
:
user
.
avatar
,
let
profile
=
{
nickname
:
user
.
nickname
,
userfrom
:
"自营平台"
,
username
:
user
.
username
,
id
:
user
.
id
,
wxhuid
:
user
.
wxhuid
,
mobile
:
user
.
mobile
,
id
:
user
.
id
,
loginName
:
user
.
loginName
,
money
:
user
.
money
,
source
:
user
.
score
,
score
:
user
.
score
,
};
};
Object
.
keys
(
userInfo
).
map
((
key
)
=>
{
Object
.
keys
(
profile
).
map
((
key
)
=>
{
if
(
key
&&
userInfo
[
key
])
{
if
(
key
&&
profile
[
key
])
{
AnalysysAgent
.
profileAppend
(
key
,
userInfo
[
key
]);
AnalysysAgent
.
profileAppend
(
key
,
profile
[
key
]);
}
}
});
});
}
}
...
...
This diff is collapsed.
Click to expand it.
src/common/api/learn.js
View file @
4cf29477
...
@@ -18,8 +18,12 @@ let learnApiFun = function(vm){
...
@@ -18,8 +18,12 @@ let learnApiFun = function(vm){
/* 获取考试结果 */
/* 获取考试结果 */
let
getExamResult
=
async
(
examId
,
params
=
{})
=>
await
vm
.
$u
.
post
(
sysApiUrl
+
'/wxh-worker-rest/rest/exam/serviceRule/userExamInfo/'
+
vm
.
vuex_token
+
'?examId='
+
examId
,
params
);
let
getExamResult
=
async
(
examId
,
params
=
{})
=>
await
vm
.
$u
.
post
(
sysApiUrl
+
'/wxh-worker-rest/rest/exam/serviceRule/userExamInfo/'
+
vm
.
vuex_token
+
'?examId='
+
examId
,
params
);
/* 申请考试 */
let
applyExam
=
async
(
examId
,
params
=
{})
=>
await
vm
.
$u
.
post
(
sysApiUrl
+
'/wxh-worker-rest/rest/exam/serviceRule/'
+
vm
.
vuex_token
+
'?examId='
+
examId
,
params
);
/* 获取下一题 */
let
getNextQuestion
=
async
(
userExamId
,
questionId
,
userAnswerIds
,
params
=
{})
=>
await
vm
.
$u
.
post
(
sysApiUrl
+
'/wxh-worker-rest/rest/exam/serviceRule/next/'
+
vm
.
vuex_token
+
'?userExamId='
+
userExamId
+
'&questionId='
+
questionId
+
'&userAnswerIds='
+
(
userAnswerIds
||
"9999"
),
params
);
const
learnApi
=
{
const
learnApi
=
{
getTrainingNoticeList
,
CourseList
,
ChapterDetails
,
CourseSection
,
updateLearnCourses
,
getExamResult
getTrainingNoticeList
,
CourseList
,
ChapterDetails
,
CourseSection
,
updateLearnCourses
,
getExamResult
,
applyExam
,
getNextQuestion
}
}
return
learnApi
return
learnApi
}
}
...
...
This diff is collapsed.
Click to expand it.
src/components/mine/customer.vue
View file @
4cf29477
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
util
from
'@/utils/util.js'
export
default
{
export
default
{
props
:
{
props
:
{
type
:
{
// exclusive:专属; mine:我的页面客服; pop:弹窗;
type
:
{
// exclusive:专属; mine:我的页面客服; pop:弹窗;
...
@@ -44,13 +45,14 @@
...
@@ -44,13 +45,14 @@
},
},
computed
:
{
computed
:
{
cusQrcode
()
{
cusQrcode
()
{
return
process
.
uniEnv
.
qn_base_url
+
(
this
.
isMine
?
'erweima-rk.png'
:
'dingdanzhushou-n.png'
)
let
src
=
this
.
isMine
?
'erweima-rk.png'
:
'dingdanzhushou-n.png'
;
},
return
util
.
imageCache
(
this
,
src
)
kefuzxiaoxiImage
()
{
},
return
process
.
uniEnv
.
qn_base_url
+
'kefuzxiaoxi.png'
kefuzxiaoxiImage
()
{
return
util
.
imageCache
(
this
,
'kefuzxiaoxi.png'
)
},
},
minekefutuImage
()
{
minekefutuImage
()
{
return
process
.
uniEnv
.
qn_base_url
+
this
.
imageName
return
util
.
imageCache
(
this
,
this
.
imageName
)
},
},
imageName
()
{
imageName
()
{
return
this
.
isMine
?
'kefufuwu-n.png'
:
'kefutuzs.png'
return
this
.
isMine
?
'kefufuwu-n.png'
:
'kefutuzs.png'
...
@@ -252,19 +254,19 @@
...
@@ -252,19 +254,19 @@
}
}
.settle-button
{
.settle-button
{
margin-bottom
:
14rpx
;
margin-bottom
:
14rpx
;
width
:
400rpx
;
width
:
400rpx
;
height
:
104rpx
;
height
:
104rpx
;
font-size
:
32rpx
;
font-size
:
32rpx
;
background-color
:
#2272FF
;
background-color
:
#2272FF
;
border-radius
:
52rpx
;
border-radius
:
52rpx
;
line-height
:
104rpx
;
line-height
:
104rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
&
.is-mine
{
&
.is-mine
{
width
:
300rpx
;
width
:
300rpx
;
height
:
80rpx
;
height
:
80rpx
;
border-radius
:
40rpx
;
border-radius
:
40rpx
;
line-height
:
80rpx
;
line-height
:
80rpx
;
}
}
}
}
...
@@ -283,4 +285,4 @@
...
@@ -283,4 +285,4 @@
}
}
}
}
}
}
</
style
>
</
style
>
This diff is collapsed.
Click to expand it.
src/pages/index/learn.vue
View file @
4cf29477
...
@@ -98,7 +98,7 @@
...
@@ -98,7 +98,7 @@
<text
class=
"font-default-color"
:class=
"
{'font-active-color':courselist[2].percent}" v-text="courselist[2].status">
</text>
<text
class=
"font-default-color"
:class=
"
{'font-active-color':courselist[2].percent}" v-text="courselist[2].status">
</text>
</view>
</view>
</view>
</view>
<
!--
<
view
class=
"learn-class1 u-margin-left-30"
@
click=
"goPlay(courselist[3])"
>
<view
class=
"learn-class1 u-margin-left-30"
@
click=
"goPlay(courselist[3])"
>
<image
class=
"learn-img"
:src=
"courselist[3].pic"
mode=
""
></image>
<image
class=
"learn-img"
:src=
"courselist[3].pic"
mode=
""
></image>
<image
class=
"bofang"
:src=
"bofang"
mode=
""
></image>
<image
class=
"bofang"
:src=
"bofang"
mode=
""
></image>
<view
class=
"learn-desc"
>
<view
class=
"learn-desc"
>
...
@@ -114,7 +114,7 @@
...
@@ -114,7 +114,7 @@
</u-line-progress>
</u-line-progress>
<text
class=
"font-default-color"
:class=
"
{'font-active-color':courselist[3].percent}" v-text="courselist[3].status">
</text>
<text
class=
"font-default-color"
:class=
"
{'font-active-color':courselist[3].percent}" v-text="courselist[3].status">
</text>
</view>
</view>
</view>
-->
</view>
</view>
</view>
</scroll-view>
</scroll-view>
</swiper-item>
</swiper-item>
...
@@ -192,15 +192,15 @@ var json = {
...
@@ -192,15 +192,15 @@ var json = {
id
:
173
,
id
:
173
,
sectionId
:
""
,
sectionId
:
""
,
},
},
//
{
{
//
title: "充电桩安装要点提示",
title
:
"充电桩安装要点提示"
,
//
desc: "在充电装安装过程中需要着重注意的要点",
desc
:
"在充电装安装过程中需要着重注意的要点"
,
//
pic: process.uniEnv.qn_base_url + "cdz-3x-v2.png",
pic
:
process
.
uniEnv
.
qn_base_url
+
"cdz-3x-v2.png"
,
//
percent: 0,
percent
:
0
,
//
status: "",
status
:
""
,
//
id: 173,
id
:
173
,
//
sectionId: "",
sectionId
:
""
,
//
},
},
],
],
test
:
[
test
:
[
{
{
...
@@ -230,15 +230,15 @@ var json = {
...
@@ -230,15 +230,15 @@ var json = {
id
:
151
,
id
:
151
,
sectionId
:
""
,
sectionId
:
""
,
},
},
//
{
{
//
title: "充电桩安装要点提示",
title
:
"充电桩安装要点提示"
,
//
desc: "在充电装安装过程中需要着重注意的要点",
desc
:
"在充电装安装过程中需要着重注意的要点"
,
//
pic: process.uniEnv.qn_base_url + "cdz-3x-v2.png",
pic
:
process
.
uniEnv
.
qn_base_url
+
"cdz-3x-v2.png"
,
//
percent: 0,
percent
:
0
,
//
status: "",
status
:
""
,
//
id: 151,
id
:
151
,
//
sectionId: "",
sectionId
:
""
,
//
},
},
],
],
prod
:
[
prod
:
[
{
{
...
@@ -268,15 +268,15 @@ var json = {
...
@@ -268,15 +268,15 @@ var json = {
id
:
599
,
id
:
599
,
sectionId
:
""
,
sectionId
:
""
,
},
},
//
{
{
//
title: "学习-我的模块",
title
:
"学习-我的模块"
,
//
desc: "学习-我的模块",
desc
:
"学习-我的模块"
,
//
pic: process.uniEnv.qn_base_url + "yaodiantishi.png",
pic
:
process
.
uniEnv
.
qn_base_url
+
"yaodiantishi.png"
,
//
percent: 0,
percent
:
0
,
//
status: "",
status
:
""
,
//
id: 600,
id
:
600
,
//
sectionId: "",
sectionId
:
""
,
//
},
},
],
],
};
};
...
@@ -419,16 +419,16 @@ export default {
...
@@ -419,16 +419,16 @@ export default {
id
:
courseListJson
[
2
].
id
,
id
:
courseListJson
[
2
].
id
,
sectionId
:
courseListJson
[
2
].
sectionId
,
sectionId
:
courseListJson
[
2
].
sectionId
,
}
}
//
,
,
//
{
{
//
title: courseListJson[3].title,
title
:
courseListJson
[
3
].
title
,
//
desc: courseListJson[3].desc,
desc
:
courseListJson
[
3
].
desc
,
//
percent: courseListJson[3].percent,
percent
:
courseListJson
[
3
].
percent
,
//
status: courseListJson[3].status,
status
:
courseListJson
[
3
].
status
,
//
pic: courseListJson[3].pic,
pic
:
courseListJson
[
3
].
pic
,
//
id: courseListJson[3].id,
id
:
courseListJson
[
3
].
id
,
//
sectionId: courseListJson[3].sectionId,
sectionId
:
courseListJson
[
3
].
sectionId
,
//
},
},
],
],
examList
:
[
examList
:
[
{
{
...
@@ -695,55 +695,54 @@ export default {
...
@@ -695,55 +695,54 @@ export default {
let
length
=
this
.
examList
.
length
;
let
length
=
this
.
examList
.
length
;
for
(
let
i
=
0
;
i
<
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
length
;
i
++
)
{
let
examId
=
this
.
examList
[
i
].
id
;
let
examId
=
this
.
examList
[
i
].
id
;
this
.
$u
.
api
this
.
$u
.
api
.
getExamResult
(
examId
)
.
getExamResult
(
examId
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
code
!=
200
)
{
if
(
res
.
code
!=
200
)
{
console
.
log
(
"getUserExamInfo 200 err"
);
console
.
log
(
"getUserExamInfo 200 err"
);
uni
.
showToast
({
icon
:
"none"
,
title
:
"获取考试信息失败"
,
});
}
this
.
examList
[
i
].
examId
=
res
.
data
.
id
;
this
.
examList
[
i
].
examStatus
=
res
.
data
.
examStatus
;
//i;//
this
.
examList
[
i
].
questionTime
=
res
.
data
.
questionTime
;
let
examResult
=
res
.
data
.
examLevelResult
;
this
.
examList
[
i
].
status
=
examResult
!=
""
?
examResult
:
"未通过"
;
//动态获取条件
let
ruleDisc
=
res
.
data
.
ruleDisc
;
let
targetIndex
=
ruleDisc
.
indexOf
(
"("
);
if
(
targetIndex
)
{
this
.
examList
[
i
].
condition
=
ruleDisc
.
substr
(
targetIndex
+
1
)
.
replace
(
")"
,
""
);
}
// examStatus 用户考试状态 0考试中 1考试完成 2未参与
that
.
exam
=
res
.
data
;
if
(
res
.
data
.
examStatus
==
2
)
{
return
;
}
if
(
res
.
data
.
examStatus
==
1
)
{
that
.
examList
[
i
].
isComplete
=
this
.
examList
[
i
].
status
==
"已通过"
;
that
.
examScore
=
res
.
data
.
examScore
;
return
;
}
if
(
res
.
data
.
examStatus
==
0
)
{
that
.
userExamId
=
res
.
data
.
id
;
}
})
.
catch
((
err
)
=>
{
uni
.
hideLoading
();
uni
.
showToast
({
uni
.
showToast
({
icon
:
"none"
,
icon
:
"none"
,
title
:
"获取考试信息失败"
,
title
:
"获取考试信息失败"
,
});
});
}
this
.
examList
[
i
].
examId
=
res
.
data
.
id
;
this
.
examList
[
i
].
examStatus
=
res
.
data
.
examStatus
;
//i;//
this
.
examList
[
i
].
questionTime
=
res
.
data
.
questionTime
;
let
examResult
=
res
.
data
.
examLevelResult
;
this
.
examList
[
i
].
status
=
examResult
!=
""
?
examResult
:
"未通过"
;
//动态获取条件
let
ruleDisc
=
res
.
data
.
ruleDisc
;
let
targetIndex
=
ruleDisc
.
indexOf
(
"("
);
if
(
targetIndex
)
{
this
.
examList
[
i
].
condition
=
ruleDisc
.
substr
(
targetIndex
+
1
)
.
replace
(
")"
,
""
);
}
// examStatus 用户考试状态 0考试中 1考试完成 2未参与
that
.
exam
=
res
.
data
;
if
(
res
.
data
.
examStatus
==
2
)
{
return
;
}
if
(
res
.
data
.
examStatus
==
1
)
{
that
.
examList
[
i
].
isComplete
=
this
.
examList
[
i
].
status
==
"已通过"
;
that
.
examScore
=
res
.
data
.
examScore
;
return
;
}
if
(
res
.
data
.
examStatus
==
0
)
{
that
.
userExamId
=
res
.
data
.
id
;
}
})
.
catch
((
err
)
=>
{
uni
.
hideLoading
();
uni
.
showToast
({
icon
:
"none"
,
title
:
"获取考试信息失败"
,
});
});
});
}
}
},
},
//跳转到assessment页面
//跳转到assessment页面
...
...
This diff is collapsed.
Click to expand it.
src/pages/index/mine.vue
View file @
4cf29477
...
@@ -37,6 +37,8 @@
...
@@ -37,6 +37,8 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
util
from
'@/utils/util.js'
import
login
from
"@/utils/login.js"
;
const
app
=
getApp
();
const
app
=
getApp
();
export
default
{
export
default
{
data
()
{
data
()
{
...
@@ -121,10 +123,10 @@
...
@@ -121,10 +123,10 @@
return
this
.
avatar
||
this
.
placeholderImage
return
this
.
avatar
||
this
.
placeholderImage
},
},
wodebeijingImage
()
{
wodebeijingImage
()
{
return
this
.
qnPath
+
'wodebeijing.png'
return
util
.
imageCache
(
this
,
'wodebeijing.png'
)
},
},
placeholderImage
()
{
placeholderImage
()
{
return
this
.
qnPath
+
'touxiang.png'
return
util
.
imageCache
(
this
,
'touxiang.png'
)
},
},
headImageStyle
()
{
headImageStyle
()
{
return
this
.
avatar
?
'width:136rpx; height:136rpx;border-radius:68rpx'
:
'width:144rpx; height:144rpx;border-radius:72rpx'
return
this
.
avatar
?
'width:136rpx; height:136rpx;border-radius:68rpx'
:
'width:144rpx; height:144rpx;border-radius:72rpx'
...
@@ -174,12 +176,12 @@
...
@@ -174,12 +176,12 @@
this
.
$u
.
route
({
url
:
"pages/login/index"
})
this
.
$u
.
route
({
url
:
"pages/login/index"
})
},
},
logout
()
{
logout
()
{
app
.
setUserData
({},
this
)
login
.
setUserData
({},
this
);
app
.
globalData
.
logout
=
true
app
.
globalData
.
logout
=
true
},
},
async
allowLogin
()
{
async
allowLogin
()
{
let
res
=
await
this
.
$u
.
api
.
allowLogin
()
let
res
=
await
this
.
$u
.
api
.
allowLogin
()
if
(
res
&&
res
.
code
==
200
)
{
if
(
res
&&
res
.
code
==
200
)
{
this
.
showSuperButton
=
res
.
data
===
true
this
.
showSuperButton
=
res
.
data
===
true
}
}
...
...
This diff is collapsed.
Click to expand it.
src/pages/learn/answer.vue
View file @
4cf29477
...
@@ -95,7 +95,8 @@ export default {
...
@@ -95,7 +95,8 @@ export default {
timer
:
null
,
timer
:
null
,
isComplete
:
false
,
// 是否已经考试完成判定
isComplete
:
false
,
// 是否已经考试完成判定
examInfo
:
null
,
examInfo
:
null
,
isLoadQuestion
:
true
isLoadQuestion
:
true
,
isOnLoad
:
true
};
};
},
},
computed
:
{
computed
:
{
...
@@ -116,9 +117,8 @@ export default {
...
@@ -116,9 +117,8 @@ export default {
getApp
().
trackPage
(
'学习考试答题页'
)
getApp
().
trackPage
(
'学习考试答题页'
)
this
.
examId
=
e
.
examId
;
this
.
examId
=
e
.
examId
;
this
.
userExamId
=
e
.
userExamId
;
this
.
userExamId
=
e
.
userExamId
;
this
.
getNext
();
this
.
getUserExamInfo
();
// this.applyExam();
// this.getNext();
// this.getUserExamInfo();
},
},
onUnload
()
{
onUnload
()
{
clearTimeout
(
this
.
timer
);
clearTimeout
(
this
.
timer
);
...
@@ -176,14 +176,6 @@ export default {
...
@@ -176,14 +176,6 @@ export default {
const
result
=
txt
.
replace
(
reg
,
""
);
const
result
=
txt
.
replace
(
reg
,
""
);
return
result
;
return
result
;
},
},
//开始考试 点击
startClick
:
function
()
{
this
.
isStart
=
true
;
//this.getData()
//this.applyExam()
this
.
getUserExamInfo
();
},
gotoLogin
()
{
gotoLogin
()
{
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"/pages/login/wxlogin"
,
url
:
"/pages/login/wxlogin"
,
...
@@ -197,64 +189,59 @@ export default {
...
@@ -197,64 +189,59 @@ export default {
});
});
let
that
=
this
;
let
that
=
this
;
uni
.
request
({
let
examId
=
that
.
examId
;
url
:
this
.
$u
.
api
.
getExamResult
(
examId
)
systemApiUrl
+
.
then
((
res
)
=>
{
"/wxh-worker-rest/rest/exam"
+
uni
.
hideLoading
();
"/serviceRule/userExamInfo/"
+
if
(
!
res
.
data
)
{
that
.
vuex_token
+
return
;
"?examId="
+
}
this
.
examId
,
if
(
res
.
code
==
200
)
{
method
:
"POST"
,
//examStatus 用户考试状态 0考试中 1考试完成 2未参与
data
:
{
if
(
that
.
isOnLoad
&&
(
res
.
data
.
examStatus
==
1
||
res
.
data
.
examStatus
==
2
))
{
//examId:this.examId,
//刚进来是考试完成和未参与,直接申请考试
},
that
.
isOnLoad
=
false
;
header
:
{
that
.
applyExam
();
"Content-Type"
:
"application/x-www-form-urlencoded"
,
},
success
:
(
res
)
=>
{
uni
.
hideLoading
();
if
(
!
res
.
data
)
{
return
;
return
;
}
}
if
(
res
.
data
.
code
==
401
||
res
.
data
.
code
==
403
)
{
that
.
isOnLoad
=
false
;
//提示 提交结果失败 请再次提交
uni
.
showToast
({
if
(
res
.
data
.
examStatus
==
1
)
{
icon
:
"none"
,
that
.
isComplete
=
true
;
title
:
"获取考试结果失败,请再次尝试提交"
,
that
.
examScore
=
res
.
data
.
examScore
;
});
return
;
return
}
}
if
(
res
.
data
.
code
==
20
0
)
{
if
(
res
.
data
.
examStatus
==
0
)
{
//examStatus 用户考试状态 0考试中 1考试完成 2未参与
that
.
userExamId
=
res
.
data
.
id
;
if
(
res
.
data
.
data
.
examStatus
==
2
)
{
that
.
applyExam
()
;
let
key
=
'exma-'
+
this
.
examId
;
return
;
let
limitTime
=
uni
.
getStorageSync
(
key
)
;
}
if
(
limitTime
<=
0
||
limitTime
==
""
){
if
(
res
.
data
.
data
.
examStatus
==
1
)
{
let
time
=
parseInt
(
that
.
isComplete
=
true
;
that
.
timeDefine
[
"time-id-"
+
that
.
examId
]
that
.
examScore
=
res
.
data
.
data
.
examScore
;
)
;
return
;
that
.
endTime
=
time
;
}
that
.
currentTime
=
parseInt
(
time
*
1000
);
if
(
res
.
data
.
data
.
examStatus
==
0
)
{
}
else
{
that
.
userExamId
=
res
.
data
.
data
.
id
;
that
.
endTime
=
parseInt
(
limitTime
)
;
that
.
getNext
(
);
that
.
currentTime
=
parseInt
(
limitTime
*
1000
);
}
}
}
else
{
that
.
getNext
();
uni
.
showToast
({
icon
:
"none"
,
title
:
res
.
data
.
message
,
});
}
}
},
}
else
{
fail
:
(
e
)
=>
{
uni
.
hideLoading
();
uni
.
showToast
({
uni
.
showToast
({
icon
:
"none"
,
icon
:
"none"
,
title
:
"获取考试信息失败"
,
title
:
res
.
data
.
message
,
});
});
},
}
});
})
// .catch((err) => {
// uni.hideLoading();
// uni.showToast({
// icon: "none",
// title: err,
// });
// });
},
},
//申请考试
//申请考试
...
@@ -264,57 +251,38 @@ export default {
...
@@ -264,57 +251,38 @@ export default {
});
});
let
that
=
this
;
let
that
=
this
;
uni
.
request
({
let
examId
=
this
.
examId
;
url
:
this
.
$u
.
api
.
applyExam
(
examId
)
systemApiUrl
+
.
then
((
res
)
=>
{
"/wxh-worker-rest/rest/exam"
+
uni
.
hideLoading
();
"/serviceRule/"
+
if
(
res
.
code
==
200
)
{
that
.
vuex_token
+
if
(
res
.
data
.
userExamId
)
{
"?examId="
+
that
.
userExamId
=
res
.
data
.
userExamId
;
this
.
examId
,
method
:
"POST"
,
//申请完考试设置倒计时总时间
data
:
{
let
time
=
parseInt
(
//examId:this.examId,
this
.
timeDefine
[
"time-id-"
+
this
.
examId
]
},
);
header
:
{
this
.
endTime
=
time
;
"Content-Type"
:
"application/x-www-form-urlencoded"
,
// let timestamp = new Date().getTime();
},
// this.endTime = timestamp + time * 1000;
success
:
(
res
)
=>
{
this
.
currentTime
=
parseInt
(
time
*
1000
);
//this.formatTimeToMini(timestamp);//endTime-currentTime再格式化时间显示
uni
.
hideLoading
();
that
.
getNext
();
if
(
res
.
statusCode
==
401
)
{
this
.
gotoLogin
();
return
}
if
(
res
.
data
.
code
==
200
)
{
if
(
res
.
data
.
data
.
userExamId
)
{
that
.
userExamId
=
res
.
data
.
data
.
userExamId
;
//申请完考试设置倒计时总时间
let
time
=
parseInt
(
this
.
timeDefine
[
"time-id-"
+
this
.
examId
]
);
this
.
endTime
=
time
;
// let timestamp = new Date().getTime();
// this.endTime = timestamp + time * 1000;
this
.
currentTime
=
parseInt
(
time
*
1000
);
//this.formatTimeToMini(timestamp);//endTime-currentTime再格式化时间显示
that
.
getNext
();
}
}
else
{
uni
.
showToast
({
icon
:
"none"
,
title
:
res
.
data
.
message
,
});
}
}
},
}
else
{
fail
:
(
e
)
=>
{
uni
.
hideLoading
();
uni
.
showToast
({
uni
.
showToast
({
icon
:
"none"
,
icon
:
"none"
,
title
:
"申请考试 失败"
,
title
:
res
.
data
.
message
,
});
});
},
}
});
})
// .catch((err) => {
// uni.hideLoading();
// uni.showToast({
// icon: "none",
// title: "获取考试信息失败",
// });
// });
},
},
//获取下一题
//获取下一题
...
@@ -333,90 +301,64 @@ export default {
...
@@ -333,90 +301,64 @@ export default {
});
});
let
that
=
this
;
let
that
=
this
;
uni
.
request
({
url
:
this
.
$u
.
api
.
getNextQuestion
(
this
.
userExamId
,
questionId
,
this
.
userAnswerIds
)
systemApiUrl
+
.
then
((
res
)
=>
{
"/wxh-worker-rest/rest/exam"
+
uni
.
hideLoading
();
"/serviceRule/next/"
+
if
(
res
.
code
==
200
)
{
that
.
vuex_token
+
that
.
currentItem
=
res
.
data
;
"?userExamId="
+
that
.
progress
=
res
.
data
.
progress
;
this
.
userExamId
+
// if(this.isLoadQuestion){
"&questionId="
+
// this.isLoadQuestion = false;
questionId
+
// if(!res.data.isQuestion){
"&userAnswerIds="
+
// this.applyExam()
(
this
.
userAnswerIds
||
"9999"
)
+
// return
","
,
// 9999超时自动下一题
// }
method
:
"POST"
,
// let key = 'exma-' + this.examId;
header
:
{
// let limitTime = uni.getStorageSync(key);
"Content-Type"
:
"application/x-www-form-urlencoded"
,
// console.log(limitTime);
},
// // let limitTime = this.getLimitTime(that.progress);
success
:
(
res
)
=>
{
// // console.log(limitTime);
uni
.
hideLoading
();
// this.endTime = parseInt(limitTime);
if
(
res
.
statusCode
==
401
)
{
// this.currentTime = parseInt(limitTime * 1000);
this
.
gotoLogin
()
// }
return
;
if
(
res
.
data
.
isQuestion
)
{
let
str
=
res
.
data
.
question
.
content
;
var
wz
=
str
.
indexOf
(
"."
);
let
str1
=
str
.
substring
(
wz
+
1
);
that
.
currentItem
.
question
.
content
=
str1
.
replace
(
'*'
,
''
);
}
}
if
(
res
.
statusCode
==
403
){
if
(
res
.
data
.
answerList
)
{
uni
.
showToast
({
that
.
handleData
();
icon
:
"none"
,
// that.currentTime = 100
title
:
"获取考试结果失败,请再次尝试提交"
,
this
.
everyTime
=
getApp
().
globalData
.
questionTime
;
//每道题100s
});
that
.
isSelect
=
false
;
return
clearTimeout
(
this
.
timer
);
}
that
.
startCounting
();
if
(
res
.
data
.
code
==
200
)
{
that
.
currentItem
=
res
.
data
.
data
;
that
.
progress
=
res
.
data
.
data
.
progress
;
if
(
this
.
isLoadQuestion
){
this
.
isLoadQuestion
=
false
;
if
(
!
res
.
data
.
data
.
isQuestion
){
this
.
applyExam
()
return
}
let
key
=
'exma-'
+
this
.
examId
;
let
limitTime
=
uni
.
getStorageSync
(
key
);
console
.
log
(
limitTime
);
// let limitTime = this.getLimitTime(that.progress);
// console.log(limitTime);
this
.
endTime
=
parseInt
(
limitTime
);
this
.
currentTime
=
parseInt
(
limitTime
*
1000
);
}
if
(
res
.
data
.
data
.
isQuestion
)
{
let
str
=
res
.
data
.
data
.
question
.
content
;
var
wz
=
str
.
indexOf
(
"."
);
let
str1
=
str
.
substring
(
wz
+
1
);
that
.
currentItem
.
question
.
content
=
str1
.
replace
(
'*'
,
''
);
}
if
(
res
.
data
.
data
.
answerList
)
{
that
.
handleData
();
// that.currentTime = 100
this
.
everyTime
=
getApp
().
globalData
.
questionTime
;
//每道题100s
that
.
isSelect
=
false
;
clearTimeout
(
this
.
timer
);
that
.
startCounting
();
}
else
{
that
.
isSelect
=
true
;
that
.
getUserExamInfo
();
clearTimeout
(
this
.
timer
);
this
.
isComplete
=
true
;
//用来考完试判断跳转
this
.
examInfo
=
that
.
currentItem
;
// that.bottomTitle = '完成考试,现在签约'
}
}
else
{
}
else
{
uni
.
showToast
({
that
.
isSelect
=
true
;
icon
:
"none"
,
that
.
getUserExamInfo
();
title
:
res
.
data
.
message
,
clearTimeout
(
this
.
timer
);
});
this
.
isComplete
=
true
;
//用来考完试判断跳转
this
.
examInfo
=
that
.
currentItem
;
// that.bottomTitle = '完成考试,现在签约'
}
}
},
// debugger
fail
:
(
e
)
=>
{
}
else
{
uni
.
hideLoading
();
uni
.
showToast
({
uni
.
showToast
({
icon
:
"none"
,
icon
:
"none"
,
title
:
"获取下一题 失败"
,
title
:
res
.
data
.
message
,
});
});
},
}
});
})
// .catch((err) => {
// uni.hideLoading();
// uni.showToast({
// icon: "none",
// title: "获取考试信息失败",
// });
// });
},
},
getLimitTime
(
progress
){
getLimitTime
(
progress
){
let
arr
=
progress
.
split
(
'/'
);
let
arr
=
progress
.
split
(
'/'
);
...
...
This diff is collapsed.
Click to expand it.
src/pages/learn/assessment.vue
View file @
4cf29477
...
@@ -39,9 +39,11 @@ export default {
...
@@ -39,9 +39,11 @@ export default {
onLoad
(
param
)
{
onLoad
(
param
)
{
getApp
().
trackPage
(
'学习开始考试页'
)
getApp
().
trackPage
(
'学习开始考试页'
)
this
.
examId
=
param
.
examId
;
this
.
examId
=
param
.
examId
;
this
.
getExamResult
();
// this.getUserExamInfo();
// this.getUserExamInfo();
},
},
onShow
()
{
this
.
getExamResult
();
},
onUnload
()
{
onUnload
()
{
uni
.
switchTab
({
uni
.
switchTab
({
url
:
'/pages/index/learn'
url
:
'/pages/index/learn'
...
@@ -67,32 +69,29 @@ export default {
...
@@ -67,32 +69,29 @@ export default {
});
});
},
},
getExamResult
()
{
getExamResult
()
{
uni
.
request
({
let
examId
=
this
.
examId
;
url
:
this
.
$u
.
api
.
getExamResult
(
examId
)
process
.
uniEnv
.
systemUrl
.
apiUrl
+
.
then
((
res
)
=>
{
"/wxh-worker-rest/rest/exam/serviceRule/userExamInfo/"
+
uni
.
hideLoading
();
this
.
vuex_token
+
if
(
res
.
code
==
200
)
{
"?examId="
+
if
(
res
.
data
.
ruleDisc
)
{
this
.
examId
,
var
str
=
res
.
data
.
ruleDisc
;
method
:
"POST"
,
this
.
userExamId
=
res
.
data
.
id
;
header
:
{
"Content-Type"
:
"application/x-www-from-urlencoded"
,
let
strArr
=
str
.
split
(
"("
)[
0
].
split
(
","
);
},
this
.
title
=
strArr
[
0
];
success
:
(
res
)
=>
{
this
.
score
=
strArr
[
1
];
uni
.
hideLoading
();
this
.
time
=
strArr
[
2
];
if
(
res
.
data
.
code
==
200
)
{
this
.
ruleDisc
=
strArr
[
3
];
if
(
res
.
data
.
data
.
ruleDisc
)
{
var
str
=
res
.
data
.
data
.
ruleDisc
;
this
.
userExamId
=
res
.
data
.
data
.
id
;
let
strArr
=
str
.
split
(
"("
)[
0
].
split
(
","
);
this
.
title
=
strArr
[
0
];
this
.
score
=
strArr
[
1
];
this
.
time
=
strArr
[
2
];
this
.
ruleDisc
=
strArr
[
3
];
}
}
}
},
}
})
.
catch
((
err
)
=>
{
uni
.
hideLoading
();
uni
.
showToast
({
icon
:
"none"
,
title
:
"获取考试信息失败"
,
});
});
});
},
},
},
},
...
...
This diff is collapsed.
Click to expand it.
src/pages/learn/section.vue
View file @
4cf29477
...
@@ -459,6 +459,7 @@
...
@@ -459,6 +459,7 @@
overflow
:
hidden
;
overflow
:
hidden
;
background
:
#fff
;
background
:
#fff
;
margin-top
:
30rpx
;
margin-top
:
30rpx
;
white-space
:
nowrap
;
}
}
.scroll_box
scroll-view
{
.scroll_box
scroll-view
{
...
@@ -471,7 +472,7 @@
...
@@ -471,7 +472,7 @@
width
:
280rpx
;
width
:
280rpx
;
height
:
150rpx
;
height
:
150rpx
;
margin-right
:
23rpx
;
margin-right
:
23rpx
;
display
:
inline-
grid
;
display
:
inline-
block
;
background-color
:
#F4F5F7
;
background-color
:
#F4F5F7
;
border-radius
:
12rpx
;
border-radius
:
12rpx
;
padding
:
20rpx
;
padding
:
20rpx
;
...
...
This diff is collapsed.
Click to expand it.
src/pages/login/index.vue
View file @
4cf29477
...
@@ -45,15 +45,15 @@ export default {
...
@@ -45,15 +45,15 @@ export default {
bindTitle
:
'立即绑定'
,
bindTitle
:
'立即绑定'
,
bindPhone
:
'绑定手机'
,
bindPhone
:
'绑定手机'
,
bindTips
:
'首次登录的用户需绑定手机才可接单'
,
bindTips
:
'首次登录的用户需绑定手机才可接单'
,
code
:
''
code
:
''
,
}
}
},
},
computed
:
{
computed
:
{
logo
()
{
logo
()
{
return
this
.
qnPath
+
'logo.png'
return
util
.
imageCache
(
this
,
'logo.png'
)
},
},
logo2
()
{
logo2
()
{
return
this
.
qnPath
+
'logo-2.png'
return
util
.
imageCache
(
this
,
'logo-2.png'
)
},
},
},
},
onLoad
(
e
)
{
onLoad
(
e
)
{
...
@@ -61,7 +61,7 @@ export default {
...
@@ -61,7 +61,7 @@ export default {
},
},
onShow
()
{
onShow
()
{
// 微信授权过用户信息,则无需重复授权
// 微信授权过用户信息,则无需重复授权
if
(
app
.
globalData
.
authUserInfo
)
{
if
(
this
.
vuex_auth_user
&&
Object
.
keys
(
this
.
vuex_auth_user
).
length
)
{
this
.
needAuth
=
false
this
.
needAuth
=
false
}
}
this
.
getCode
()
this
.
getCode
()
...
@@ -81,9 +81,7 @@ export default {
...
@@ -81,9 +81,7 @@ export default {
desc
:
'用于授权登录'
,
desc
:
'用于授权登录'
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
const
userInfo
=
res
.
userInfo
;
const
userInfo
=
res
.
userInfo
;
app
.
globalData
.
authUserInfo
=
userInfo
that
.
$u
.
vuex
(
'vuex_auth_user'
,
userInfo
)
app
.
globalData
.
authUserInfo
.
nickName
=
app
.
globalData
.
authUserInfo
.
nickName
||
''
app
.
globalData
.
authUserInfo
.
avatarUrl
=
app
.
globalData
.
authUserInfo
.
avatarUrl
||
''
uni
.
showLoading
({
uni
.
showLoading
({
title
:
'授权中..'
,
title
:
'授权中..'
,
mask
:
true
mask
:
true
...
@@ -115,8 +113,8 @@ export default {
...
@@ -115,8 +113,8 @@ export default {
authLogin
()
{
authLogin
()
{
var
that
=
this
var
that
=
this
let
params
=
{
let
params
=
{
nickname
:
app
.
globalData
.
authUserInfo
.
nickName
,
nickname
:
this
.
vuex_auth_user
.
nickName
||
''
,
avatar
:
app
.
globalData
.
authUserInfo
.
avatarUrl
,
avatar
:
this
.
vuex_auth_user
.
avatarUrl
||
''
,
}
}
login
.
appLogin
().
then
(
res
=>
{
login
.
appLogin
().
then
(
res
=>
{
params
.
code
=
res
.
code
params
.
code
=
res
.
code
...
@@ -124,7 +122,10 @@ export default {
...
@@ -124,7 +122,10 @@ export default {
}).
then
(
res
=>
{
}).
then
(
res
=>
{
uni
.
hideLoading
();
uni
.
hideLoading
();
if
(
res
&&
res
.
code
==
200
&&
res
.
data
&&
res
.
data
.
token
)
{
if
(
res
&&
res
.
code
==
200
&&
res
.
data
&&
res
.
data
.
token
)
{
app
.
setUserData
(
res
.
data
,
that
)
login
.
setUserData
(
res
.
data
,
that
)
app
.
track
(
'auth_login'
,
{
mobile
:
res
.
data
.
mobile
});
app
.
profileSet
(
that
)
app
.
profileAppend
(
that
)
that
.
goBackPage
()
that
.
goBackPage
()
}
else
{
}
else
{
that
.
setLoginStatus
()
that
.
setLoginStatus
()
...
@@ -146,8 +147,8 @@ export default {
...
@@ -146,8 +147,8 @@ export default {
});
});
}
else
if
(
e
.
detail
.
encryptedData
&&
e
.
detail
.
iv
)
{
}
else
if
(
e
.
detail
.
encryptedData
&&
e
.
detail
.
iv
)
{
let
params
=
{
let
params
=
{
nickname
:
app
.
globalData
.
authUserInfo
.
nickName
,
nickname
:
this
.
vuex_auth_user
.
nickName
||
''
,
avatar
:
app
.
globalData
.
authUserInfo
.
avatarUrl
,
avatar
:
this
.
vuex_auth_user
.
avatarUrl
||
''
,
encryptedData
:
e
.
detail
.
encryptedData
,
encryptedData
:
e
.
detail
.
encryptedData
,
iv
:
e
.
detail
.
iv
,
iv
:
e
.
detail
.
iv
,
}
}
...
@@ -160,6 +161,9 @@ export default {
...
@@ -160,6 +161,9 @@ export default {
uni
.
hideLoading
()
uni
.
hideLoading
()
if
(
res
)
{
if
(
res
)
{
app
.
setUserData
(
res
.
data
,
that
)
app
.
setUserData
(
res
.
data
,
that
)
app
.
track
(
'signup_login'
,
{
mobile
:
res
.
data
.
mobile
});
app
.
profileSet
(
that
)
app
.
profileAppend
(
that
)
app
.
getBaseInfo
(
that
)
app
.
getBaseInfo
(
that
)
that
.
goBackPage
()
that
.
goBackPage
()
}
else
{
}
else
{
...
@@ -200,12 +204,14 @@ export default {
...
@@ -200,12 +204,14 @@ export default {
toLogin
(
params
)
{
toLogin
(
params
)
{
login
.
appLogin
().
then
(
res
=>
{
login
.
appLogin
().
then
(
res
=>
{
params
.
code
=
res
.
code
params
.
code
=
res
.
code
console
.
log
(
"params3"
,
params
)
return
login
.
signup
(
params
);
return
login
.
signup
(
params
);
}).
then
(
res
=>
{
}).
then
(
res
=>
{
uni
.
hideLoading
()
uni
.
hideLoading
()
if
(
res
)
{
if
(
res
)
{
app
.
setUserData
(
res
.
data
,
this
)
login
.
setUserData
(
res
.
data
,
this
)
app
.
track
(
'signup_login'
,
{
mobile
:
res
.
data
.
mobile
});
app
.
profileSet
(
this
)
app
.
profileAppend
(
this
)
app
.
getBaseInfo
(
this
)
app
.
getBaseInfo
(
this
)
this
.
goBackPage
()
this
.
goBackPage
()
}
else
{
}
else
{
...
@@ -253,7 +259,7 @@ export default {
...
@@ -253,7 +259,7 @@ export default {
title
:
'登录页'
title
:
'登录页'
});
});
}
else
{
}
else
{
if
(
!
app
.
globalData
.
authUserInfo
)
{
if
(
!
this
.
vuex_auth_user
||
!
Object
.
keys
(
this
.
vuex_auth_user
).
length
)
{
this
.
needAuth
=
true
this
.
needAuth
=
true
uni
.
setNavigationBarTitle
({
uni
.
setNavigationBarTitle
({
title
:
'授权页'
title
:
'授权页'
...
...
This diff is collapsed.
Click to expand it.
src/pages/mine/wallet/index.vue
View file @
4cf29477
...
@@ -56,6 +56,7 @@
...
@@ -56,6 +56,7 @@
<
script
>
<
script
>
let
now
=
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
();
let
now
=
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
();
import
util
from
'@/utils/util.js'
import
Statement
from
"@/components/mine/statement.vue"
import
Statement
from
"@/components/mine/statement.vue"
export
default
{
export
default
{
components
:
{
components
:
{
...
@@ -109,7 +110,7 @@
...
@@ -109,7 +110,7 @@
return
process
.
uniEnv
.
qn_base_url
return
process
.
uniEnv
.
qn_base_url
},
},
qianbaobeijing
()
{
qianbaobeijing
()
{
return
this
.
imageUrl
+
'qianbaobeijing.png'
return
util
.
imageCache
(
this
,
'qianbaobeijing.png'
)
},
},
buttonStyle
()
{
buttonStyle
()
{
return
{
return
{
...
...
This diff is collapsed.
Click to expand it.
src/pages/mine/wallet/settlement.vue
View file @
4cf29477
...
@@ -44,6 +44,7 @@
...
@@ -44,6 +44,7 @@
<
script
>
<
script
>
let
now
=
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
();
let
now
=
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
();
import
util
from
'@/utils/util.js'
import
Settlement
from
"@/components/mine/settlement.vue"
import
Settlement
from
"@/components/mine/settlement.vue"
const
baseinfo
=
{
totalAmount
:
0
,
payableRecordExtendDtos
:
[]}
const
baseinfo
=
{
totalAmount
:
0
,
payableRecordExtendDtos
:
[]}
export
default
{
export
default
{
...
@@ -64,7 +65,7 @@
...
@@ -64,7 +65,7 @@
},
},
computed
:
{
computed
:
{
liushuibeijingImage
()
{
liushuibeijingImage
()
{
return
this
.
imageUrl
+
'liushuibeijing.png'
return
util
.
imageCache
(
this
,
'liushuibeijing.png'
)
},
},
imageUrl
()
{
imageUrl
()
{
return
process
.
uniEnv
.
qn_base_url
return
process
.
uniEnv
.
qn_base_url
...
@@ -73,7 +74,7 @@
...
@@ -73,7 +74,7 @@
return
this
.
loading
||
this
.
info
.
payableRecordExtendDtos
&&
this
.
info
.
payableRecordExtendDtos
.
length
return
this
.
loading
||
this
.
info
.
payableRecordExtendDtos
&&
this
.
info
.
payableRecordExtendDtos
.
length
},
},
banner
()
{
banner
()
{
return
this
.
imageUrl
+
'receipt.png'
return
util
.
imageCache
(
this
,
'receipt.png'
)
},
},
},
},
onLoad
()
{
onLoad
()
{
...
...
This diff is collapsed.
Click to expand it.
src/pages/mine/wallet/statement.vue
View file @
4cf29477
...
@@ -45,6 +45,7 @@
...
@@ -45,6 +45,7 @@
<
script
>
<
script
>
let
now
=
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
();
let
now
=
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
();
const
baseinfo
=
{
expectedAmount
:
0
,
settledAmount
:
0
,
statementList
:
[]}
const
baseinfo
=
{
expectedAmount
:
0
,
settledAmount
:
0
,
statementList
:
[]}
import
util
from
'@/utils/util.js'
import
Statement
from
"@/components/mine/statement.vue"
import
Statement
from
"@/components/mine/statement.vue"
export
default
{
export
default
{
components
:
{
components
:
{
...
@@ -84,13 +85,13 @@
...
@@ -84,13 +85,13 @@
},
},
liushuibeijingImage
()
{
liushuibeijingImage
()
{
return
this
.
imageUrl
+
'liushuibeijing.png'
return
util
.
imageCache
(
this
,
'liushuibeijing.png'
)
},
},
imageUrl
()
{
imageUrl
()
{
return
process
.
uniEnv
.
qn_base_url
return
process
.
uniEnv
.
qn_base_url
},
},
banner
()
{
banner
()
{
return
this
.
imageUrl
+
'receipt.png'
return
util
.
imageCache
(
this
,
'receipt.png'
)
},
},
hasInfo
()
{
hasInfo
()
{
return
this
.
loading
||
this
.
data
.
statementList
&&
this
.
data
.
statementList
.
length
return
this
.
loading
||
this
.
data
.
statementList
&&
this
.
data
.
statementList
.
length
...
...
This diff is collapsed.
Click to expand it.
src/store/index.js
View file @
4cf29477
...
@@ -12,7 +12,7 @@ try {
...
@@ -12,7 +12,7 @@ try {
}
}
// 需要永久存储,且下次APP启动需要取出的,在state中的变量名
// 需要永久存储,且下次APP启动需要取出的,在state中的变量名
let
saveStateKeys
=
[
'vuex_user'
,
'vuex_wx_uid'
,
'vuex_token'
,
'uploadTask'
];
let
saveStateKeys
=
[
'vuex_user'
,
'vuex_wx_uid'
,
'vuex_token'
,
'
vuex_cache'
,
'
uploadTask'
];
// 保存变量到本地存储中
// 保存变量到本地存储中
const
saveLifeData
=
function
(
key
,
value
)
{
const
saveLifeData
=
function
(
key
,
value
)
{
...
@@ -32,11 +32,14 @@ const store = new Vuex.Store({
...
@@ -32,11 +32,14 @@ const store = new Vuex.Store({
// 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量
// 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量
vuex_user
:
lifeData
.
vuex_user
?
lifeData
.
vuex_user
:
{},
vuex_user
:
lifeData
.
vuex_user
?
lifeData
.
vuex_user
:
{},
vuex_token
:
lifeData
.
vuex_token
?
lifeData
.
vuex_token
:
''
,
vuex_token
:
lifeData
.
vuex_token
?
lifeData
.
vuex_token
:
''
,
vuex_cache
:
lifeData
.
vuex_cache
?
lifeData
.
vuex_cache
:
{},
vuex_version
:
'1.0.1'
,
vuex_version
:
'1.0.1'
,
vuex_config
:
{},
vuex_config
:
{},
// 入驻信息
// 入驻信息
vuex_settled
:
null
,
vuex_settled
:
null
,
vuex_wx_uid
:
lifeData
.
vuex_wx_uid
||
0
,
vuex_wx_uid
:
lifeData
.
vuex_wx_uid
||
0
,
// 授权用户信息
vuex_auth_user
:
{},
// 上传队列
// 上传队列
uploadTask
:
lifeData
.
uploadTask
?
lifeData
.
uploadTask
:
[]
uploadTask
:
lifeData
.
uploadTask
?
lifeData
.
uploadTask
:
[]
},
},
...
...
This diff is collapsed.
Click to expand it.
src/utils/login.js
View file @
4cf29477
...
@@ -116,11 +116,29 @@ function login(provider) {
...
@@ -116,11 +116,29 @@ function login(provider) {
});
});
}
}
/**
* 初始化用户信息
* @param {Object} userInfo 用户信息
* @param {Object} vm Vue对象实例
*/
function
setUserData
(
userInfo
,
vm
)
{
if
(
userInfo
&&
userInfo
.
token
)
{
// 如果已经登录则直接获取相关信息
vm
.
$u
.
vuex
(
"vuex_token"
,
userInfo
.
token
);
vm
.
$u
.
vuex
(
"vuex_user"
,
userInfo
);
vm
.
$u
.
vuex
(
"vuex_wx_uid"
,
userInfo
.
wxopenid
);
}
else
{
vm
.
$u
.
vuex
(
"vuex_token"
,
""
);
vm
.
$u
.
vuex
(
"vuex_user"
,
null
);
vm
.
$u
.
vuex
(
"vuex_wx_uid"
,
""
);
}
vm
.
$u
.
vuex
(
"vuex_settled"
,
null
);
}
module
.
exports
=
{
module
.
exports
=
{
appLogin
:
appLogin
,
appLogin
:
appLogin
,
authorization
:
authorization
,
authorization
:
authorization
,
signup
:
signup
,
signup
:
signup
,
oauth
:
oauth
oauth
:
oauth
,
setUserData
,
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/utils/util.js
View file @
4cf29477
var
t
=
function
(
t
)
{
import
md5Libs
from
"uview-ui/libs/function/md5"
;
return
(
t
=
t
.
toString
())[
1
]
?
t
:
"0"
+
t
;
var
t
=
function
(
t
)
{
return
(
t
=
t
.
toString
())[
1
]
?
t
:
"0"
+
t
;
};
};
// const getToken = function(){
// const getToken = function(){
...
@@ -18,44 +19,74 @@ var t = function(t) {
...
@@ -18,44 +19,74 @@ var t = function(t) {
// }
// }
// }
// }
const
getOpenid
=
function
()
{
const
getOpenid
=
function
()
{
const
app
=
getApp
()
const
app
=
getApp
()
let
openid
=
app
&&
app
.
globalData
&&
app
.
globalData
.
openid
||
''
let
openid
=
app
&&
app
.
globalData
&&
app
.
globalData
.
openid
||
''
if
(
!
openid
)
{
if
(
!
openid
)
{
openid
=
uni
.
getStorageSync
(
'openid'
)
openid
=
uni
.
getStorageSync
(
'openid'
)
}
}
return
openid
return
openid
}
}
const
setOpenid
=
function
(
openid
)
{
const
setOpenid
=
function
(
openid
)
{
const
app
=
getApp
()
const
app
=
getApp
()
uni
.
setStorageSync
(
'openid'
,
openid
)
uni
.
setStorageSync
(
'openid'
,
openid
)
if
(
app
&&
app
.
globalData
)
{
if
(
app
&&
app
.
globalData
)
{
app
.
globalData
.
openid
=
openid
app
.
globalData
.
openid
=
openid
}
}
}
}
/**
* ====图片本地缓存====
* @param {Object} vm 当前vue实例
* @param {Object} src 图片地址
* @param {Object} host 图片前缀,默认使用qn_base_url
*/
const
imageCache
=
function
(
vm
,
src
,
host
)
{
host
=
host
||
process
.
uniEnv
.
qn_base_url
let
image_url
=
host
+
src
let
image_name
=
md5Libs
.
md5
(
image_url
)
var
arr
=
Object
.
keys
(
vm
.
vuex_cache
);
if
(
vm
.
vuex_cache
&&
arr
.
length
&&
arr
.
includes
(
image_name
))
{
// call_back(vm.vuex_cache[image_name])
return
vm
.
vuex_cache
[
image_name
]
}
else
{
// 本地没有缓存 需要下载
uni
.
downloadFile
({
url
:
image_url
,
success
:
(
res
)
=>
{
if
(
res
.
statusCode
===
200
)
{
// call_back(res.tempFilePath)
vm
.
$u
.
vuex
(
`vuex_cache.
${
image_name
}
`
,
res
.
tempFilePath
)
}
}
});
return
image_url
}
}
module
.
exports
=
{
module
.
exports
=
{
formatTime
:
function
(
n
)
{
formatTime
:
function
(
n
)
{
var
e
=
n
.
getFullYear
(),
r
=
n
.
getMonth
()
+
1
,
o
=
n
.
getDate
(),
i
=
n
.
getHours
(),
u
=
n
.
getMinutes
(),
a
=
n
.
getSeconds
();
var
e
=
n
.
getFullYear
(),
r
=
n
.
getMonth
()
+
1
,
o
=
n
.
getDate
(),
i
=
n
.
getHours
(),
u
=
n
.
getMinutes
(),
a
=
n
.
getSeconds
();
return
[
e
,
r
,
o
].
map
(
t
).
join
(
"-"
)
+
" "
+
[
i
,
u
,
a
].
map
(
t
).
join
(
":"
);
return
[
e
,
r
,
o
].
map
(
t
).
join
(
"-"
)
+
" "
+
[
i
,
u
,
a
].
map
(
t
).
join
(
":"
);
},
},
throttle
:
function
(
t
,
n
)
{
throttle
:
function
(
t
,
n
)
{
null
!=
n
&&
null
!=
n
||
(
n
=
1500
);
null
!=
n
&&
null
!=
n
||
(
n
=
1500
);
var
e
=
null
;
var
e
=
null
;
return
function
()
{
return
function
()
{
var
r
=
+
new
Date
();
var
r
=
+
new
Date
();
console
.
log
(
r
+
","
+
e
+
","
+
new
Date
()),
(
r
-
e
>
n
||
!
e
)
&&
(
t
(),
e
=
r
);
console
.
log
(
r
+
","
+
e
+
","
+
new
Date
()),
(
r
-
e
>
n
||
!
e
)
&&
(
t
(),
e
=
r
);
};
};
},
},
formatLonLat
:
function
(
t
,
n
)
{
formatLonLat
:
function
(
t
,
n
)
{
if
(
void
0
===
t
||
""
==
t
)
return
""
;
if
(
void
0
===
t
||
""
==
t
)
return
""
;
if
(
t
+=
""
,
0
==
n
)
return
parseFloat
(
t
).
toFixed
(
6
);
if
(
t
+=
""
,
0
==
n
)
return
parseFloat
(
t
).
toFixed
(
6
);
var
e
=
t
.
indexOf
(
"."
),
r
=
e
<
0
?
t
:
t
.
substring
(
0
,
e
),
o
=
0
,
i
=
0
;
var
e
=
t
.
indexOf
(
"."
),
r
=
e
<
0
?
t
:
t
.
substring
(
0
,
e
),
o
=
0
,
i
=
0
;
return
e
>
0
&&
(
o
=
60
*
(
o
=
"0"
+
t
.
substring
(
e
))
+
""
,
2
==
n
?
(
e
=
o
.
indexOf
(
"."
))
>
0
&&
(
i
=
"0"
+
o
.
substring
(
e
),
return
e
>
0
&&
(
o
=
60
*
(
o
=
"0"
+
t
.
substring
(
e
))
+
""
,
2
==
n
?
(
e
=
o
.
indexOf
(
"."
))
>
0
&&
(
i
=
"0"
+
o
.
substring
(
e
),
o
=
o
.
substring
(
0
,
e
),
e
=
(
i
=
60
*
i
+
""
).
indexOf
(
"."
),
i
=
i
.
substring
(
0
,
e
+
4
),
o
=
o
.
substring
(
0
,
e
),
e
=
(
i
=
60
*
i
+
""
).
indexOf
(
"."
),
i
=
i
.
substring
(
0
,
e
+
4
),
i
=
parseFloat
(
i
).
toFixed
(
0
))
:
1
==
n
&&
(
o
=
parseFloat
(
o
).
toFixed
(
6
))),
2
==
n
?
r
+
"°"
+
o
+
"′"
+
i
+
"″"
:
1
==
n
?
r
+
"°"
+
o
+
"′"
:
void
0
;
i
=
parseFloat
(
i
).
toFixed
(
0
))
:
1
==
n
&&
(
o
=
parseFloat
(
o
).
toFixed
(
6
))),
2
==
n
?
r
+
"°"
+
o
+
"′"
+
i
+
"″"
:
1
==
n
?
r
+
"°"
+
o
+
"′"
:
void
0
;
},
},
// getToken,
// getToken,
// setToken,
// setToken,
getOpenid
,
getOpenid
,
setOpenid
,
setOpenid
,
imageCache
,
};
};
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment