更新基础库到 2.x
文件更新:
- Layout/theme.html
- Layout/mobile.html
- Snippets/share_info.html
功能更新:
- 小程序:
- 新增登录注册支持;
- 新增支付支持;
- 提交订单页:
- 新增「发票」支持;
- 新增收货地址「身份证」支持;
- 商品详情页:
- 新增「商品收藏」支持;
- 文章详情页:
- 新增「收藏文章」支持;
- 个人中心:
- 新增「我的收藏」支持;
- 新增收货地址「身份证」支持;
- 新增 APM 支持。
相关说明:
- 修改位置可参考「藤煤竹」主题相关代码;
- 2.x 会根基客户反馈和开发测试情况分页面和模块逐渐过渡到 3.0;
- 2.x 分移动端和 PC 端,3.0 不再做分离,统一做成「响应式」,只需要迭代一套代码;
- 部分 JS 引入需设置
crossorigin
属性。
修改 Layout/theme.html
升级
- yhsd-desktop-2.4.0.min.css
- jweixin-1.5.0.js(若有)
- jssdk-1.2.0.min.js
- yhsd-desktop-2.4.0.min.js
<script src="{{ 'jssdk-1.2.0.min.js' | global_asset_url }}" crossorigin></script>
<script src="{{ 'yhsd-desktop-2.4.0.min.js' | global_asset_url }}" crossorigin></script>
添加 Resource Hints - preconnect
<!-- 一般放 <meta charset="utf-8"> 下面 -->
<link rel="preconnect" href="{{ cdn_host }}">
<link rel="preconnect" href="//res.wx.qq.com">
添加 JS 引用
- jweixin-1.5.0.js(若无)
- reporter-0.1.0.js
<script src="//res.wx.qq.com/open/js/jweixin-1.5.0.js"></script>
<script src="{{ 'reporter-0.1.0.js' | global_asset_url }}" crossorigin></script>
<!-- 一般放 jssdk-1.2.0.min.js 上面 -->
修改 Layout/mobile.html
升级
- yhsd-mobi-2.3.0.min.css
- jweixin-1.5.0.js(若有)
- jssdk-1.2.0.min.js
- yhsd-mobi-2.3.0.min.js
<script src="{{ 'jssdk-1.2.0.min.js' | global_asset_url }}" crossorigin></script>
<script src="{{ 'yhsd-mobi-2.3.0.min.js' | global_asset_url }}" crossorigin></script>
添加 Resource Hints - preconnect
<!-- 一般放 <meta charset="utf-8"> 下面 -->
<link rel="preconnect" href="{{ cdn_host }}">
<link rel="preconnect" href="//res.wx.qq.com">
添加 JS 引用
- jweixin-1.5.0.js(若无)
- reporter-0.1.0.js
<script src="//res.wx.qq.com/open/js/jweixin-1.5.0.js"></script>
<script src="{{ 'reporter-0.1.0.js' | global_asset_url }}" crossorigin></script>
<!-- 一般放 jssdk-1.2.0.min.js 上面 -->
更新 Snippets/share_info.html
全部内容替换成以下代码:
{% capture share_include_type %}{{ share_info }}{% endcapture %}
<!-- 社交分享信息 -->
{% if share_image.image_id %}
{% assign share_img_url = share_image | image_url %}
{% elsif share_image.src and share_image.size >= 1 %}
{% assign share_img_url = share_image.src %}
{% else %}
{% assign share_img_url = 'share_img' | asset_url %}
{% endif %}
{% if share_include_type == 'head' %}
<meta property="og:title" content="{{ page_title }}" />
<meta property="og:description" content="{{ page_desc }}" />
<meta property="og:image" content="{{ share_img_url }}" />
<script>
(function () {
var hasWxSDK = ({{ shop.enable_weixin_sdk }}) || false
if (hasWxSDK && window.wx && /micromessenger/i.test(window.navigator.userAgent)) {
window.yhsdWxShare = {
info: {
title: '{{ page_title }}',
desc: '{{ page_desc | strip_newlines }}',
link: location.href,
imgUrl: 'https:{{ share_img_url }}',
success: function () {},
cancel: function () {}
},
setInfo: function (oInfo) {
this.info = oInfo
},
init: function () {
yhsd.ready(function () {
$.ajax({
url: '/api/v1/third_api/weixin_signature',
method: 'GET',
dataType: 'json',
data: {
url: location.href
}
}).done(function(res) {
if (res.code === 200) {
var fnShare = function (type) {
// 留给后面做特殊处理
return yhsdWxShare.info
}
wx.config({
debug: false,
appId: res.config.appid,
timestamp: res.config.timestamp,
nonceStr: res.config.noncestr,
signature: res.config.signature,
jsApiList: [
"onMenuShareTimeline",
"onMenuShareAppMessage",
"onMenuShareQQ",
"onMenuShareQZone"
]
})
wx.ready(function () {
wx.onMenuShareTimeline(fnShare("timeline"))
wx.onMenuShareAppMessage(fnShare("frends"))
wx.onMenuShareQQ(fnShare("qq"))
wx.onMenuShareQZone(fnShare("qzone"))
// wx.checkJsApi({
// jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareQZone'], // 需要检测的 JS 接口列表
// success: function(res) {
// // alert(JSON.stringify(res))
// // 以键值对的形式返回,可用的 api 值 true,不可用为 false
// // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
// }
// })
})
// wx.error(function(res){
// alert(JSON.stringify(res))
// // config 信息验证失败会执行 error 函数,如签名过期导致验证失败,具体错误信息可以打开 config 的 debug 模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
// })
}
});
});
}
}
window.yhsdWxShare.init()
}
})()
</script>
{% else %}
{% if share_title == null or share_title == '' %}
{% assign share_title = page_title %}
{% endif %}
{% if share_desc == null or share_desc == '' %}
{% assign share_desc = page_desc %}
{% endif %}
{% endif %}
<!-- End 社交分享信息 -->
简单测试用例
- 抽查页面,JS 代码运行不报错;
- 登录和注册流程正常;
- 免登陆购买流程正常;
- 无登录购买流程正常(添加购物车 > 提交购物车 > 跳转登录 > 登录后跳转提交订单页 > 提交订单成功 > 支付成功 > 订单详情页);
- 提交订单页:
- 「发票」功能正常;
- 收货地址「身份证」功能正常;
- 商品详情页:
- 「商品收藏」功能正常;
- 文章详情页:
- 「收藏文章」功能正常;
- 个人中心:
- 「我的收藏」功能正常;
- 收货地址「身份证」功能正常。