- 博客(34)
- 资源 (4)
- 收藏
- 关注
原创 微信公众号 和 微信小程序 用户数据互通 通过微信开放平台的UnionID机制
很多时候,需要将多个公众号和小程序的用户数据打通,我们需要做的,就是将这些公众号和小程序都绑定到同一个微信开发平台上,那么我们就可以获取到UnionID了。其实数据就已经打通了。UnionID机制说明:如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的un...
2019-01-31 14:25:56 7024 2
原创 5 微信公众号开发 获取 access_token
在使用微信公众号接口中,需要access_token。access_token是公众号的全局唯一凭证。可以理解为我们服务器的身份证。总结以上说明,access_token需要做到以下两点:1.因为access_token有2个小时的时效性,要有一个机制保证最长2个小时重新获取一次;2.因为接口调用上限每天2000次,所以不能调用太频繁;下面是核心代码: /** * 获取全局访问...
2019-01-31 10:40:43 287
原创 4 微信公众号开发 被动回复消息 回复没有反应怎么办
接收到用户的消息,我们需要做出反馈。文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140543官方返回的数据格式是xml,我们需要转化为json。获取数据,构造xml在返回就OK了。核心代码:server.route({ method: 'POST', path: '/wx', optio...
2019-01-30 21:26:16 2396
原创 3 微信公众号开发 接受普通消息
用户如果在公众号发送内容,微信服务器会把消息转发到我们到服务器上,我们需要及时做出处理,给用户反馈。文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453例如,在微信公众号发送消息曹天骄。后台会接受到xml形式的数据,如下:<xml><ToUserName><![C...
2019-01-30 20:17:39 203
原创 2 微信公众号开发 服务器配置 Token验证
服务器配置的主要难点就是Token验证。官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432接入指南:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319用户服务器端主要需要做的工作,就是返回echostr...
2019-01-30 19:38:51 430
原创 1 微信公众号开发 服务器配置 有什么用
启用并设置服务器配置后,用户发给公众号的消息以及开发者需要的事件推送,将被微信转发到该URL中。换句话说,开发者需要监听这个URL,处理数据,并做出反应。...
2019-01-30 16:52:32 4507 2
原创 lodash 常用的方法总结(持续更新)
lodash的引入var _ = require('lodash');castArray_.castArray将一个值铸造为数组如果它不是数组类型。_.castArray(1);// => [1]_.castArray({ 'a': 1 });// => [{ 'a': 1 }] _.castArray('abc');// => ['abc'] _...
2019-01-30 10:29:32 842
原创 hapi 插件注册 核心代码
准备给自己的hapi框架加上微信开发库这样的插件,需要弄懂hapi如何注册插件、如何给插件传递参数。1、定义插件const Pkg = require('../package.json')async function register(server, pluginOptions) { console.log('这是一个插件'); console.log('这是插件参数'); co...
2019-01-30 10:10:00 419
原创 typescript 接口 interface 的理解
在学习typescript的时候,经常发现别人写了好多接口(interface),那问题来了,我们自己写代码,应该在什么情况下写接口才比较合适呢。于是我就找了找资料,整理一下。接口运行时的影响为 0。TypeScript 接口中有很多方式来声明变量的结构。以下两个是等效声明, 第一个使用内联注解,第二个使用接口:// Sample Adeclare const myPoint: { x: ...
2019-01-29 09:21:06 2804
原创 node 遍历读取制定后缀文件名
我的需求就是读取指定文件夹中,后缀为.js的文件。有两种方法解决。1、不依赖插件:import * as fs from 'fs';import * as Path from 'path';const files = fs.readdirSync(__dirname).filter(function (file) { return Path.extname(file).toLowerC...
2019-01-28 20:57:02 2696 1
原创 typescript mongodb 教程搜集
https://tutorialedge.net/typescript/typescript-mongodb-beginners-tutorial/
2019-01-28 18:46:28 1009
原创 process.cwd __dirname __filename 区别
process.cwd() 就是说process.cwd()返回的是当前Node.js进程执行时的工作目录。__dirname: 当前模块的目录名。 等同于 __filename 的 path.dirname()。__dirname 实际上不是一个全局变量,而是每个模块内部的。__filename 获得当前执行文件的带有完整绝对路径的文件名。...
2019-01-28 14:56:29 246
原创 hapi和typescript构建项目(正在更新中)
1、初始化项目初始化yarn init生成配置文件tsconfig.jsontsc --init 注意:将outDir设置为"outDir": "dist"全部编译配置文档地址:https://www.w3cschool.cn/typescript/typescript-compiler-options.html安装工具concurrentlyyarn add co...
2019-01-28 13:58:30 483
原创 微信小程序 客服功能 客服消息
很多应用场景,需要小程序的客服功能,只需要按照官方配置设置好,就OK。官网文档参考地址:https://developers.weixin.qq.com/miniprogram/dev/component/button.htmlhttps://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/customer-me...
2019-01-25 10:14:20 1148
原创 mpvue 小程序下拉刷新 三个点那种
在mpvue中,onPullDownRefresh直接能用 onPullDownRefresh() { wx.showNavigationBarLoading() console.log('pull') wx.stopPullDownRefresh()}
2019-01-24 16:06:13 794
原创 小程序 mpvue input 文本控制
我的需求是输入金额,当金额过大时,可以将input中的金额调小,即不允许客户随便输入。直接上代码了 <input @input="moneyControl" placeholder="请填写提现金额" />moneyControl(e) { const value = e.mp.detail.value const pos = e.mp.detail.cursor ...
2019-01-22 14:19:51 2280
原创 mac 查看指定端口情况 并杀死该进程
本来自己的8081端口很好用的,但是突然访问不了了。估计测试的时候有其他进程占用了端口。下面我需要查杀他。1、查看端口情况lsof -i tcp:8081COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnode 26519 caowei 31u IPv4 0x57e8fea86319a...
2019-01-22 13:39:28 774
原创 pm2 可视化在线监控平台 介绍 keymetrics
使用node的同学进行项目部署时,基本上都是用pm2进行部署。我使用keymetrics进行实时监控1、进行登录地址:https://app.keymetrics.io/#/register2、获取系统分配public key和secret key3、在安装有pm2的服务器端输入以下命令pm2 interact your-secret-key your-public-key这样就好...
2019-01-19 16:53:34 5604
原创 小程序 报错 err code: 40029, errmsg: 'invalid code, hints: [ req_id: JhIay6yFe-XN5A3 ]'
发布小程序体验版的时候,直接修改原来的demo版的代码。需要将后台的appID、appSecret换成最新的,就可以解决。
2019-01-18 15:52:44 2544
原创 lodash 根据某个字段排序处理
使用lodash库就行const _ = require('lodash');const users = [ { 'user': 'fred', 'age': 48 }, { 'user': 'barney', 'age': 34 }, { 'user': 'fred', 'age': 42 }, { 'user': 'barney', 'age': 36 }];...
2019-01-16 19:35:24 7712
原创 mongoose findOneAndUpdate 查找更新后的数据{ new: true }
需要增加一个配置项 { new: true },则可以查找后面的内容。const updOne = await Verify.findOneAndUpdate({ _id: verify_id }, { $set: { // 认证通过,状态设置为1 state: 1, // 审核操作人 verify_user: user_id, verify_at: ...
2019-01-15 11:06:52 7968
原创 mpvue 微信小程序 Image 图片实现宽度100%,高度自适应
主要是设置mode="widthFix"和width: 100%;<!-- 新手教程 --><template> <div class="center-tutorial"> <img class="img" src="https://123.oss-cn-hangzhou.aliyuncs.com/666.jpeg"
2019-01-14 11:02:11 2746 1
原创 mongoose $sum
_id:...Segment:[ { field: "S1", value: 1 }, { field: "S2", value: 5 }, { field: "Sn", value: 10 },]查询方式db.collection.aggregate( [ { $unwind: "$Segment" }, { $group: { ...
2019-01-12 19:49:22 1224
原创 小程序 上拉刷新 下拉加载 代码备忘
使用wux-refresher扩展实现上拉刷新,下拉加载,再配合上小程序原生的scroll-view感觉很完美了。核心代码如下: <div class="m-active-list"> <wux-refresher id="wux-refresher" @loadmore="more" @refresh="refresh"> <scrol
2019-01-12 15:50:35 726
原创 mock 生成在线图片
1、需要用到库mockjsyarn add mockjs2、引入const Random = require('mockjs').Random;3、生成一张图片Random.image('200x100');返回结果是url格式:http://dummyimage.com/200x1004、主要的配置参数Random.image( size?, background?, fo...
2019-01-12 09:47:39 10448
原创 汽车列表 车型选择 源码备忘
因为版权问题,选汽车的时候不能显示汽车自己真实的图片,下面我需要改成列表形式,下面记录一下代码1、实现效果2、源码<div class="car-brand-list"> <div v-for="(brand,index) in brandList" :key="index"> <div class="brand-title">
2019-01-11 14:33:12 589
转载 如何设计一个高并发系统
如何设计一个高并发系统?如果你确实有真才实学,在互联网公司里,干过高并发系统,那你拿Offer,基本如探囊取物一样简单。但你要真干过高并发系统,面试官绝对不会问这个问题,否则他就不太明智了。因为真正干过高并发的人一定知道,脱离了业务的系统架构,都是纸上谈兵。真正在复杂业务场景、而且还高并发的时候,这个系统架构一定很难搞。要理解高并发,就得从高并发的根源出发——为什么会有高并发?为什么高并...
2019-01-10 13:42:02 1538
原创 mongoose 数据库设计千万要注意 Cast to [number] failed for value
不要定义字段type balance_flow: [{ // 提现金额 money: { type: Number }, // 资金类型 0=>提现 withdraw 1=>资金流入 user_active type: Number }],这样会报错...
2019-01-10 13:40:45 2201
原创 wux-button 样式扩展 增加shape属性
1、原来的写法和界面图如下 <wux-button block type="orange">拍照确认</wux-button>2、现在的写法只需要增加一个shape="round"参数,可以实现按钮边框为半圆 <wux-button block type="orange" shape="round">拍照确认</wux-
2019-01-06 13:28:18 1224
原创 lab 常用配置参数 代码片段
1、--leaks 启用内存泄漏检测,并在检测到时向您发出警告2、代码片段experiment('getting started with hapi testing,', () => { // 这种写法会跳过测试 test('lab considers this test as TOOD and skips it') // 这种写法不会跳过测试 test('always ...
2019-01-05 14:16:45 399
原创 hapi 使用 lab 和 code 进行测试
测试库有很多,我选了lab。1、安装lab和codeyarn add lab code2、创建test文件夹test文件夹里面的js文件会被跑测试。比如创建index.js。const { expect } = require('code');const Lab = require('lab');const lab = exports.lab = Lab.script();la...
2019-01-05 11:55:08 417
原创 小程序设置页面背景颜色
首先,我使用的是mpvue开发。样式使用的less,并且全局会定义一套主题。@primary-color : #ff8730;@second-color : #F48B4A;@background-color :#F3F3F3;@second-text-color :#787878;.flex-center-row { displ...
2019-01-03 21:12:31 5289
原创 node 测试生成模拟用户数据
使用到npm库mockjs,虽然这是一个截止目前两年都不更新的库,但是功能还是可以的。安装yarn add mockjs使用const mock = require('mockjs').mock;const nickname = mock('@cname');console.log(nickname);官方说明文档 http://mockjs.com/examples.html#...
2019-01-01 15:03:54 339
instantclient_12_2.zip
2019-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人