Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
高东东-金蝶建发
/
jf-yzj-supplier
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
dc4a15fb
authored
Nov 20, 2023
by
golton_gao
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
update: 更新showWidget和getExtra这2个js桥
parent
d8a7bbdc
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
94 additions
and
30 deletions
src/polyfill/cordova.js
src/polyfill/cordova.js
View file @
dc4a15fb
;(
function
(
global
)
{
var
qing
=
global
.
qing
function
getParamValue
(
paramName
)
{
var
search
=
location
.
search
var
reg
=
new
RegExp
(
`(?:\\?|&)
${
paramName
}
=([^&]+)`
)
if
(
reg
.
test
(
search
))
{
return
RegExp
.
$1
}
return
null
var
appMap
=
{
'com.jffc.gc-bak'
:
'500000106'
,
'com.jffc.gc'
:
'500000113'
,
'com.jffc.supplier'
:
'500000112'
}
var
widgetVal
=
{}
function
isObject
(
value
)
{
return
value
!==
null
&&
typeof
value
===
'object'
}
var
qingPromise
=
function
(
fnName
,
params
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
...
...
@@ -193,6 +191,41 @@
}
qing
.
call
(
'request'
,
opt
)
}
function
openAppWithData
(
appName
,
data
,
url
)
{
var
val
=
''
if
(
isObject
(
data
))
{
data
=
JSON
.
stringify
(
data
)
// 针对json数据格式化来的字符串添加特殊标识,方便后续还原
data
=
'__json__='
+
data
}
if
(
typeof
data
===
'string'
)
{
// IOS有个奇葩的设计,把双引号转单引号输出了,所以需要将单引号,双引号在保存前特殊处理,然后再还原。
val
=
data
.
replace
(
/'/gm
,
'∆∆'
).
replace
(
/"/gm
,
'åå'
)
}
val
=
encodeURIComponent
(
val
)
return
new
Promise
(
function
(
resolve
,
reject
)
{
qing
.
call
(
'storage.setItem'
,
{
shared
:
true
,
key
:
appName
,
value
:
val
,
success
:
function
(
res
)
{
if
(
String
(
res
.
success
).
toLowerCase
()
===
'true'
)
{
qing
.
call
(
'gotoLightApp'
,
{
urlParam
:
url
})
resolve
(
true
)
}
else
{
reject
(
res
.
error
)
}
},
error
:
function
(
e
)
{
reject
(
e
)
}
})
})
}
var
handlers
=
{
MIDEACOMMON
:
{
launchExternalAPPByThird
:
function
(
params
,
successFn
,
failFn
)
{
...
...
@@ -310,24 +343,70 @@
urlParam
:
url
})
},
showWidget
:
function
()
{},
showWidget
:
function
(
params
,
successFn
,
failFn
)
{
if
(
!
Array
.
isArray
(
params
)
||
!
params
[
0
])
{
failFn
(
'未检测到要打开的应用地址!'
)
return
}
var
appName
=
params
[
0
]
var
appId
=
appMap
[
appName
]
if
(
!
appId
)
{
failFn
(
'未检测到要打开的应用!'
)
return
}
var
data
=
params
[
1
]
||
''
openAppWithData
(
encodeURIComponent
(
appName
),
data
,
'cloudhub://miniapp?appid='
+
appId
+
'&path=index.html'
).
then
(
successFn
,
failFn
)
},
getExtra
:
function
(
params
,
successFn
,
failFn
)
{
var
result
=
null
if
(
Array
.
isArray
(
params
))
{
var
appName
=
params
[
0
]
if
(
appName
)
{
var
appParams
=
widgetVal
[
appName
]
||
''
result
=
{
qing
.
call
(
'storage.getItem'
,
{
key
:
encodeURIComponent
(
appName
),
shared
:
true
,
success
:
function
(
res
)
{
if
(
String
(
res
.
success
).
toLowerCase
()
===
'true'
)
{
try
{
var
data
=
(
res
.
data
||
{}).
value
||
''
data
=
decodeURIComponent
(
data
)
if
(
data
)
{
// IOS有个奇葩的设计,把双引号转单引号输出了,所以需要将单引号,双引号在保存前特殊处理,然后再还原。
data
=
data
.
replace
(
/∆∆/gm
,
"'"
).
replace
(
/åå/gm
,
'"'
)
// 将json数据反编译回object
if
(
data
.
indexOf
(
'__json__='
)
===
0
)
{
data
=
data
.
replace
(
/^__json__=/
,
''
)
data
=
JSON
.
parse
(
data
)
}
successFn
({
result
:
true
,
msg
:
'成功'
,
widgetId
:
appName
,
extra
:
{
showWidgetKey
:
appParams
showWidgetKey
:
data
}
})
}
else
{
successFn
({})
}
}
catch
(
error
)
{
console
.
error
(
'getExtra error:'
,
error
)
failFn
()
}
}
else
{
failFn
()
}
}
})
}
else
{
failFn
()
}
}
else
{
failFn
()
}
successFn
(
result
)
}
},
MIDEAUSER
:
{
...
...
@@ -461,19 +540,4 @@
})
}
}
qing
.
ready
(()
=>
{
var
data
=
getParamValue
(
'data'
)
if
(
data
)
{
try
{
data
=
JSON
.
parse
(
data
)
var
appName
=
data
.
appName
if
(
appName
)
{
var
params
=
data
.
params
||
''
widgetVal
[
appName
]
=
params
}
}
catch
(
error
)
{
}
}
})
})(
window
)
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