小程序首页的Title显示的是小程序名称,不支持在代码中改名,只能在小程序后台更改。二级页面Title支持改名,需要在app.json 里打开 "navigationBarForceEnable":true。
打开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' });
注意携带参数中不能带有非法字符,需要做对应解码。
参考如下文档
有,移动端10M,PC端100M, 如果超限不清理,则数据库会强制清空,处理方式参考文档:点击查看。
通过my.authorize拿到的accesstoken, 客户端授权优先读取客户端缓存,有一定概率是应该超期失效的,所以应当在调用TOP接口或my.getAuthUserInfo之后,服务端是否包了授权失效的错误,如果报错了,则需要清理客户端access token的缓存,并重新走授权和调用TOP接口逻辑。
ISV 授权过期处理逻辑
其中获取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 }) }