微信小程序FAQ

1. 图片名注意大小写. 不然本地预览是可以看到的.上传后用手机就看不到了.

2. bindtap等事件传参

wxml

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

JS

Page({
  tapName: function(event) {
    console.log(event)
  }
})

event 打印结果

{
"type":"tap",
"timeStamp":895,
/////////////////////////////////
"target": {
  "id": "tapTest",
  "dataset":  {
    "hi":"WeChat"
  }
},
"currentTarget":  {
  "id": "tapTest",
  "dataset": {
    "hi":"WeChat"
  }
},
///////////////////////////////
"detail": {
  "x":53,
  "y":14
},
"touches":[{
  "identifier":0,
  "pageX":53,
  "pageY":14,
  "clientX":53,
  "clientY":14
}],
"changedTouches":[{
  "identifier":0,
  "pageX":53,
  "pageY":14,
  "clientX":53,
  "clientY":14
}]
}

注意两点:
1、data-名称 不能有大写字母,如果需要,可以通过 - (中划线)来连接单词,编译的时候小程序会将第二个单词首字母自动大写。图中代码是为了自己标志,所以第二个单词的首字母大写了,其实可以不用。data-* 属性中不可以存放对象。

2、注意打印结果中target和currentTarget的区别。

target 触发事件的源组件。
currentTarget 事件绑定的当前组件。

如果你在父容器上绑定了事件并传参,当你点击父容器时,事件绑定的组件和触发事件的源组件是同一个元素,所以currentTarget 、target 都可以拿到参数,但是当你点击子元素时,target 就不是事件绑定的组件了,所以拿不到参数。
由于事件冒泡的机制,父容器上绑定的事件依然可以触发,所以currentTarget 依然可以拿到参数。

3. 微信小程序 之 tabBar 和 navigator 一起使用 的问题

当注册了tabBar的时候,使用navigator时会发现不能跳转,这个时候需要在navigator上加上open-type=‘switchTab‘ 属性;  当未注册tabBar的时候,navigator可正常使用,默认即可。

<navigator url=‘../about/about‘ open-type=‘switchTab‘ >
      <image   data-url=‘about‘ class=‘album‘ src="/images/about.png"  mode="cover"></image>
</navigator>

//事件处理函数

bindViewTap: function(event)

    var url = ‘../‘ + event.currentTarget.dataset.url + ‘/‘+event.currentTarget.dataset.url

    if (event.currentTarget.dataset.url=="about")
      wx.switchTab({
        url: url,
      })
    else
      wx.navigateTo({
        url: url
      })

4. html/css 转成wxml和wxss注意点:

wxss里不能用url(本地图片)

你可以用 http://imgbase64.duoshitong.com/ 转成base64,

background-image: url("data:image/png;base64,iVBORw0KGgo=...");

<h3> 这样的标签和wxml不兼容,可以改成<b>, 在wxss修改样式

<li> 在循环里不兼容, 可以改成<view class="li">, 在wxss修改样式

5. button 去掉border: 使用after属性

/*使用 button::after{ border: none; } 来去除边框*/
.free-btn-bordernone{
  background: none !important;
  color: #000 !important;
}
.free-btn-bordernone::after{
  border: none;
}

6. 小程序AES解密C#

        public string AES_decrypt(string encryptedDataStr, string key, string iv)
        {
            RijndaelManaged rijalg = new RijndaelManaged();
            //-----------------
            //设置 cipher 格式 AES-128-CBC    

            rijalg.KeySize = 128;

            rijalg.Padding = PaddingMode.PKCS7;
            rijalg.Mode = CipherMode.CBC;

            rijalg.Key = Convert.FromBase64String(key);
            rijalg.IV = Convert.FromBase64String(iv);

            byte[] encryptedData = Convert.FromBase64String(encryptedDataStr);
            //解密
            ICryptoTransform decryptor = rijalg.CreateDecryptor(rijalg.Key, rijalg.IV);

            string result="";

            using (MemoryStream msDecrypt = new MemoryStream(encryptedData))
            {
                using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
                {
                    using (StreamReader srDecrypt = new StreamReader(csDecrypt))
                    {
                        result = srDecrypt.ReadToEnd();
                    }
                }
            }
            return result;
        }

7. 微信小程序开发之webview组件内网页实现微信原生支付

https://zhuanlan.zhihu.com/p/32732356

https://blog.csdn.net/blankshsh/article/details/79161751

8. button 按钮样式

<view class="btnbox" hover-class="btnbox_hover">
    <button class="btn" bindtap="btnClick"></button>
    <view class="text">确定</view>
</view>
.btnbox {
  width: 250rpx;
  height: 80rpx;
  border-radius: 8rpx;
  position: relative;
  overflow: hidden;
  background: #ffb80d;
  color: #fff;
  font-size: 36rpx;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btnbox .btn {
  position: absolute;
  width: 100%;
  height: 100%;
  margin:0;
  padding: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 0;
  opacity: 0;
  background: transparent;
  z-index: 9;
}

.btnbox .text {
  display: block;
  line-height: 1.5;
  text-align: center;
}

.btnbox_hover {
  background: #e6a301
}

9. 小程序GPS定位:

https://blog.csdn.net/blankshsh/article/details/78193174

10. 小程序图片上传

https://blog.csdn.net/blankshsh/article/details/79161976

11.  swiper 图片不显示: 是因为你放在.container里面. 不能用flex布局

/**app.wxss**/
.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 0rpx 0;
  box-sizing: border-box;
  background-color: #f4f2ed;
} 

原文地址:https://www.cnblogs.com/zitjubiz/p/9373449.html

时间: 2024-10-01 23:14:46

微信小程序FAQ的相关文章

官方问答--微信小程序常见FAQ (17.8.21-17.8.27)

给提问的开发者的建议:提问之前先查询 文档.通过社区右上角搜索搜索已经存在的问题. 写一个简明扼要的标题,并且正文描述清楚你的问题. 提交 BUG:需要带上基础库版本号,设备信息(iOS, Android,开发工具等等),操作系统信息(系统版本),以及可以让他人重现的信息,最好能够提供重现 demo. 对于提供信息过少的问题,会直接关闭,请提供完整信息以后重新打开问题.另外,对于如何做某某功能,可否做某某功能的问题,会直接关闭. 微信小程序常见FAQ(17.8.21-17.8.27) Q:1.5

微信小程序学习指南

作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 微信小程序正式公测, 张小龙全面阐述小程序,定档1月9日上线(附90分钟演讲全文) ... 前言:新人第一坑,跳坑指南:修改后,必须保存:ctrl+S: 1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教

php对接微信小程序支付

前言:这里我就假装你已经注册了微信小程序,并且基本的配置都已经好了.注: 个人注册小程序不支持微信支付,所以我还是假装你是企业或者个体工商户的微信小程序,其他的商户号注册,二者绑定,授权,支付开通,就阅读文档吧,这里我先负责实战. 微信小程序支付开发文档: https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1 基本流程: 1. 申请商户平台账号 https://pay.weixin.qq.com/in

微信小程序个人/企业开放服务类目一览表

之前写了个牙科小程序,结果服务类目没写对,审核没过,在网上搜了小程序官方的服务类目表,还有一些审核标准. 微信小程序个人开放服务类目表 服务类目 类目分类一 类目分类二 引导描述 出行与交通 代驾 / / 生活服务 家政.丽人.摄影/扩印.婚庆服务.环保回收/废物回收 / / 餐饮 点评与推荐.菜谱.餐厅排队 / / 旅游 出境WiFi.旅游攻略 / / 商业服务 会展服务.律师 / [律师]类目需上传<律师执业资格证>, 上传原件或复印件, 复印件务必加盖公司公章 文件格式为jpg.jpeg

微信小程序案例之天气预报

 前言 这俩年微信小程序特别火,就抽空在网上找了个天气案例自己学习了下,这个案例稍微做了些调整,所以就和大家一起分享下吧~~~~~. 小程序案列本人参考网址:https://www.cnblogs.com/demodashi/p/8481610.html 步骤 1.注册微信小程序. 2.注册和风天气账号. 3.注册百度地图开发平台应用. 4.微信小程序平台设置合法request域. 5.微信工具开发编码实现. 6.微信小程序平台提交审核发布. 一.准备工作 1.注册微信小程序 注册微信小程序账号

微信小程序--图片相关问题合辑

图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.previewImage预览图片 微信小程序之预览图片 小程序开发:上传图片到腾讯云 .NET开发微信小程序-上传图片到服务器 微信小程序本地图片处理--按屏幕尺寸插入图片 [微信小程序]上传图片到阿里云OSS Python Flask小程序文件(图片)上传技巧 小程序图片上传阿里OSS使用方法 微信小程序问题汇

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

微信小程序开发初探

一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所有围绕微信的创造比如公众号都应该发挥其应有的价值. (3)用完即走的高效服务→这一点就厉害了word天,微信要打造一个以微信为中心的生态链,不以绑定用户为目标.比如生活中有一些不太常用的app,我们可能一年也使用不了几次,但是有时候就需要用到,微信就想要提供这样一个平台,让你可以在微信中使用这中所谓

微信小程序之使用本地接口开发

本文主要讲解如何使用本地接口进行开发,很多人都会遇到这个问题,特别是小程序上线后. 一.解决思路 在小程序开发工具设置网络代理,然后再通过Charles设置代理,将https域名转为本地接口进行访问. 以下示例的环境为win7 + 老版本的微信开发工具 二.准备工作 1.配置https域名 为小程序配置request合法域名,在登录公众号平台去设置. 2.安装Charles 下载地址:https://www.charlesproxy.com/download/ 三.配置Charles 1.安装根