"api工厂" 使用手册

api接口开箱即用,云后台管理,助力前端,解放后端开发;

不懂编程也能独立开发应用,小步快跑,快速创业!

旨为更懂你!

每日签到送积分/连续签到奖励

前言


本教程是基于 “apifm-wxapi” 模块,教你快速实现小程序开发,所以你可能需要先了解以下知识点:


《创建 HelloWorld 项目》

《使用 “apifm-wxapi” 快速开发小程序》

《免费注册开通后台,获得专属域名》


本案例中,部分功能,需要用户登录后才能操作,也就是说需要 token 授权,请先了解:


《微信小程序登录获取openid及三方token》


功能介绍


激励用户每天登录小程序,完成每日签到任务获得积分奖励;

积分可用于兑换积分专享优惠券、积分抵扣购物等等场景;

后天设置每天签到赠送积分数量、连续签到 x 天可获得 y 积分奖励;


启用模块


登录 “第一步” 注册的后台,左侧菜单 --> 工厂设置 --> 模块管理


找到并启用下述模块,然后 F5 刷新一下后台界面,你将可以看到本案例所需的所有功能菜单:


本案例菜单为 “积分模块” --> “签到规则”


积分模块


设置签到规则



编写小程序



 1<view class="page">
 2  <view class="page__bd">
 3    <view class="weui-panel">
 4      <view class="weui-panel__hd"> 签到规则: </view>
 5      <view class="weui-panel__bd">
 6        <view wx:for="{{ scoreSignRules }}" wx:key="*this" class="weui-media-box weui-media-box_text">
 7          <view class="weui-media-box__title weui-media-box__title_in-text">
 8            连续签到 {{ item.continuous }} 天,赠送 {{ item.score }} 积分
 9          </view>
10        </view>
11      </view>
12    </view>
13    <button wx:if="{{todaySigned}}" class="addAddress" type="default" disabled>今日已签到,明天再来</button>
14    <button wx:else class="addAddress" type="primary" bindtap="scoreSign">点击签到</button>
15    <view class="weui-panel">
16      <view class="weui-panel__hd"> 签到记录: </view>
17      <view class="weui-panel__bd">
18        <view wx:for="{{ scoreSignLogs }}" wx:key="*this" class="weui-media-box weui-media-box_text">
19          <view class="weui-media-box__title weui-media-box__title_in-text">
20            连续签到第 {{ item.continuous }} 天
21          </view>
22          <view class="weui-media-box__desc">
23            {{ item.dateAdd }}
24          </view>
25        </view>
26      </view>
27    </view>
28  </view>
29</view>


 1const WXAPI = require('apifm-wxapi')
 2
 3Page({
 4  data: {
 5    scoreSignRules: undefined, // 签到赠送积分规则
 6    scoreSignLogs: undefined, // 签到记录
 7    todaySigned: true, // 今天是否已签到
 8  },
 9  onLoad: function (options) {
10
11  },
12  onShow: function () {
13    this.scoreSignRules()
14    const loginToken = wx.getStorageSync('loginToken')
15    if (!loginToken) {
16      wx.showToast({
17        title: '请先登录',
18        icon: 'none'
19      })
20      this.goRegist()
21      return
22    }
23    this.scoreTodaySignedInfo()
24    this.scoreSignLogs()
25  },
26  goRegist() {
27    wx.navigateTo({
28      url: '/pages/auth/index'
29    })
30  },
31  scoreSignRules(){ // 读取签到赠送积分规则
32    WXAPI.scoreSignRules().then(res => {
33      if (res.code == 0) {
34        this.setData({
35          scoreSignRules: res.data
36        })
37      }
38    })
39  },
40  scoreSignLogs(){ // 读取签到记录
41    const loginToken = wx.getStorageSync('loginToken')
42    WXAPI.scoreSignLogs({
43      token: loginToken.token
44    }).then(res => {
45      if (res.code == 0) {
46        this.setData({
47          scoreSignLogs: res.data.result
48        })
49      }
50    })
51  },
52  scoreTodaySignedInfo(){ // 判断今日是否已签到
53    const loginToken = wx.getStorageSync('loginToken')
54    WXAPI.scoreTodaySignedInfo(loginToken.token).then(res => {
55      if (res.code == 700) {
56        this.setData({
57          todaySigned: false
58        })
59      }
60    })
61  },
62  scoreSign(){ // 签到
63    const loginToken = wx.getStorageSync('loginToken')
64    WXAPI.scoreSign(loginToken.token).then(res => {
65      if (res.code == 0) {
66        wx.showToast({
67          title: '签到成功',
68          icon: 'success'
69        })
70        this.setData({
71          todaySigned: true
72        })
73        this.onShow()
74      } else {
75        wx.showToast({
76          title: res.msg,
77          icon: 'none'
78        })
79      }
80    })
81  },
82})


apifm-wxapi 方法说明


签到规则


1WXAPI.scoreSignRules()


读取签到一次送多少积分;连续签到x天赠送y积分


签到


1WXAPI.scoreSign(token)


读取今日签到信息


1WXAPI.scoreTodaySignedInfo(token)


判断今天有没有签到

错误码返回 700 表示未签到;错误码返回 0 表示已经签到


签到记录


1WXAPI.scoreSignLogs(Object object)


读取历史签到记录

分页展示,具体参数详见接口文档说明


关于更加详细的参数使用,以及更加高级的进阶使用方法,可以参考api接口文档说明:


《api接口文档》


关于  apifm-wxapi 更多的使用方法:


《apifm-wxapi使用说明》


本案例Demo代码下载:


《apifm-wxapi使用Demo程序》


期待你的进步!

感谢!