Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CFFP-HB
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chao Sun
CFFP-HB
Commits
a7193f75
Commit
a7193f75
authored
Jul 14, 2025
by
yuzhenWang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
邀请已加盟增加弹窗
parent
9dea7b8c
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
5 additions
and
1062 deletions
+5
-1062
myPackageA/applyFranchise/applyFranchise.vue
+4
-9
myPackageA/applyFranchise/resigter.vue
+0
-433
myPackageA/transformPage/transformPage.vue
+0
-24
pages.json
+1
-6
pages/applyFranchise/applyFranchise.vue
+0
-590
No files found.
myPackageA/applyFranchise/applyFranchise.vue
View file @
a7193f75
...
...
@@ -15,12 +15,7 @@
优质资源,专业服务
</view>
</view>
<!--
<resigter
:form=
"form"
:editNickName=
"editNickName"
:editMobile=
"editMobile"
@
apply=
"gotoApply()"
/>
-->
<view
class=
"applyBox"
>
<view
style=
"height: 550rpx;"
>
<view
class=
"inputBox"
>
...
...
@@ -115,7 +110,6 @@
</
template
>
<
script
>
import
resigter
from
"./resigter.vue"
;
import
everyJoinPopup
from
"@/components/commonPopup/everyJoinPopup.vue"
;
import
api
from
'@/api/api'
;
import
*
as
environment
from
"@/environments/environment"
;
...
...
@@ -124,7 +118,6 @@
export
default
{
components
:{
everyJoinPopup
,
resigter
},
data
()
{
return
{
...
...
@@ -201,7 +194,9 @@
this
.
form
.
nickName
=
res
.
data
.
data
.
name
this
.
form
.
mobile
=
res
.
data
.
data
.
mobileNumber
this
.
editNickName
=
this
.
editMobile
=
true
if
(
res
.
data
.
data
.
isPartner
){
this
.
$refs
.
successJoinPopup
.
open
()
}
})
},
jumpPage
(){
...
...
myPackageA/applyFranchise/resigter.vue
deleted
100644 → 0
View file @
9dea7b8c
<
template
>
<view
class=
"applyBox"
>
<view
style=
"height: 550rpx;"
>
<view
class=
"inputBox"
>
<view
class=
"txt"
>
<text
class=
"require"
>
*
</text>
昵称
<text
class=
"desTxt"
>
(用于邀请好友及统计业绩显示)
</text>
</view>
<view
class=
""
>
<input
class=
"user-input"
maxlength=
"10"
type=
"text"
placeholder=
"请输入2~10个字符"
v-model=
"form.nickName"
:disabled=
"editNickName"
/>
</view>
</view>
<view
class=
"inputBox"
>
<view
class=
"txt"
>
<text
class=
"require"
>
*
</text>
手机号码
<text
class=
"desTxt"
>
(账号唯一标识)
</text>
</view>
<view
class=
"codeBox"
>
<input
type=
"number"
class=
"user-input"
name=
"mobileNo"
placeholder=
"请输入手机号"
v-model=
"form.mobile"
maxlength=
"11"
:disabled=
"editMobile"
/>
<view
:class=
"
{'grey':disabledSendBtn}"
@click="sendMessage()"
v-if="loginType=== 'visitor'"
>
{{
sendCodeHtml
}}
</view>
</view>
</view>
<view
class=
"inputBox"
v-if=
"loginType=== 'visitor'"
>
<view
class=
"txt"
>
<text
class=
"require"
>
*
</text>
验证码
</view>
<view
class=
""
>
<input
type=
"number"
class=
"user-input"
name=
"mobileNo"
placeholder=
"请输入短信验证码"
v-model=
"form.code"
maxlength=
"6"
/>
</view>
</view>
<view
class=
"protol"
>
<view
class=
"empty"
v-if=
"!agreeFlag"
@
click=
"agreeFlag=true"
></view>
<text
v-else
class=
"iconfont icon-icon_duihao-mian"
@
click=
"agreeFlag=false"
></text>
<text
style=
"color: #666;"
>
我已阅读并同意
</text>
<text
style=
"color: #20269B;"
@
click=
"getFile(1)"
>
服务协议
</text>
<text
style=
"color: #666666;"
>
和
</text>
<text
style=
"color: #20269B;"
@
click=
"getFile(2)"
>
隐私条款
</text>
</view>
</view>
<view
class=
"btnBox"
@
click=
"$emit('apply')"
>
{{
loginType
==
'codelogin'
?
'确认加盟'
:
'注册并加盟'
}}
</view>
</view>
</
template
>
<
script
>
import
api
from
'@/api/api'
;
import
*
as
environment
from
"@/environments/environment"
;
import
common
from
'@/common/common'
;
import
dataHandling
from
"@/util/dataHandling"
;
export
default
{
props
:
{
// 弹窗内容
form
:
{
type
:
Object
,
},
editNickName
:
{
type
:
Boolean
,
default
:
false
,
},
editMobile
:
{
type
:
Boolean
,
default
:
false
,
},
},
data
()
{
return
{
companyInfo
:
environment
.
companyInfo
,
imgType
:
environment
.
companyInfo
.
imgType
,
baseURL
:
environment
.
baseURL
,
agreeFlag
:
false
,
sendCodeHtml
:
'发送验证码'
,
disabledSendBtn
:
false
,
timer
:
null
,
remainTimes
:
60
,
loginType
:
uni
.
getStorageSync
(
'loginType'
),
}
},
onLoad
(
options
){
this
.
loginType
=
uni
.
getStorageSync
(
'loginType'
)
// this.inviteUserId = ''
// if(options.inviteUserId){
// this.inviteUserId = options.inviteUserId
// }
// if(options.invitationCode){
// this.invitationCode = options.invitationCode
// }
// // 邀请链接进来的统一走注册加盟
// if(options.shareId){
// this.shareId = options.shareId
// this.getqueryById(options.shareId)
// uni.clearStorageSync()
// uni.setStorageSync('loginType', 'visitor')
// }
},
onShow
(){
if
(
uni
.
getStorageSync
(
'loginType'
)){
this
.
loginType
=
uni
.
getStorageSync
(
'loginType'
)
}
// if(uni.getStorageSync('cffp_userInfo')){
// this.userInfo = JSON.parse(uni.getStorageSync('cffp_userInfo'))
// }
// if(uni.getStorageSync('cffp_userId')){
// this.userId = uni.getStorageSync('cffp_userId')
// }
// if(!uni.getStorageSync('loginType')){
// this.loginType = 'visitor'
// }
// // 非邀请状态
// if(!this.inviteUserId&&this.loginType == 'codelogin'&&this.userInfo.mobile){
// this.form.mobile = this.userInfo.mobile
// this.editMobile = true
// }
// // 非邀请状态
// if(!this.inviteUserId&&this.loginType == 'codelogin'&&!this.form.nickName){
// this.queryInfo()
// }
},
methods
:
{
getqueryById
(
shareId
){
api
.
queryById
({
id
:
shareId
}).
then
(
res
=>
{
this
.
form
.
nickName
=
res
.
data
.
data
.
name
this
.
form
.
mobile
=
res
.
data
.
data
.
mobileNumber
this
.
editNickName
=
this
.
editMobile
=
true
})
},
jumpPage
(){
uni
.
switchTab
({
url
:
'/pages/index/index'
})
this
.
$refs
.
successJoinPopup
.
close
()
this
.
$refs
.
everyJoinPopup
.
close
()
},
getFile
(
type
){
let
typeName
=
type
==
1
?
'服务协议'
:
type
==
2
?
'隐私条款'
:
''
dataHandling
.
pocessTracking
(
'查看协议'
,
`查看
${
typeName
}
`
,
'点击'
,
2
,
'申请加盟'
,
'pages/saleCourseLists/saleCourseLists'
)
uni
.
navigateTo
({
url
:
`/myPackageA/ruleAndContract/clause?type=
${
type
}
`
})
},
c_agreeFlag
(){
this
.
agreeFlag
=!
this
.
agreeFlag
;
},
delayTime
()
{
this
.
disabledSendBtn
=
true
;
this
.
timer
=
setInterval
(()
=>
{
this
.
remainTimes
--
;
this
.
sendCodeHtml
=
`
${
this
.
remainTimes
}
(S)`
;
if
(
this
.
remainTimes
<=
0
)
{
this
.
sendCodeHtml
=
'获取验证码'
;
this
.
remainTimes
=
60
;
this
.
disabledSendBtn
=
false
;
clearInterval
(
this
.
timer
);
}
},
1000
);
},
sendMessage
(){
const
params
=
{
mobileNo
:
this
.
form
.
mobile
,
type
:
"1"
,
source
:
"cffp"
}
if
(
common
.
mobileNoValid
(
this
.
form
.
mobile
)){
if
(
!
this
.
disabledSendBtn
){
api
.
verificationCode
(
params
).
then
((
res
)
=>
{
if
(
res
[
'success'
]){
this
.
delayTime
()
}
else
{
common
.
errorDialog
(
2
,
res
[
'message'
])
}
})
}
}
else
{
common
.
errorDialog
(
2
,
'请填写手机号'
)
}
},
gotoApply
(){
if
(
!
this
.
form
.
nickName
){
common
.
errorDialog
(
1
,
'请输入昵称'
);
return
false
;
}
if
(
this
.
form
.
nickName
&&
this
.
form
.
nickName
.
length
<
2
){
common
.
errorDialog
(
1
,
'昵称长度为2~10个字符'
);
return
}
if
(
!
this
.
form
.
mobile
){
common
.
errorDialog
(
1
,
'请输入手机号'
);
return
false
;
}
if
(
!
common
.
mobileNoValid
(
this
.
form
.
mobile
)){
common
.
errorDialog
(
2
,
'手机号格式填写错误'
);
return
false
;
}
if
(
!
this
.
loginType
||
this
.
loginType
===
'visitor'
){
if
(
!
this
.
form
.
code
){
common
.
errorDialog
(
1
,
'请输入验证码'
);
return
false
;
}
}
if
(
!
this
.
agreeFlag
){
uni
.
showToast
({
title
:
'请阅读并勾选'
+
`
${
this
.
companyInfo
.
companyFullName
}
`
+
'服务协议和隐私条款'
,
duration
:
3000
,
icon
:
'none'
})
return
false
;
}
const
params
=
{
loginType
:
'3'
,
...
this
.
form
}
if
(
this
.
loginType
==
'codelogin'
){
this
.
getApply
()
return
}
if
(
!
this
.
loginType
||
this
.
loginType
==
'visitor'
){
api
.
loginVerification
(
params
).
then
((
res
)
=>
{
if
(
res
[
'success'
]){
this
.
userId
=
String
(
res
[
'data'
][
'userId'
]);
uni
.
setStorageSync
(
'isLogin'
,
'1'
);
uni
.
setStorageSync
(
'loginType'
,
'codelogin'
);
uni
.
setStorageSync
(
'cffp_userId'
,
this
.
userId
);
uni
.
setStorageSync
(
'uni-token'
,
res
.
data
[
'token'
]);
uni
.
setStorageSync
(
'isPartner'
,
res
.
data
[
'isPartner'
]);
//是否是合伙人
this
.
queryInfo
()
// 是合伙人就不让在加盟
if
(
res
.
data
.
isPartner
){
this
.
$refs
.
everyJoinPopup
.
open
()
return
}
// 不是合伙人就加盟
if
(
!
res
.
data
.
isPartner
){
this
.
getApply
()
}
}
else
{
uni
.
showToast
({
title
:
res
[
'message'
],
duration
:
2000
,
icon
:
'none'
})
}
})
}
},
queryInfo
()
{
api
.
queryInfo
({
userId
:
uni
.
getStorageSync
(
'cffp_userId'
)}).
then
(
res
=>
{
// 保存用户得个人信息
if
(
res
[
'success'
])
{
this
.
form
.
nickName
=
res
[
'data'
][
'nickName'
]
if
(
this
.
form
.
nickName
){
this
.
editNickName
=
true
}
else
{
this
.
editNickName
=
false
}
const
cffp_userInfo
=
{
name
:
res
[
'data'
][
'realName'
],
mobile
:
res
[
'data'
][
'mobile'
],
partnerType
:
res
[
'data'
][
'partnerType'
],
nickName
:
res
[
'data'
][
'nickName'
],
}
uni
.
setStorageSync
(
'cffp_userInfo'
,
JSON
.
stringify
(
cffp_userInfo
))
}
else
{
uni
.
setStorageSync
(
'loginType'
,
'visitor'
)
}
})
},
// 申请加盟
getApply
(){
let
params
=
{}
if
(
this
.
inviteUserId
){
params
=
{
applyType
:
'1'
,
applyUserId
:
this
.
userId
,
applyMobile
:
this
.
form
.
mobile
,
inviteUserId
:
this
.
inviteUserId
,
nickName
:
this
.
form
.
nickName
,
inviterInvitationCode
:
this
.
invitationCode
,
shareId
:
this
.
shareId
}
// return
}
else
{
params
=
{
applyType
:
'2'
,
applyUserId
:
this
.
userId
,
applyMobile
:
this
.
form
.
mobile
,
nickName
:
this
.
form
.
nickName
}
}
api
.
newSaveApplyInfo
(
params
).
then
((
res
)
=>
{
if
(
res
[
'success'
]){
// 是合伙人就不让在加盟
if
(
res
.
data
.
isPartner
){
this
.
$refs
.
everyJoinPopup
.
open
()
return
}
dataHandling
.
pocessTracking
(
'加盟'
,
`已成功加盟为合伙人`
,
'点击'
,
2
,
'申请加盟'
,
'pages/saleCourseLists/saleCourseLists'
)
this
.
$refs
.
successJoinPopup
.
open
()
}
else
{
uni
.
showToast
({
title
:
res
[
'message'
],
duration
:
2000
,
icon
:
'none'
})
}
})
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.applyBox
{
background-color
:
#fff
;
padding
:
30
rpx
;
border-radius
:
20
rpx
;
margin-top
:
100
rpx
;
box-sizing
:
border-box
;
.inputBox{
margin-bottom
:
20
rpx
;
padding-bottom
:
10
rpx
;
border-bottom
:
1
rpx
solid
#E8E8E8
;
.require{
font-size
:
24
rpx
;
color
:
red
;
}
.desTxt
{
font-size
:
24
rpx
;
color
:
#333333
;
}
.user-input
{
color
:
black
;
font-size
:
26
rpx
;
margin-top
:
15
rpx
;
}
.codeBox
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
color
:
#20279B
;
font-size
:
26
rpx
;
.grey{
color
:
rgba
(
32
,
39
,
155
,
0.5
);
/* 50% 透明 */
}
}
}
.agreeBox
{
padding-top
:
20
rpx
;
font-size
:
26
rpx
;
color
:
#20279B
;
}
.protol
{
display
:
flex
;
align-items
:
center
;
font-size
:
26
rpx
;
.empty{
width
:
30
rpx
;
height
:
30
rpx
;
border
:
1
rpx
solid
#20269B
;
border-radius
:
50%
;
margin-right
:
5
rpx
;
}
.icon-icon_duihao-mian
{
font-size
:
30
rpx
;
color
:
#20269B
;
margin-right
:
5
rpx
;
}
}
.btnBox
{
box-sizing
:
border-box
;
width
:
80%
;
text-align
:
center
;
padding
:
20
rpx
;
border-radius
:
50
rpx
;
background-color
:
#20279B
;
color
:
#fff
;
font-size
:
28
rpx
;
margin
:
0
rpx
50
rpx
30
rpx
50
rpx
;
}
}
</
style
>
\ No newline at end of file
myPackageA/transformPage/transformPage.vue
deleted
100644 → 0
View file @
9dea7b8c
<
template
>
<view
class=
""
>
11111
</view>
</
template
>
<
script
>
export
default
{
//项目中转页
onLoad
(
options
){
if
(
options
.
invitationCode
)
{
uni
.
navigateTo
({
url
:
`/myPackageA/applyFranchise/applyFranchise?shareId=
${
options
.
shareId
}
&invitationCode=
${
options
.
invitationCode
}
&inviteUserId=
${
options
.
inviteUserId
}
`
});
return
;
}
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
pages.json
View file @
a7193f75
...
...
@@ -539,12 +539,7 @@
"style"
:
{
"navigationBarTitleText"
:
"协议"
}
},{
"path"
:
"transformPage/transformPage"
,
"style"
:
{
"navigationBarTitleText"
:
"中转页"
}
}
},
]
},{
"root"
:
"officialWebsite"
,
...
...
pages/applyFranchise/applyFranchise.vue
deleted
100644 → 0
View file @
9dea7b8c
<
template
>
<view
class=
"container"
>
<image
class=
"imgbox"
:src=
"baseURL + `/$
{imgType}/static/images/applyBg.png`"
mode="widthFix"
>
</image>
<view
class=
"wapper"
>
<view
style=
"flex: 1;"
>
<view
class=
"header"
>
<view
class=
"one"
>
合伙人加盟
</view>
<view
class=
"two"
>
优质资源,专业服务
</view>
</view>
<resigter
:form=
"form"
:editNickName=
"editNickName"
:editMobile=
"editMobile"
@
apply=
"gotoApply()"
/>
<!--
<view
class=
"applyBox"
>
<view
style=
"height: 550rpx;"
>
<view
class=
"inputBox"
>
<view
class=
"txt"
>
<text
class=
"require"
>
*
</text>
昵称
<text
class=
"desTxt"
>
(用于邀请好友及统计业绩显示)
</text>
</view>
<view
class=
""
>
<input
class=
"user-input"
maxlength=
"10"
type=
"text"
placeholder=
"请输入2~10个字符"
v-model=
"form.nickName"
:disabled=
"editNickName"
/>
</view>
</view>
<view
class=
"inputBox"
>
<view
class=
"txt"
>
<text
class=
"require"
>
*
</text>
手机号码
<text
class=
"desTxt"
>
(账号唯一标识)
</text>
</view>
<view
class=
"codeBox"
>
<input
type=
"number"
class=
"user-input"
name=
"mobileNo"
placeholder=
"请输入手机号"
v-model=
"form.mobile"
maxlength=
"11"
:disabled=
"editMobile"
/>
<view
:class=
"
{'grey':disabledSendBtn}"
@click="sendMessage()"
v-if="loginType=== 'visitor'"
>
{{
sendCodeHtml
}}
</view>
</view>
</view>
<view
class=
"inputBox"
v-if=
"loginType=== 'visitor'"
>
<view
class=
"txt"
>
<text
class=
"require"
>
*
</text>
验证码
</view>
<view
class=
""
>
<input
type=
"number"
class=
"user-input"
name=
"mobileNo"
placeholder=
"请输入短信验证码"
v-model=
"form.code"
maxlength=
"6"
/>
</view>
</view>
<view
class=
"protol"
>
<view
class=
"empty"
v-if=
"!agreeFlag"
@
click=
"agreeFlag=true"
></view>
<text
v-else
class=
"iconfont icon-icon_duihao-mian"
@
click=
"agreeFlag=false"
></text>
<text
style=
"color: #666;"
>
我已阅读并同意
</text>
<text
style=
"color: #20269B;"
@
click=
"getFile(1)"
>
服务协议
</text>
<text
style=
"color: #666666;"
>
和
</text>
<text
style=
"color: #20269B;"
@
click=
"getFile(2)"
>
隐私条款
</text>
</view>
</view>
<view
class=
"btnBox"
@
click=
"gotoApply"
>
{{
loginType
==
'codelogin'
?
'确认加盟'
:
'注册并加盟'
}}
</view>
</view>
-->
</view>
<view
class=
"footer"
>
银盾家族办公室
</view>
</view>
<!-- 已加盟为合伙人提示弹窗组件 -->
<everyJoinPopup
ref=
"everyJoinPopup"
@
continue=
"jumpPage"
/>
<!-- 成功加盟为合伙人提示弹窗组件 -->
<everyJoinPopup
ref=
"successJoinPopup"
@
continue=
"jumpPage()"
content=
"您已加盟为银盾家办合伙人"
twoContent=
'购买一单"YD家庭财务法律卡"即可升级为新锐合伙人,享受组织利益'
continueText=
"前往购买"
fontColor=
"#20279B"
:maskClick=
"false"
icon=
"icon-dianzan"
iconSize=
'80rpx'
/>
</view>
</
template
>
<
script
>
import
resigter
from
"@/components/resigter/resigter.vue"
;
import
everyJoinPopup
from
"@/components/commonPopup/everyJoinPopup.vue"
;
import
api
from
'@/api/api'
;
import
*
as
environment
from
"@/environments/environment"
;
import
common
from
'@/common/common'
;
import
dataHandling
from
"@/util/dataHandling"
;
export
default
{
components
:{
everyJoinPopup
,
resigter
},
data
()
{
return
{
companyInfo
:
environment
.
companyInfo
,
imgType
:
environment
.
companyInfo
.
imgType
,
baseURL
:
environment
.
baseURL
,
form
:{
mobile
:
''
,
nickName
:
''
,
code
:
''
},
agreeFlag
:
false
,
sendCodeHtml
:
'发送验证码'
,
disabledSendBtn
:
false
,
timer
:
null
,
remainTimes
:
60
,
loginType
:
uni
.
getStorageSync
(
'loginType'
),
userInfo
:{},
userId
:
uni
.
getStorageSync
(
'cffp_userId'
),
//本人id,
InviteeUserId
:
''
,
//被邀请人id
inviteUserId
:
''
,
//邀请人id,
editNickName
:
false
,
editMobile
:
false
,
shareId
:
''
,
//邀请人分享得id
invitationCode
:
''
,
//邀请码
}
},
onLoad
(
options
){
this
.
inviteUserId
=
''
if
(
options
.
inviteUserId
){
this
.
inviteUserId
=
options
.
inviteUserId
}
if
(
options
.
invitationCode
){
this
.
invitationCode
=
options
.
invitationCode
}
// 邀请链接进来的统一走注册加盟
if
(
options
.
shareId
){
this
.
shareId
=
options
.
shareId
this
.
getqueryById
(
options
.
shareId
)
uni
.
clearStorageSync
()
uni
.
setStorageSync
(
'loginType'
,
'visitor'
)
}
// 从缓存恢复倒计时状态
const
smsTimer
=
uni
.
getStorageSync
(
'smsTimer'
);
if
(
smsTimer
&&
smsTimer
.
expire
>
Date
.
now
())
{
this
.
remainTimes
=
Math
.
floor
((
smsTimer
.
expire
-
Date
.
now
())
/
1000
);
this
.
disabledSendBtn
=
true
;
this
.
startCountdown
();
}
},
onUnload
()
{
// 清除定时器
if
(
this
.
timer
)
{
clearInterval
(
this
.
timer
);
this
.
timer
=
null
;
}
// 清除缓存的状态
uni
.
removeStorageSync
(
'smsTimer'
);
},
onShow
(){
if
(
uni
.
getStorageSync
(
'loginType'
)){
this
.
loginType
=
uni
.
getStorageSync
(
'loginType'
)
}
if
(
uni
.
getStorageSync
(
'cffp_userInfo'
)){
this
.
userInfo
=
JSON
.
parse
(
uni
.
getStorageSync
(
'cffp_userInfo'
))
}
if
(
uni
.
getStorageSync
(
'cffp_userId'
)){
this
.
userId
=
uni
.
getStorageSync
(
'cffp_userId'
)
}
if
(
!
uni
.
getStorageSync
(
'loginType'
)){
this
.
loginType
=
'visitor'
}
// 非邀请状态
if
(
!
this
.
inviteUserId
&&
this
.
loginType
==
'codelogin'
&&
this
.
userInfo
.
mobile
){
this
.
form
.
mobile
=
this
.
userInfo
.
mobile
this
.
editMobile
=
true
}
// 非邀请状态
if
(
!
this
.
inviteUserId
&&
this
.
loginType
==
'codelogin'
&&!
this
.
form
.
nickName
){
this
.
queryInfo
()
}
},
methods
:
{
getqueryById
(
shareId
){
api
.
queryById
({
id
:
shareId
}).
then
(
res
=>
{
this
.
form
.
nickName
=
res
.
data
.
data
.
name
this
.
form
.
mobile
=
res
.
data
.
data
.
mobileNumber
this
.
editNickName
=
this
.
editMobile
=
true
})
},
jumpPage
(){
uni
.
switchTab
({
url
:
'/pages/index/index'
})
this
.
$refs
.
successJoinPopup
.
close
()
this
.
$refs
.
everyJoinPopup
.
close
()
},
getFile
(
type
){
let
typeName
=
type
==
1
?
'服务协议'
:
type
==
2
?
'隐私条款'
:
''
dataHandling
.
pocessTracking
(
'查看协议'
,
`查看
${
typeName
}
`
,
'点击'
,
2
,
'申请加盟'
,
'pages/saleCourseLists/saleCourseLists'
)
uni
.
navigateTo
({
url
:
`/myPackageA/ruleAndContract/clause?type=
${
type
}
`
})
},
c_agreeFlag
(){
this
.
agreeFlag
=!
this
.
agreeFlag
;
},
startCountdown
()
{
this
.
disabledSendBtn
=
true
;
this
.
timer
=
setInterval
(()
=>
{
this
.
remainTimes
--
;
this
.
sendCodeHtml
=
`
${
this
.
remainTimes
}
(S)`
;
// 存储倒计时状态
uni
.
setStorageSync
(
'smsTimer'
,
{
expire
:
Date
.
now
()
+
this
.
remainTimes
*
1000
});
if
(
this
.
remainTimes
<=
0
)
{
this
.
sendCodeHtml
=
'获取验证码'
;
this
.
remainTimes
=
60
;
this
.
disabledSendBtn
=
false
;
clearInterval
(
this
.
timer
);
this
.
timer
=
null
;
uni
.
removeStorageSync
(
'smsTimer'
);
}
},
1000
);
},
sendMessage
()
{
const
params
=
{
mobileNo
:
this
.
form
.
mobile
,
type
:
"1"
,
source
:
"cffp"
}
if
(
common
.
mobileNoValid
(
this
.
form
.
mobile
))
{
if
(
!
this
.
disabledSendBtn
)
{
api
.
verificationCode
(
params
).
then
((
res
)
=>
{
if
(
res
[
'success'
])
{
this
.
startCountdown
();
}
else
{
common
.
errorDialog
(
2
,
res
[
'message'
])
}
})
}
}
else
{
common
.
errorDialog
(
2
,
'请填写手机号'
)
}
},
// delayTime() {
// this.disabledSendBtn = true;
// this.timer = setInterval(() => {
// this.remainTimes--;
// this.sendCodeHtml = `${this.remainTimes}(S)`;
// if (this.remainTimes
<=
0
)
{
// this.sendCodeHtml = '获取验证码';
// this.remainTimes = 60;
// this.disabledSendBtn = false;
// clearInterval(this.timer);
// }
// }, 1000);
// },
// sendMessage(){
// const params = {
// mobileNo:this.form.mobile,
// type:"1",
// source: "cffp"
// }
// if(common.mobileNoValid(this.form.mobile)){
// if(!this.disabledSendBtn){
// api.verificationCode(params).then((res)=>{
// if(res['success']){
// this.delayTime()
// }else{
// common.errorDialog(2,res['message'])
// }
// })
// }
// }else{
// common.errorDialog(2,'请填写手机号')
// }
// },
gotoApply
(){
if
(
!
this
.
form
.
nickName
){
common
.
errorDialog
(
1
,
'请输入昵称'
);
return
false
;
}
if
(
this
.
form
.
nickName
&&
this
.
form
.
nickName
.
length
<
2
){
common
.
errorDialog
(
1
,
'昵称长度为2~10个字符'
);
return
}
if
(
!
this
.
form
.
mobile
){
common
.
errorDialog
(
1
,
'请输入手机号'
);
return
false
;
}
if
(
!
common
.
mobileNoValid
(
this
.
form
.
mobile
)){
common
.
errorDialog
(
2
,
'手机号格式填写错误'
);
return
false
;
}
if
(
!
this
.
loginType
||
this
.
loginType
===
'visitor'
){
if
(
!
this
.
form
.
code
){
common
.
errorDialog
(
1
,
'请输入验证码'
);
return
false
;
}
}
if
(
!
this
.
agreeFlag
){
uni
.
showToast
({
title
:
'请阅读并勾选'
+
`
${
this
.
companyInfo
.
companyFullName
}
`
+
'服务协议和隐私条款'
,
duration
:
3000
,
icon
:
'none'
})
return
false
;
}
const
params
=
{
loginType
:
'3'
,
...
this
.
form
}
if
(
this
.
loginType
==
'codelogin'
){
this
.
getApply
()
return
}
if
(
!
this
.
loginType
||
this
.
loginType
==
'visitor'
){
api
.
loginVerification
(
params
).
then
((
res
)
=>
{
if
(
res
[
'success'
]){
this
.
userId
=
String
(
res
[
'data'
][
'userId'
]);
uni
.
setStorageSync
(
'isLogin'
,
'1'
);
uni
.
setStorageSync
(
'loginType'
,
'codelogin'
);
uni
.
setStorageSync
(
'cffp_userId'
,
this
.
userId
);
uni
.
setStorageSync
(
'uni-token'
,
res
.
data
[
'token'
]);
uni
.
setStorageSync
(
'isPartner'
,
res
.
data
[
'isPartner'
]);
//是否是合伙人
this
.
queryInfo
()
// 是合伙人就不让在加盟
if
(
res
.
data
.
isPartner
){
this
.
$refs
.
everyJoinPopup
.
open
()
return
}
// 不是合伙人就加盟
if
(
!
res
.
data
.
isPartner
){
this
.
getApply
()
}
}
else
{
uni
.
showToast
({
title
:
res
[
'message'
],
duration
:
2000
,
icon
:
'none'
})
}
})
}
},
queryInfo
()
{
api
.
queryInfo
({
userId
:
uni
.
getStorageSync
(
'cffp_userId'
)}).
then
(
res
=>
{
// 保存用户得个人信息
if
(
res
[
'success'
])
{
this
.
form
.
nickName
=
res
[
'data'
][
'nickName'
]
if
(
this
.
form
.
nickName
){
this
.
editNickName
=
true
}
else
{
this
.
editNickName
=
false
}
const
cffp_userInfo
=
{
name
:
res
[
'data'
][
'realName'
],
mobile
:
res
[
'data'
][
'mobile'
],
partnerType
:
res
[
'data'
][
'partnerType'
],
nickName
:
res
[
'data'
][
'nickName'
],
}
uni
.
setStorageSync
(
'cffp_userInfo'
,
JSON
.
stringify
(
cffp_userInfo
))
}
else
{
uni
.
setStorageSync
(
'loginType'
,
'visitor'
)
}
})
},
// 申请加盟
getApply
(){
let
params
=
{}
if
(
this
.
inviteUserId
){
params
=
{
applyType
:
'1'
,
applyUserId
:
this
.
userId
,
applyMobile
:
this
.
form
.
mobile
,
inviteUserId
:
this
.
inviteUserId
,
nickName
:
this
.
form
.
nickName
,
inviterInvitationCode
:
this
.
invitationCode
,
shareId
:
this
.
shareId
}
// return
}
else
{
params
=
{
applyType
:
'2'
,
applyUserId
:
this
.
userId
,
applyMobile
:
this
.
form
.
mobile
,
nickName
:
this
.
form
.
nickName
}
}
api
.
newSaveApplyInfo
(
params
).
then
((
res
)
=>
{
if
(
res
[
'success'
]){
// 是合伙人就不让在加盟
if
(
res
.
data
.
isPartner
){
this
.
$refs
.
everyJoinPopup
.
open
()
return
}
dataHandling
.
pocessTracking
(
'加盟'
,
`已成功加盟为合伙人`
,
'点击'
,
2
,
'申请加盟'
,
'pages/saleCourseLists/saleCourseLists'
)
this
.
$refs
.
successJoinPopup
.
open
()
// uni.showToast({
// title: '您已加盟成功',
// duration: 1000,
// icon: 'none'
// })
// uni.switchTab({
// url:'/pages/index/index'
// })
}
else
{
uni
.
showToast
({
title
:
res
[
'message'
],
duration
:
2000
,
icon
:
'none'
})
}
})
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.uni-radio-input
{
//
background-color
:
#20279B
!important
;
//
border-color
:
#20279B
!important
;
}
.container
{
position
:
relative
;
box-sizing
:
border-box
;
.imgbox{
display
:
block
;
}
.wapper
{
//
background-color
:
pink
;
box-sizing
:
border-box
;
display
:
flex
;
flex-direction
:
column
;
position
:
absolute
;
top
:
0
;
left
:
0
;
height
:
100%
;
width
:
100%
;
padding
:
0
50
rpx
;
.header{
color
:
#333333
;
margin-top
:
140
rpx
;
.one{
font-size
:
60
rpx
;
font-weight
:
700
;
}
.two
{
font-size
:
30
rpx
;
font-weight
:
500
;
}
}
.applyBox
{
background-color
:
#fff
;
padding
:
30
rpx
;
border-radius
:
20
rpx
;
margin-top
:
100
rpx
;
box-sizing
:
border-box
;
.inputBox{
margin-bottom
:
20
rpx
;
padding-bottom
:
10
rpx
;
border-bottom
:
1
rpx
solid
#E8E8E8
;
.require{
font-size
:
24
rpx
;
color
:
red
;
}
.desTxt
{
font-size
:
24
rpx
;
color
:
#333333
;
}
.user-input
{
color
:
black
;
font-size
:
26
rpx
;
margin-top
:
15
rpx
;
}
.codeBox
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
color
:
#20279B
;
font-size
:
26
rpx
;
.grey{
color
:
rgba
(
32
,
39
,
155
,
0.5
);
/* 50% 透明 */
}
}
}
.agreeBox
{
padding-top
:
20
rpx
;
font-size
:
26
rpx
;
color
:
#20279B
;
}
.protol
{
display
:
flex
;
align-items
:
center
;
font-size
:
26
rpx
;
.empty{
width
:
30
rpx
;
height
:
30
rpx
;
border
:
1
rpx
solid
#20269B
;
border-radius
:
50%
;
margin-right
:
5
rpx
;
}
.icon-icon_duihao-mian
{
font-size
:
30
rpx
;
color
:
#20269B
;
margin-right
:
5
rpx
;
}
}
.btnBox
{
box-sizing
:
border-box
;
width
:
80%
;
text-align
:
center
;
padding
:
20
rpx
;
border-radius
:
50
rpx
;
background-color
:
#20279B
;
color
:
#fff
;
font-size
:
28
rpx
;
margin
:
0
rpx
50
rpx
30
rpx
50
rpx
;
}
}
.footer
{
font-size
:
28
rpx
;
color
:
rgba
(
0
,
0
,
0
,
.5
);
width
:
100%
;
text-align
:
center
;
margin-bottom
:
20
rpx
;
margin-top
:
auto
;
letter-spacing
:
8
rpx
;
}
}
}
</
style
>
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