杀千刀的微信支付解决方法(也许可以解决)
上次用uniapp遇到微信支付问题([https://ask.dcloud.net.cn/question/74068](https://ask.dcloud.net.cn/question/74068)),许久没上论坛看到有人问我解决没有,于是想起把方法分享下,不一定是对的,只是作为一个参考。
我当时的症状是,确定下单返回的数据是对的,但是就是支付各种提示错误,骚的是模拟器一次就成功,然后就再也不行了,后来搞了很久,总算搞定了
1:配置问题,首先检查包名是否正确(一般这个不会错)
2:获取安卓包签名,我是在手机端用的[http://pan.baidu.com/s/1gdD3LYF](http://),然后输入包名,效果如下
MD5 : 59:20:1C:F6:58:92:02:CB:2C:DA:B2:67:52:47:21:12
SHA1 : BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58
其中我配置支付宝和百度地图填写签名都是SHA1,都是正常使用没错,但是微信支付就很骚,成功了一次,因为支付宝和百度成功了,没任何问题,微信成功一次,我压根想不到是这个SB参数错了。后面搞了好久才在角落里翻到微信要md5版签名,而且要去掉:号,大写转小写,按上面的就是:59201cf6589202cb2cdab26752472112
3:到这一部还是提示错误,那么清掉微信的缓存,有缓存配置对了也白搭。最好是拿新的没手机登下微信试试秒,我是在原生开发的那里看到的,也是被腾讯折腾的。
最后不得不吐槽腾讯这SB,就爱标新立异,VUE很好用结果模仿个更难用的小程序语法,文档到处坑,记得第一次做微信支付的签名字段都改了800年了,文档就是不该,还得我搞了个通宵 上次用uniapp遇到微信支付问题([https://ask.dcloud.net.cn/question/74068](https://ask.dcloud.net.cn/question/74068)),许久没上论坛看到有人问我解决没有,于是想起把方法分享下,不一定是对的,只是作为一个参考。
我当时的症状是,确定下单返回的数据是对的,但是就是支付各种提示错误,骚的是模拟器一次就成功,然后就再也不行了,后来搞了很久,总算搞定了
1:配置问题,首先检查包名是否正确(一般这个不会错)
2:获取安卓包签名,我是在手机端用的[http://pan.baidu.com/s/1gdD3LYF](http://),然后输入包名,效果如下
MD5 : 59:20:1C:F6:58:92:02:CB:2C:DA:B2:67:52:47:21:12
SHA1 : BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58
其中我配置支付宝和百度地图填写签名都是SHA1,都是正常使用没错,但是微信支付就很骚,成功了一次,因为支付宝和百度成功了,没任何问题,微信成功一次,我压根想不到是这个SB参数错了。后面搞了好久才在角落里翻到微信要md5版签名,而且要去掉:号,大写转小写,按上面的就是:59201cf6589202cb2cdab26752472112
3:到这一部还是提示错误,那么清掉微信的缓存,有缓存配置对了也白搭。最好是拿新的没手机登下微信试试秒,我是在原生开发的那里看到的,也是被腾讯折腾的。
最后不得不吐槽腾讯这SB,就爱标新立异,VUE很好用结果模仿个更难用的小程序语法,文档到处坑,记得第一次做微信支付的签名字段都改了800年了,文档就是不该,还得我搞了个通宵 收起阅读 »
公司团队接外包项目,开发过多款成熟大型的uniapp项目,丰富的小程序开发经验,熟悉各平台规则。
公司官网:www.ichangjie.com
有意联系微信:17771806167
电话:17771806167(蔡)
公司官网:www.ichangjie.com
有意联系微信:17771806167
电话:17771806167(蔡)
uniapp之tabBar自定义底部导航
uni-app原生导航tabBar功能也挺好,不过有时为了满足多样化的项目需求,如:背景色渐变、字体图标,一些特殊图标凸显效果,这时候就只能自定义tabbar来实现功能了。
如下图:分别在H5端、小程序、APP端实现的自定义tabbar效果
新建tabbar.vue组件
<block v-for="(item,index) in tabList" :key="index">
<view class="navigator" :class="currentTabIndex == index ? 'on' : ''" @tap="switchTab(index)">
<view class="icon">
<text class="iconfont" :class="item.icon" :style="[currentTabIndex == index ? {'color': tintColor} : {'color': color}]"></text>
<text v-if="item.badge" class="uni_badge">{{item.badge}}</text>
<text v-if="item.badgeDot" class="uni_badge uni_badge_dot"></text>
</view>
<view class="text" :style="[currentTabIndex == index ? {'color': tintColor} : {'color': color}]">{{item.text}}</view>
</view>
</block>
<script>
export default {
data() {
return {
tabList: [
{
icon: 'icon-emotion',
text: 'tab01',
badge: 1
},
{
icon: 'icon-qianbao',
text: 'tab02',
},
{
icon: 'icon-choose01',
text: 'tab03',
badgeDot: true
}
],
currentTabIndex: this.current
}
},
props: {
current: { type: [Number, String], default: 0 },
backgroundColor: { type: String, default: '#fbfbfb' },
color: { type: String, default: '#999' },
tintColor: { type: String, default: '#42b983' }
},
methods: {
switchTab(index){
this.currentTabIndex = index
this.$emit('click', index)
}
},
}
</script>
在main.js里面引入全局组件
import tabBar from './components/tabbar.vue'
Vue.component('tab-bar', tabBar)
此时的tab-bar已经是全局组件了,只需在需要的视图页面引用即可
<tab-bar :current="currentTabIndex" backgroundColor="#fbfbfb" color="#999" tintColor="#42b983" @click="tabClick"></tab-bar>
<tab-bar :current="2" backgroundColor="#1a4065" color="#c3daf1" tintColor="#02f32b" @click="tabClick"></tab-bar>
最后附上uni-app自定义导航栏,希望能喜欢~~
uni-app自定义顶部导航器:https://ask.dcloud.net.cn/article/36388
uni-app原生导航tabBar功能也挺好,不过有时为了满足多样化的项目需求,如:背景色渐变、字体图标,一些特殊图标凸显效果,这时候就只能自定义tabbar来实现功能了。
如下图:分别在H5端、小程序、APP端实现的自定义tabbar效果
新建tabbar.vue组件
<block v-for="(item,index) in tabList" :key="index">
<view class="navigator" :class="currentTabIndex == index ? 'on' : ''" @tap="switchTab(index)">
<view class="icon">
<text class="iconfont" :class="item.icon" :style="[currentTabIndex == index ? {'color': tintColor} : {'color': color}]"></text>
<text v-if="item.badge" class="uni_badge">{{item.badge}}</text>
<text v-if="item.badgeDot" class="uni_badge uni_badge_dot"></text>
</view>
<view class="text" :style="[currentTabIndex == index ? {'color': tintColor} : {'color': color}]">{{item.text}}</view>
</view>
</block>
<script>
export default {
data() {
return {
tabList: [
{
icon: 'icon-emotion',
text: 'tab01',
badge: 1
},
{
icon: 'icon-qianbao',
text: 'tab02',
},
{
icon: 'icon-choose01',
text: 'tab03',
badgeDot: true
}
],
currentTabIndex: this.current
}
},
props: {
current: { type: [Number, String], default: 0 },
backgroundColor: { type: String, default: '#fbfbfb' },
color: { type: String, default: '#999' },
tintColor: { type: String, default: '#42b983' }
},
methods: {
switchTab(index){
this.currentTabIndex = index
this.$emit('click', index)
}
},
}
</script>
在main.js里面引入全局组件
import tabBar from './components/tabbar.vue'
Vue.component('tab-bar', tabBar)
此时的tab-bar已经是全局组件了,只需在需要的视图页面引用即可
<tab-bar :current="currentTabIndex" backgroundColor="#fbfbfb" color="#999" tintColor="#42b983" @click="tabClick"></tab-bar>
<tab-bar :current="2" backgroundColor="#1a4065" color="#c3daf1" tintColor="#02f32b" @click="tabClick"></tab-bar>
最后附上uni-app自定义导航栏,希望能喜欢~~
uni-app自定义顶部导航器:https://ask.dcloud.net.cn/article/36388
收起阅读 »
南京本地uni-app开发者交流群 849615397 南京本地乐于分享的uni-app开发者请进群交流
南京本地uni-app开发者交流群 849615397,相互学习、南京本地乐于分享的uni-app开发者请进群交流。
南京本地uni-app开发者交流群 849615397,相互学习、南京本地乐于分享的uni-app开发者请进群交流。
20190923
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="css/font-awesome-4.7.0/css/font-awesome.css" />
<style>
*{margin: 0;padding: 0;}
body{width: 100%;height: 100%;background: url(img/section_mobile_bg.jpg);font-size: 14px;}
mobile{padding: 30px 0;text-align: center;}
#mobile h3{font-family: "arial rounded mt bold";font-size: 10rem;color: #fff;font-style: italic;
text-shadow:5px 5px 0.3rem #62819d}
#mobile.list i{font-size: 3rem;color: #fff;padding: 2rem;}
#mobile.list h5{font-size: 1rem;color: #fff;}
</style>
</head>
<body>
<section id="mobile">
<div class="section-inner">
<h3>One World</h3>
<h2>万物互联,极致体验</h2>
<div class="col-md-3 col-xs-6"><i class="fa fa-apple"></i><h2>原生移动app开发</h2></div>
<div class="col-md-3 col-xs-6"><i class="fa fa-weixin"></i><h2>微信公众平台开发</h2></div>
<div class="col-md-3 col-xs-6"><i class="fa fa-desktop"></i><h2>网站开发</h2></div>
<div class="col-md-3 col-xs-6"><i class="fa fa-laptop"></i><h2>桌面应用开发</h2></div>
</div>
</section>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="css/font-awesome-4.7.0/css/font-awesome.css" />
<style>
*{margin: 0;padding: 0;}
body{width: 100%;height: 100%;background: url(img/section_mobile_bg.jpg);font-size: 14px;}
mobile{padding: 30px 0;text-align: center;}
#mobile h3{font-family: "arial rounded mt bold";font-size: 10rem;color: #fff;font-style: italic;
text-shadow:5px 5px 0.3rem #62819d}
#mobile.list i{font-size: 3rem;color: #fff;padding: 2rem;}
#mobile.list h5{font-size: 1rem;color: #fff;}
</style>
</head>
<body>
<section id="mobile">
<div class="section-inner">
<h3>One World</h3>
<h2>万物互联,极致体验</h2>
<div class="col-md-3 col-xs-6"><i class="fa fa-apple"></i><h2>原生移动app开发</h2></div>
<div class="col-md-3 col-xs-6"><i class="fa fa-weixin"></i><h2>微信公众平台开发</h2></div>
<div class="col-md-3 col-xs-6"><i class="fa fa-desktop"></i><h2>网站开发</h2></div>
<div class="col-md-3 col-xs-6"><i class="fa fa-laptop"></i><h2>桌面应用开发</h2></div>
</div>
</section>
</body>
</html>
收起阅读 »致dcloud团队--能不能有点责任心
更新了一下版本,2.2.0与2.3.0直接,具体哪个版本我也不细看了。然后打包一份代码去线上。一大堆接口报错。花了整整一上午定位为题。后面弹出有新版本,手贱更新到了2.3.2版本。发现所有的问题奇迹般的好了。后来发现是之前的版本把我的请求方式换成了json。我需要的是formData。
这只是其中一次升级遇到的问题,这次我定位问题话的时间最多就吐槽一下。每次升级都有写小问题,能不能把概率降下来。
更新了一下版本,2.2.0与2.3.0直接,具体哪个版本我也不细看了。然后打包一份代码去线上。一大堆接口报错。花了整整一上午定位为题。后面弹出有新版本,手贱更新到了2.3.2版本。发现所有的问题奇迹般的好了。后来发现是之前的版本把我的请求方式换成了json。我需要的是formData。
这只是其中一次升级遇到的问题,这次我定位问题话的时间最多就吐槽一下。每次升级都有写小问题,能不能把概率降下来。
收起阅读 »Native.js 获取4G网络/数据网络 IP地址
Native.js 获取4G网络/数据网络 IP地址
Java代码
/**
* @Title: getIpAddress
*
* @Description: 获取设备ip地址
*
* @return String
*/
public static String getIpAddress() {
try {
for (Enumeration<NetworkInterface> enNetI = NetworkInterface.getNetworkInterfaces(); enNetI.hasMoreElements();) {
NetworkInterface netI = enNetI.nextElement();
for (Enumeration<InetAddress> enumIpAddr = netI.getInetAddresses();enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (inetAddress instanceof Inet4Address && !inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress();
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return "";
}
转换为JS代码
// 导入网络接口类
var NetworkInterface = plus.android.importClass("java.net.NetworkInterface")
// 导入InetAddress类
var InetAddress = plus.android.importClass("java.net.InetAddress")
// 导入Inet4Address类
var Inet4Address = plus.android.importClass("java.net.Inet4Address")
// 定义变量,获取网络接口
var networkInterface = NetworkInterface.getNetworkInterfaces()
// 遍历网络接口
while (plus.android.invoke(networkInterface, 'hasMoreElements')) {
var networkInterfaceElement = plus.android.invoke(networkInterface, 'nextElement')
// 获取各个网络接口的地址
var inetAddresses = plus.android.invoke(networkInterfaceElement, 'getInetAddresses')
// 遍历从各个网络接口获取的地址
while (plus.android.invoke(inetAddresses, 'hasMoreElements')) {
var inetAddressesElement = plus.android.invoke(inetAddresses, 'nextElement')
// 判断获取的地址不是环回接口的地址并且属于IPv4地址
if (!plus.android.invoke(inetAddressesElement, 'isLoopbackAddress') && inetAddressesElement instanceof Inet4Address) {
console.log(plus.android.invoke(inetAddressesElement, 'getHostAddress'))
// 获取主机地址
this.ipAddress = plus.android.invoke(inetAddressesElement, 'getHostAddress')
}
}
}
参考CSDN
Android获取当前网络状态和获取当前设备网络ip地址 - yc的博客 - CSDN博客
Android获取如何获取当前手机IP地址 - 程龙的博客 - CSDN博客
Android获取IP地址的两种方式(准确版) - sinat_16458039的博客 - CSDN博客
android手机两种方式获取IP地址 - 安卓吧 - 博客园
问答
Native.js 获取4G网络/数据网络 IP地址
Java代码
/**
* @Title: getIpAddress
*
* @Description: 获取设备ip地址
*
* @return String
*/
public static String getIpAddress() {
try {
for (Enumeration<NetworkInterface> enNetI = NetworkInterface.getNetworkInterfaces(); enNetI.hasMoreElements();) {
NetworkInterface netI = enNetI.nextElement();
for (Enumeration<InetAddress> enumIpAddr = netI.getInetAddresses();enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (inetAddress instanceof Inet4Address && !inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress();
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return "";
}
转换为JS代码
// 导入网络接口类
var NetworkInterface = plus.android.importClass("java.net.NetworkInterface")
// 导入InetAddress类
var InetAddress = plus.android.importClass("java.net.InetAddress")
// 导入Inet4Address类
var Inet4Address = plus.android.importClass("java.net.Inet4Address")
// 定义变量,获取网络接口
var networkInterface = NetworkInterface.getNetworkInterfaces()
// 遍历网络接口
while (plus.android.invoke(networkInterface, 'hasMoreElements')) {
var networkInterfaceElement = plus.android.invoke(networkInterface, 'nextElement')
// 获取各个网络接口的地址
var inetAddresses = plus.android.invoke(networkInterfaceElement, 'getInetAddresses')
// 遍历从各个网络接口获取的地址
while (plus.android.invoke(inetAddresses, 'hasMoreElements')) {
var inetAddressesElement = plus.android.invoke(inetAddresses, 'nextElement')
// 判断获取的地址不是环回接口的地址并且属于IPv4地址
if (!plus.android.invoke(inetAddressesElement, 'isLoopbackAddress') && inetAddressesElement instanceof Inet4Address) {
console.log(plus.android.invoke(inetAddressesElement, 'getHostAddress'))
// 获取主机地址
this.ipAddress = plus.android.invoke(inetAddressesElement, 'getHostAddress')
}
}
}
参考CSDN
Android获取当前网络状态和获取当前设备网络ip地址 - yc的博客 - CSDN博客
Android获取如何获取当前手机IP地址 - 程龙的博客 - CSDN博客
Android获取IP地址的两种方式(准确版) - sinat_16458039的博客 - CSDN博客
android手机两种方式获取IP地址 - 安卓吧 - 博客园
问答
收起阅读 »推荐一个纯js的二维码生成与解析开源库
jsQR 是一个纯 JavaScript 二维码解析库。该库读取原始图像或者是摄像头,并将定位,提取和解析其中的任何QR码。Apache License 2.0协议。jsQR旨在成为一个完全独立的扫描QR码库。根据设计,它不包含任何特定于平台的代码。这使得它可以轻松扫描前端网络摄像头流,用户上传的图像,或者用作后端Node.js过程的一部分。如果要使用jsQR扫描网络摄像头流,则需要ImageData从视频流中提取。然后可以将其传递给jsQR。
官方说明地址:https://www.oschina.net/p/jsqr(这是开源中国网站上的,需要注册)
DEMO地址:https://cozmo.github.io/jsQR/,需要允许摄像头权限,可发到手机上浏览器打开测试。
开源库地址:https://github.com/cozmo/jsQR
该js可以直接识别视频流或图片中的二维码;但是当前HbuilderX不支持实时获取摄像头视频流,希望以后能够添加摄像头实时视频流获取的功能。
jsQR 是一个纯 JavaScript 二维码解析库。该库读取原始图像或者是摄像头,并将定位,提取和解析其中的任何QR码。Apache License 2.0协议。jsQR旨在成为一个完全独立的扫描QR码库。根据设计,它不包含任何特定于平台的代码。这使得它可以轻松扫描前端网络摄像头流,用户上传的图像,或者用作后端Node.js过程的一部分。如果要使用jsQR扫描网络摄像头流,则需要ImageData从视频流中提取。然后可以将其传递给jsQR。
官方说明地址:https://www.oschina.net/p/jsqr(这是开源中国网站上的,需要注册)
DEMO地址:https://cozmo.github.io/jsQR/,需要允许摄像头权限,可发到手机上浏览器打开测试。
开源库地址:https://github.com/cozmo/jsQR
该js可以直接识别视频流或图片中的二维码;但是当前HbuilderX不支持实时获取摄像头视频流,希望以后能够添加摄像头实时视频流获取的功能。
收起阅读 »uni-app App端 iOS13 无法滚动的解决方案
老版uni-app iOS App,在iOS13上会有页面无法上下滚动的问题。
需要开发者及时升级处理。
(5+App/wap2app不涉及此问题)
方式1. 升级到HBuilderX 最新版
如果是本地打包,或cli项目,同样升级到最新的匹配版本
重新打包ipa包,提交Appstore审核
对于老用户,如果你之前留有升级策略控制,那么应该判断如果是iOS13则强制引导用户去Appstore升级。
此方式除了解决不能滚动的问题,还解决了其他一些iOS适配问题,如状态栏前景颜色、状态栏高度获取等细节。
对于使用非自定义组件编译模式的应用,升级HBuilderX还不够,还需要升级适配自定义组件编译模式,否则iOS13上还是无法滚动。
方式2. 不升级HBuilderX或通过wgt更新处理此问题
如果你的app无法短时间内升级HBuilderX,或者希望用wgt更新来强迫用户升级,可以使用如下方式
- 在 HBuilderX 安装目录搜索并找到 uniappview.html 文件(Mac:HBuilderX.app/Contents/HBuilderX/plugins/weapp-tools/template/common/uniappview.html;Windows:HBuilderX\plugins\weapp-tools\template\common__uniappview.html)
- 打开 __uniappview.html 文件,进行编辑
- 在
<script src="__uniappes6.js"></script>前插入如下代码<script> (function() { if (typeof plus === 'object' && plus.os.name === 'iOS') { var time = 0 document.addEventListener('touchstart', function(event) { time = Date.now() }, { passive: true }) var webview = plus.webview.currentWebview() webview.__origin_getStyle = webview.getStyle webview.getStyle = function() { if (Date.now() - time > 100) { return this.__origin_getStyle() } } } })() </script>
插入后效果:
修改完成后,重新编译项目即可。可在HBuilderX发行菜单中制作wgt资源进行热更新。
这种方式仅作为临时使用,解决iOS13不能滚动的问题。其他有些细节体验问题,还需完整升级HBuilderX、重新打ipa包提交才能解决。
此方案适用于由于某些原因不能升级 HBuilderX 的用户,用以临时解决 iOS13 上页面无法滚动的问题,请大家尽快升级新版 HBuilderX。
非自定义组件模式,如果不能及时升级为自定义组件模式,也可使用方案2来解决滚动问题。
升级HBuilderX 2.3新版可能会遇到其他问题,见社区公告。
老版uni-app iOS App,在iOS13上会有页面无法上下滚动的问题。
需要开发者及时升级处理。
(5+App/wap2app不涉及此问题)
方式1. 升级到HBuilderX 最新版
如果是本地打包,或cli项目,同样升级到最新的匹配版本
重新打包ipa包,提交Appstore审核
对于老用户,如果你之前留有升级策略控制,那么应该判断如果是iOS13则强制引导用户去Appstore升级。
此方式除了解决不能滚动的问题,还解决了其他一些iOS适配问题,如状态栏前景颜色、状态栏高度获取等细节。
对于使用非自定义组件编译模式的应用,升级HBuilderX还不够,还需要升级适配自定义组件编译模式,否则iOS13上还是无法滚动。
方式2. 不升级HBuilderX或通过wgt更新处理此问题
如果你的app无法短时间内升级HBuilderX,或者希望用wgt更新来强迫用户升级,可以使用如下方式
- 在 HBuilderX 安装目录搜索并找到 uniappview.html 文件(Mac:HBuilderX.app/Contents/HBuilderX/plugins/weapp-tools/template/common/uniappview.html;Windows:HBuilderX\plugins\weapp-tools\template\common__uniappview.html)
- 打开 __uniappview.html 文件,进行编辑
- 在
<script src="__uniappes6.js"></script>前插入如下代码<script> (function() { if (typeof plus === 'object' && plus.os.name === 'iOS') { var time = 0 document.addEventListener('touchstart', function(event) { time = Date.now() }, { passive: true }) var webview = plus.webview.currentWebview() webview.__origin_getStyle = webview.getStyle webview.getStyle = function() { if (Date.now() - time > 100) { return this.__origin_getStyle() } } } })() </script>
插入后效果:
修改完成后,重新编译项目即可。可在HBuilderX发行菜单中制作wgt资源进行热更新。
这种方式仅作为临时使用,解决iOS13不能滚动的问题。其他有些细节体验问题,还需完整升级HBuilderX、重新打ipa包提交才能解决。
此方案适用于由于某些原因不能升级 HBuilderX 的用户,用以临时解决 iOS13 上页面无法滚动的问题,请大家尽快升级新版 HBuilderX。
非自定义组件模式,如果不能及时升级为自定义组件模式,也可使用方案2来解决滚动问题。
升级HBuilderX 2.3新版可能会遇到其他问题,见社区公告。
收起阅读 »ios远程打包时出现“导入.p12证书失败”一定要检查一下这个原因
巨坑,兄弟们
当你所有证书都正常,所有步骤都正常的情况下,
提示导入证书失败,请务必检查你的证书密码里是否包含了“$”字符串!!!
巨坑,兄弟们
当你所有证书都正常,所有步骤都正常的情况下,
提示导入证书失败,请务必检查你的证书密码里是否包含了“$”字符串!!!
使用mui实现的省市区三级联动
由于在项目中有使用到省市区选择,但是,mui所提供的选择器确实有点难选啊有木有?所以个人就做了一个有点简陋的联动选择。
github地址:https://github.com/MistyicCrray/city_pick.git
先上截图
使用时运行pick文件的pick.html即可,若需要改动也可以在js文件中进行修改,城市的数据已经封装在js文件夹的city-data3.js中。
由于在项目中有使用到省市区选择,但是,mui所提供的选择器确实有点难选啊有木有?所以个人就做了一个有点简陋的联动选择。
github地址:https://github.com/MistyicCrray/city_pick.git
先上截图
使用时运行pick文件的pick.html即可,若需要改动也可以在js文件中进行修改,城市的数据已经封装在js文件夹的city-data3.js中。 收起阅读 »
iOS上架被拒准则2.1-性能-应用程序完整性问题
很多开发者上架遇到这个问题,苹果那边打不开APP,加载不出来内容!
很多人以为是没有兼容ipad,其实是苹果审核都用ipad,跟有没有支持兼容没有关系。
如果自己在国内测试加载正常,要看APP服务器是否支持国外访问,因为苹果审核在国外,自己用国外网络测试看下!!
具体反馈翻译内容
准则2.1-性能-应用程序完整性
我们在运行Wi-Fi iOS 12.4.1的iPad上查看您的应用程序时发现一个或多个错误。
具体来说,我们无法在应用程序中加载某些内容。
下一步
若要解决此问题,请在设备上运行应用程序以确定任何问题,然后修订并重新提交应用程序以供审阅。
如果我们误解了您的应用程序的预期行为,请在Resolution Center中回复此消息,以提供有关这些功能的预期工作方式的信息。
对于新应用程序,请从设备中卸载所有以前版本的应用程序,然后安装并按照步骤重现问题。对于更新,请将新版本安装为对以前版本的更新,然后按照步骤重现问题。
资源
有关测试应用程序并准备进行审阅的信息,请参阅技术说明TN2431:应用程序测试指南。
有关网络概述,请查看有关网络的信息
很多开发者上架遇到这个问题,苹果那边打不开APP,加载不出来内容!
很多人以为是没有兼容ipad,其实是苹果审核都用ipad,跟有没有支持兼容没有关系。
如果自己在国内测试加载正常,要看APP服务器是否支持国外访问,因为苹果审核在国外,自己用国外网络测试看下!!
具体反馈翻译内容
准则2.1-性能-应用程序完整性
我们在运行Wi-Fi iOS 12.4.1的iPad上查看您的应用程序时发现一个或多个错误。
具体来说,我们无法在应用程序中加载某些内容。
下一步
若要解决此问题,请在设备上运行应用程序以确定任何问题,然后修订并重新提交应用程序以供审阅。
如果我们误解了您的应用程序的预期行为,请在Resolution Center中回复此消息,以提供有关这些功能的预期工作方式的信息。
对于新应用程序,请从设备中卸载所有以前版本的应用程序,然后安装并按照步骤重现问题。对于更新,请将新版本安装为对以前版本的更新,然后按照步骤重现问题。
资源
有关测试应用程序并准备进行审阅的信息,请参阅技术说明TN2431:应用程序测试指南。
有关网络概述,请查看有关网络的信息












