发布:2023/12/7 15:38:29作者:大数据 来源:大数据 浏览次数:631
微信小程序三元运算或三目运算
|
<view class="set-default"> <icon class="icon" type="{{item.isDefault == true ? 'success_circle' : 'circle'}}"/> <text>默认地址</text> </view> |
比起wx:if和wx:else要简略的多。
设置数组或多个条目思路,经常遇到有一组按钮或条目,成数组格式,需要根据当前被点击对象,进行状态的改变,比如,有5个录音文件数组,需要根据点击当前的录音,显示播放动画,余下的4个显示静态动画,具体实现思路是,先将数组,动态绑定到前端,再在后台根据e传来的index对数组中等于index的设置为当前播放状态true,其它4个为false,另外当播放结束里,需要重置5个false,可以使用index=-1
解决微信小程序iis post put中.net core webapi put delete部署后put,delete不能正常访问显示405错误,
Web Api搭建到IIS服务器后PUT请求返回HTTP Error 405.0 - Method Not Allowed
解决方法:
第一种:
直接在添加删除功能里将WebDAV删掉,重启服务器。
第二种:修改配置文件
|
<system.webServer> <modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> </system.webServer> |
微信小程序 安卓 图标不显示 图片不显示 正常发布以后
主要原因:
图片名字里有中文,另外还有可能图片名称里有空格,建议全为英文命名好些。
关于微信小程序图片不显示的问题解决方案
经过查阅资料发现如下文档导致图片不显示:
1.本地图片是用image加载的:src="../../../images/ic_header.jpg" 这样不能显示,应改为:https://........jpg
2.图片的url里面有中文
3.图片的HTTP应为小写的http以及图片的后缀为小写的.png或者.jpg
4.域名未备案
微信小程序图片自适应,rich-text或新闻内容图片自适应
1、通过服务端处理img
在服务端通过正则处理新闻内容中的图片,并添加style="max-width:100%;"
2、在小程序端处理
方法一:简单办法
|
that.setData({ //富文本内容 contents: res.data.contents.replace(/\<img/gi, '<img style="max-width:100%;height:auto"') }) |
方法二:
由于新闻内容中的图片可能带有style和width属性,这样就需要把这些都替换掉,换成自己的
3、rich-text中空格解决
在小程序中如果有空格 或单个英文空格,无论多少,只解析一个,尝试用以下办法实现:
&ensp 中文字符空格一半大小
&emsp 中文字符空格大小
  根据字体设置的空格大小
/**utils.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
* 处理富文本里的图片宽度自适应 * 1.去掉img标签里的style、width、height属性 * 2.img标签添加style属性:max-width:100%;height:auto * 3.修改所有style里的width属性为max-width:100% * 4.去掉<br/>标签 * @param html * @returns {void|string|*} */ function formatRichText(html){ let newContent= html.replace(/<img[^>]*>/gi,function(match,capture){ match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, ''); match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, ''); match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, ''); return match; }); newContent = newContent.replace(/style="[^"]+"/gi,function(match,capture){ match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;'); return match; }); newContent = newContent.replace(/<br[^>]*\/>/gi, ''); newContent = newContent.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;margin-top:0;margin-bottom:0;"'); return newContent; } module.exports = { formatRichText } |
使用:
|
that.setData({ //富文本内容 contents: formatRichText(res.data.contents) }) |
使用wx.request同步
wx.request是异步请求,如果在其success函数里面赋值result=res.data,那么在外面result值为undefined
可以用Promise来解决,代码如下:
common.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
/**用Promise解决wx.request异步请求带来的问题 * method:servlet的函数名,如query、insert * parameter: */ function getAPI(method, parameter){ return new Promise(function (resolve, reject) { wx.request({ url: 'http://localhost:8989/wxAPI/' + method + '.do?' + parameter, //如http://localhost:8989/wxAPI/query.do?searchStr=斗破苍穹 data: { }, header: { 'content-type': 'application/json' }, success: function(res){ resolve(res); }, fail: () => { reject("系统异常,请重试!") } }) }) } module.exports={ getAPI:getAPI } |
index.js(这里只是简单测试)
|
var util = require('../../utils/common.js'); Page({ data: { }, onLoad: function () { }, onShow: function () { util.getAPI('query', 'searchStr=斗破苍穹').then((res) => { console.log(res.data.items); }).catch((res) => { console.log(res) }) } }) |
还有更简单的办法,直接在wx.request中的success中写代码即可。但这样回调多的话,逻辑复杂,根据情况选择二者其一即可。
https://blog.csdn.net/weixin_34364071/article/details/91436647
微信小程序输入小数金额或带小数点的数字:
通常来说:input框有type这个属性,我们通常使用text、number 、checkbox等这些常用的type值来限制输入框的输入。
在微信小程序中,当我们的输入框的type值为number的时候,在小程序中所调取的数字键盘是没有显示小数点的。只有在type值为digit的时候,数字键盘才会有小数点。
常用的type值介绍:
number:数字键盘(没有小数点)
digit:数字键盘(有小数点)
idcard:数字键盘(没有小数点,但是有个 X 键,一般用于身份证的输入
————————————————
版权声明:本文为CSDN博主「酷伊奥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_56550057/article/details/118495113
微信小程序未认证能添加项目成员吗?
当然可以。
微信小程序无法添加项目成员、体验员
提示如下:
搜索不到该用户
请输入正确的微信号,并确保“微信-我-隐私”中的“通过微信号搜索到我”选项处于打开状态。
注意:这里必须是微信号,而不是手机号或QQ号等,这些只是添加方式,真正的微信号不一定和手机号一样的。
{status: 1000, message: "getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json"}
{errMsg: "chooseLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json"}
在app.json添加权限申请,代码如下
|
"permission": { "scope.userLocation": { "desc": "你的位置信息将用于城市定位" } }, "requiredPrivateInfos": [ "getLocation", "chooseLocation" ], |
getLocation增加调用频率限制
当前小程序频繁调用wx.getLocation接口会导致用户手机电量消耗较快,请开发者改为使用持续定位接口wx.onLocationChange,该接口会固定频率回调,使用效果与跟频繁调用getLocation一致。
从基础库2.17.0版本起(预计发布时间2021.4.9),将对getLocation接口增加频率限制,包括:
- 在开发版或体验版中,30秒内调用getLocation,仅第一次有效,剩余返回fail。
- 正式版中,为保证小程序正常运行同时不过度消耗用户电量,一定时间内(根据设备情况判断)调用getLocation,仅第一次会返回实时定位信息,剩余返回与第一次定位相同的信息。
未做好兼容调整可能会影响用户体验,请开发者尽快适配。
微信小程序如何刷新当前界面
在微信小程序开发的过程中,在一个页面中对数据操作之后我们大多数时间都需要刷新一下当前界面以把操作之后的结果显示出来,但是如何在执行操作后进行本页面的刷新就成了一个问题很大但是很需要的操作。下面介绍一下微信小程序刷新当前界面的几种方法。
方法一:this.onLoad()
使用方法:在操作函数中调用this.onLoad()或that.onLoad()(有时候this的作用域不够的时候需要定义that = this)。
适用场景:本次操作对页面onLoad函数所携带的各种参数没有影响。这时候我们在页面第一次执行onLoad函数的时候可以定义一个变量_options将onLoad函数的参数options存储到这个变量中,等操作函数执行完毕时,调用this.onLoad(_options),如果本次操作之后下一次该界面加载时onLoad函数的options变量发生了改变则使用该方法无效。
声明:本站内容来源于原创和互联网,尊重作者版权,转载请注明来源网址,欢迎收藏,谢谢!