钉钉小程序

本文详细介绍了钉钉小程序的开发技巧,包括如何修改值不直接操作数据、组件内定义数据传递、避免页面元素样式冲突、图表样式调整、钉钉中使用图标的方法以及发布流程。同时,还提到了钉钉WebSocket的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. setData 改变对应的this.data的值

  1. 注意:不要直接修改this.data对应的数据。
  2. 在dd.httpRequest({})中无法获取this对象,需要在请求外面定义变量去过渡钉钉变量
this.setData({
  'array[0]': 1,
  'obj.x':2,
});

二. dataset 在组件中可以定义数据,这些数据将会通过事件传递给逻辑层。

<view data-alpha-beta="1" data-alphaBeta="2" onTap="bindViewTap"> DataSet Test </view>

Page({
  bindViewTap:function(event){
    event.target.dataset.alphaBeta === 1 // - 会转为驼峰写法
    event.target.dataset.alphabeta === 2 // 大写会转为小写
  }
})

三. 在page中定义的分页面,页面元素不能使用.page类名,否则会与app的样式冲突。

四. 绘制F2图表,图表图例 legend不够显示,可以考虑添加css样式 padding 值。tooltip提示信息遮挡部分内容时,考虑 设置 offsetY

五. 钉钉中使用iconFont

第一种:引用iconfont第三方域名在线链接

  • 进入iconFont官网,在 【Unicode】 选项中, 选择【查看在线链接】
  • 选择相对应的icon图标,【取最后四位】使用
//1.css
@font-face {    
  font-family: 'iconfont'; /* project id 800366 */
  src: url('//at.alicdn.com/t/font_800366_tdlza9osbci.eot');
  src: url('//at.alicdn.com/t/font_800366_tdlza9osbci.eot?#iefix') format('embedded-opentype'),
         url('//at.alicdn.com/t/font_800366_tdlza9osbci.woff') format('woff'),
         url('//at.alicdn.com/t/font_800366_tdlza9osbci.ttf') format('truetype'),
         url('//at.alicdn.com/t/font_800366_tdlza9osbci.svg#iconfont') format('svg');
}
.iconfont {
  font-family: "iconfont" !important;
  font-size: 60rpx;
}
.icon-mediation-case:before {content: "\e6a0"}
//2.代码中引用
<view class="iconfont icon-backColor-case icon-mediation-case"></view>   

第二种:直接下载转化为base64使用

  • 进入iconFont官网,在 【Unicode】 选项中, 选择【下载至本地】
  • 在https://transfonter.org/,将下载文件中的【iconfont.ttf】文件转化为base64文件,下载后取出【stylesheet.css】复制到本地【app.acss】中进行复用。

六. 钉钉发布相关

  1. 官方组件文档:钉钉组件 F2图表
  2. 发布钉钉流程:
  1. 编辑器左上角选择 【关联应用】【体验组织】后,右上角 【上传】
  2. 发布体验版 钉钉开发平台 ,选择登录管理后台的企业和管理密码,选择【应用开发】,找到相应的版本将发布的版本设置为 体验版。
  3. 发正式版本都需要在编辑器左上角选择【企业内部应用】

七. 钉钉websocket

// 钉钉 websocket 
Page({
  data: {},
  onLoad() {
    dd.showLoading({ content: '数据加载中...' });
    dd.onSocketClose(function(res) {
      console.log('WebSocket 已关闭!')
    })

    let url = app.globalData.baseUrl_ws;
    dd.connectSocket({ url: url });
      
    dd.onSocketOpen(function(res) {
      // dd.alert({ content: '连接已打开!' });
    });

    dd.onSocketError(function(res) {
      // dd.alert('WebSocket 连接打开失败,请检查!' + res);
    });

    dd.onSocketMessage(function(res) {
      dd.hideLoading();
      let params = JSON.parse(res.data);
    })  
  }
})
// 原生webSocket
let url = app.globalData.baseUrl_ws;
let ws = new WebSocket(url);
ws.onopen = function () {
    console.log('连接成功');
}
ws.onmessage = function (event) {
    dd.hideLoading();
    let params = JSON.parse(event.data);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值