鹧鸪天(九月西湖雨入情)


 
 

九月西湖雨入情,一人饮酒廿杯明。形成秋叶怜枝瘦,影化微风惜夜清。

形伴影,叶随风,谢家庭院在西东?危楼伫望空千里,今夜无人入梦中。

 
 


BMW WARNING

  • Bulletin

本文首发于 skyline.show 欢迎访问,
文章实时更新,如果有什么错误或不严谨之处望请指出,十分感谢。
如果你觉得有用,欢迎到Github仓库点亮⭐️。

I am a bucolic migant worker but I never walk backwards.

  • Material

参考资料如下列出,部分引用可能遗漏或不可考,侵删。

  • Warrant

本文作者: Skyline(lty)

文章链接:http://www.skyline.show/鹧鸪天·九月西湖雨入情(新韵).html

授权声明: 本博客所有文章除特别声明外, 均采用 CC BY - NC - SA 3.0 协议。 转载请注明出处!

鹧鸪天(新寒)


 
 

乍起新寒风又嚎,厦间不见杜家茅。落棋柯烂朝兴替,弹指风挥花盛飘。

梦缥缈,路遥迢,随流逐浪几多豪?待心足了即名了,斜雨泥丫印土桥。
 
 


BMW WARNING

  • Bulletin

本文首发于 skyline.show 欢迎访问,
文章实时更新,如果有什么错误或不严谨之处望请指出,十分感谢。
如果你觉得有用,欢迎到Github仓库点亮⭐️。

I am a bucolic migant worker but I never walk backwards.

  • Material

参考资料如下列出,部分引用可能遗漏或不可考,侵删。

  • Warrant

本文作者: Skyline(lty)

授权声明: 本博客所有文章除特别声明外, 均采用 CC BY - NC - SA 3.0 协议。 转载请注明出处!

CC BY - NC - SA 3.0

Python中的字符串

内置函数

Name Explanation Usage Out ES Counterpart
max python取列表中最长的字符串 max([‘ale’, ‘apple’, ‘plea’], key=len, default=’’) apple
ord 获取字符的utf8编码 ord(‘A’) 65 ‘A’.charCodeAt()
chr 把编码转换为对应的字符 chr(65) ‘A’ String.fromCharCode(65)
str 转换成字符串 str(12) ‘12’

字符串实例函数

Name Explanation Usage Out ES Counterpart
count 获取字符串中某个字符的数量 ‘skyline liu’.count(‘l’) 2
isupper 是否大写 ‘A’.isupper() True
islower 是否小写 ‘a’.islower() True
split 字符串分割 ‘a b c’.split(‘ ‘) [‘a’, ‘b’, ‘c’]
upper 转换成大写
lower 转换成小写

BMW WARNING

阅读全文

ES克隆实现

浅克隆

常见浅克隆

在日常代码中,常用的对象克隆方式较多,多数直接使用的API是浅克隆。

  • Object.assign
const circle = (radius) => {
const proto = {
type: "Circle",
//code
};
return Object.assign(Object.create(proto), { radius });
};
const square = (length) => {
const proto = {
type: "Square",
//code
};
return Object.assign(Object.create(proto), { length });
};
const square = {
type: "Square",
borders: [2, 2, 2, 2],
perimeter: function() {
return this.borders.reduce((p, n) => {
return p + n
}, 0);
},
};

const rectangel = {...square}

rectangel.type = 'Rectangel'
rectangel.borders[1] = 4
rectangel.borders[3] = 4

浅克隆的问题

阅读全文

Python实现批量文件重命名

使用说明

将下面的脚本写入命名为rename.py的文件并,放到要批量修改文件名的文件夹下
使用如下命令

python3 rename.py [测试名字]
# 或直接输入
# python3 rename.py

脚本代码

# rename.py
# 导入os库
import os
import sys

# 文件存放的路径
path = r"./"
# 将命令中第二个参数作为输入,多个参数空格隔开
if len(sys.argv) >= 2:
base = sys.argv[1]
else:
# 控制台输入
base = input('Please input base name: ')

print("You inputted ", base)

# 遍历更改文件名
num = 1

for old in os.listdir(path):
if old == 'rename.py':
print('Skip script!')
else:
new = base + '_' + str(num) + os.path.splitext(old)[-1]
os.rename(os.path.join(path, old),
os.path.join(path, new))
print('Rename', old, 'to', new)
num = num + 1

print('Succeed!!!')

# 获取文件名后缀 os.path.splitext(name)[-1]

BMW WARNING

阅读全文

H5+微信移动支付配置

关键代码

本文采用 dcloud 开源的 JSBridge 库 H5+,详情查阅官方文档
H5+ API
支付插件配置地址支付插件

(框架 vue)

data () {
return {
payType: '2',
payTypes: [
{
// icon: 'http://dn-placeholder.qbox.me/110x110/FF2D55/000',
key: '1',
value: '支付宝'
},
{
// icon: 'http://dn-placeholder.qbox.me/110x110/FF2D55/000',
key: '2',
value: '微信支付'
}],
channels: []
}
},
methods: {
/**
* 获取服务
*/
getSerivces() {
let me = this;

plus.payment.getChannels(function(channels){
me.channels=channels;
},function(e){
alert("获取支付通道失败:"+e.message);
});
},

/* 支付 */
pay(){
let me = this;
SelectPayType({orderNum: this.activeOrderNum, payType: this.payType}).then(res => {
if (res.code == 101) {
let channel,
data = JSON.parse(res.data);

var payType = me.payType == '1' ? 'alipay' : 'wxpay';

me.channels.forEach(function(val) {
val.id == payType && (channel = val)
})

plus.payment.request(channel, data, function(result){
me.isShowPayTypes = false;
plus.nativeUI.alert("支付成功!订单状态将在稍后更新,请不要重复付款",function(){
back();
});
me.jump({name:'订单详情',query:{orderNum: me.activeOrderNum}})
},function(error){
plus.nativeUI.alert("支付失败:" + error.code);
});
} else {
me.$vux.toast.show({
text: res.message,
type: 'warn'
})
}
})
}
},

mounted(){
if(window.plus){
this.getSerivces()
}else{
// getSerivces()
// document.addEventListener('plusready', this.getSerivces,false)
}
}
//selectPayType是请求支付需要相关字段,需要查看相关平台接口文档,本文为微信,返回的字段如下
{
"package": "Sign=WXPay",
"appid": "wx7xxxxxx4987f28",
"sign": "51B0ADxxxxx4E480486C70BD64BF44E1D",
"partnerid": "148xxx722",
"prepayid": "wx2017xxxxxx2fc85d2cc3c0205143628",
"noncestr": "k2xxxxx3X2D1O4YCz7Hn4s",
"timestamp": "1503312709"
}

相关问题

提示 支付失败:-100 支付失败:[payment 微信:-1] 的问题

微信支付不能真机调试,只能打包安装测试,因为要 app 的真实签名。
真机调试用的是 dcloud 的调试基座 app 的 wx0411fa6a39d61297。
如果嫌打包麻烦,可以把后端返回的数据 appid 换成 wx0411fa6a39d61297
安卓平台下,首先查看微信开放平台配置的参数与提交打包的参数是否一致,主要包括(应用签名、包名)。
其中应用签名如果使用的 DCloud 公用证书则必须是“59201CF6589202CB2CDAB26752472112”。
开发信息
H5+微信移动支付配置20220623180104

配置信息
H5+微信移动支付配置20220623180222

BMW WARNING

阅读全文

H5+开发常见问题

H5+

本文采用 dcloud 开源的 JSBridge 库 H5+,详情查阅官方文档
H5+ API

plus 对象找不到

h5+ 通过暴露对象 plus 来提供相关 API。
开发时,只有移动端才会注入 plus 对象,需要依赖手机模拟器或者真机进行调试,直接网页端调试不会有该对象出现。
若 plus 对象找不到,一般来说是由于业务代码执行时,plus 对象尚未初始化完成。
通过plusready来保证初始化完成后执行业务代码
以 vue 为例,在项目入口文件中添加如下代码

Vue.prototype.$plusExtends = (fn) => {
if (window.plus) {
setTimeout(fn, 0)
} else {
document.addEventListener('plusready', fn, false)
}
}

业务组件使用

this.$plusExtends(() => {
var cmr = window.plus.xxx
})

hbuilder 打包 app 点击手机返回键直接退出到桌面

阅读全文

ES数组去重

举个栗子

var he = { name: 'he', sex: 'male' },
she = { name: 'she', sex: 'female' },
age = [18, 28],
family = [
1,
1,
'1',
'skyline',
'skyline',
he,
he,
she,
{ name: 'she', sex: 'female' },
age,
[18, 28],
]

family.length //11

正常人

使用循环

function removeRepetition1(arr) {
let ret = []

for (let i = 0, j = arr.length; i < j; i++) {
if (ret.indexOf(arr[i]) === -1) {
ret.push(arr[i])
}
}

return ret
}

function removeRepetition2(arr) {
let ret = []

arr.forEach(function (e, i, arr) {
if (arr.indexOf(e) === i) {
ret.push(e)
}
})

return ret
}
removeRepetition1(family)
removeRepetition2(family)

indexOf 比较参数与数组每一项时候,使用的是严格等于。

ES数组去重20220615145414

我有想法

阅读全文

Vue-Router相关使用

Vue 路由权限拦截

问题描述

路由跳转时,部分页面需要进行权限验证,其中最常见的就是登陆验证,如果没有权限,则会跳转到登陆页面。
本文进行在 vue-router 的基础上进行权限探讨。

权限验证代码

阅读全文


Copyright © 2017 - 2024 鹧鸪天 All Rights Reserved.

skyline 保留所有权利