也接触了不少人解决问题的过程里,有一些比较难以排查的可能性列举在这,方便大家看一下:
特别提示:为了排除问题所在,建议针对问题制作最简demo,以便最小化缩小其他内容或代码对问题的影响范围。
1:ES6;使用es6可能导致安卓端真机调试时很多问题出现,还有其他未知问题;原因未知;
2:字母拼错,包括字母拼写错误,大小写没有注意;微信小程序中,有大量这样的代码示例,从中间冒出一个大写,比如支付中的appId 比如微信官方的分享示例代码就是有误的。。。
3:官方文档示例代码有误,有时官方文档示例代码也会出现问题,比如大小写出错,或者其他缺少参数等问题;
4:https,这个坑目前遇到的人最多,首先说明一下,工具的这个设置,[图片上传中。。。(2)],这个设置有一些独特的作用,让你可以让本地避开一些限制;但是这个设置对真机无效,所以假如存在https问题,是否勾选并影响;仍然需要按贴排查:http://www.wxapp-union.com/thread-648-1-1.html
5:官方BUG,你遇到的问题可能是官方仍未解决的bug,具体可以参考官方文档FAQ文档地址
6:官方文档;官方文档是解决问题的不二之选,建议在解决问题时,不断的看官方文档,并且仔细看,尽量从官方文档中找出解决方案;
7:调试工具:官方开发者工具及手机端,都提供了调试工具,基本跟原本大家常用的调试工具相差无几,可用利用调试工具多做各种调试,以免排查问题;调试方法,新手可以搜索网上相关firebug教程或浏览器调试教程或调试教程;
8:重启大法:有时候编辑器会出现一些莫名其妙的BUG,比如昨天还是好的,今天打开各种问题等等,可以考虑重新编译或多次重启工具或重启电脑;
9:新手跳坑;我们为新手准备了很多常见的问题,http://www.wxapp-union.com/portal.php
10:前人经验:有很多人遇到了很多问题,你可以在版块的问答分类下看看其他人遇到的问题及如此解决的;http://www.wxapp-union.com/forum-2-1.html
11:无法登陆:参考@M-信念 同学的建议:可以稍微等等;当出现帐号登陆问题时,可以尝试使用他人微信号,或是咨询其他人是否也遇到了相同的情况,不要着急;
12:代理设置;代理设置应该是一个隐藏比较深的坑,但是很多人被坑过,假如你的机器设置了代理,开发者工具可能会也跟着默认带来代理,然后会接踵而来很多登陆,空白等问题;
13:使用搜索;现在本站及官方均聚合了大量的微信小程序相关内容,可以考虑使用其中的搜索,来获取自己想找的东西或用于解决问题,搜索时,请使用主要关键词,或相近关键词进行搜索,而不要直接搜索一句话,比如你需要appid,你可以搜索“appid”,你遇到了登陆问题,应该搜索“登陆”,真机预览遇到了问题,可以搜索“真机”,遇到了上传问题,可以搜索“uploadfile”
14:微信版本问题,伴随微信的版本更新,不同的微信版本之间可能会出现不同的未知BUG;你可以在weixin.qq.com内查看最新版本。
15:微信缓存;微信缓存会导致很多未知的bug,目前发现的有无法真机预览,以及跳出错误:需要清除应用缓存,或者使用第二部手机进行测试方可排除此问题;On PageReady can not find XXXXXX, app service not ready
16:使用了非官方提供的方法;使用了部分非官方提供的方法比如Object.assign,可能会导致未知的问题,建议优先使用官方组件来实现;
版权说明:本文部分内容来源于网络,由小程序社区(wxapp-union.com)整理编辑,有问题请联系我们
//app.js
App({
onLaunch: function () {
let App = this
// 设置api地址
App.setApiRoot()
},
globalData: {
userInfo: null
},
api_root: '', // api地址
appid:'',
/**
* 显示失败提示框
*/
showError(msg, callback) {
wx.showModal({
title: '友情提示',
content: msg,
showCancel: false,
success(res) {
callback && callback()
}
})
},
/**
* 设置api地址
*/
setApiRoot() {
let App = this
// App.api_root = config.config.host
let extConfig = wx.getExtConfigSync? wx.getExtConfigSync(): {}
console.log(extConfig)
App.appid = extConfig.attr.appid
App.api_root = extConfig.attr.host
},
/**
* get请求
*/
_get(url, data, success, fail, complete, check_login) {
let App = this
wx.showNavigationBarLoading()
// 构造请求参数
data = Object.assign({
token: wx.getStorageSync('token'),
appid:App.appid
}, data)
// if (typeof check_login === 'undefined')
// check_login = true
console.log(App.api_root)
// 构造get请求
let request = () => {
data.token = wx.getStorageSync('token')
wx.request({
url: App.api_root + url,
header: {
'content-type': 'application/json'
},
data,
success(res) {
if (res.statusCode !== 200 || typeof res.data !== 'object') {
console.log(res)
App.showError('网络请求出错')
return false
}
if (res.data.code === -1) {
// 登录态失效, 重新登录
wx.hideNavigationBarLoading()
App.doLogin(() => {
App._get(url, data, success, fail)
})
} else if (res.data.code === 0) {
App.showError(res.data.msg)
return false
} else {
success && success(res.data)
}
},
fail(res) {
// console.log(res)
App.showError(res.errMsg, () => {
fail && fail(res)
})
},
complete(res) {
wx.hideNavigationBarLoading()
complete && complete(res)
},
})
}
// 判断是否需要验证登录
check_login ? App.doLogin(request) : request()
},
/**
* post提交
*/
_post_form(url, data, success, fail, complete) {
wx.showNavigationBarLoading()
let App = this
// 构造请求参数
data = Object.assign({
token: wx.getStorageSync('token'),
appid:App.appid
}, data)
data.token = wx.getStorageSync('token')
wx.request({
url: App.api_root + url,
header: {
'content-type': 'application/x-www-form-urlencoded',
},
method: 'POST',
data,
success(res) {
if (res.statusCode !== 200 || typeof res.data !== 'object') {
App.showError('网络请求出错')
return false
}
if (res.data.code === -1) {
// 登录态失效, 重新登录
App.doLogin(() => {
App._post_form(url, data, success, fail)
})
return false
} else if (res.data.code === 0) {
App.showError(res.data.msg, () => {
fail && fail(res)
})
return false
}
success && success(res.data)
},
fail(res) {
// console.log(res)
App.showError(res.errMsg, () => {
fail && fail(res)
})
},
complete(res) {
wx.hideLoading()
wx.hideNavigationBarLoading()
complete && complete(res)
}
})
},
/**
* 验证登录
*/
checkIsLogin() {
return wx.getStorageSync('token') != ''
},
/**
* 授权登录
*/
doLogin(callback) {
let App = this
// if (e.detail.errMsg !== 'getUserInfo:ok') {
// return false
// }
wx.showLoading({
title: "加载数据中...",
mask: true
})
// 执行微信登录
wx.login({
success(res) {
// 发送用户信息
App._post_form('login', {
code: res.code,
}, result => {
// 记录token user_id
wx.setStorageSync('token', result.data.token,)
// 执行回调函数
callback && callback()
}, false, () => {
wx.hideLoading()
})
}
})
}
})
楼上是C的,我的是Pascal的:“记事本”的描述没听大懂,我大致理解为从你要求的文件中读入数据(几个数字),然后进行排序,输出到屏幕上。
以下是程序代码,在Free Pascal下调试通过。由于数据类型限制,默认输出保留4位小数。
Var
inf:string
a:array[1..10000] of real
i,j,k:longint
tmp:real
Begin
readln(inf)
assign(input,inf)reset(input)
i:=1
while not eof do begin
read(a[i])
inc(i)
end
for k:= 1 to i do
for j:= k to i do
if a[k]>a[j] then begin
tmp:=a[k]
a[k]:=a[j]
a[j]:=tmp
end
for k:= 2 to i-1 do write(a[k]:0:4,'<')
writeln(a[i]:0:4)
end.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)