小程序首页 微信小程序 微信小程序开发源码可以购买吗?openid如何获取

微信小程序开发源码可以购买吗?openid如何获取

小程序开发源码 2020-11-09 11:27:50

近期有单独开发设计了一个网红经济类的微信小程序,因为商品和后台管理对微信小程序都生疏,及其自身开发设计工作经验的缺乏,因此 汇总一下自身开发设计全过程中所碰到的难题及其碰到的坑。

获取这个openid由于这个很重要,做为我与后台管理的联调桥梁,总算在开发版测试版都没什么问题的情况下锣鼓喧天的上线,但一发布就GG了,商品三点半给的我,四点就取出去宣传策划了,将我急的像心急火燎,还行我第一下就精准定位来到是openid的难题,因此 在这里把自己惨痛的教训告知大伙儿,前端开发不必随便和第三方接口相处,记得凡事有有后台。

 把wx.login随机生成的code传给后台让后台返回给你openid就可以了!!!!

第二个:关于自定义图片分享小程序

onShareAppMessage(res) {return {title: '我是小仙女!',// path: '/page/user?id=123',imageUrl:'../images/one.png'}}

只要调取这个官方的API,放上去图片就能自定义图片分享出去小程序了,为了保护隐私,这个功能就一提而过了哈

第三个:上拉刷新和下拉加载

onPullDownRefresh(){wx.showLoading({title: '加载中',})setTimeout(function(){wx.hideLoading()},1000)this.page =1;this.getactivity();  //重新刷新页面的数据wx.stopPullDownRefresh();//停止当前页面下拉刷新}onReachBottom() {if(this.lessonData.length % 6 ==0) {this.page+=1this.getactivity()}}

第四个:小程序自定义属性并拿到值

<view class="item" bindtap="tolessonfor({{item.id}},{{item.statusCode}})" data-id="{{item.id}}" data-code="{{item.statusCode}}">
//跳转到详情页tolessonfor(e) {// console.log(e); var id = e.currentTarget.dataset.idvar statuscode = e.currentTarget.dataset.code;}

第五个: wx:if 和 hidden

   在开发中我用hidden的次数比较多,但出的问题也比较多,hidden适合简单的控制变换,但是wx:if适合有条件变化,没那么频繁的,所以简而言之就是频繁的操作适合用hidden,不频繁的用wx:if就可以了,wx:if对一开始的条件就生效直到你改变了他的条件才会改变,如果你的页面有一些闪跳的现象你就可以检查自己是不是hidden的用法没控制好。

第六个:navigateTo和switchTab

   有的时候你想回tab栏就是如下的就是tab栏:

由于都是跳转页面,tab栏的跳转和普通页面的跳转是不一样的

wx.switchTab({url: '/pages/index'});
wx.navigateTo({url: `/pages/detail?id=${id}`})

 第七个:wx.getStorageSync和wx.getStorage

    

   之前将openid存起来,用wx.getStorage的方法拿数据会有延迟,导致我会需要设一个定时间延迟获取数据,后来发现只需要用同步的方法wx.getStorageSync就可以快速的拿到数据了。

第八个:input输入框获取值的方式

 <input type="number" bindinput="numberInput" name="" id="" value="{{number}}">获取值:numberInput(e) {this.number = parseInt(e.detail.value)}

第九个:微信提示框 

wx.showModal({title: '提示',showCancel: false,content: '抽奖数量越多,中奖概率越高',success: function success(res) {}})

第十个:微信获取用户授权绑定手机号

一定要用button让用户授权<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微信绑定手机号</button>
注意拿到的数据要在data先定义一下哈getPhoneNumber(e) {console.log(e.detail.errMsg)console.log(e.detail.iv)console.log(e.detail.encryptedData)this.iv = e.detail.ivthis.encryptedData = e.detail.encryptedDataif (e.detail.errMsg == 'getPhoneNumber:ok') {method.request({url: 'api/WXJson',method: 'post',data: {sessionKey: this.session_key,iv: this.iv,encryptedData: this.encryptedData},success: backData => {this.phoneNumber = backData.data.data.phoneNumber   后台返回解密了的手机号给我wx.setStorage({key: 'phonenumber',data: this.phoneNumber,success: function() {}})wx.navigateTo({url: '/pages/register'})// 异步必须要applythis.$apply()}})}if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {wx.showModal({title: '提示',showCancel: false,content: '未授权',success: function(res) {}})}}

 第十一:自己封装的接口文件

   因为每次发请求都需要传入域名,所以自己封装了一个,不做过多的解释,代码奉上

// 抽取 基地址// 配置var baseURL = '你的域名';// 写封装的东西var method = {/*    opt      url      method      success      fail      函数的上下文调用模式      apply call bind  */request: (opt) => {wx.request({url: `${baseURL}${opt.url}` || '',method: opt.method || 'get',success: opt.success || ((backData) => {console.log(backData);}),header: opt.header || {},data: opt.data || {},fail: opt.fail || (() => {})})}}// 暴露出去module.exports.request = method.request;

 第十二:手机验证码和apply的使用

//获取手机验证码getCode() {//倒计时this.vshow = falsethis.auth_time = 60var auth_timetimer = setInterval(() => {this.auth_time--if (this.auth_time <= 0) {this.vshow = trueclearInterval(auth_timetimer)}this.$apply()}, 1000)}

   由于setInterval是异步执行的,我用的是wepy框架,this.$apply是用来检查脏数据的也就是数据的变化,原生的是setData,wepy中是用apply,一开始我遗忘了导致倒计时是不准确的,所以切记不要忘记用this.$apply

第十三:手机号和邮箱的正则判断

var warn = ""; //弹框时提示的内容var flag = true; //判断信息输入是否完整//判断的顺序依次是:姓名-手机号-地址-具体地址-预约日期-预约时间-开荒面积if (this.userName.length < 2) {warn = "请正确填写您的姓名!";} else if (this.phoneNum == "") {warn = "请填写您的手机号!";} else if (!(/^1(3|4|5|7|8)\d{9}$/.test(this.phoneNum))) {warn = "手机号格式不正确";} else if (!(/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(this.email))) {warn = "邮箱格式不正确!";} else

大伙儿目前可以看到的别的互联网网购平台,包括网址、APP手机软件、或者说微信小程序也好,因而这类网络网购平台,他们可以运用的程序模块,各个方面全是由这一个网站源代码管理决策的。
也就是说大伙儿里面有哪些的程序模块,全是由这一个网站源代码管理决策的。
一,根据程序模块必须
第一类就是一些互联网公司,他们有本身的技术性精英团队接着要做一个本身的微信小程序,程序模块必须各方面也十分清楚。
倘若说本身要一行一行写代码这一个经济成本会十分高,因而会在现阶段目前市面上找一下看可以马上套进的网站源代码。
这一个网站源代码买以往以后,他们有本身的技术性精英团队,他们可以进行相对性应的修改,接着去进行维护保养,因而这一个还可以将就做出来一个商品去运用,并且这一个商品有什么难题本身还可以慢慢去解决,这也是第一类。
二,不可靠的开发商
第二类就是一些不可靠的开发商,本身并沒有技术性精英团队,但是本身又懂一点儿科研开发,接着会去购买这类底价的小程序源码,接着本身去把他做成一个模版。
做出来以后,接着应用微信小程序这波热潮,应用底价吸引销售市场上对价格十分比较敏感的客户。
因而这一部分客户因为底价购买他们的小程序,因而那时看起来仿佛能做,但是后半期会发现这类微信小程序压根用不上,因而导致的马上危害就是错过了微信小程序稳步发展的机遇。
我建议客户要做好自己的微信小程序,想要去进行一些销售市场的营销推广得话,尽量挑选可靠的服务提供商。价格高一点儿,产品与服务都是有确保,是有非常大协助的,欢迎咨询。