仁仁

仁仁 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

仁仁 回答了问题 · 2019-08-25

解决微信开发者工具MacOS版,能不能单独切换语言成中文?

第一种方法:

我自己找到了一个一劳永逸的方法,以后什么app都可以用这个方法了。在Terminal运行下面的命令就可以更改默认app语言:

defaults write com.tencent.webplusdevtools AppleLanguages '("zh_CN")'

希望可以帮到其他人。

第二种方法:

一开始我没有创建小程序之前,我记得英文大概是, Settings > General Settings 是灰的,是不可用状态。当我后来使用第一种方法,把默认语言改成中文并创建了一个小程序项目后,发现这个 “设置” > “通用设置” 是可以点击使用了。在这个选项了,我终于看到了语言的选择。

只能说,这是软件设计的一个Bug。语言本来就是针对开发者工具本身的,而不是针对某一个项目的。但是这里,必须创建了项目后才能选择语言。真的有点本末倒置了。

所以除了我第一个方法暴力更改app语言以外,第二个方法就是先用英文创建一个小程序,然后在这个项目中,再选择界面的设置,通用设置,来更改语言。

关注 1 回答 1

仁仁 提出了问题 · 2019-08-25

解决微信开发者工具MacOS版,能不能单独切换语言成中文?

我的MacOS系统语言是英文,因为已经习惯了英文界面,看不懂中文操作界面(含提示错误等等)。

但是微信开发者工具打开也默认跟随系统,变成了英文。下载的是 1.02.1907300 版本。

如果是外国人开发的软件,英文没有问题。但是,这明明是国内开发的软件,我就不想看英文了,因为很多翻译都会出问题,尤其是网络上找资料,大部分也都是中文的,我搜英文肯定搜不出什么鬼出来。

所以,到底如何把开发者工具调成中文界面?前提必须是系统语言不变。系统语言变成中文,我将完全不知道怎么用了。谢谢您。

关注 1 回答 1

仁仁 赞了文章 · 2019-08-24

关于微信小程序webview的使用

小程序

微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。同时提供一系列工具帮助开发者快速接入并完成小程序开发。关于如何注册配置就不多言了,本文主要还是体验了下web-view的功能。

web-view详解

有了这个组件之后,小程序可以很好的嵌入一些页面,可以环境小程序size告急的问题,同样也使开发更加便捷,毕竟小程序开发者基本都对前端开发较为了解。

web-view能力

说再多还是需要去看官方文档,web-view文档,

兼容

首先就需要注意:兼容问题,版本库和对应版本比例

基础库 1.6.4 开始支持,低版本需做兼容处理,
个人类型与海外类型的小程序暂不支持使用。

目前而言,基本80%的用户会升级微信,所以其实不必担心版本问题,官方截止2017-12-01提供的数据也说明88%的用户支持web-view

使用

web-view 组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面;

属性:srcString类型,是一个网站的url,默认值是nonewebview 指向网页的链接。需登录小程序管理后台配置域名白名单。

<!-- wxml -->
<!-- 指向微信公众平台首页的web-view -->
<web-view data-original="https://mp.weixin.qq.com/"></web-view>

可以配合Page实例的onLoad方法来获取url的具体值,也就是一个微信小程序页面中只有一个web-view,但是这个web-view的内容可以根据上一个页面传递的参数来获取页面URL,后面会讲如何实践,

官方提供如下接口:

  • web-view和小程序的通信

    1. 由小程序到web-view,其实本质上WEB-VIEW也是小程序的一个页面,所以小程序到web-view是正常的小程序间的通信,通过wx.navigateTowx.redirectTo,带上url参数,query参数就像正常url的参数一样跟着后面,然后在web-view的页面的Page实例里面通过onLoad的方法的参数来获取url的值,设置给web-viewsrc属性为改值即可。
    2. web-view到小程序,由于在web-view的跳转通常是在src对应的网页中的操作来处理的,所以需要结合jssdk来处理,不需要wx.config配置,直接通过script标签来引入https://res.wx.qq.com/open/js/jweixin-1.3.0.js,就可以使用wx.miniProgram.navigateTowx.miniProgram.navigateBackwx.miniProgram.switchTabwx.miniProgram.reLaunchwx.miniProgram.redirectTo接口,就像小程序之间的跳转一样,单是只能在当前小程序页面内跳转。
  • 支持以下部分JSSDK接口图像、音频、摇一摇、地理位置等信息,具体可以查看web-view文档,不过这些需要通过wx.config来授权,就和服务号开发类似。
  • 用户分享时可获取当前<web-view/>URL,即在onShareAppMessage回调中返回webViewUrl参数。

    Page({
      onShareAppMessage(options) {
        console.log(options.webViewUrl)
      }
    })
  • 在网页内可通过window.__wxjs_environment变量判断是否在小程序环境。

    // web-view下的页面内
    console.log(window.__wxjs_environment === 'miniprogram') // true

web-view实践

在目前实践了部分web-view的功能,

//index.js
Page({
    data: {
       url: 'https://test.com'
    },
    onLoad: function(options){
        options.url ? this.setData({url: options.url}) : wx.navigateBack({delta: 2});

    }
});

//index.wxml
<web-view data-original="{{url}}"></web-view>

在这个web-view中,指向的就是https://test.com的内容,所以在在https://test.com中跳转出回到小程序,需要修改https://test.com中的JavaScript,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>test</title>
    <link rel="stylesheet" href="https://test.com/index.css" />
</head>
<body>
    <div class="app">
        <h1>webview-wechat-detail</h1>
        <p>
            detail
        </p>
        <button type="button" id="btn">返回小程序</button>
    </div>
    <script data-original="https://test.com/jquery.js"></script>
    <script data-original="https://res.wx.qq.com/open/js/jweixin-1.3.0.js"></script>
    <script>
        /* eslint-disable */
$(function(){
    doucument.cookie = 'bb=bbbbbb';
    $('#btn').on('click',function(s) {
        document.cookie = 'aa=ssssss';
        wx.miniProgram.navigateTo({
            url:'/pages/index?test=testtest',
            success: function(){
                console.log('success')
            },
            fail: function(){
                console.log('fail');
            },
            complete:function(){
                console.log('complete');
            }

            });
        });
    });
    </script>
</body>
</html>

如果需要使用一些其他的的jssdk的方法,那就需要参照公众号的开发配置了。

web-view采坑

由于很多使用中的一些问题

1.打开的域名没有在小程序管理后台设置业务域名(注意是业务域名,不是服务器域名)
2.打开的页面必须为https服务
3.打开的页面302过去的地址也必须设置过业务域名
4.web-view空白问题,请升级微信客户端到 6.5.16
5.页面可以包含iframe,但是iframe的地址必须为业务域名
6.web-view不支持支付能力,web-view的API能力见web-view的文档说明
7.开发者自己检查自己的https服务是否正常,测试方法:普通浏览器打开对应的地址
8.如果web-view使用了公众号授权的服务,开发者工具提示网页开发者的问题,请见:公众号开发
其他的问题注意:

  1. 每个页面只能有一个<web-view/>,<web-view/>会自动铺满整个页面,并覆盖其他组件,小程序对webview的监控状态基本没有,只能设置src设置url。
  2. 关于小程序和web-view的通信,<web-view/> → 小程序只能通过JSSDK 1.3.0提供的接口返回小程序页面,设置参数来传值,反之,小程序到webview也是一样的,只能是src的路径带上参数;
  3. web-view不支持支付能力,是指无法唤起小程序的直接支付窗口,对于h5的那套支付应该是支持的,但是web-view 里边没法使用 微信支付的 JSAPI,也就是可能可以h5的相关的的支付中心来支付;
  4. 关于层级,在webview中可以无限跳转,对于导航条返回和物理键返回都会回到上一个页面直到退出webview,就像history.back
  5. webview中的html的title会自动放到小程序的头部作为标题;
  6. webview中可以正常使用ajax之类的操作。
  7. 一些可能的问题问题汇总
查看原文

赞 44 收藏 43 评论 17

仁仁 提出了问题 · 2019-08-20

国内云主机的带宽和流量为什么这么贵?那些网络公司的钱都投在这上了吗?如何省钱?

国内云主机的带宽和流量为什么这么贵?

国外的什么都便宜,云主机一般都是不限带宽的,流量基本上也可以算是不限,因为给的配额都很高。相比较主机的价钱,国外虽然也是便宜的要死要活的,就跟白送一样,但是这个差距就忽略不计了。因为国内最贵的就是带宽和流量。如果按照带宽计费,要达到高带宽太贵了。如果按照流量计费,敢放视频吗?不论是云主机平台还是CDN平台,只要访问量一上去,那字跑的比出租车都快呀。但是国内的话,还必须用国内的服务,国外的服务器别说国内访问慢了,秒秒钟都可能让你上不去。

我不太明白那些网络公司的钱都投在这上了吗?现在动不动就搞什么视频网站,什么视频直播,抖音,快手,斗鱼等等。他们融来的钱不会很大部分买了流量吧?

对于国内搞这些网络服务来讲,如何才能省钱?各大云看了下,CDN也看了下,价格真的是不便宜呀!就这样的价格,别说视频直播了,就是普通播放,一般也搞不起呀。。。

谢谢有懂行的专家,为我解解惑。

关注 2 回答 0

仁仁 提出了问题 · 2019-08-17

解决已经添加了JS接口安全域名,为什么还提醒【防盗号或诈骗,请不要输入QQ密码】?

您号,我把例如 example.com 添加进了 JS接口安全域名。

然后在访问 http://example.com/ 的时候,仍然提醒【防盗号或诈骗,请不要输入QQ密码】。

这是搞什么?其他access token什么,分享什么的都可以工作正常,就是这个提醒怎么就去不掉?

难道我必须前面加www才可以?这个还没尝试过。。。无语。。。我非常不喜欢www。

关注 2 回答 1

仁仁 回答了问题 · 2019-08-17

把postgresql数据库设置了zh_CN.UTF-8后,怎么让日志和输出是英文?

我找到答案了,直接把下面这个改了

lc_messages = 'en_US.UTF-8'

在 postgresql.conf.

就OK了。终于可以看懂日志了。。。

关注 1 回答 1

仁仁 提出了问题 · 2019-08-17

把postgresql数据库设置了zh_CN.UTF-8后,怎么让日志和输出是英文?

如题,我把postgresql数据库设置了zh_CN.UTF-8 locale,只是为了方便将来的query查询。但是结果,让我大跌眼镜的是,所有的psql output和日志log全变成中文了。。。。我从来没看过中文的输出和日志,完全看不懂。。。有什么办法让这些都变成英文?我只是为了搜索中文而已。为什么全变了。。。谢谢您。

我的系统locale是en_US.UTF-8。
操作系统: debian 9

关注 1 回答 1

仁仁 赞了回答 · 2019-08-15

解决微信开发文档要求不要把AppSecret存储在代码中,那么我如何每2小时生成一次签名?

是让你不要把密码存储在(小程序/前端)代码里,你需要建个服务器获取签名
文档有bug/歧义是正常的,毕竟都是人写的

关注 2 回答 2

仁仁 提出了问题 · 2019-08-13

解决微信开发文档要求不要把AppSecret存储在代码中,那么我如何每2小时生成一次签名?

微信开发说明关于AppSecret有这么一段话《切记勿把密码直接交给第三方开发者或直接存储在代码中。》。我看后非常的疑惑,我如果不把AppSecret放到代码中,我如何生成签名?签名不是就2个小时有效吗?每两个小时就得更新一次吗?我代码里没有AppSecret,我怎么搞?谢谢。

更新: 现在有两个回答了。都说文档的意思是不要放到小程序或者前端的代码里。这个当然是显而易见的。但我的问题是微信的开发文档写的是一字不差的《切记勿把密码直接交给第三方开发者或直接存储在代码中。》,注意,这里用的是《代码》两个字,并没有任何修饰词。意思是不能放到任何代码里。也许微信文档有Bug或歧义吧。。。

关注 2 回答 2

仁仁 提出了问题 · 2019-08-13

解决微信开发文档要求不要把AppSecret存储在代码中,那么我如何每2小时生成一次签名?

微信开发说明关于AppSecret有这么一段话《切记勿把密码直接交给第三方开发者或直接存储在代码中。》。我看后非常的疑惑,我如果不把AppSecret放到代码中,我如何生成签名?签名不是就2个小时有效吗?每两个小时就得更新一次吗?我代码里没有AppSecret,我怎么搞?谢谢。

更新: 现在有两个回答了。都说文档的意思是不要放到小程序或者前端的代码里。这个当然是显而易见的。但我的问题是微信的开发文档写的是一字不差的《切记勿把密码直接交给第三方开发者或直接存储在代码中。》,注意,这里用的是《代码》两个字,并没有任何修饰词。意思是不能放到任何代码里。也许微信文档有Bug或歧义吧。。。

关注 2 回答 2

认证与成就

  • 获得 1 次点赞
  • 获得 9 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 9 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2019-08-12
个人主页被 125 人浏览