Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mayi-mp-shop
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
程默
mayi-mp-shop
Commits
0bcc3a32
Commit
0bcc3a32
authored
Aug 26, 2023
by
李嘉林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
扫门店码进入优化
parent
a9a01578
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
100 additions
and
47 deletions
+100
-47
src/App.vue
+35
-6
src/pages/home/index.vue
+46
-41
src/utils/mayi.js
+19
-0
No files found.
src/App.vue
View file @
0bcc3a32
<
script
>
// import "@/utils/posthog"
import
shop
from
"@/api/shop"
;
import
indexApi
from
"@/api/index.js"
;
import
spokesman
from
"@/api/spokesman"
;
import
{
themeColor
,
checkShowConditionIds
,
getStoreInfo
}
from
"@/utils/mayi"
;
import
{
themeColor
,
checkShowConditionIds
,
getStoreInfo
,
setStoreInfo
}
from
"@/utils/mayi"
;
import
{
query_isEntry
}
from
"@/utils/mayi_fenxiao"
;
export
default
{
...
...
@@ -44,7 +45,7 @@ export default {
console
.
log
(
"1444444444"
,
extConfig
);
this
.
$store
.
commit
(
"setExtConfig"
,
extConfig
.
mixid
);
this
.
$store
.
commit
(
'setExtConfigInfo'
,
extConfig
)
this
.
$store
.
commit
(
'setExtConfigInfo'
,
extConfig
)
// 调用API从本地缓存中获取数据
/*
* 平台 api 差异的处理方式: api 方法统一挂载到 mpvue 名称空间, 平台判断通过 mpvuePlatform 特征字符串
...
...
@@ -74,10 +75,6 @@ export default {
// 页面配置信息
this
.
getThemePage
(
extConfig
);
// 商城配置
await
this
.
shopConfiguration
()
let
mpApp
=
getApp
();
console
.
log
(
mpApp
,
"this.mpApp"
);
mpApp
.
getShopInfo
=
this
.
getShopInfo
...
...
@@ -86,6 +83,38 @@ export default {
},
300
)
},
async
mounted
()
{
let
{
query
=
{},
path
=
""
}
=
{}
=
this
.
$mp
.
appOptions
;
console
.
log
(
'app-mounted-url'
,
path
,
query
);
// 通过扫码直接进入门店要先获取到url的门店code(这块暂时只能在mounted->this.$mp.appOptions中获取到)
// url存在门店信息存门店缓存
// 扫码进入url有scene参数
try
{
if
(
JSON
.
stringify
(
query
)
!==
'{}'
)
{
console
.
log
(
'app-mounted-query'
,
query
);
if
(
query
.
scene
)
{
let
res
=
await
indexApi
.
getShareSceneRecord
(
query
.
scene
);
if
(
res
.
data
.
code
==
200
)
{
let
sceneObj
=
JSON
.
parse
(
res
.
data
.
data
.
scene
);
let
paramsObj
=
sceneObj
&&
sceneObj
.
params
?
JSON
.
parse
(
decodeURIComponent
(
sceneObj
.
params
))
:
{};
console
.
log
(
'app-mounted-paramsObj'
,
paramsObj
)
if
(
paramsObj
.
offlineShopCode
)
{
// 存在门店参数
setStoreInfo
({
offlineShopCode
:
paramsObj
.
offlineShopCode
,
offlineShopName
:
paramsObj
.
offlineShopName
,
});
}
}
}
}
// 商城配置
await
this
.
shopConfiguration
()
}
catch
(
error
)
{
console
.
log
(
'app-mounted-error'
,
error
);
}
console
.
log
(
'app-mounted-结束'
)
},
methods
:
{
async
setVisible
(
pageList
,
cb
)
{
// 首页显示条件
...
...
src/pages/home/index.vue
View file @
0bcc3a32
...
...
@@ -354,7 +354,7 @@ export default {
console
.
log
(
'----onReady'
)
this
.
firstOpenPage
=
false
;
},
onLoad
(
options
)
{
async
onLoad
(
options
)
{
if
(
this
.
$options
)
{
Object
.
assign
(
this
.
$data
,
this
.
$options
.
data
());
}
...
...
@@ -389,43 +389,51 @@ export default {
}
if
(
options
.
scene
){
//新二维码扫码进入
wx
.
nextTick
(()
=>
{
indexApi
.
getShareSceneRecord
(
options
.
scene
).
then
(
res
=>
{
log
.
info
(
res
,
'onLoad-getShareSceneRecord'
);
if
(
res
.
data
.
code
==
'200'
){
this
.
page
=
res
.
data
.
data
.
pageUri
;
let
paramsObj
=
JSON
.
parse
(
res
.
data
.
data
.
scene
);
if
(
paramsObj
.
spokesmanRelId
){
wx
.
setStorage
({
key
:
"becomeInfo"
,
data
:
JSON
.
stringify
(
paramsObj
)
});
let
res
=
await
indexApi
.
getShareSceneRecord
(
options
.
scene
);
log
.
info
(
res
,
'onLoad-getShareSceneRecord'
);
if
(
res
.
data
.
code
==
'200'
){
this
.
page
=
res
.
data
.
data
.
pageUri
;
let
sceneObj
=
JSON
.
parse
(
res
.
data
.
data
.
scene
);
this
.
h5Params
=
sceneObj
;
if
(
sceneObj
.
spokesmanRelId
){
wx
.
setStorage
({
key
:
"becomeInfo"
,
data
:
JSON
.
stringify
(
sceneObj
)
});
}
let
paramsObj
=
sceneObj
&&
sceneObj
.
params
?
JSON
.
parse
(
decodeURIComponent
(
sceneObj
.
params
))
:
{};
this
.
h5Params
=
paramsObj
;
console
.
log
(
'app-mounted-paramsObj'
,
paramsObj
)
if
(
paramsObj
.
offlineShopCode
)
{
// 存在门店参数
setStoreInfo
({
offlineShopCode
:
paramsObj
.
offlineShopCode
,
offlineShopName
:
paramsObj
.
offlineShopName
,
});
}
wx
.
setStorageSync
(
'attractingCustomerChannelId'
,
sceneObj
.
attractingCustomerChannelId
);
wx
.
setStorageSync
(
this
.
$store
.
state
.
mixid
+
'storeId'
,
sceneObj
.
storeId
);
wx
.
setStorageSync
(
this
.
$store
.
state
.
mixid
+
'sellerId'
,
sceneObj
.
sellerId
);
log
.
info
(
res
.
data
.
data
,
'getShareSceneRecord'
)
console
.
log
(
res
.
data
.
data
,
'----getShareSceneRecord'
)
log
.
info
(
wx
.
getStorageSync
(
"openid"
),
'onLoad-openid'
);
if
(
wx
.
getStorageSync
(
"openid"
))
{
indexApi
.
addRecord
(
{
attractingCustomersChannelId
:
paramsObj
.
attractingCustomerChannelId
,
miniOpenId
:
wx
.
getStorageSync
(
"openid"
),
registerFlag
:
1
,
newRegisterFlag
:
0
,
}
wx
.
setStorageSync
(
'attractingCustomerChannelId'
,
paramsObj
.
attractingCustomerChannelId
);
wx
.
setStorageSync
(
this
.
$store
.
state
.
mixid
+
'storeId'
,
paramsObj
.
storeId
);
wx
.
setStorageSync
(
this
.
$store
.
state
.
mixid
+
'sellerId'
,
paramsObj
.
sellerId
);
log
.
info
(
res
.
data
.
data
,
'getShareSceneRecord'
)
console
.
log
(
res
.
data
.
data
,
'----getShareSceneRecord'
)
log
.
info
(
wx
.
getStorageSync
(
"openid"
),
'onLoad-openid'
);
if
(
wx
.
getStorageSync
(
"openid"
))
{
indexApi
.
addRecord
(
{
attractingCustomersChannelId
:
paramsObj
.
attractingCustomerChannelId
,
miniOpenId
:
wx
.
getStorageSync
(
"openid"
),
registerFlag
:
1
,
newRegisterFlag
:
0
,
}
).
then
(
ele
=>
{
//清空引客渠道id
if
(
ele
.
data
.
data
)
{
wx
.
setStorageSync
(
'attractingCustomerChannelId'
,
''
);
}
})
).
then
(
ele
=>
{
//清空引客渠道id
if
(
ele
.
data
.
data
)
{
wx
.
setStorageSync
(
'attractingCustomerChannelId'
,
''
);
}
}
}
).
catch
((
err
)
=>
{
})
}
)
}
}
wx
.
nextTick
(()
=>
{
});
}
if
(
options
.
from
&&
options
.
from
==
"logout"
)
{
...
...
@@ -548,6 +556,8 @@ export default {
methods
:
{
reloadEnterShopRule
()
{
// 进店规则--首次进店调用
if
(
this
.
h5Params
&&
this
.
h5Params
.
offlineShopCode
)
return
;
console
.
log
(
'home-methods-reloadEnterShopRule'
)
if
(
wx
.
getStorageSync
(
"firstView"
))
{
console
.
log
(
'reloadEnterShopRule-------1'
)
wx
.
removeStorageSync
(
"firstView"
);
...
...
@@ -601,11 +611,6 @@ export default {
}
// this.pageLoading = false;
},
toUpdate
()
{
console
.
log
(
"toUpdate"
);
// 切换门店重新加载
this
.
getThemeList
();
},
toPageLoading
()
{
// this.pageLoading = true;
},
...
...
src/utils/mayi.js
View file @
0bcc3a32
...
...
@@ -564,3 +564,22 @@ export function getStoreInfo() {
offlineShopName
:
wx
.
getStorageSync
(
"offlineShopName"
)
||
""
};
}
/*获取当前页带参数的url*/
export
function
getCurrentPageUrlWithArgs
(){
var
pages
=
getCurrentPages
()
//获取加载的页面
if
(
pages
.
length
==
0
)
return
""
;
var
currentPage
=
pages
[
pages
.
length
-
1
]
//获取当前页面的对象
var
url
=
currentPage
.
route
//当前页面url
var
options
=
currentPage
.
options
//如果要获取url中所带的参数可以查看options
//拼接url的参数
var
urlWithArgs
=
url
+
'?'
for
(
var
key
in
options
){
var
value
=
options
[
key
]
urlWithArgs
+=
key
+
'='
+
value
+
'&'
}
urlWithArgs
=
urlWithArgs
.
substring
(
0
,
urlWithArgs
.
length
-
1
)
return
urlWithArgs
}
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