Welcome to沈阳峰翔科技有限公司!

15840560486

联系我们

PRPULAR PUSH

ATTEN:
李经理
phone:
15840560486
QQ:
1092031760
ADD:
沈阳市铁西区爱工北街11-4

黑龙江小程序定制

author:沈阳峰翔科技有限公司

【Font size: big medium smail

time:2019-11-19 21:48:13

1、域名配置,不配置无法访问 小程序开发,要调用API,就必须把域名填写在配置里面,这点儿一定要记住,万一服务端突然上线一次,发现线上服务出问题了,很有可能就是域名没有配置。 

 2、默认宽度 小程序中推荐使用rpx做为单位(当然你用px和em照样起作用),默认页面宽度是750rpx,所以,UI同学在给设计稿时,建议也是这个尺寸。

 3、图片预览地址必须是http地址 小程序可以引用相对路径的图片,但是,需要预览,下载时,请一定要作用http地址,否则无效。 wx.previewImage({  current: '', // 当前显示图片的http链接  urls: [] // 需要预览的图片http链接列表 }) 

4、使用字体图标 在PC上有不少同学都使用过图标字体,对于喜欢使用图标字体的同学来说,当然希望小程序中也能使用。然后,我也专门搜索了一圈,果然有高人已经在小程序中使用上了图标字体

5、开启debug模式 有些时候,需要在手机上进行调度,想查看一下日志,怎么办? 可以把下面的代码放在onload里面去,这样就方便调度了~ // 开启debug,线上会一并开启 wx.setEnableDebug({  enableDebug: true })

6、设置标题 需要获取数据后,再设置title?你可以用如下写法: var title = '详情页';  // 这是从服务端返回的数据 wx.setNavigationBarTitle({  title: title }) 

7、公用CSS & js 对于公用CSS,我们可以写在app.wxss中,公用JS,可以写在util目录下,方便其他文件进行调用 .button.light {  background-color: #a0e2fb;  color: #e5f7fe; } .button.gray {  background-color: #dfdfdf;  color: #b0b0b0; } 

8、requie其他JS 引用其他JS,可以使用requie,比如: var util = require('../../utils/util.js'); 

9、动态删除评论 小程序里面是没有节点的插入和删除的,只能通过show,hide来实现,这里说一下评论内容比较多的时候如何删除评论? JS Page({    data: {        itemHide: {}    },    deleteComment: function(e){        var index = e.currentTarget.dataset.index;        var itemHide = self.data.itemHide;        itemHide[index] = true;        self.setData({          itemHide: itemHide        })    } })wxml  ...    

10、处理重复点击 

当用户点击按钮或控件时,如果响应比较慢,往往会重复点击,另外也会存在用户故意反复快速点击的情况,这种时候就会多次触发点击事件造成非期望的结果。如何解决或避免这个问题呢?一般来说有两种情况。
1、点击事件是执行请求
这种情况下可以在请求执行之前显示一个模式的加载框,请求完成后再关闭加载框,由于小程序在1.1.0版本基础库才支持wx.showLoading,因此需要对低版本做兼容处理,代码如下:

function showLoading(message) {
  if (wx.showLoading) {
    // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理
    wx.showLoading({
      title: message,
      mask: true
    });
  } else {
    // 低版本采用Toast兼容处理并将时间设为20秒以免自动消失
    wx.showToast({
      title: message,
      icon: 'loading',
      mask: true,
      duration: 20000
    });
  }}function hideLoading() {
  if (wx.hideLoading) {
    // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理
    wx.hideLoading();
  } else {
    wx.hideToast();
  }}

我们可以将显示加载框和关闭加载框的代码放在公共的代码里面比如util,然后在使用时直接调用即可。

function request() {
  util.showLoading('加载中...');
  wx.request({
    url: app.globalData.host + 'xxx',
    data: {...},
    method: 'GET',
    success: function (res) {
      util.hideLoading()
      ...
    },
    fail: function (res) {
      util.hideLoading()
      ...
    }
  })}

2、点击事件是页面跳转
当点击事件是页面跳转时,不太适合显示加载框,但小程序的页面跳转并不是很快,如果不作处理又会导致用户反复点击打开多个页面,这里可以使用限制按钮或控件的点击间隔的方式处理,同样可以将这个方法放到公共的代码里面比如util,然后在使用时直接调用即可。

function buttonClicked(self) {
  self.setData({
    buttonClicked: true
  })
  setTimeout(function () {
    self.setData({
      buttonClicked: false
    })
  }, 500)}

首先需要在页面对应的js文件里面增加一个buttonClicked数据对象,然后在点击事件里面调用上述方法。

Page({
  data: {
    buttonClicked: false
  },
  click: function (e) {
    util.buttonClicked(this);
    var id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '../detail/detail?id=' + id    })
  },})

另外,在wxml的点击控件中通过buttonClicked判断是否可以点击,可以用bindtap也可以用disabled

11、长按保存 相信大家都习惯看到二维码就长按识别,微信已经培养了我们这种使用习惯,但是,小程序里面并没有长按识别二维码功能(不明白为什么不开放这功能)。对于用户来说,习惯了长按,这时候我们可以做一个长按保存二维码到手机的功能,直接监听bindlogntab事件,调用保存图片API: wx.saveImageToPhotosAlbum({    success(res) {    } })

 12、IOS下文字间距和安卓区别 这个问题是今天遇到的一个坑人问题,做了一个左右布局,左侧图片,右侧文字。代码写完后,发现安卓正常,但是IOS下右侧明显比左侧高。因为字体,字号都一样,纠结了一会儿,设置了line-height: