- 服务号模板消息,为什么部分字段不显示?
系统使用老版本的模板消息(历史模板),里面有几个字段,productType、name、accountType、account、time、remark 。模板样式如下 [图片] 发送消息能成功,但是发送后,收到的消息只显示: 中间两行( 消费积分:559积分 ,销售时间:2024-11-04 ) 下面是发送的data内容: "data":{"productType":{"value":"车牌号:"},"name":{"value":"沪A88888"},"accountType":{"value":"积分"},"account":{"value":"558分"},"time":{"value":"2024-11-04"},"remark":{"value":"车牌:沪A88888"}} 请问其他几个字段为什么显示不出来? 谢谢
11-04 - 通过jssdk分享h5页面,只出现链接,没有卡片?
要做一个页面分享的功能,希望分享出去的是分享卡片的模式。使用jssdk的代码,但是右上角 ... 打开后,发送给朋友时,显示的是链接地址,不是“[链接]标题”这种格式,接收到的也是链接地址,不是分享卡片。 在社区里搜索类似问题,发现有人提出,现在h5页面分享,是不会出现卡片的,只有在公众号菜单里设置才有卡片,也不知道这个说法对不对? 使用了debug模式,显示了下面几个OK提示,表示wx.config调用成功。 {"errMsg":"config:ok"} {"errMsg":"updateAppMessageShareData:ok"} {"errMsg":"updateTimelineShareData:ok"} 域名是微信公号里配置过的认证域名。 分享页面后,配置里的 success方法是调用成功的,说明wx.ready(function....)这里是执行成功的。 代码如下 const share = () => { let url = "https://域名/h5-m/" commonService.getJsSdkConfig(url).then(res => { let config = { debug: true, ...res.data, jsApiList: [ 'updateAppMessageShareData', 'updateTimelineShareData' ], } wx.config(config) wx.ready(function () { //需在用户可能点击分享按钮前就先调用 let option = { title: `${curCoupon.value.name}`, desc: `${curCoupon.value.message}`, link: `https://域名/web/wx/couponview/${curCoupon.value.id}`, imgUrl: 'https://域名/web/images/ic_tp2.jpg', success: function () { crmService.shareCoupon(curCoupon.value.id).then((shareRes: any)=>{ sharestate.value="分享成功" }) }, cancel: function () { } } wx.updateAppMessageShareData(option) wx.updateTimelineShareData(option) }); }) }
05-12 - 输入框blur事件与按钮click事件的先后顺序问题?
页面上有一个 input组件和一个按钮组件,分别设置了blur事件和click事件。用户操作是input里面输入文字,然后点击按钮。 wxml (用的是vant组件库) <van-field required id="text1" value="{{ dto.text1}}" label="输入框" type="number" bind:blur="onblur" input-align="right"/> <van-button type="info" bind:click="btnClick" size="large">确定</van-button> ts代码 onblur(e: any) { console.log('onblur') }, btnClick() { console.log('btnClick') 在IDE调试中,是先激发blur事件,再激发click事件,输出如下 onblur btnClick 而在真机调试和体验版测试中,发现激发的顺序是倒过来的,输出如下 btnClick onblur 这样,就无法实现在onblur中获取输入值,再提交数据的目的。 请教大神们,这种情况该如何处理? 我考虑过在click里面调用一个 settimeout把提交数据的代码延迟调用,但是这种方案非常丑陋。 另外搜索到一篇17年的帖子,是类似问题,没有解答 https://developers.weixin.qq.com/community/develop/doc/6ad9de49551036896daad16805b25ac2?_at=1655002302927
2022-06-12 - 怎么往component里面传date类型的数据?
页面中的数据,有些字段是date类型,比如 d=new Date(); this.setData({'val':{date:d}) 在组件的properties里面,是不能传Date类型的,但是支持Object类型 value: { type: Object, value: {}, } 如果调用时候这样写: <组件 value="{{val}}"/> 在组件里面,获取到 val.date是一个空对象 {} ,无法进行时间相关函数操作。 请问这是为什么?有没有不需要在page里面转换数据的办法? 请指点,谢谢!
2022-04-08 - 该如何给wxs传date类型的数据?
错误现象: wxs里面调用getDate(xxx),返回 Invalid Date 错误 。 wxs里面代码如下 var datetimeFilter=function(date){ if(date==undefined)return "" if(date ===null ) return "" var d=getDate(date) return d.toTimeString() } 调用如下 {{comm.datetimeFilter(val)}} 其中val在data里面定义为 val:new Date() 结果在界面显示为 Invalid Date 。 因为我从后台获取的数据,接口将date类型的定义为 Date() ,而我不想每次都在获取数据后强制转换为字符串,有什么办法可以把这种类型的数据传给wxs嘛? 请教各位!
2022-04-08 - 自定义组件 attached 与父页面 onLoad执行顺序问题,该如何传值?
一个自定义组件,里面attached执行的代码如下 attached() { console.log("attached:"+this.data.masterId) this.getData() } 而调用它的页面里是这样 wxml: <attachments masterId="{{lessonId}}" /> TS文件 onLoad(routeParams: any) { console.log('page onload') this.setData({ lessonId: routeParams.id }) }, 因为组件的参数是在wxml里面赋值的,而这个参数是onload时候获取的。 实际执行,通过控制台可以看到,是先调用 attached,再调用 onLoad 。这样组件就无法通过传值给属性来获取数据。 请高手指点应该如何处理?多谢多谢!
2021-11-10 - 是否可以实现page的基类,解决page onload 与app onlaunch 异步问题?
通常我在 app.ts里面的onlaunch获取用户信息及api交互需要的token,这样,page里面获取数据时候就要这样写 onLoad() { if(app.globalData.checkLogin){ this.getData() }else{ app.checkLoginReadyCallback=()=>{ this.getData() } } } 每个页面都这样写比较丑陋,有没有办法将onLoad事件封装起来,page里面就写 getData方法? 因为我是js和ts的菜鸟,不知道该如何做。 哪位高手给一个typescript的方案?
2021-03-27