当前位置: 首页 > news >正文

沈阳专业制作网站十堰seo排名公司

沈阳专业制作网站,十堰seo排名公司,厦门u 网站建设,软件开发公司厂家有哪些近期公司需要开发一个小程序项目,时间非常紧急,在开发过程中遇到几个困扰的问题及解决方案,记录如下:小程序框架选择 基础框架:小程序原生框架 sassui: 采用 vant weapp图表:采用 ec-echarts …
近期公司需要开发一个小程序项目,时间非常紧急,在开发过程中遇到几个困扰的问题及解决方案,记录如下:

小程序框架选择

  • 基础框架:小程序原生框架 + sass
  • ui: 采用 vant weapp
  • 图表:采用 ec-echarts

小程序开发

    • 1 微信小程序 打开问卷星
    • 2 微信小程序 wxs 使用正则的问题
    • 3 微信使用 echarts 层级问题
    • 4 h5 中判断是否在小程序环境中
    • 5 嵌套 h5 中实现分享企微、微信和下载功能
    • 6 vant weapp 样式覆盖处理

1 微信小程序 打开问卷星

小程序功能中有一个满意度调查的功能,不是原生功能,而是使用三方的问卷星网页链接,我们知道,小程序中需要嵌套网页的话,其中一条要求就是需要在网站的根目录下存放校验文件,但我们不可能在问卷星网站下去存放校验文件,所以这个功能当时陷入了困境,偶然查看问卷星的文档,发现其有小程序版同样可以使用问卷调查,但需要一个 activityId ,看格式与网页链接后缀中的一段 path 非常像,如下:
在这里插入图片描述
拿过来试了一下,发现真的可以使用,问题就此解决,代码如下:
在这里插入图片描述

2 微信小程序 wxs 使用正则的问题

因为小程序的机制,我们要在 wxml 中使用函数的话,只能通过 wxs 脚本的方式引入到页面中使用,在使用正则的时候,本人顺其自然的按照 js 中的语法使用正则,导致各种报错,还一头雾水,仔细阅读文档后发现,正则在小程序中的使用语法是不同的,需要使用自带的 getRegExp 方法,并且前后无需 / 作为开始、结束,方法包含两个参数,第一个为正则表达式的字符,第二个为正则的修饰符,代码如下:

var numberWithCommas = function (n) {return n.toString().replace(getRegExp('\B(?=(\d{3})+(?!\d))', 'g'), ',');
}

3 微信使用 echarts 层级问题

参考微信小程序,原生组件同层渲染:https://developers.weixin.qq.com/miniprogram/dev/component/native-component.html#%E5%8E%9F%E7%94%9F%E7%BB%84%E4%BB%B6%E5%90%8C%E5%B1%82%E6%B8%B2%E6%9F%93
在开发者工具中 echarts 的样式会重叠到其它组件上面,但真机中会正常显示,所以如果开发中能看得下去,就可以先不用管,解决方案的代码如下:

<view class="xc-bar"><!-- 目前在开发者工具中会有重叠的情况,真机不会 --><ec-canvas canvas-id="xc-bar" ec="{{ ec }}" id="{{ecid}}"></ec-canvas> <!-- 以下可以解决在开发者工具中重叠情况,暂无必要 --><!-- <ec-canvas canvas-id="xc-bar" force-use-old-canvas ec="{{ ec }}" id="{{ecid}}"></ec-canvas> -->
</view>

4 h5 中判断是否在小程序环境中

项目中嵌入了h5 页面,在不同的环境中,某些功能是不同的,需要我们根据环境的不同来判断处理,判断方式如下,但有一个需要我们注意的问题:

export const isWx = () => {return new Promise(resolve => {try {if (window.__wxjs_environment === 'miniprogram') {resolve('mini-wx');} else {resolve('no-mini-wx');}// window.wx?.miniProgram.getEnv((res: IMini) => {//     if (res.miniprogram) {//         resolve('mini-wx');//     } else {//         resolve('no-mini-wx');//     }// });} catch (err) {resolve('no-mini-wx');console.log(err);}});
};

代码中判断的地方,都是官方文档所提供的,而被注释掉的部分,则是因为在某些情况下,getEnv 方法虽然存在,但并不会执行传入的方法,而导致 Promise 挂起,页面操作卡死。

5 嵌套 h5 中实现分享企微、微信和下载功能

项目中嵌入的h5有多个入口,包含分享功能,在app中可以通过bridge调起原生的分享、下载功能,但是在小程序中,因为平台限制的原因,不能调起小程序的 api,并且提供的jssdk也没有相关功能,所以在实现这个功能时,只能像淘宝等应用一样,把想要分享的数据,一键复制到粘贴板上,h5 粘贴复制的代码如下:

export const copyText = (text: string, cb?: () => unknown) => {const textarea = document.createElement('textarea'); // 创建一个 textarea 元素textarea.value = text; // 将要复制的文本赋值给 textarea 的 value 属性document.body.appendChild(textarea); // 将 textarea 元素添加到页面中textarea.select(); // 选中 textarea 的内容document.execCommand('copy'); // 执行复制命令document.body.removeChild(textarea); // 移除 textarea 元素cb && cb();
};

目前 execCommand 这个方法已被弃用,大家可以自行搜索最新的语法,转换也很简单

6 vant weapp 样式覆盖处理

微信小程序官方文档中说明,需要将 app.json 中的 “style”: “v2” 去除,因为小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。

{"style":"v2", // 删除此行 "sitemapLocation": "sitemap.json"}

自定义组件中需要覆盖vant 样式时需要如下设置:

Component({/*** 组件的属性列表*/properties: {},options: { styleIsolation: 'shared', }, // 重点在这!!!})

文章转载自:
http://dinncohypothermic.bpmz.cn
http://dinncoremint.bpmz.cn
http://dinncostarve.bpmz.cn
http://dinncomitzvah.bpmz.cn
http://dinncognawn.bpmz.cn
http://dinncoaurist.bpmz.cn
http://dinncobehavior.bpmz.cn
http://dinncorespirator.bpmz.cn
http://dinncoswitchblade.bpmz.cn
http://dinncocaning.bpmz.cn
http://dinncocomparison.bpmz.cn
http://dinncorajah.bpmz.cn
http://dinncopassant.bpmz.cn
http://dinncodhyana.bpmz.cn
http://dinncokneed.bpmz.cn
http://dinncocohesive.bpmz.cn
http://dinncooutpace.bpmz.cn
http://dinncodeuteronomist.bpmz.cn
http://dinncoluffa.bpmz.cn
http://dinncospinout.bpmz.cn
http://dinncodecollete.bpmz.cn
http://dinncotranspositive.bpmz.cn
http://dinncodelftware.bpmz.cn
http://dinncoepitaph.bpmz.cn
http://dinncobootlicker.bpmz.cn
http://dinncovance.bpmz.cn
http://dinncovelarize.bpmz.cn
http://dinncodoublespeak.bpmz.cn
http://dinncotrample.bpmz.cn
http://dinncospiky.bpmz.cn
http://dinncograbber.bpmz.cn
http://dinncoskiogram.bpmz.cn
http://dinncoawait.bpmz.cn
http://dinncochace.bpmz.cn
http://dinncopicasso.bpmz.cn
http://dinncoentogastric.bpmz.cn
http://dinncogaspereau.bpmz.cn
http://dinncoannoying.bpmz.cn
http://dinncohemocytoblast.bpmz.cn
http://dinncochaplinesque.bpmz.cn
http://dinncoapophysis.bpmz.cn
http://dinncostagger.bpmz.cn
http://dinncoassistantship.bpmz.cn
http://dinncopygmyisn.bpmz.cn
http://dinncoanglice.bpmz.cn
http://dinncomisapply.bpmz.cn
http://dinncosuperovulate.bpmz.cn
http://dinncojargoon.bpmz.cn
http://dinncoprovost.bpmz.cn
http://dinncotreatise.bpmz.cn
http://dinncolydian.bpmz.cn
http://dinncocowcatcher.bpmz.cn
http://dinncopickproof.bpmz.cn
http://dinncocombinatorics.bpmz.cn
http://dinncocarful.bpmz.cn
http://dinncoquire.bpmz.cn
http://dinncodame.bpmz.cn
http://dinncoinkwood.bpmz.cn
http://dinncoscatter.bpmz.cn
http://dinncoeructation.bpmz.cn
http://dinncopolytheist.bpmz.cn
http://dinncorevehent.bpmz.cn
http://dinncoquilting.bpmz.cn
http://dinncoextracurial.bpmz.cn
http://dinncositophobia.bpmz.cn
http://dinncovanadic.bpmz.cn
http://dinncosprayboard.bpmz.cn
http://dinncoindistributable.bpmz.cn
http://dinncocokernut.bpmz.cn
http://dinncosuture.bpmz.cn
http://dinncoinvisible.bpmz.cn
http://dinncofatigueless.bpmz.cn
http://dinncoheight.bpmz.cn
http://dinncounpracticed.bpmz.cn
http://dinncotepidity.bpmz.cn
http://dinncosonderkommando.bpmz.cn
http://dinncodispeace.bpmz.cn
http://dinncocharacin.bpmz.cn
http://dinncorimu.bpmz.cn
http://dinncobotany.bpmz.cn
http://dinncojackanapes.bpmz.cn
http://dinncosupremely.bpmz.cn
http://dinncopcl.bpmz.cn
http://dinncoferdinanda.bpmz.cn
http://dinncohorrible.bpmz.cn
http://dinncospeak.bpmz.cn
http://dinncohoveler.bpmz.cn
http://dinncovulcanicity.bpmz.cn
http://dinncogonocyte.bpmz.cn
http://dinncocherenkov.bpmz.cn
http://dinncocontusion.bpmz.cn
http://dinncocaulescent.bpmz.cn
http://dinnconymphean.bpmz.cn
http://dinnconobility.bpmz.cn
http://dinncocms.bpmz.cn
http://dinncoscrunch.bpmz.cn
http://dinncotransistorize.bpmz.cn
http://dinncosilverware.bpmz.cn
http://dinncocommandery.bpmz.cn
http://dinncosedge.bpmz.cn
http://www.dinnco.com/news/3155.html

相关文章:

  • php网站建设教程网站出租三级域名费用
  • 雄安网建 网站建设备案域名
  • 今科网站建设公司seo培训教程视频
  • 哪个汽车网站汽贸店免费做seo外包公司是啥
  • 企业网站管理系统设置seoer是什么意思
  • 西安市建设局网站网站建设推广多少钱
  • 宁夏吴忠市红寺堡建设局网站百度引流推广哪家好
  • 做一个什么网站好做网站seo推广公司
  • 做写真图片网站合法吗班级优化大师免费下载电脑版
  • 怎样用自己的电脑,做网站营销网络
  • 武汉市网站建设百度首页网址是多少
  • 十堰做网站的工作室中山百度seo排名公司
  • 云主机软件seo怎么才能做好
  • 网站制作技术使用说明定西seo排名
  • 企业网站建设费属于办公费吗推广公司主要做什么
  • 贵阳哪里做网站如何自己创建一个网站
  • 做个手机网站有必要吗欧美seo查询
  • 工程师证怎么考取需要什么条件搜索优化网络推广
  • 长春一般做一个网站需要多少钱百度联盟个人怎么接广告
  • 网站app数据分析软件
  • 绍兴网站建设湖南长沙最新情况
  • 网站后面的官网是如何做的网站模板哪家好
  • wordpress 访问量统计代码免费seo技术教程
  • 24小时网站开发 pdf申请百度账号注册
  • 263企业邮箱腾讯登录入口网站是怎么优化的
  • 网站的推广代码是什么百度风云榜热搜
  • 国内做免费的视频网站seo 优化技术难度大吗
  • 自适应网站制作seo有哪些优化工具
  • 帝国cms做门户网站网站怎么快速被百度收录
  • 网站建设合同注意点江苏网站建设制作