1. 在小程序的.js 文件中增加代码 //加载页面时到后台服务去获取openID onLoad: function (options) { //OpenId wx.login({ //获取code success: (res) => { wx.request({ method: "GET", url: 'https://(自己的域名部分)/api/pc/GetOpenID', //仅为示例,并非真实的接口地址 data: { scode: res.code // 使用wx.lo…
问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本 API和组件 - -   - -     背景 小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.getUserInfo 接口.我们发现几乎所有的小程序都会调用这个接口.虽然我们在设计文档上有提出最好的设计是在真正要用户信息的情况下才去获取用户信息,不过很多开发者并没有按照我们的期望去做,导致用户在使用的时候有很多困扰. 归结起来有几点: 开发者在首页直接调用 wx.getUserInfo 进行授…
1.首先要有一个按钮 <view name="authorizemodal"> <view class="drawer_screen" wx:if="{{isauthorizeModal}}"> <view class="drawer_box fishqccenter phonechoosebox"> <view> <image style="width:90%;…
1.小程序js端调用框架登陆API,获取到一个临时code,拿着这个code去调用自己的服务端接口 2.在自己的服务器端,使用app_id app_secrect code可以获取到用户的openid,这个id是用户唯一的id并且不会改变,可以把这个id返回给小程序端小程序端本地保存openid 3.获取用户信息很简单,并且不需要自己的服务器处理,只需要小程序端提供的API.前端页面wxml使用一个按钮,按钮里增加几个属性,就可以回调到小程序js部分的方法上,并且带着用户的个人信息,如昵称 头像…
参考官方文档https://opendocs.alipay.com/mini/introduce/pay 支付宝小程序的支付和微信小程序的支付一样第一步都是要获取到用户的唯一标识,在微信中我们获取到的是wxopenid,而支付宝中获取到的是userid. 1 使用的alipay-sdk包 2 <dependency> 3 <groupId>com.alipay.sdk</groupId> 4 <artifactId>alipay-sdk-java</a…
后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如既往的乱,如果没有对小程序开发文档有一个整体的了解,搞懂解密流程还是有点难的.这里把小程序从请求用户授权获取手机号码直至获取到手机号码明文的整个流程串了起来,方便迅速了解,如下: 一. 前端相关操作: 1. 请求用户授权获取手机号码: 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 AP…
后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如既往的乱,如果没有对小程序开发文档有一个整体的了解,搞懂解密流程还是有点难的.这里把小程序从请求用户授权获取手机号码直至获取到手机号码明文的整个流程串了起来,方便迅速了解,如下: 一. 前端相关操作: 1. 请求用户授权获取手机号码: 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 AP…
一 .登录 时序图如下: wx.login() 获取js_code 示例代码: App({   onLaunch: function() {     wx.login({       success: function(res) {         if (res.code) {           //TODO         } else {           console.log('获取用户登录态失败!' + res.errMsg)         }       }     });…
using AIOWeb.Models; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; namespace AIOWeb { /// <summary> /// wxapi 的…
用户调用wx.login()方法,获取登录用户凭证code wx.login({ success: function(res) { console.log('loginCode', res.code) } }); code传给后台,凭证code获取session_key和openid https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=aut…
在微信开发项目中,获取openid是项目常遇的问题,本文通过主要讲解实现在微信小程序中如何获取用户的openid,案例实现非常简单 具体实现方法是通过登录接口获取登录凭证,然后通过request请求微信的公共API,将凭证转换得到我们需要的openid,需要用到的微信API有以下: 1.wx.login    调用接口获取登录凭证2.wx.request 发起的是 HTTPS 请求 3.通过https://api.weixin.qq.com/sns/jscode2session?appid=ap…
微信小程序 onShow() 事件 onShow() 事件不接受参数,因此无法获取页面 url 传递过来的参数,只有 onLoad() 事件可以. onShow(options){ console.log(options) //打印值为 undefined } onLoad(options){ console.log(options) //正常打印出 options 值 } 解决方法--通过小程序页面栈获取 思路: 1.获取当前小程序的页面栈-数组 长度最大是10个页面. 2.数组中索引最大的页…
在这里给大家分享下我的心得,1.写代码前一定要对整个流程有个了解.我就是因为在先不了解整个过程中去ctrl+c+v他人的博客代码,花费很多无用的时间去处理还不知道能不能跑的起来的代码. 2.本人比较喜欢手画图理解,本人亲测,印象很深刻. 在此声明因为是后端所以前端的代码就不写在上面了,有疑问留言,能帮我会帮. 谢谢这个博主:(解密+post大家可以看这个博主的代码)https://blog.csdn.net/guochanof/article/details/80189935 微信服务端api:…
小程序页面跳转传参 根目录下的 app.json 文件 页面文件的路径.窗口表现.设置网络超时时间.设置多 tab { "pages": [ "pages/index/index", "pages/logs/index" ], "window": { "navigationBarTitleText": "Demo" }, "tabBar": { "list&…
小程序页面传值的方式: 1.正向传值:上一页面 -->  下一页面 url传值 本地储存 全局的app对象 2.反向传值:下一页面 -->  上一页面 本地储存 全局的app对象 先说一下正向传值: 1.url传值: 通过url传值的需要通过option来获取参数值. 更多详情可以访问小程序-navigateTo章节. A页面: wx.navigateTo({ url: 'test?id=1' }) B页面: Page({ data:{ id:'', }, onLoad: function(o…
微信小程序的formid获取 formId的触发 微信小程序可以通过收集用户的formid,获取formid给用户主动推送微信消息.获取formid有两个途径,一个是触发一次表单提交,或者触发一次支付行为.如果要给用户主动推送模板消息,就需要拿到足够多的formid. 用表单的方法一定需要绑定bindsubmit,button的form-type设置为submit,在js代码中可以通过e.detail.formId 获取formId. 实例: <form bindsubmit="submi…
在微信小程序页面间传递数据 原文链接:https://www.jianshu.com/p/dae1bac5fc75 在开发微信小程序过程之中,遇到这么一些需要在微信小程序页面之间进行数据的传递的情况,也遇到了开发过程微信小程序限制情况,特此做个总结. 全局变量之中传递参数数据 在微信小程序的开发过程之中,需要从A页面跳转到B页面,并且把A页面的数据传递到B页面使用.可以使用全局变量使用的方法,微信小程序官方提供app.js全局变量定义文件,里面可以定义需要在全局需要使用的变量与及变量值,例如用户…
微信现已开放小程序内搜索,你的小程序页面将可能展示在微信搜索等多个公开场景中.当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引. 若小程序中存在不适合展示信息如用户个人信息.商业秘密.成人相关等内容,不想被微信索引到.可以通过以下方式关闭页面收录. 有三种方式可以关掉页面收录 1.小程序 sitemap.json 配置 2.管理后台 “页面收录设置” 来配置其小程序页面是否允许微信索引 3.小程序页面采取设置登录态 小程序 sitemap.json 配置 小程序根目录下的…
一个开始 小程序开发者总会碰到各种页面之间的通信问题,实现方式也五花八门,比如... 场景还原 首先这是一个电商小程序. 有这样一个需求: 首页某个地方要展示购物车商品数量. 当我在其他页面加购了商品,首页数量刷新. 实现方式 方式一:onShow直接请求接口 Page({ onShow() { // ...一些逻辑 // 后端请求新的购物车数量 this.requestCartNum(); } }) 不足: 每次onShow都要请求接口,浪费资源. 方式二:globalData存储购物车数量,…
小程序页面跳转 微信小程序的页面跳转依然是以传统的请求转发和请求重定向为主,tabbar的存在,有TAB页面的跳转. 为了微信小程序的简介方便,规定页面路径只能是十层,应尽量避免过多的交互方式. 1.wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. wx.navigateTo({ url: 'test?id=1' }) url即目标页面,保证是非tabbar的页面的路径.路径后可以带参数,参数和路径之间用?=连…
我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuery() 这个api接口,以前的某些问题就能得到解决了... 那么,这个api接口怎么用呢? 首先,这个接口会返回一个对象实例. var obj=wx.createSelectorQuery(); 下面的就是返回的对象实例 obj 的所有内容. 返回的 obj 有五个方法: 1.  obj.in(component):没用过这个方法,多用于组件的选择器. 2.   obj.select…
微信小程序页面间通的5种方式 PageModel(页面模型)对小程序而言是很重要的一个概念,从app.json中也可以看到,小程序就是由一个个页面组成的. 如上图,这是一个常见结构的小程序:首页是一个双Tab框架PageA和PageB,子页面pageB, PageC. 让我们假设这样一个场景:首页PageA有一个飘数,当我们从PageA新开PageC后,做一些操作,再回退到PageA的时候,这个飘数要刷新.很显然,这需要在PageC中做操作时,能通知到PageA,以便PageA做相应的联动变化.…
微信小程序页面跳转目前有以下方法(不全面的欢迎补充): 1. 利用小程序提供的 API 跳转: // 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面.// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,但是 redirectTo wx.navigateTo({ url: 'page/home/home?user_id=111' }) // 关闭当前页面,返回上一页面或多级页面.可通过 getCurrentPages() 获取当前…
-- 时常在想,怎么样才能把知识写的清晰,其实是我理解的不够清晰 微信小程序其实是一个客户端页面,也是需要和服务器交互才能体现数据. 1 --服务器搭建Web API :MVC4 中的一个模板, 如下是Query API  的一个Get 方式,只是为了了解 JsonConvert.SerializeObject(_dt.ToList());   值如何返回到界面 #region --- 查询绑定信息 --- [HttpGet] public string GetQuery(string strE…
配置.请参看上篇文章.这里直接上代码 PHP 代码: //获取微信运动数据: public function test(){ $code = input("code"); $signature = input("signature"); //数据签名 $rawDate = $_GET['rawData']; //记住不应该用TP中的input方法,会过滤掉必要的数据 $encryptedData = $_GET['encryptedData']; //微信运动数据…
index.php <?php include_once "wxBizDataCrypt.php"; // $appid 由小程序微信官方后台获取 $appid = 'wx4f4bc4dec97d474b'; // $sessionKey 值可通过 https://api.weixin.qq.com/sns/jscode2session?appid=... 中的 session_key 获取 $sessionKey = 'tiihtNczf5v6AKRyjwEUhQ=='; //…
 上次接手一个项目需要整合公众号.小程序以及APP的用户,查阅了微信文档以及一些作者的文章,中间踩了不少坑,在此记录一下解决的流程. 要点  实现统一信息的有以下几点:  1. 在微信开放平台绑定需要统一信息的应用:  2. 公众号采用以snsapi_userinfo为scope发起的网页授权,小程序使用wx.getUserInfo(Object object)授权,什么时候授权后面会解释:  3. 数据库保存unionid. 具体实现  解释下上面的第二点为什么一定要采用scope=snsap…
上一章注册完小程序,添加新建的项目,大致的准备开发已经完成,本章要分享的是 要创建一个简单的页面了,创建小程序页面的具体几个步骤: 1. 在pages 中添加一个目录 选中page,右击鼠标,从硬盘打开,打开硬盘文件之后,新建一个文件夹test(或者点击+号,逐个添加目录,添加目录下面所需要的文件) 或者这样添加 2. 新建一个wxml 文件 在test文件夹底下新建一个wxml空文件 3. 编辑test.wxml 文件 为了方便测试 我们随便 填写点内容进去 <view class="c…
微信小程序页面调用自定义组件内的事件 page page.json { "usingComponents": { "my-component": "../components/component/component", } } page.wxml <my-component id="myComponent"></my-component> page.js Page({ //... onLoad: fun…
前边介绍过通过配置支付宝Scheme协议alipays://来实现h5到小程序的跳转,其实还可以获取小程序页面的https格式链接,虽然支付宝官方并没有直接提供方案,但是通过小程序后台的“码管理”给页面生成二维码来曲线获取. 码管理: 支付宝小程序的码管理,可以通过配置来生成指定页面(可以带参数)的二维码,扫描之后就能直接调起支付宝并打开指定的小程序页面. 手机支付宝扫描二维码可以看到,会先出现一个空白的过渡页面(访问h5页面那种),然后再打开小程序,那么就是这中间应该是有一个alipays:/…