微信小程序搭配小白接口,自己没有服务器也能开发哦

这里将重点介绍,在自己没有服务器的情况下,如何在微信小程序里直接调用小白接口。

前提

假设你已经开通微信小程序,如果还没有,可前往微信公众平台开通:https://mp.weixin.qq.com

假设你已经开通小白接口,如果还没有,可到 https://www.okayapi.com/?f=mwx 免费注册开通

示例源代码下载

本示例源代码可到码云上下载,点击下载:https://gitee.com/dogstar/okayapi-demo。

最终运行效果:

关键配置


微信公众平台 - 修改request合法域名

首先,登录微信公众号平台,进入:设置 - 开发设置 - 服务器域名,修改request合法域名,修改为你当前所在的小白接口域名。小白接口已支持HTTPS访问。如下:


如果不清楚自己所在的域名,可登录小白后台,进入:系统设置 - 我的套餐,查看接口域名。如:


注意!并不是全部的所在域名都是https://api.okayapi.com,只有在这设置后,才能允许在小程序中请求接口。

微信开发工具 - 修改app.js里的globalData

然后,下载本接入示例的代码,使用微信开发者工具(点击下载)打开,并修改app.js里的globalData配置。如下:

关于APP_KEY和APP_SECRECT,可以在前面我的套餐里找到。

配置完成后,我们就可以开始在小程序里进行功能开发啦。下面来看,如何编写代码请求小白接口。


如果你第一次接触小程序开发,可以参考下面说明。先打开微信开发者工具

用微信扫码登录,然后创建一个新项目,再把刚才下载的源代码全部覆盖过去即可。


编写小程序代码

先在你的utils目录内文件里添加okayapi.js和md5.js这两个文件。然后在你的index.js文件内,先引入okayapi.js,即:

//index.js
let okayapi = require('../../utils/okayapi.js')

通过wx.request请求小白接口

然后,使用微信提供的wx.request对小白接口发起请求。需要注意的是,传递的参数须经过okayapi.enryptData()进行加密,在返回的结果中的wxRes.data才是小白接口的返回结果。

  /** * 小白接口请求示例 */okayApiHelloWorld: function(e) {/** * 准备接口参数 */let params = {s: "Hello.World",         // 必须,待请求的接口服务名称name: "dogstar"         // 可选,根据接口文档,补充更多接口参数};let _self = this/** * 对小白接口发起请求 */wx.request({url: app.globalData.okayapiHost,data: okayapi.enryptData(params),success: function (wxRes) {// TODO:实现你的梦想……let res = wxRes.dataif (res.data && res.data.err_code == 0) {// TODO:请求成功console.log('ok: ', res.data)_self.setData({motto: res.data.title})} else {// TODO:当前操作失败console.log('fail: ', res)_self.setData({motto: res.data.err_msg})}}}) }

调用成功的情况下,会看到类似这样的调试信息:

更高级&安全的方案:如果有自己的服务器,使用PHP代理请求小白接口

以上是针对自己没有服务器下,微信小程序直连小白接口的接入指南。如果自己有服务器,并且不能修改现在微信小程序上的request合法域名时,则可以使用上面介绍的PHP代理。PHP代理的使用更简单,只需要将PHP代理文件上传到你的服务器上,然后在微信小程序请求接口时,链接改为刚才PHP代理的链接即可。这种使用场景,更为简便,不需要修改request合法域名,也不需要修改app.js里的globalData配置,也不需要在wx.request进行okayapi.enryptData()加密。因为这些都全部移到了PHP代理内实现,因此也更为安全。

即调用链如下:

// 自己没有服务器(通过wx.request直接请求小白接口)
微信小程序 -> 小白接口// 自已有服务器(通过PHP代理中转请求小白接口)
微信小程序 -> 自己服务器的PHP代理 -> 小白接口

对于自己有服务器的情况,推荐使用PHP代理;如果没有自己的服务器也不要紧,可参考上面的接入指南。


小白接口有哪些功能?

简单说一下,小白接口为小程序开发提供了较多接口,免费,可以直接调用。你可以把一些数据通过接口存到你的云端数据库(可以自己建表、加表字段,也可以使用自己的数据库,或默认的云端数据库)。例如这样:


使用小白接口进行数据的处理很简单,例如需要获取某个id的数据,

请求的接口,以及返回的数据示例格式如下(其他的接口使用示例,基本上需要的数据接口都有提供哦):

http://api.okayapi.com/?s=App.Table.Get&model_name=git_project&id=6
{"ret": "200","data": {"err_code": "0","err_msg": "","data": {"id": 6, // 数据ID(系统保留字段,固定返回)"uuid": "", // 用户ID(系统保留字段,固定返回)"add_time": "2017-11-12 09:38:45", // 添加时间(系统保留字段,固定返回)"update_time": "", // 最后更新时间,没有时返回空字段串(系统保留字段,固定返回)"ext_data": "", // JSON格式的扩展字段,没有时返回空字段串(系统保留字段,固定返回)"git_name": "","git_url": "","git_author": "dogstar"}},"msg": ""
}


还有现成的会员模块,可以直接登录、注册、修改密码、进行账号联登等,也可以看到注册的用户,如:

还有更赞的功能,也可以接入微信平台的小程序接口哦,只需要在这配置一下,


就可以调用 微信小程序获取微信基本信息 接口,获取微信信息啦~~~~


此外,小白接口还有很多其他常用、配套的接口,例如:验证码接口、生成二维码接口等,下面是一些展示示例:


这些在小白接口的官网(https://www.okayapi.com/)上都有介绍哦,还有视频教程。基本上,搭配小程序,可以开发很多自己的快应用啦~~~



在小白接口上,你可以存放很多自己的数据,与微信小程序搭配起来开发,你就能开发任何应用啦~~ ^_^



更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么将自己做好的网站发布到互联网上呢?

如何将自己的网站上传到网站空间。 1.需要有一个上传网站的软件,在这里推荐大家使用 FTP全称是flashfxp这个软件,这个功能功能齐全而且操作简单。大家可以先去下载一下这个软 件 2. 打开FTP,界面如下 3.我们要点击链接按钮,然后FT…

[贝聊科技]网页端「应用跳转」技术实现演变

本文作者:Mr.Luo ,贝聊前端经理。本文同时发布于作者 个人博客 。 由于网页传播的便捷性,从网页向APP导流几乎是所有APP厂商都会采用的推广手段,具体来说就是在网页上提供一些触发点(例如按钮、链接)&#…

Linux服务器配置---安装vsftpd

安装vsftpd 大多数Linux系统都使用vsftpd,因此这里我们也安装vsftpd 1、安装vsftpd [rootlocalhost phpMyAdmin]# yum install -y vsftpd Loaded plugins: fastestmirror, refresh-packagekit, security Installed: vsftpd.i686 0:2.2.2-11.el6_4.1 …

mysql怎么制作柱状图_从数据库中取出最近三十天的数据并生成柱状图

在终端用cd 命令进入文件目录说明:此处例子我是拿项目中的一个例子讲解的。1、新建一个项目 :用终端输入:zf create project Airline 格式:zf create action project project-name 备注:这些格式可以在终端输入zf 查看…

关于ES6的Promise

JavaScript的异步处理 提到JavaScript的异步处理,也许很多人和我一样想到利用回调函数。 例如: firstAsync(function(data){//处理得到的 data 数据//....secondAsync(function(data2){//处理得到的 data2 数据//....thirdAsync(function(data3){//处…

[转]我是如何走进黑客世界的?

*本文原创作者:MyselfExplorer;翻译编辑:楼兰,本文属FreeBuf原创奖励计划,未经许可禁止转载 我想给你一把打开这扇门的钥匙,而你要做的便是静静的聆听接下来的故事。挖掘 0day 一般需要掌握fuzzing&#xf…

Socket.io 深入理解

最近在做项目优化工作时,用到了Socket.io , Socket.io 文档比较少, 结合官网介绍以及自己在项目开发中的摸索,总结如下内容; Socket.io将Websocket和轮询 (Polling)机制以及其它的实时通信方式封装成了通用…

python填表_小Python填表得到d

我正在尝试使用Scrapy从网站自动下载数据。在我要做的是:使用我的凭据登录网站通过在“RIC”行中写入代码并选择感兴趣的时段来选择我想要的数据单击“获取数据”后,将生成.csv文件,我可以从“下载/”url下载该文件,其中我的所有文…

我理解中的“大前端”/“大无线”

本文内容较长,大概需要15分钟时间阅读。 内容包含五部分:前言,NodeJS职能变化,ReactNative的大规模应用,专门的架构组职能,总结。主要是介绍我所在团队最近的一些变化和思考。 更多信息可以加入我的小密圈关…

Dirichlet分布

1.预备知识 Beta分布函数是一种定义在实数区间[0,1]的特殊函数,它是二项式分布的共轭分布;与Beta分布相同,Dirichlet分布也是定义在实数区间[0,1]的概率度量函数,Dirichlet分布是多项式分布的共轭分布,Dirichlet分布的…

布局定位

布局与定位 摆放元素 1,使用流 流实际上就是浏览器在页面上摆放HTML元素所用的方法。浏览器从HTML文件最上面开始,从上到下沿着元素流逐个显示所遇到的各个元素。 每个块元素会按它在HTML标记中出现的顺序放置在页面上。每个新的块元素会带来一个换行。并…

python语言精通_Python语言基础从入门到精通

1、python关键字False await else import passNone break except in raiseTrue class finally is returnand continue for lambda tryas def from nonlocal whileassert del global not withasync elif if or yield2、命令行参数williamdeMBP-2:~ william$ python -c "imp…

FreeNAS:创建 CIFS 共享(权限)

第一部分:新建账户与指定数据集权限 简单起见,本教程主要介绍带基本身份验证的 CIFS 共享,即只有输入正确的用户名和密码才可以访问共享目录。关于创建匿名共享、多用户权限管理以及域控制器相关内容,我们会另外发布教程专门介绍。…

oracle日记账单据编号未生成_商管财务数据平台Oracle与共享未付池差异如何核对、解决?...

‍‍近期,总部新上线财务数据平台啦!各个系统间的差异异常数据清晰可见,随时可查,今天就和小伙伴们一起分享一下Oracle与共享未付池差异如何核对、解决。首先,将Oracle与共享未付池差异数据导出。由于导出的数据包括本…

android paint 圆角 绘制_[BOT] 一种android中实现“圆角矩形”的方法

内容简介文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角。思路是利用“Xfermode Path”来进行Bitmap的裁剪。背景圆角矩形实现的方法应该很多,网上一大堆。很怀疑为啥安卓的控件不内置这样的属…

Cisco TrustSec(理解)

1、Cisco TrustSec的限制当指定了无效的设备ID时,受保护的访问凭据(Protected access credential,PAC)设置将失败并保持挂起状态。 即使在清除PAC并配置正确的设备ID和密码后,PAC仍然会失败。作为解决方法,…

Java 8仍然需要LINQ吗? 还是比LINQ更好?

长期以来, LINQ是.NET软件工程生态系统中发生的最好的事情之一。 通过在Visual Studio 2008中引入lambda表达式和monads ,它使C#语言比Java(当时的版本6)更先进,并且仍在讨论泛型类型擦除的优缺点。 这项成…

web前端(12)—— 页面布局2

本篇博文,主要就讲定位的问题,也就是页面布局里最重要的,本篇博文不出意外的话,也是css的最后一篇博文了 定位,position属性 定位有三种: 相对定位绝对定位固定定位 相对定位,position&#x…

python pyplot中axis_Python Pyplot xaxis未显示在图形上

pyplot未在图形上显示x轴:import pandas as pdimport matplotlib.pyplot as pltdf pd.read_csv(sitka_weather_2014.csv)df[AKST] pd.to_datetime(df.AKST)df[Dates] df[AKST].dt.strftime(%b %d, %Y)df.set_index("Dates", inplace True)# Plot Dataf…

web前端入门学习(纯干货)

web前端怎么样才能入门,首先我们要从什么是初级web前端工程师说起: 按照我的想法,我把前端工程师分为了入门、初级、中级、高级这四个级别, 入门级别指的是了解什么是前端(前端到底是什么其实很多人还是不清楚的&…