分类归档

小程序

FWQ
小程序
微信开发之JS API支付的实例详解
关键字:微信支付 微信支付v3 jsapi支付 统一支付 native支付 prepay_id  本文介绍微信支付下的jsapi实现流程 前言 微信支付现在分为v2版和v3版,2014年9月10号之前申请的为v2版,之后申请的为v3版。V3版的微信支付没有paySignKey参数。v2的相关介绍请参考方倍工作室的其他文章。本文介绍的微信支付v3。 流程实现 1. OAuth2.0授权 JSAPI 支付前需要调用 登录授权接口获取到用户的 Openid 。所以需要做一次授权,这次授权是不弹出确认框的。其实质就是在用户访问 http://www.fangbei.org/wxpay/js_api_call.php 登录后复制 时跳转到 https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8888888888888888&redirect_uri=http://www.fangbei.org/wxpay/js_api_call.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect 登录后复制 以此来获得code参数,并根据code来获得授权access_token及openid 其实现的详细流程可参考 微信公众平台开发(71)OAuth2.0网页授权 在微信支付的Demo中,其代码为  1 //使用jsapi接口 2 $jsApi = new JsApi_pub(); 3  4 //=========步骤1:网页授权获取用户openid============ 5 //通过code获得openid 6 if (!isset($_GET['code'])) 7 { 8     //触发微信返回code码 9     $url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);10     Header("Location: $url");  11 }else12 {13     //获取code码,以获取openid14     $code = $_GET['code'];15     $jsApi->setCode($code);16     $openid = $jsApi->getOpenId();17 } 登录后复制…
2024-11-25 阅读全文 →
FWQ
小程序
微信开发入门(六)用户数据解密
经常看到有点的小伙伴在群里问小程序用户数据解密流程,所以打算写一篇关于小程序用户敏感数据解密教程; 加密过程微信服务器完成,解密过程在小程序和自身服务器完成,即由 encryptData 得到如下数据: {     "openId": "OPENID",     "nickName": "NICKNAME",     "gender": GENDER,     "city": "CITY",     "province": "PROVINCE",     "country": "COUNTRY",     "avatarUrl": "AVATARURL",     "unionId": "UNIONID",     "watermark":     {         "appid":"APPID",         "timestamp":TIMESTAMP     } } 登录后复制 准备知识: Base64编解码 AES算法、填充模式、偏移向量 _会话密钥,以及怎么存储和获取 以上3点对于理解解密流程非常重要。 根据官方文档,我梳理了大致的解密流程,如下: 小程序客户端调用wx.login,回调里面包含_code。 然后将js_code发送到服务器A(开发者服务器),服务器A向微信服务器发起请求附带js_code、appId、secretkey和grant_type参数,以换取用户的openid和session_key(会话密钥)。…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序中列表上拉加载的实现方法(附代码)
本篇文章给大家带来的内容是关于微信小程序中列表上拉加载的实现代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 某个页面,有多个列表,如100行,这时需要实现分页功能,手机端的分页一般都是滑到底部时上拉刷新。 使用scroll-view实现,其bindscrolltolower方法:滚动到底部/右边触发。当触发时发送请求获取新的数据,我写的时候获取的数据很快,我还给它加了个定时器啊哈哈哈,因为我想让showLoading加载弹窗转一转,让用户知道上拉刷新数据。因为没加的时候showLoading一闪而过,感觉体验效果不好。 最后scroll-view使用竖向滚动时,需要给<scroll-view></scroll-view>一个固定高度(height:93%),再给page设置高度(height:100%),否则bindscrolltolower触发不了 <scroll-view></scroll-view> 登录后复制 来一段逻辑的代码   //上拉加载分页   getMore(e){     var that = this;     var user = wx.getStorageSync('bizUser');     wx.showLoading({       title: '正在加载中',     });     setTimeout(function(){       var pageindex = that.data.curPage;       var student = that.data.student;       if (pageindex&gt;=1){         ++pageindex;       }       wx.request({         url: app.url + '',         data: {           schoolId: user.schoolId,           pageSize: 10,           curPage:pageindex         },         method: 'GET',…
2024-11-25 阅读全文 →
FWQ
小程序
浅谈小程序中下拉刷新和上拉加载功能怎么实现?(附代码)
本篇文章给大家介绍一下小程序中实现下拉刷新和上拉加载功能的方法,希望对大家有所帮助! 在进行列表数据展示的时候,如果数据比较多或者更新比较快,就需要提供上拉刷新和下拉加载的功能,让提升用户的体验。【相关学习推荐:】 下拉刷新及上拉加载wxml文件编写 当我们使用scroll-view滑动组件展示列表时,其本身就存在下拉刷新和上拉加载的触发函数 <scroll-view bindscrolltoupper="refresh">   <l-loadmore></l-loadmore><l-loadmore></l-loadmore></scroll-view> 登录后复制 scroll-y: 是否允许纵向滚动,默认为false,这里我们设置为true upper-threshold: 距顶部/左边多远时,触发 scrolltoupper 事件(下拉刷新) bindscrolltoupper:滚动到顶部/左边时触发,这里设置滚动到顶部需要触发的函数 bindscrolltolower:滚动到顶部/右边时触发 引入line-ui框架 这里我使用的下拉刷新和上拉加载展示组件是lin-ui框架提供的,这里我说下如何引入lin-ui框架: //在小程序项目目录中执行下面的函数 npm install lin-ui 登录后复制 然后在需要引入组件的页面的json文件中进行引入 "usingComponents": {     "l-loadmore":"/miniprogram_npm/lin-ui/loadmore/index",     "l-loading":"/miniprogram_npm/lin-ui/loading/index",   }, 登录后复制 这样lin-ui组件就引入成功了…
2024-11-25 阅读全文 →
FWQ
小程序
小程序怎么配置Twoxml,让其完美支持Markdown!
本篇文章给大家分享绍一下让小程序完美支持markdown的详细教程,希望对大家有所帮助! 最近在做需要展示文章详情的功能,详情打算用Markdown展示,发现微信小程序在支持Markdown方面不是很友好,小蛋我无意中发现一个好用的组件,Twoxml,完美支持Markdown,下面就带大家手把手实现Markdown功能。【相关学习推荐:小程序开发教程】 Towxml 介绍 |Towxml 官网: https://github.com/sbfkcel/towxml Towxml是一个可将HTML、Markdown转为微信小程序WXML的渲染库,支持以下功能: 使用Towxml可以实现如下的Markdown效果 在小程序中引入Twoxml 构建Twoxml 克隆项目到本地 git clone https://github.com/sbfkcel/towxml.git 登录后复制 如果没有安装过npm依赖,先安装依赖 npm install 或 yarn 登录后复制 编辑配置文件towxml/config.js 根据自己的实际需求保留你需要的功能即可 运行 npm run build 或 yarn run build 即可 构建好后出来的文件在dist目录下,将dist目录复制到小程序项目根目录中并将目录名称改为towxml即可使用…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
这篇文章主要介绍了微信小程序 scroll-view实现上拉加载与下拉刷新的实例的相关资料,需要的朋友可以参考下 微信小程序 scroll-view实现上拉加载与下拉刷新的实例 实现效果图: 如图,使用小程序的scroll-view实现的上拉加载数据,下拉刷新数据,试下代码如下: js文件代码: var url = "http://192.168.30.4:8080/gtxcx/carrier/getCarrier.action";  var page = 1;    var GetList = function (that) {   that.setData({   hidden: false   });   wx.request({   url: url,   data: {    pageSize: 10,    pageNo: page   },   success: function (res) {    var l = that.data.list    for (var i = 0; i <p></p><p>json文件代码</p><p class="jb51code"></p><pre class="brush:js;toolbar:false;">{   "navigationBarTitleText": "下拉刷新",   "enablePullDownRefresh": true,   "backgroundTextStyle": "dark" …
2024-11-25 阅读全文 →
FWQ
小程序
微信开发之个性化菜单
为了帮助公众号实现灵活的业务运营,微信公众平台新增了个性化菜单接口,开发者可以通过该接口,让公众号的不同用户群体看到不一样的自定义菜单。该接口开放给已认证订阅号和已认证服务号。 开发者可以通过以下条件来设置用户看到的菜单: 1、用户(开发者的业务需求可以借助用户分组来完成)2、性别3、手机操作系统4、地区(用户在微信客户端设置的地区)5、语言(用户在微信客户端设置的语言) 个性化菜单接口说明: 1、个性化菜单要求用户的微信客户端版本在iPhone6.2.2, 6.2.4以上。2、菜单的刷新策略是,在用户进入公众号会话页或公众号pro页时,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有,就会刷新客户端的菜单。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。3、普通公众号的个性化菜单的新增接口每日限制次数为2000次,接口也是2000次,测试个性化菜单匹配结果接口为20000次4、出于考虑,一个公众号的所有个性化菜单,最多只能设置为跳转到3个域名下的链接5、创建个性化菜单之前必须先创建默认菜单(默认菜单是指使用普通创建的菜单)。如果删除默认菜单,个性化菜单也会全部删除 个性化菜单匹配规则说明: 当公众号创建多个个性化菜单时,将按照发布顺序,由新到旧逐一匹配,直到用户信息与matule相符合。如果全部个性化菜单都没有匹配成功,则返回默认菜单。例如公众号先后发布了默认菜单,个性化菜单1,个性化菜单2,个性化菜单3。那么当用户进入公众号页面时,将从个性化菜单3开始匹配,如果个性化菜单3匹配成功,则直接返回个性化菜单3,否则继续尝试匹配个性化菜单2,直到成功匹配到一个菜单。根据上述匹配规则,为了避免菜单生效时间的混淆,决定不予提供个性化菜单编辑,开发者需要更新菜单时,需将完整配置重新发布一轮。 目录 1 创建个性化菜单 2 删除个性化菜单 3 测试个性化菜单匹配结果 4 个性化菜单 5 删除所有菜单 创建个性化菜单 http请求方式:POST(请使用https协议) api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN 请求示例 {  "button":[  {     "type":"click",     "name":"今日歌曲",      "key":"V1001_TODAY_MUSIC"  }, {  "name":"菜单", "sub_button":[…
2024-11-25 阅读全文 →
FWQ
小程序
详解微信小程序遇到修改数据后页面不渲染的问题解决方法
这篇文章主要介绍了微信小程序遇到修改数据后页面不渲染的问题解决的相关资料,需要的朋友可以参考下 微信小程序遇到修改数据后页面不渲染的问题解决 前言: 去年从小程序一开始出来到现在,我一直是比较看好和保持一定的关注度的,小程序的掀起的波浪我觉得一开始是在前端及其他技术开发人群中的,这是我第一次有意识的亲眼目睹了一个新技术的发展,还是感觉比较荣幸的。 唱衰小程序?我的观点是肯定不可能,因为现在每天提交的小程序还在继续增加,而且有些小程序确实很好用,比如摩拜的扫码骑车,还有我上周去KTV,直接用小程序扫屏幕上的二维码,就可以绑定房间,然后通过小程序点歌,切歌,发表情包等方便好玩的事情,所以,在我看来,有些应用场景是非常适合小程序的,以后生活中的更多场景会更多的应用小程序。 截止到目前,小程序的系列文章写了有十几篇,基本上是解决开发中的一些问题,踩过的坑。我的小程序也已经写的差不多了,但是公司的https加密认证还没有弄好,所以只能暂且搁置在那里了。 数据修改不生效 今天继续要介绍一个Data()的问题。 我们经常会这样写: var that = this; wx.getStorage({   key: 'user',   success: function(res){     console.log(res.data)     that.data.params.uuid = res.data.uuid;     that.data.params.ticket = res.data.ticket;     that.data.params.courseUuid = options.courseUuid;     that.data.params.isCompany = options.isCompany;     that.fetchData();     that.getShareList();   } }) 登录后复制 我们给data进行了一些赋值操作,但是发现接着使用这些数据的时候是不对的,我们赋值的数据并没有成功的渲染到页面。找了好久之后我发现,原来要想数据立马生效,必须要调用一下setData()方法才能有用,所以上面的代码修改如下: var that = this; wx.getStorage({   key: 'user',   success: function(res){…
2024-11-25 阅读全文 →
FWQ
小程序
0基础微信开发入门视频教程的资料分享
《0基础微信开发入门视频教程》作为学习微信开发的基础课程,详细介绍了微信开发的准备条件,以及如何申请一个微信公众账号,并在项目应用中如何成功接入微信开发的api接口,课程由浅入深,内容详实,非常适合新手学习。 课程播放地址: 该老师讲课风格: 讲课亲切自然,朴实无华,没有矫揉造作,也不刻意渲染,而是娓娓而谈,细细道来,师生之间在一种平等、协作、和谐的气氛下,进行默默的情感交流,将对知识的渴求和探索融于简朴、真实的教学情景之中,学生在静静的思考、默默的首肯中获得知识 本视频中较为难点是关键词自动回复操作了: 关键词自动回复是微信公众号运营中的一个核心功能,移动互联网的时代,我们都希望企业展示给用户一种个性化的体验,本期八城平台微信运营教程中将详细的教给大家如何去设置关键词自动回复,让你的微信公众号变的更有个性化。如有遗漏或者不明之处欢迎留言或私信联系我们。 一、使用关键词自动回复的好处 设置关键词自动回复有什么用呢?举个例子大家就知道了。 我们拨打移动联通客服电话的都会出现:话费查询请按1,充值缴费请按2,套餐剩余数查询请安3等等。同样的,我们设置关键词自动回复就跟这一样,让关注我们的粉丝可以自己主动的了解到他想知道的关于平台功能或者信息,不要事事都通过人工解答,减少人力成本同时也让用户体验感觉瞬间升级。下面,具体给大家演示操作一下。 二、关键词回复设置使用 登陆微信公众平台,点击添加自动回复,选择【关键词回复】 注意:此处有【被添加自动回复】与【消息自动回复】  【被添加自动回复】粉丝在关注您的公众号时,会自动发送您设置的文字/语言/图片/视频给粉丝,此处建议不要太长。 【消息自动回复】设置后,会在粉丝给您发送任何微信消息时,都自动回复您设置的文字/语言/图片/视频给粉丝(可以设置成平台或企业介绍图文或者视频)。 下面具体介绍【关键词自动回复】操作应用 第一步、选择【添加规则】,设置规则名称(回复2查看怎么注册使用八城), 保存好了之后再选择添加规则,可以设置多个自动回复规则。   第二步、选择【添加关键词】,输入关键词2 第三步、设置你回复的内容,可以选择文字,图片、视频、图文,然后编辑好 第四步、此处可选择已全匹配和未全匹配,【已全匹配】的话就是粉丝只能输入2才能触发回复;【未全匹配】的话输入123包含了2的就会触发回复,输入134没有包含2的就不会触发回复。 第五步、也是最重要的一步,必须点击保存,不然功夫就白费了! 以上就是0基础微信开发入门视频教程的资料分享的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
分享我是如何看待微信小程序的
开始关注微信小程序是从去年8月份开始,当时它还没这么“火”,而且当时我个人对其的发展也并不看好。         其一:是因为微信是第三方软件,把我的用户数据和信息挂载在微信上这样真的可靠吗?有朋友认为就算不挂载在微信上,用户的个人信息也并不安全,就像买票你不可能只在12306上买一样,我仔细考虑了一下,这话也有道理,但无非是是一个主动和被动的关系,用户下载选择一个app并产生注册,登录,购买等用户行为,在这个过程中也有可能泄露用户信息,但毕竟是用户主动触发的。但如果是我开发的应用放在微信上,用户从我的应用进入,信息却被微信获取到了还是有本质的区别的。         其二:是因为微信小程序的不可复用性,大家都知道微信小程序是有专门的开发工具的,有自己独立的语法和结构,虽然大体上的语法与vue等前端框架相差不多,学习成本也并不算大,但其毕竟是完全独立的,也就是说代码是不可复用的,这样会带来一个问题,假若小程序出现一点问题,那么整个放在小程序的应用也就完全没有意义了         其三:是因为我认为其依赖性过大,把我的应用,代码,用户信息,都依赖到微信(或者说腾讯)这家公司,到底合不合适,尽管微信现在做的很好,但毕竟也只是一款产品,把我的产品依赖在另一个产品上这样到底靠不靠谱,这个问题也是需要好好想想的。         所以说,基于以上三点我一直对于微信小程序的未来并不看好,也从没想过主动学一下,我认为也不过是雷声大雨点小,昙花一现罢了。 不过就在最近,公司的一款招聘的产品打破了我的想法,就是在公司的公众号上加一个板块用作招聘,而这个产品希望用微信小程序的方式来实现。当时我基本上本能的想拒绝的,因为我觉得学这个没什么用处,不过经过一个前辈的强力推荐后,我决定还是先学学看,微信小程序到底有什么“魔法”让大家趋之若鹜。 通过学习及使用,我不得不说微信小程序的开发是简洁有力的。其之全与现在大热的社区化前端框架也并不差什么了,通过微信小程序来开发一些简小的应用还是非常快的,重要的是在微信小程序上开发,我们是不用考虑其适配的,这给广大从事手机端开发的web工程师解决了多大的麻烦!,这样想想微信小程序的“大热”也确实是无可厚非的。 最后,摒弃偏见,个人认为微信小程序还是值得一学的,即使我对其安全性依然抱有怀疑的态度,但其快速的开发流程,简单易上手的语法,吸引力也确实足够大,如果我们只是要做一个展示居多,交互较少的小型应用,个人认为也是个不错的选择。 【相关推荐】 1. 2.  3.  以上就是分享我是如何看待微信小程序的的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →