- 微短剧 类目 必须开通虚拟支付吗?
微短剧 类目 必须开通虚拟支付吗? 还是可以不开通,用微信支付就行? 如果必须开通,8月以前老的短剧小程序,会强制要求开通虚拟支付吗?
2023-11-07 - 小程序涉及iOS虚拟支付修改指引
近期,开发者社区几乎隔三差五就被“如何整改虚拟支付”霸占。社区君在大家的强烈诉求下,特地整理了大家审核过程中经常遇到的问题。 问题1 虚拟支付到底是什么? 虚拟支付是指购买非实物商品。比如:VIP会员、充值、课程、音视频等虚拟产品。 问题2 为什么关闭了虚拟支付功能,还是不能过审? 部分开发者在提审时,仅在后台关闭了支付接口,但在前端仍保留购买/支付/订阅等功能或按钮,在iOS端的界面也都会有类似“订阅课程、开通VIP”等标识,这类呈现货架价格、提示购买的行为将被禁止。 比如: [图片] 这类展示货架(价格标签)的,将被拒绝 问题3 为什么已经去掉了引导关注公众号,还是不能过审? 请勿试图引导用户到微信公众号、H5、App或是任何外链进行付费。任何为用户提供前往支付流程的路径/文案,都将被拒绝。 比如: [图片] 这类通过【客服消息】-【个人微信号】,完成购买行为,将会被拒绝 [图片] 这类引导到H5,完成购买的行为,将会被拒绝 [图片] 这类引导到公众号,完成购买的行为,将会被拒绝 以下提供3种修改示例,仅供参考。 1、关闭iOS付费通道。 以小程序【腾讯视频】为例,iOS端关闭会员卡开通渠道,原【开通VIP】按钮,现仅显示【你还不是会员】,不再提供会员开通服务。比如: [图片] 2、所有付费内容均更改为免费。 以小程序【有道精品课】为例,iOS端将所有付费内容更改为免费,原【付费解锁】,现已完全免费使用。比如: [图片] 3、前端直接拦截提示不可服务。 以小程序【网易公开课精品】、【腾讯视频VIP】为例,iOS端点击订阅、开通VIP服务,前端直接拦截提示不可服务。但,如果页面呈现货架价格,提示购买行为的(如问题2),将会被拒绝。比如: [图片]
2018-08-17 - onShareTimeline, 在mpvue框架无法触发,自定义标题和参数也无效?
监听右上角菜单“分享到朋友圈”按钮的行为 onShareTimeline事件, 在mpvue框架无法触发,自定义标题和参数也无效。分享朋友圈的图标是亮的可点击状态。 onShareTimeline () { return { title: '分享到朋友圈', query: 'a=1&b=2' } }
2020-07-08 - mpvue开发小程序分享朋友圈无法自定义标题?
mpvue开发的小程序使用ononShareTimeline自定义标题和图片不生效,还是采用的默认名称和图片[图片][图片]
2020-07-13 - WXWebAssembly.instantiate方法的第一个参数,如何通过远程下载本地实例化?
根据报错提示,第一个参数需要传入一个绝对路径的.wasm文件,如pages/index/hello.wasm 如果需要将远程的wasm下载到本地再实例化应该如何实现呢,报错明确提示了,不能以wxfile://或http的文件路径开头,所有还有其他读取存储后文件绝对路径的且获取出来不为wxfile:前缀的绝对路径,api可以调用吗? wasm资源文件超出了2m,希望可以走远程下载到本地再实例化 const info = {}; const cloudWasm = 'https://cdn.com/hello.wasm' wx.downloadFile({ url:cloudWasm, success:res=>{ const {tempFilePath} = res; // 如何将tempFilePath转成绝对路径呢? const fs = wx.getFileSystemManager(); const { env:{ USER_DATA_PATH } } = wx; // 当前用户设备的环境目录 const wasmfilename = tempFilePath.slice(tempFilePath.lastIndexOf('/') + 1);// 提取文件名和后缀 fs.saveFileSync(tempFilePath, wasmdir + wasmfilename); const wasmdir = USER_DATA_PATH + "/wasm/"; // 在当前用户环境下新建一个目录 const obsoluteWasmFilePath = `${tempFilePath}/${wasmfilename}`; WXWebAssembly.instantiate(obsoluteWasmFilePath,info).then(suc=>{ console.log('初始化成功') },err=>{ console.log('初始化失败') }) } } )
2021-04-07 - 微信开发者工具创建的插件报错:WebAssembly.instantiate()?
新创建的插件就报这个错: VM22 WAService.js:2 TypeError: WebAssembly.instantiate(): Argument 0 must be a buffer source or a WebAssembly.Module object 请问有什么解决办法没有?
2021-01-31 - MapContext.moveToLocation()无法回到定位点?求解!
方法明明调用成功了,但是地图上就是不返回当前位置,求解! # wxml [图片] # js [图片] # console [图片]
2021-05-07 - map 组件的自定义气泡(customCallout) 如何通过js调用?
[图片]已知绑定的id
2021-06-04 - Map 组件在开发者工具中一直自己移动,真机正常
macOS: 11.2.3 随便写一个map组件,用最新的stable版微信开发者工具打开,会自己漂移。真机没有这个问题,希望能尽快修复,很影响开发。
2021-04-29 - 在setData1024KB限制下如何做到无限翻页列表交互?
最近在做一个翻页交互,遇到点setData的坑,最后想了个办法给绕过去了,但我不知道各位有没有更好的办法,在这里分享下我的处理办法; 例如我有个列表,这个列表的总数据量不确定有多少,经我们产品交代,大促期间,至少会有1000条,从小程序的开发文档里可以看到setData对数据的限制是1024KB,因为之前我看文档时没有注意到这一点,所以我一开始在做分页的时候就用了错误的方法,上代码: wxml: [代码] [代码] [代码]<[代码][代码]sku-item[代码] [代码] [代码][代码]wx:for[代码][代码]=[代码][代码]"{{skuList}}"[代码][代码] [代码][代码]skuData[代码][代码]=[代码][代码]"{{item}}"[代码][代码] [代码][代码]actId[代码][代码]=[代码][代码]"{{actId}}"[代码][代码] [代码][代码]wx:key[代码][代码]=[代码][代码]"{{item.skuid}}"[代码][代码]/>[代码] [代码] [代码] js: [代码] [代码] [代码]data: {[代码] [代码] [代码][代码]skuList: [][代码][代码]},[代码][代码]loadMore: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]request([代码][代码]function[代码][代码](res) {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]skuList: [代码][代码]this[代码][代码].data.skuList.concat(res.list)[代码][代码] [代码][代码]});[代码][代码] [代码][代码]})[代码][代码]}[代码] [代码] [代码] 好,这样写,问题就出来了,当数据量慢慢的累积起来,就会触发1024KB阈值,后面的数据就算能取回来,也set不进去了。 于是我想了一个解决方案: 把之前的渲染流程拆成两步来做,第1步: 先想办法把每页的坑位给渲染出来,于是我搞了一个skuPage组件, 在这个组件中来单独做每页的sku渲染: wxml: [代码] [代码] [代码]<[代码][代码]sku-item[代码] [代码] [代码][代码]wx:for[代码][代码]=[代码][代码]"{{skuList}}"[代码][代码] [代码][代码]skuData[代码][代码]=[代码][代码]"{{item}}"[代码][代码] [代码][代码]actId[代码][代码]=[代码][代码]"{{actId}}"[代码][代码] [代码][代码]wx:key[代码][代码]=[代码][代码]"{{item.skuid}}"[代码][代码]/>[代码] [代码] [代码] js: [代码] [代码] [代码]data: {[代码] [代码] [代码][代码]skuList: [][代码][代码]},[代码][代码]methods: {[代码][代码] [代码][代码]setListData: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]let _this = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]skuList: app.globalData.skuList[代码][代码] [代码][代码]});[代码][代码] [代码][代码]app.globalData.skuList = [];[代码][代码] [代码][代码]}[代码][代码]},[代码][代码]ready: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]this[代码][代码].setListData();[代码][代码]}[代码] [代码] [代码] 在外部页面中调用skuPage组件: wxml: [代码] [代码] [代码]<[代码][代码]sku-page[代码] [代码] [代码][代码]class[代码][代码]=[代码][代码]"sku-page"[代码][代码] [代码][代码]wx:for[代码][代码]=[代码][代码]"{{pageWrapCount}}"[代码][代码] [代码][代码]wx:key[代码][代码]=[代码][代码]"{{index}}"[代码][代码] [代码][代码]actId[代码][代码]=[代码][代码]"{{actId}}"[代码][代码]/>[代码] [代码] [代码] js: [代码] [代码] [代码]data: {[代码] [代码] [代码][代码]pageWrapCount: [][代码][代码]},[代码][代码]loadMore: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]app.globalData.skuList = res.list;[代码][代码] [代码][代码]request([代码][代码]function[代码][代码](res) {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]pageWrapCount: [代码][代码]this[代码][代码].data.pageWrapCount.concat([1])[代码][代码] [代码][代码]});[代码][代码] [代码][代码]})[代码][代码]}[代码] [代码] [代码] 好,这样我们把取回的数据先不要立马set进去,而是把它先丢在global里,然后让坑位+1,这样skuPage就会新增一个,就会触发skuPage的ready钩子函数,这个时候再在skuPage的ready钩子中,从global中把list取过来丢给skuPage组件的skuList,让skuPage组件去渲染,这样就能绕开setData的1024KB上线,因为每次针对于坑位来说 [代码] [代码] [代码]this[代码][代码].setData({[代码] [代码] [代码][代码]pageWrapCount: [代码][代码]this[代码][代码].data.pageWrapCount.concat([1])[代码][代码]});[代码] [代码] [代码] 我只对pageWrapCount数组push(1); 就算有1024KB限制,那也远远足够了,除了此种办法外,各位还有更好的办法么?欢迎共享经验
2018-05-25