Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
cfba7df7
U
uni-app
项目概览
DCloud
/
uni-app
3 个月 前同步成功
通知
725
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cfba7df7
编写于
12月 12, 2018
作者:
X
xiaoyucoding
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: mp-alipay api protocols
上级
b255a85b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
286 addition
and
118 deletion
+286
-118
src/platforms/mp-alipay/service/api/protocols.js
src/platforms/mp-alipay/service/api/protocols.js
+286
-118
未找到文件。
src/platforms/mp-alipay/service/api/protocols.js
浏览文件 @
cfba7df7
const
TODOS
=
[
//不支持的 API 列表
'
hideTabBar
'
,
'
hideTabBarRedDot
'
,
'
removeTabBarBadge
'
,
'
setTabBarBadge
'
,
'
setTabBarItem
'
,
'
setTabBarStyle
'
,
'
showTabBar
'
,
'
showTabBarRedDot
'
const
TODOS
=
[
// 不支持的 API 列表
'
hideTabBar
'
,
'
hideTabBarRedDot
'
,
'
removeTabBarBadge
'
,
'
setTabBarBadge
'
,
'
setTabBarItem
'
,
'
setTabBarStyle
'
,
'
showTabBar
'
,
'
showTabBarRedDot
'
,
'
startPullDownRefresh
'
,
'
saveImageToPhotosAlbum
'
,
'
getRecorderManager
'
,
'
getBackgroundAudioManager
'
,
'
createInnerAudioContext
'
,
'
chooseVideo
'
,
'
saveVideoToPhotosAlbum
'
,
'
createVideoContext
'
,
'
openDocument
'
,
'
startAccelerometer
'
,
'
startCompass
'
,
'
addPhoneContact
'
,
'
createIntersectionObserver
'
]
const
protocols
=
{
//需要做转换的 API 列表
returnValue
(
methodName
,
res
)
{
// 通用 returnValue 解析
if
(
res
.
error
||
res
.
errorMessage
)
{
res
.
errMsg
=
`
${
methodName
}
:fail
${
res
.
errorMessage
||
res
.
error
}
`
delete
res
.
error
delete
res
.
errorMessage
}
return
res
},
request
:
{
name
:
'
httpRequest
'
,
args
(
fromArgs
)
{
if
(
!
fromArgs
.
header
)
{
// 默认增加 header 参数,方便格式化 content-type
fromArgs
.
header
=
{}
}
return
{
header
(
header
=
{},
toArgs
)
{
const
headers
=
{
'
content-type
'
:
'
application/json
'
}
Object
.
keys
(
header
).
forEach
(
key
=>
{
headers
[
key
.
toLocaleLowerCase
()]
=
header
[
key
]
})
return
{
name
:
'
headers
'
,
value
:
headers
}
},
method
:
'
method
'
,
// TODO 支付宝小程序仅支持 get,post
responseType
:
false
}
},
returnValue
:
{
status
:
'
statusCode
'
,
headers
:
'
header
'
}
},
setNavigationBarColor
:
{
name
:
'
setNavigationBar
'
,
args
:
{
frontColor
:
false
,
animation
:
false
}
},
setNavigationBarTitle
:
{
name
:
'
setNavigationBar
'
},
showModal
({
showCancel
=
true
}
=
{})
{
if
(
showCancel
)
{
return
{
name
:
'
confirm
'
,
args
:
{
cancelColor
:
false
,
confirmColor
:
false
,
cancelText
:
'
cancelButtonText
'
,
confirmText
:
'
confirmButtonText
'
},
returnValue
(
fromRes
,
toRes
)
{
toRes
.
confirm
=
fromRes
.
confirm
toRes
.
cancel
=
!
fromRes
.
confirm
}
}
}
return
{
name
:
'
alert
'
,
args
:
{
confirmColor
:
false
,
confirmText
:
'
buttonText
'
},
returnValue
(
fromRes
,
toRes
)
{
toRes
.
confirm
=
true
toRes
.
cancel
=
false
}
}
},
showToast
({
icon
=
'
success
'
}
=
{})
{
const
args
=
{
title
:
'
content
'
,
icon
:
'
type
'
,
duration
:
false
,
image
:
false
,
mask
:
false
}
if
(
icon
===
'
loading
'
)
{
return
{
name
:
'
showLoading
'
,
args
}
}
return
{
name
:
'
showToast
'
,
args
}
},
showActionSheet
:
{
name
:
'
showActionSheet
'
,
args
:
{
itemList
:
'
items
'
,
itemColor
:
false
},
returnValue
:
{
index
:
'
tapIndex
'
}
}
function
_handleNetworkInfo
(
result
)
{
switch
(
result
.
networkType
)
{
case
'
NOTREACHABLE
'
:
result
.
networkType
=
'
none
'
break
case
'
WWAN
'
:
// TODO ?
result
.
networkType
=
'
3g
'
break
default
:
result
.
networkType
=
result
.
networkType
.
toLowerCase
()
break
}
return
result
}
const
protocols
=
{
// 需要做转换的 API 列表
returnValue
(
methodName
,
res
)
{
// 通用 returnValue 解析
if
(
res
.
error
||
res
.
errorMessage
)
{
res
.
errMsg
=
`
${
methodName
}
:fail
${
res
.
errorMessage
||
res
.
error
}
`
delete
res
.
error
delete
res
.
errorMessage
}
return
res
},
request
:
{
name
:
'
httpRequest
'
,
args
(
fromArgs
)
{
if
(
!
fromArgs
.
header
)
{
// 默认增加 header 参数,方便格式化 content-type
fromArgs
.
header
=
{}
}
return
{
header
(
header
=
{},
toArgs
)
{
const
headers
=
{
'
content-type
'
:
'
application/json
'
}
Object
.
keys
(
header
).
forEach
(
key
=>
{
headers
[
key
.
toLocaleLowerCase
()]
=
header
[
key
]
})
return
{
name
:
'
headers
'
,
value
:
headers
}
},
method
:
'
method
'
,
// TODO 支付宝小程序仅支持 get,post
responseType
:
false
}
},
returnValue
:
{
status
:
'
statusCode
'
,
headers
:
'
header
'
}
},
setNavigationBarColor
:
{
name
:
'
setNavigationBar
'
,
args
:
{
frontColor
:
false
,
animation
:
false
}
},
setNavigationBarTitle
:
{
name
:
'
setNavigationBar
'
},
showModal
({
showCancel
=
true
}
=
{})
{
if
(
showCancel
)
{
return
{
name
:
'
confirm
'
,
args
:
{
cancelColor
:
false
,
confirmColor
:
false
,
cancelText
:
'
cancelButtonText
'
,
confirmText
:
'
confirmButtonText
'
},
returnValue
(
fromRes
,
toRes
)
{
toRes
.
confirm
=
fromRes
.
confirm
toRes
.
cancel
=
!
fromRes
.
confirm
}
}
}
return
{
name
:
'
alert
'
,
args
:
{
confirmColor
:
false
,
confirmText
:
'
buttonText
'
},
returnValue
(
fromRes
,
toRes
)
{
toRes
.
confirm
=
true
toRes
.
cancel
=
false
}
}
},
showToast
({
icon
=
'
success
'
}
=
{})
{
const
args
=
{
title
:
'
content
'
,
icon
:
'
type
'
,
duration
:
false
,
image
:
false
,
mask
:
false
}
if
(
icon
===
'
loading
'
)
{
return
{
name
:
'
showLoading
'
,
args
}
}
return
{
name
:
'
showToast
'
,
args
}
},
showActionSheet
:
{
name
:
'
showActionSheet
'
,
args
:
{
itemList
:
'
items
'
,
itemColor
:
false
},
returnValue
:
{
index
:
'
tapIndex
'
}
},
uploadFile
:
{
args
:
{
name
:
'
fileName
'
}
// 从测试结果看,是有返回对象的,文档上没有说明。
},
downloadFile
:
{
returnValue
:
{
tempFilePath
:
'
apFilePath
'
}
},
connectSocket
:
{
args
:
{
method
:
false
,
protocols
:
false
}
// TODO 有没有返回值还需要测试下
},
chooseImage
:
{
returnValue
:
{
tempFilePaths
:
'
apFilePaths
'
}
},
previewImage
:
{
args
(
fromArgs
)
{
let
current
=
0
if
(
fromArgs
.
current
)
{
const
index
=
fromArgs
.
urls
.
indexOf
(
fromArgs
.
current
)
current
=
~
index
?
index
:
0
}
return
Object
.
assign
(
fromArgs
,
{
current
:
current
,
indicator
:
false
,
loop
:
false
})
}
},
saveFile
:
{
args
:
{
tempFilePath
:
'
apFilePath
'
},
returnValue
:
{
savedFilePath
:
'
apFilePath
'
}
},
getSavedFileInfo
:
{
args
:
{
filePath
:
'
apFilePath
'
},
returnValue
(
result
)
{
if
(
result
.
fileList
&&
result
.
fileList
.
length
)
{
result
.
fileList
.
forEach
(
file
=>
{
file
.
filePath
=
file
.
apFilePath
delete
file
.
apFilePath
})
}
return
result
}
},
removeSavedFile
:
{
args
:
{
filePath
:
'
apFilePath
'
}
},
getLocation
:
{
args
:
{
type
:
false
,
altitude
:
false
},
returnValue
:
{
speed
:
false
,
altitude
:
false
,
verticalAccuracy
:
false
}
},
openLocation
:
{
args
:
{
// TODO address 参数在阿里上是必传的
}
},
createMapContext
:
{
// TODO
returns
:
{
translateMarker
:
false
,
includePoints
:
false
,
getRegion
:
false
,
getScale
:
false
}
},
getSystemInfo
:
{
returnValue
:
{
brand
:
false
,
statusBarHeight
:
false
,
SDKVersion
:
false
}
},
getSystemInfoSync
:
{
returnValue
:
{
brand
:
false
,
statusBarHeight
:
false
,
SDKVersion
:
false
}
},
getNetworkType
:
{
returnValue
:
_handleNetworkInfo
},
onNetworkStatusChange
:
{
returnValue
:
_handleNetworkInfo
},
stopAccelerometer
:
{
name
:
'
offAccelerometerChange
'
},
stopCompass
:
{
name
:
'
offCompassChange
'
},
scanCode
:
{
name
:
'
scan
'
,
args
:
{
onlyFromCamera
:
'
hideAlbum
'
,
scanType
:
false
}
},
setClipboardData
:
{
name
:
'
setClipboard
'
,
args
:
{
data
:
'
text
'
}
},
getClipboardData
:
{
name
:
'
getClipboard
'
,
returnValue
:
{
data
:
'
text
'
}
},
pageScrollTo
:
{
args
:
{
duration
:
false
}
}
}
TODOS
.
forEach
(
todoApi
=>
{
protocols
[
todoApi
]
=
false
protocols
[
todoApi
]
=
false
})
export
default
protocols
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录