文档中心 > 店铺动态卡片-开发指引

千牛QAP迁移常见问题

更新时间:2024/08/01 访问次数:10338

1. 小程序首页Title不能改名,二级页面不能改名1,小程序首页Title不能改名,二级页面不能改名。

小程序首页的Title显示的是小程序名称,不支持在代码中改名,只能在小程序后台更改。二级页面Title支持改名,需要在app.json 里打开 "navigationBarForceEnable":true。

 

2. 怎么打开服务市场,服务详情页和订单确认页?

打开H5服务市场插件:

my.qn.openPlugin({
    appkey: "21777704",
    directUrl: "https://fuwu.m.taobao.com/ser/confirmOrder1.htm?commonParams=activity
  Code:ACT_877021141_190704115539;agentId:fuwu.taobao.com|marketing-Order-0;marketKey
  :FWSPP_MARKETING_URL;promIds:[1004347460]&subParams=cycleNum:3,cycleUnit:2,itemCode
  :FW_GOODS-1827490-v2&sign=ED975899A3C4AA7E3265EEF2187170A8",
    success: (res) = >{
      console.log(JSON.stringify(res))
    },
    fail: (res) = >{
      console.log(JSON.stringify(res))
    }
});

 

以普通URL形式打开服务市场:

my.qn.navigateToWebPage({
  url: "http://fuwu.m.taobao.com",
  success: (res) => {  },
  fail: (res) => {  } 
})

 

打开服务市场service-detail页面:

my.navigateToMiniProgram({
  appId: '3000000002140711', ///或 3000000002046401
  path:'/pages/service-detail/service-detail?serviceCode=FW_GOODS-1827490&tracelog=plugin',
  success: (res) => {  console.log(JSON.stringify(res))  },
  fail: (res) => {  console.log(JSON.stringify(res))  }  
});

 

打开服务市场confirm-order:

my.navigateToMiniProgram({
  appId: '3000000002140711',
  path: '/pages/confirm-order/confirm-order?commonParams=activityCode%3AACT_479769835_200203151601%3BagentId%3Afuwu.taobao.com%7Cmarketing-Order-0%3BmarketKey%3AFWSPP_MARKETING_URL%3BpromIds%3A%5B1005160015%5D&subParams=cycleNum%3A3%2CcycleUnit%3A2%2CitemCode%3AFW_GOODS-1828306-v2&sign=FB83EAAD1F66E39DE544F40BD5474005' 
});

注意携带参数中不能带有非法字符,需要做对应解码。

 

3. 授权有效时长 r1 r2 w1 w2 w2 30分钟,总体上安全等级有关

参考如下文档

应用安全保障设置

应用授权规则

 

4. 千牛上my.qn.database数据库存储有上限么

有,移动端10M,PC端100M, 如果超限不清理,则数据库会强制清空,处理方式参考文档:点击查看

 

5. 如何处理授权过期

通过my.authorize拿到的accesstoken, 客户端授权优先读取客户端缓存,有一定概率是应该超期失效的,所以应当在调用TOP接口或my.getAuthUserInfo之后,服务端是否包了授权失效的错误,如果报错了,则需要清理客户端access token的缓存,并重新走授权和调用TOP接口逻辑。

 

ISV 授权过期处理逻辑

image.png

 

其中获取TOP接口调用的错误方式如下,通过catch:

clientTOP() {
  const { cloud } = getApp();
  try {  const result = cloud.topApi.invoke({
    api: 'taobao.miniapp.userInfo.get',
    authScope: 'scope.userInfo'  
  });
  my.alert({  content: 'success ' + JSON.stringify(result)  })  
} catch (e) {  my.alert({  content: 'error ' + e.message  })  }  },
  invokeTopApiClient(event) {
    const { cloud } = getApp();
    const { api, scope } = event.target.dataset;
    try {
      const result = cloud.topApi.invoke({  api,  authScope: scope  });
      my.alert({  content: 'success ' + JSON.stringify(result)  })  
    }  catch (e) {  my.alert({  content: 'error ' + e.message  })  
}    

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部