記一次技術分享——釘釘小程序初體驗


1、成果展示 (菜單導航,及基於本地的數據增刪查改)

2、如何在釘釘開放平台創項目及項目創建完之后項目文件結構目錄講解

3、釘釘小程序頁面生命周期

4、釘釘小程序基礎語法 基礎事件  基礎JSAPI

5、釘釘開放平台之上架

 

 

1、成果展示 (菜單導航,及數據的增刪查改)

      

 

 

2、如何在釘釘開放平台創項目及項目創建完之后項目文件結構目錄講解

  地址:https://open-dev.dingtalk.com/#/index

 

 

 

  

 點擊創建  即可創建小程序

 

登錄小程序開發者工具  選擇自己創建的小程序打開即可

 

 

 

 

3、釘釘小程序頁面生命周期

Page()

Page() 接受一個 object 作為參數,該參數用來指定頁面的初始數據、生命周期函數、事件處理函數等。

//index.js

Page({
  data: {
    title: "Test"
  },
  onLoad(query) {
    // 頁面加載
  },
  onReady() {
    // 頁面加載完成
  },
  onShow() {
    // 頁面顯示
  },
  onHide() {
    // 頁面隱藏
  },
  onUnload() {
    // 頁面被關閉
  },
  onTitleClick() {
    // 標題被點擊
  },
  onPullDownRefresh() {
    // 頁面被下拉
  },
  onReachBottom() {
    // 頁面被拉到底部
  },
  onShareAppMessage() {
   // 返回自定義分享信息
  },
  viewTap() {
    // 事件處理
    this.setData({
      text: 'Set data for update.'
    })
  },
  go() {
    // 帶參數的跳轉,從 page/index 的 onLoad 函數的 query 中讀取 xx
    dd.navigateTo({url:'/page/index?xx=1'})
  },
  customData: {
    hi: 'Dingtalk'
  }
})

 

 

 

 注意:基礎數據  鈎子函數  頁面自定義方法  需要寫在一起  

 

4、釘釘小程序基礎語法 基礎事件  基礎JSAPI

語言類似於vue。css支持網頁css寫法 js支持網頁js寫法  支持ES6

a.采用聲明式渲染   數據驅動模型  

axml寫法格式基本和vue一樣,

如:1.v-if、v-for改成了a:if、a:for;
2.所有的數據寫在{{ }}中間
3.沒有v-bind雙向綁定功能

js就是普通js寫法,axml調用的數據放在data對象中,自定義方法也寫在page參數中,修改數據時需要調用this.setData()方法,使用數據時需要調用this.data。

acss配置自己的axml頁面樣式

a:for="{{tagArr}}" key="{{item}}"
class="inner-tag {{item.code==tagCode?'tag-active':''}}"
a:if='true'
跟vue不同的是  小程序沒有a-bind f方法
 
內置有基礎方法

dd.showLoading()就是顯示個loading出來.
dd.httpRequest()就是發請求了.
dd.alert()是彈框,里面的content是彈框內容,buttonText是彈框提示語.

 
b.點擊事件傳參
<view class="right" data-address-id="{{item.userId}}" onTap="editAddress">
         <image mode="scaleToFill" src="/images/my/updateImg.png"/>
      </view> 

 

//跳轉修改地址頁面  保存當前數據id
  editAddress(event){
    let _this = this;
    dd.setStorage({
           key: 'addressId',
           data: event.target.dataset.addressId,
          success: function() {
              my.navigateTo({ url: '../editAddress/editAddress' });
            }
       });
    },

  

c.發起異步請求
// Content-Type為application/json時,data參數只支持json字符串,用戶需要手動調用JSON.stringify進行序列化
dd.httpRequest({
  headers: {
    "Content-Type": "application/json"
  },
  url: 'http://httpbin.org/post',
  method: 'POST',
  // 需要手動調用JSON.stringify將數據進行序列化
  data: JSON.stringify({
    from: '釘釘',
    production: 'Dingtalk',
  }),
  dataType: 'json',
  success: function(res) {
    dd.alert({content: 'success'});
  },
  fail: function(res) {
    dd.alert({content: 'fail'});
  },
  complete: function(res) {
    dd.alert({content: 'complete'});
  }
});

  

 

 

以及還支持掃碼 分享  支付 等。。。

 

 

 

  身份驗證:https://ding-doc.dingtalk.com/doc#/personnal/tmudue

 

 

 

 

5,、釘釘開放平台

https://ding-doc.dingtalk.com/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM