NCCloud URL更新方案

1. 何时使用

NCCloud进行页面跳转、修改url参数时使用。
NCCloud页面分为主页面和业务页面,主页面通过 iframe 嵌入 业务页面。
打开一个小应用:工作桌面(workbench)请求后台,获取到目标页面地址,以新页签方式打开该地址,并创建iframe, 嵌入对应的业务页面
页面结构图如下:
下图主页面为工作桌面打开的地址,业务页面为是iframe嵌入的业务页面。
pageTo.png

2. 如何使用

  1. import { pageTo } from 'nc-lightapp-front';
  2. let { linkTo, openTo, pushTo, getAppCode, setPageCode, setUrlParam, getUrlParam, delUrlParam } = pageTo;

3. API

页面url更新API分为两类:

  1. 跳转到新页面API
  2. 修改主页面参数API
  3. 修改业务页面参数API

    3.1 跳转到新页面

    用于NCC页面跳转
方法 说明 参数:说明-类型-默认值 返回值 备注
linkTo(page, params) 在当前页签打开新页面 page要跳转的目标界面-string-无
params目标页面的url参数-object-无
如:linkTo(‘/project/module/masterChildTable-revecontract/card/index.html’, {pagecode:’card_pagecode’,status: ‘edit’,id: ‘12wew24’})
specialLinkTo(page,params) 不占license, 在当前页签打开页面 page要跳转的目标界面-string-无
params目标页面的url参数-object-无
openTo(page,params,parentParam) 在新页签打开页面 page要跳转的目标界面-string-无
params目标页面的url参数-object-无
parentParam传给主页面的参数-boject-无
如:openTo(‘/project/module/masterChildTable-revecontract/card/index.html’, {appcode:’104722’,pagecode:’card_pagecode’, status: ‘browse’,id: ‘12wew24’})
specialOpenTo(page, params, getWinObj,parentParam) 不占license,在新页签打开页面 page要跳转的目标界面-string-无
params目标页面的业务页面url参数-object-无
getWinObj返回新主页面window对象-function-无
parentParam传给主页面的参数-boject-无
pushTo(page, params) 单页应用切换路由 page要跳转的目标界面-string-无
params目标页面的url参数-object-无

| | 如:pushTo(‘/card’, {pagecode:’card_pagecode’,status: ‘edit’,id: ‘12wew24’}) | | linkBack() | 返回上一次历史记录 | | | | | openOut(page, params) | 打开NCCloud以外的页面 | page要跳转的目标界面-string-无
params目标页面的url参数-object-无 | | 如:openOut(‘www.baidu.com’
) | | openAppByBilltype({
billpk,
billtype
})
| 根据billtype打开小应用,用于联查 | billtype目标页面的单据类型-string-无
billpk目标页面的单据pk-string-无 | | |

3.2 修改主页面参数

用于更新主页面地址栏上的url参数

方法 说明 参数:说明-类型-默认值 返回值 备注
getAppCode() 获取应用编码 应用编码 string
getPageCode() 获取页面编码 页面编码 string
setPageCode(pagecode) 设置页面编码 pagecode 页面编码-string-无
getSearchParam(pop) 获取主页面参数 pop 参数名-string-无 对应参数值 string
addParentUrlParam(paramsObj) 新增主页面参数 paramsObj新增参数键值对-object-无

3.3 修改业务页面参数

用于更新业务页面参数

方法 说明 参数:说明-类型-默认值 返回值 备注
addUrlParam(paramsObj) 新增业务参数 paramsObj 新增参数键指对-object-无 如:addUrlParam({id:’JQI19033394564’})
setUrlParam(paramsObj) 修改业务参数 paramsObj 新增参数键指对-object-无 如:setUrlParam({status:’browse’})
getUrlParam(pop) 获取业务参数 pop 获取参数名-string-无 如:getUrlParam(‘id’)
delUrlParam(pop) 删除业务参数 pop 删除参数名-string-无 如:delUrlParam(‘id’)

4. 注意事项

  1. 所有的页面跳转都要使用平台提供的方法pushTo/linkTo/openTo
  2. 一个小应用内的页面跳转,在使用 pushTo 或 linkTo 或 openTo 方法时,params(第二个参数)除原有参数外,还需要传 pagecode(页面编码)
  3. 从一个小应用(应用A)跳转到另一个小应用(应用B), 在使用pushTo 或 linkTo 或 openTo 方法时,params(第二个参数)除原有参数外,还需要传appcode(小应用编码) 和 pagecode(页面编码)
    • 没有appcode的页面则传 billtype(单据类型) 和 pagecode(页面编码)*

      5. 更新日志