微信小程序-订阅消息定时发送

微信小程序-订阅消息定时发送,第1张

本来想给小程序加个定时提醒功能,奈何没这么流量支持,所以只能做个记录。

在微信公众平台-订阅消息中获取

wx.requestSubscribeMessage(Object object)

编写 getOpenId 的云函数

...

Talk is cheap,show me the code.

index.wxml

index.js

获取openid云函数-index.js

推送云函数

定时发送需要用到下面的定时触发器

定时触发器

触发器timer云函数,Talk is cheap,show me the code.

index.js

config.json

在 timer云函数 中右击“上传触发器”

在 timer云函数 中右击“删除触发器”

项目进行的过程中有个需求是在20秒内每秒请求一次数据,请求成功的json中有个字段,如果有这个字段代表请求成功,如果没有则继续请求,直到20秒结束,20秒结束则失败

本来最开始采用countDownTimer来做,很简单就搞定了,但是项目引进了rxjava,那肯定得用rxjava试一试啊

好东西不能错过

直接上代码,并不难

class FourthActivity : BaseTitleActivity() {private var mDisposable: Disposable? = null

private var flag: Boolean = false

private var count: Long = 0

override fun getChildView() = R.layout.act_fouroverride fun initData() {

requestDataByNet()

}private fun requestDataByNet() {

Observable.interval(0, 1, TimeUnit.SECONDS)//设置0延迟,每隔一秒发送一条数据

.take(20)//设置截取前20次

.doOnSubscribe(object : Consumer<Disposable>{override fun accept(t: Disposable?) {this@FourthActivity.mDisposable = t

}

})

.flatMap(object : Function<Long, Observable<TaoBao>>{override fun apply(t: Long): Observable<TaoBao>{

count = t//请求数据的 *** 作

return RetrofitFactory

.getInstance()

.taobao("http://baobab.kaiyanapp.com/api/v4/rankList")

}

})

.compose(compose(this.bindToLifecycle<TaoBao>()))

.subscribe(object : BaseObserver<TaoBao>() {override fun onHandleSuccess(t: TaoBao?) {if (count == 10L) {//模拟获取到该字段数据

flag = true

if (flag) {

mDisposable?.dispose()

}

}if (count == 19L) {

showToastBottom("获取数据失败")

}

showToastBottom("成功=" + count)

}

})

}

}

1、小程序前端语言采用了 JSON WXML WXSS JS相当与就是 HTML5+CSS+JavaScript。

2、首先需要一个javascript文件或者html文件下的script标签。

3、引入jquery。

4、定义一个json格式的字符串。

5、转换成json格式后输出。

6、打开浏览器,右键->属性,访问这个html就可以看到输出的结果了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8090544.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存