Vue数据双向绑定原理
Vue监听数据变化原理
话不多说上代码
123456789101112131415161718192021222324252627282930313233 let data = {name: 'tyy'};observe(data);/*** 遍历源数据* @param obj*/function observe(obj) {if (!obj || typeof obj !== 'object') return;for (let key in obj) {defineReactive(obj, key, obj[key]);}}/*** 监听数据* @param obj* @param key* @param val*/function defineReactive(obj, key, val) {// 监听对象的子对象的数据变化observe(val);Object.defineProperty(obj, key, {get: () => {return val;},set: (newValue) => {val = newValue;console.log('i am change')},writeable: true, // 是否可写enumerable: true, // 是否可枚举configurable: false // 是否递归}
NodeJS入坑集锦
准备工作
需要参数:
token: test, // 微信配置中的token
appId: wx7e46b** // 微信开放平台配置里的appid
appSecret: f47171232cfc69*11e88a3 // 微信开放平台配置里的appsecret
machId: 1449239* // 微信商户平台的商户ID
machSecret: 1ZAqhmo5LzbhdwAU4* // 微信商户平台的api秘钥
notifyUrl: https://example.com // 支付成功回调接口路径
开发步骤
商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见统一下单API。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。api参见本章节app端开发步骤说明
步骤5:商户后台接收支付通知。api参见支付结果通知API
步骤6:商户后台查询支付结果。,api参见查询订单API
微信公众号支付
微信公众号支付业务流程图
1.调用微信统一下单
统一下单接口URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder
2.二次签名
调用微信统一下单接口请求成功返回如下:
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
|
|
More info: Writing
Run server
|
|
More info: Server
Generate static files
|
|
More info: Generating
Deploy to remote sites
|
|
More info: Deployment