1.3.6.1 QN.navigator

优质
小牛编辑
124浏览
2023-12-01

1.1. API 调用

1.1.1. QN.navigator.push(options)

1.1.2. QN.navigator.go(options)

打开/跳转页面

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.urlString需要跳转的URL
options.titleObjectoptional新页面的 title
options.queryObjectoptional跳转到 URL 时要传递的 query 参数
options.settingsObjectoptional设置项
options.settings.animateBooleanoptionalfalse切换时是否启用动画效果
options.settings.clearTopBooleanoptionalfalse新开页面后,是否关闭除了新页面之外的所有其他页面
options.settings.resolveURLBooleanoptionaltrue在 H5 页面中 push 新页面的时候,是否自动解析 URL
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数
  • options.settings.resolveURL
    • 当在 H5 页面中 push 新页面时,如果 push 的是 qap:// 协议的页面,会自动根据 qap.json 中的 WebRootPath 字段将 url 解析成 http:// 对应的页面。如果你不希望进行自动解析,可以将 resolveURL 的值设置为 false

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息
result.dataObjectoptional新页面返回的数据(如果是请求下一个页面的时候)

调用示例

QN.navigator.push({
    url: 'http://www.taobao.com',
    title: '新开页面标题~~',
    query: { x: 1, y: 2 },
    settings: {
        animate: true,
        request: true,
    }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.push({
    url: 'http://www.taobao.com',
    title: '新开页面标题~~',
    query: { x: 1, y: 2 },
    settings: {
        animate: true,
        request: true,
    },
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.3. QN.navigator.pop(options)

1.1.4. QN.navigator.back(options)

关闭页面/后退

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.queryObjectoptional接口调用参数
options.query.dataObjectoptional需要返回给前一个页面的数据
options.settingsObjectoptional设置项
options.settings.animateBooleanoptional切换时是否启用动画效果
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.pop({
    query: {
        data: {}
    },
    settings: {
        animate: true,
    }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.pop({
    query: {
        data: {}
    },
    settings: {
        animate: true,
    },
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.5. QN.navigator.reload(options);

刷新当前页面

API 调用入参

参数名类型是否可选默认值含义
optionsObjectoptional选项
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.reload();

QN.navigator.reload()
.then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.reload({
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.6. QN.navigator.close(options);

关闭插件应用

API 调用入参

参数名类型是否可选默认值含义
optionsObjectoptional选项
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.close();

QN.navigator.close()
.then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.close({
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.7. QN.navigator.setTitle(options)

设置标题

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.queryObject接口调用参数
options.query.titleString标题文案
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

// 文字标题
QN.navigator.setTitle({
    query: {
        title: '我是标题'
    }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.setTitle({
    query: {
        title: '我是标题'
    },
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});
{ console.log(result); }, error => { console.log(error); }); -->

1.1.8. QN.navigator.showTitle(options)

显示标题

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.showTitle()
.then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.showTitle({
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.9. QN.navigator.hideTitle(options)

隐藏标题

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.hideTitle()
.then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.hideTitle({
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});
{ console.log(result); }, error => { console.log(error); }); QN.navigator.setBackground({ query: { color: '#F5FCFF' }, success(result) { console.log(result); }, error(error) { console.log(error); } }); ``` -->

1.1.10. QN.navigator.addButton(options)

添加导航栏自定义按钮

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.queryObject接口调用参数
options.query.iconNameStringoptional千牛客户端内置 icon 名称,内置 icon 列表参看本页附录
options.query.iconImgStringoptional图标图片,URLBase64(暂不支持 URL)
options.query.textStringoptional图标文本,如果 iconNameiconImg 都没有值,则展示文本
options.query.tapEventString按钮点击时触发的事件,该事件为 Page 级别事件,可以使用 QN.on 进行监听,注意 tapEvent 不要与其他事件重复
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

iconImg 示例:

类型示例备注
URLhttp://www.icon.com/share.png
URLhttps://www.icon.com/share.png
Base64iVBORw0KGgoAAAANSUhEUgAAAgAAAA...

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.addButton({
    query: {
        iconName: 'share',
        text: '分享',
        tapEvent: 'Page.share', // 或 `share`
    }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.addButton({
    query: {
        iconName: 'share',
        text: '分享',
        tapEvent: 'Page.share', // 或 `share`
    },
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.11. QN.navigator.removeButton(options)

移除导航栏自定义按钮

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.queryObject接口调用参数
options.query.tapEventString需要移除的按钮对应的事件(由于按钮事件事件是唯一的,因此也作为移除按钮的标识)
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.removeButton({
    query: {
        tapEvent: 'Page.share', // 或 `share`
    }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.removeButton({
    query: {
        tapEvent: 'Page.share', // 或 `share`
    },
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.12. QN.navigator.clearButtons(options)

清除导航栏自定义按钮

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.clearButtons();
QN.navigator.clearButtons()
.then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.clearButtons({
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.13. QN.navigator.addMenuItem(options)

添加导航栏菜单列表中自定义菜单项

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.queryObject接口调用参数
options.query.iconNameString千牛客户端内置 icon 名称,内置 icon 列表参看本页附录
options.query.iconImgString图标图片,URLBase64(暂不支持 URL)
options.query.textStringoptional图标文本,如果 iconNameiconImg 都没有值,则展示文本
options.query.tapEventString按钮点击时触发的事件,该事件为 Page 级别事件,可以使用 QN.on 进行监听,注意 tapEvent 不要与其他事件重复
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

iconImg 示例:

类型示例备注
URLhttp://www.icon.com/share.png
URLhttps://www.icon.com/share.png
Base64iVBORw0KGgoAAAANSUhEUgAAAgAAAA...

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.addMenuItem({
    query: {
        iconName: 'share',
        text: '分享',
        tapEvent: 'Page.share', // 或 `share`
    }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.addMenuItem({
    query: {
        iconName: 'share',
        text: '分享',
        tapEvent: 'Page.share', // 或 `share`
    },
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.14. QN.navigator.removeMenuItem(options)

移除导航栏菜单列表中自定义菜单项

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.queryObject接口调用参数
options.query.tapEventString需要移除的按钮对应的事件(由于按钮事件事件是唯一的,因此也作为移除按钮的标识)
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.removeMenuItem({
    query: {
        tapEvent: 'Page.share', // 或 `share`
    }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.removeMenuItem({
    query: {
        tapEvent: 'Page.share', // 或 `share`
    },
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.15. QN.navigator.clearMenuItems(options)

清除导航栏菜单列表中自定义菜单项

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

QN.navigator.clearMenuItems();

QN.navigator.clearMenuItems()
.then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.clearMenuItems({
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.16. QN.navigator.setSwipeBack(options)

启用/禁用iOS下页面的左滑返回,页面加载时默认为启用。

API 调用入参

参数名类型是否可选默认值含义
optionsObject选项
options.queryObjectoptional接口调用参数
options.query.enableBooleanoptional是否启用左滑返回
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

// 禁止左滑返回
QN.navigator.setSwipeBack({
    query: {enable: false}
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});

QN.navigator.setSwipeBack({
    query: {enable: false},
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.2. 导航栏内置事件

事件名称含义备注
Page.back返回按钮点击事件
Page.close关闭按钮点击事件
Page.reload刷新按钮点击事件

当用户操作时,预置事件由千牛客户端触发,你可以监听这些事件并拦截这些按钮的默认行为:

QN.on('Page.back', function(data) {
    // 进行一些处理
    doSomeStuff();
    // 监听事件后,默认行为被拦截,因此要手动调用返回
    QN.navigator.pop();
});

1.3. 附录

1.3.1. 内置 icon 列表

icon 名称含义样式
3838节
1212双12
activity活动
add加号
addressbook地址簿
album专辑
appreciate
apps应用
attention注意
baby婴儿
back返回
bad差评
barcode条码
bigbig
brand品牌
camera拍照
cameraadd拍照
camerarotate拍照旋转
cart购物车
cascades瀑布流
check打勾
choiceness精选
close关闭
clothes衣服
comment评论 信息
copy复制
countdown时钟 倒计时
creative灵感
delete删除
deliver邮递 快速
discover发现
down向下
edit编辑
emojiEmoji 表情
evaluate评价
explore探索 探测
favor收藏
female女性
file文件
filter过滤
flashlightclose关闭闪光灯
flashlightopen打开闪光灯
focus聚焦
fold折叠
footprint足迹
form表单
forward前进
friend好友
friendadd添加好友
friendfamous星标好友
friendfavor收藏好友
game游戏
goods商品 货物
home家 主页
hot火热
info信息
keyboard键盘
light闪光
lightauto自动闪光
lightforbid禁止闪光
like喜欢
link链接
list列表
loading加载中
location定位
lock锁定
male男性
mark备注
message消息
mobile手机
mobiletao手机淘宝
more更多
moreandroid更多
my我的
new新的
notice通知
notification通知
notificationforbidfill禁止通知
order排序
paint绘制
pay支付
people人员
phone电话
pic图片
present礼物
profile个人信息
pulldown
pullleft
pullright
pullup
qiang
qrcode二维码
question问题
rank排序
recharge充值
redpacket红包
refresh刷新
refresharrow
refund退款
remind提醒
repair修复 修理
repeal撤销
right
round
roundadd添加
roundcheck打勾
roundclose关闭
roundright
same相同
scan扫码
search搜索
searchlist搜索列表
selection精选
send发送
service客服 服务
settings设置
share分享
shop店铺
similar相似
sort分类
square复选框 方框
squarecheck选中复选框
tag标签
tao淘宝
taxi出租 Taxi
ticket门票
time时间 时钟
tmall天猫
top返回顶部
unfold下 展开
unlock解锁
upstage奖杯
vipVIP
vipcardVIP卡
voice语音
wang旺旺
warn警告
we微信
wefill微信
weibo微博
wifi网络 WIFI