• 当前频道:程序开发

程序开发 Python的switch替换方案、列表推导式、字典推导式

switch替换方案 day = 8 def get_sunday(): return 'Sunday' def get_monday(): return 'Monday' def get_tuesday(): return 'Tuesday' def get_default(): return 'Unkown' switcher = { 0: get_sunday, 1: get_monday, 2: get_tuesday } day_name = switcher.get(day, get_default)() print(day_name) 列表推导式 # 列表推导式 # 集合推导式 # set 也可以被推导 # dict a = [1,2,3,4,5,6,7,8] aa = {1,2,3,4,5,6,7,8} aaa = (1,2,3,4,5,6,7,8) b = [i**2 for i in a] c = [i**2 for i in a if i >= 5] print(b) print(c) bb = {i**2 for i in aa} bbb = [i**2 for i in aaa] print(bb) print(bbb) 字典推导式 students = { '张三': 18, '李四': 22, '王五': 16 } b = [key for key,value in students.items()] bb = {value:key for key,value in students.items()} print(b) # ['张三', '李四', '王五'] print(bb) # {18: '张三', 22: '李四', 16: '王五'} # 不推荐元组 c = (key for key,value in students.items()) for x in c: print(x)

2020-02-19 23:37:28 50 0 1
阅读详情

程序开发 Vue History模式下微信支付授权目录的填写,处理URL未注册

调起微信sdk支付时弹出url未注册问题, 微信开发者平台配置url: 访问url:http://www.baidu.com/pay/ment 支付授权目录:http://www.baidu.com/pay/ 访问url:http://www.baidu.com/pay 支付授权目录:http://www.baidu.com/ 访问url:http://www.baidu.com/pay/ment?id=123 支付授权目录:http://www.baidu.com/pay/ 文章来自:vue history模式下的微信支付,及微信支付授权目录的填写,处理URL未注册

2020-01-13 22:50:05 89 0 0
阅读详情

程序开发 封装vue微信公众号分享方法,兼容iOS

上篇文章说到 vue的jssdk授权方案 ,这篇中使用的上篇的方法授权。 分享个公众号分享引到图片 这里设置一个公共方法: /** * 分享 * @param {Object} data 分享内容 title 分享标题 thumb分享图片 content 分享描述 * @param {String} fullPath 分享路径 通过 this.$route.fullPath 获取传入 */ export function share(data, fullPath) { // 设置自定义分享 ready(["updateTimelineShareData", "updateAppMessageShareData"]).then(_ => { wx.updateTimelineShareData({ title: data.title, // 分享标题 link: window.location.protocol + '//' + window.location.host + fullPath, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: data.thumb, // 分享图标 success: function () { // 设置成功 } }); wx.updateAppMessageShareData({ title: data.title, // 分享标题 desc: data.content, // 分享描述 link: window.location.protocol + '//' + window.location.host + fullPath, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: data.thumb, // 分享图标 success: function () { // 设置成功 } }); }); } 使用     share({title: '分享标题', content: '分享描述', thumb: '分享图片'}, this.$route.fullPath)

2019-12-16 23:56:56 149 0 0
阅读详情

程序开发 解决vue的history模式微信jssdk授权认证在ios上失败问题

本篇方案适用于vue 的 history模式,hash模式不适用! 使用spa模式的vue的 history 路由模式,在ios上加载微信jssdk授权认证出现失败问题。由于ios只记录第一次进来的url,在其他页面调用config授权不能使用window.location.href 做为认证url。 需要做的是如果在ios下,记录第一次进来时的url,调用config时用储存好的url调用 首先在 router 中添加 afterEach import { config } from './utils/wx'; router.afterEach((to, from) => { // 伸手党福利 // window.__wxjs_is_wkwebview // true 时 为 IOS 设备 // false时 为 安卓 设备 安卓默认使用to.fullPath let url = to.fullPath if (window.__wxjs_is_wkwebview) { // IOS // 第一次进来记录url window.entryUrl 自定义window对象 if (window.entryUrl == '' || window.entryUrl == undefined) { window.entryUrl = to.fullPath // 将后面的参数去除 url = to.fullPath }else { // 后续进来直接使用第一次保存的url url = window.entryUrl } } config(url) // 封装的微信config方法 传入url }) // ./utils/wx.js import { config as configWeChat } from '@/api/WeChat' // 后端接口 import { getToken } from './auth' import { Toast } from 'vant' /** * 通过config接口注入权限验证配置 接受url */ export function config(url) { return new Promise(async (res, rej) => { // 接口请求获取config签名数据 const { data } = await configWeChat({ token: getToken(), url: window.location.protocol + '//' + window.location.host + url // 获取协议 + '//' + 网站域名 + 传入域名 拼接成完整url }) wx.config({ debug: false, appId: data.appId, // 必填,公众号的唯一标识 timestamp: data.timestamp,

2019-12-14 23:31:08 188 0 0
阅读详情

程序开发 在ts中axios返回not exist on type 'AxiosResponse'

vue的axios请求返回值调取时报下面这错误 Property 'content' does not exist on type 'AxiosResponse<any>'.Vetur(2339) 解决方法是新增一个 axios.d.ts 文件,内容如下 import * as axios from 'axios' declare module 'axios' { interface AxiosInstance { (config: AxiosRequestConfig): Promise<any> } } 就可以解决了 方案来自 https://github.com/axios/axios/issues/1510#issuecomment-529284409

2019-12-12 15:33:05 670 0 0
阅读详情

程序开发 yarn upgrade 更新依赖包

更新依赖包时yarn.lock、package.json同步更新版本信息 yarn upgrade-interactive --latest // 需要手动选择升级的依赖包,按空格键选择,a 键切换所有,i 键反选选择

2019-11-12 10:36:21 237 0 0
阅读详情

程序开发 js动态添加js文件

/** * 动态添加js * @param {String}} url js地址 * @param {Function}} callback 回调 */ function loadJS(url, callback) { var script = document.createElement('script'), fn = callback || function () { }; script.type = 'text/javascript'; //IE if (script.readyState) { script.onreadystatechange = function () { if (script.readyState == 'loaded' || script.readyState == 'complete') { script.onreadystatechange = null; fn(); } }; } else { //其他浏览器 script.onload = function () { fn(); }; } script.src = url; document.getElementsByTagName('head')[0].appendChild(script); } // 加载jquery loadJS('https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js',function(){});

2019-11-03 10:41:20 121 0 1
阅读详情

程序开发 git fork后更新原作者仓库代码到自己仓库

fork 了别人的仓库后,原作者又更新了仓库,如何将自己的代码和原仓库保持一致?本文将给你解答。 假设远程源仓库为A,自己fork后的远程仓库为B,自己本地的代码仓库为C 给 fork 配置一个 remote 一般来说从自己远程仓库B去拉代码后就会有remote 使用 git remote -v 查看远程状态。 git remote -v origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch) origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push) 添加一个将被同步给 fork 远程的上游仓库A git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git 再次查看状态确认是否配置成功。 git remote -v origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch) origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push) upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch) upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push) 执行同步fork操作 从上游仓库A fetch 分支和提交点,传送到本地,并会被存储在一个本地分支 upstream/master git fetch upstream 默认会将远程所有的分支fetch下来 remote: Counting objects: 41, done. remote: Compressing objects: 100% (41/41), done. remote: Total 41 (delta 17), reused 0 (delta 0) Unpacking objects: 100% (41/41), done. From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY * [new branch] dev -> upstream/dev * [new branch] master -> upstream/master 将upstream的代码合并到本地仓库C上 同步自己的远程仓库 从自己的远程仓库B上拉取最新的代码 git pull origin master 执行合并upstream操作 把 upstream/master 分支合并到本地 master 上 git merge upstream/master 如果想同步upstream/dev 分支的话执行 git merge upstream/dev 把 upstream/dev 分支合并到本地 push本地代码到自己的远程仓库 处理冲突代码,后提交到自己的远程仓库 git add . git commit -m '描述' git push 文章来自:shunyang

2019-10-19 15:29:43 197 0 0
阅读详情
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 26
前往