前言

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

《创建 HelloWorld 项目》
《使用 “apifm-wxapi” 快速开发小程序》
《免费注册开通后台,获得专属域名》

功能说明

让你快速理解 apifm-wxapi 的json模块的使用,利用该模块简单实现一个“每日动弹”的小程序;
类似说说的功能,每天可以写一句话、感慨;
本例旨在以一个浅显易懂的使用场景来描述json模块的使用,并不探讨本案例实际应用场景;

启用 “Json数据存储接口” 模块

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

找到 “Json数据存储接口” 模块,点击 “启用模块” ,然后 F5 刷新一下后台界面,你将可以看到新的菜单:
“系统设置” —> “Json数据管理” ;

Json模块 - 图1

小程序实现

效果演示

Json模块 - 图2

wxml代码

  1. <button type="primary" bindtap="goRegist"> 注册 / 登录 </button>
  2. <text class="trip">利用 json 接口,制作一个每日说说的案例</text>
  3. <view class="page">
  4. <view class="page__bd">
  5. <view class="weui-cells weui-cells_after-title">
  6. <view class="weui-cell ">
  7. <view class="weui-cell__bd">
  8. <input class="weui-input" value="{{inputvalue}}" placeholder="今日你想说点什么" bindinput="inputChange" />
  9. </view>
  10. </view>
  11. </view>
  12. <view class="weui-btn-area">
  13. <button class="weui-btn" type="warn" bindtap="jsonSet">提交</button>
  14. </view>
  15. <view class="weui-cells__title">往日动弹:</view>
  16. <view wx:if="{{jsonList}}" class="weui-cells weui-cells_after-title">
  17. <view wx:for="{{jsonList}}" wx:key="*this" class="weui-cell">
  18. <view class="weui-cell__bd">
  19. {{ item.jsonData.msg }}
  20. <view class="weui-badge" style="margin-left: 5px;">{{ item.dateAdd }}</view>
  21. </view>
  22. <view class="weui-cell__ft" bindtap="jsonDelete" data-id="{{ item.id }}">删除</view>
  23. </view>
  24. </view>
  25. </view>
  26. </view>

js代码

  1. const WXAPI = require('apifm-wxapi')
  2. WXAPI.init('gooking')
  3. Page({
  4. data: {
  5. inputvalue: undefined,
  6. jsonList: undefined,
  7. },
  8. onLoad: function (options) {
  9. },
  10. onShow: function () {
  11. this.jsonList()
  12. },
  13. goRegist() {
  14. wx.navigateTo({
  15. url: '/pages/auth/index'
  16. })
  17. },
  18. inputChange(e) {
  19. this.data.inputvalue = e.detail.value
  20. },
  21. jsonList(){
  22. const loginToken = wx.getStorageSync('loginToken')
  23. if (!loginToken) {
  24. wx.showToast({
  25. title: '请先登录',
  26. icon: 'none'
  27. })
  28. return
  29. }
  30. WXAPI.jsonList({
  31. token: loginToken.token,
  32. type: 'apifm-wxapi-test'
  33. }).then(res => {
  34. console.log(res)
  35. if (res.code == 0) {
  36. this.setData({
  37. jsonList: res.data
  38. })
  39. } else {
  40. this.setData({
  41. jsonList: null
  42. })
  43. wx.showToast({
  44. title: res.msg,
  45. icon: 'none'
  46. })
  47. }
  48. })
  49. },
  50. jsonSet() {
  51. const loginToken = wx.getStorageSync('loginToken')
  52. if (!loginToken) {
  53. wx.showToast({
  54. title: '请先登录',
  55. icon: 'none'
  56. })
  57. return
  58. }
  59. if (!this.data.inputvalue) {
  60. wx.showToast({
  61. title: '内容不能为空',
  62. icon: 'none'
  63. })
  64. return
  65. }
  66. WXAPI.jsonSet({
  67. type: 'apifm-wxapi-test',
  68. token: loginToken.token,
  69. content: '{"msg": "' + this.data.inputvalue +'"}'
  70. }).then(res => {
  71. console.log(res)
  72. if (res.code == 0) {
  73. wx.showToast({
  74. title: '添加成功',
  75. icon: 'success'
  76. })
  77. this.setData({
  78. inputvalue: null
  79. })
  80. this.jsonList()
  81. } else {
  82. wx.showToast({
  83. title: res.msg,
  84. icon: 'none'
  85. })
  86. }
  87. })
  88. },
  89. jsonDelete(e){
  90. const loginToken = wx.getStorageSync('loginToken')
  91. const id = e.currentTarget.dataset.id
  92. WXAPI.jsonDelete(loginToken.token, id).then(res => {
  93. console.log(res)
  94. wx.showToast({
  95. title: '删除成功',
  96. icon: 'success'
  97. })
  98. this.jsonList()
  99. })
  100. }
  101. })

WXAPI.init(‘gooking’) 这句代码是将你的小程序链接到你的后台,其中 gooking 这个是你的专属域名(请查看前言中关于专属域名的章节说明);

总结

本案例主要使用了 apifm-wxapi 的以下3个方法:

  1. WXAPI.jsonSet(Object)
  2. WXAPI.jsonList(Object)
  3. WXAPI.jsonDelete(token, id)

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

《api接口文档》

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

《apifm-wxapi使用说明》

本案例Demo代码下载:

《apifm-wxapi使用Demo程序》

期待你的进步!
感谢!