1 升級/更新
uniapp升級/更新的文檔
- uni-app資源在線升級/熱更新 以及 uni-app 整包升級/更新方案
官方文檔參考:
https://ask.dcloud.net.cn/article/35667
https://ask.dcloud.net.cn/article/34972
評論區(qū)有提供一個更新插件:更新插件治专,支持整包更新、熱更新堵泽,支持vue3 支持打開安卓、蘋果應(yīng)用市場深员,wgt靜默更新辽话。
插件地址
uniapp安卓包升級未生效
主要參考上這個文章里,對于dcloud_control.xml文件的處理勤篮,對于debug和syncDebug都要設(shè)置成false乳附。不然就有可能升級不生效内地。
uniapp更新版本
uni-app離線包更新
- 參考:
https://ask.dcloud.net.cn/article/35763
https://nativesupport.dcloud.net.cn/AppDocs/download/android
uni-app離線包更新 (導(dǎo)出dist離線資源):
[HBuilder] 20:16:03.275 項目 'app-demo-uniapp' 編譯成功。
[HBuilder] 20:16:03.275 文件查找失敻吵:'vue-jsonp' at main.js:15
[HBuilder] 20:16:04.366 項目 'app-demo-uniapp'導(dǎo)出失敗
- 注意:需要npm以及cnpm命令來執(zhí)行模塊綁定阱缓。
npm install -g cnpm --registry=https://registry.npm.taobao.org
如果報錯:沒有權(quán)限,則在命令前添加sudo举农,輸入密碼即可荆针。
npm ERR! It is likely you do not have the permissions to access this file as the current user
如果上述操作執(zhí)行成功后,再次發(fā)布仍然沒有導(dǎo)出資源颁糟。則可以執(zhí)行如下命令:
cnpm install
- 注意:在這之前還可以執(zhí)行如下命令
npm install
導(dǎo)出成功铅乡,信息如下:
[HBuilder] 20:18:10.187 項目 'app-demo-uniapp'導(dǎo)出成功律秃,路徑為:/Users/hh/Documents/webviewapp-demo-uniapp/app-demo-uniapp/unpackage/resources/__UNI__XXXXX/www
[HBuilder] 20:18:10.193 提示:本wgt文件由HBuilderX 3.2.16版本生成外潜,運行的基座sdk也需配套相同版本精续,否則在手機端部分功能可能無法正常使用。詳見 http://ask.dcloud.net.cn/article/35627
2離線工程
iOS
- 工程結(jié)構(gòu)
---- app-demo-ios
---- Application
---- HBuilder
---- app-demo-ios.xcodeproj
---- SDK
---- Bundles
---- inc
---- Libs
---- control.xml
說明:iOS離線工程建議以uniapp提供的DEMO工程為參考婚脱,將工程放置于DEMO路徑下(與demo里的其他示例工程同級)今魔。如此,可以和示例工程一樣同樣共享SDK里的庫和資源文件障贸,且工程的Build Settings下的Search Paths配置可以和示例工程保持一致错森,減少不必要的錯誤。
Android
- 工程結(jié)構(gòu)
---- app
---- src
---- libs
---- build.gradle
---- build.gradle
---- gradle
說明:androids離線工程建議自定義工程篮洁,然后將uniapp提供的DEMO下的libs拷貝到app下libs目錄中涩维,再在app下的build.gradle中對需要用到的庫進(jìn)行配置(不需要的不要引入,從而減少安裝包大朽至弧)即可激挪。
3 安裝到API使用
uni-app從安裝到運行,簡單使用
HTML5Plus
uni-app API
common.ajax
Mui
- 參考:
- Mui v3.7.2 (http://dev.dcloud.net.cn/mui)
平臺區(qū)分判斷:
如果是原生比如Android和iOS的開發(fā)锋叨,應(yīng)該需要使用如下來判斷
// #ifdef APP-PLUS
如下這個是瀏覽器的判斷
// #ifdef H5
這個是判斷代碼在那個環(huán)境(app垄分,瀏覽器,小程序)里運行娃磺,小程序里面又細(xì)分了平臺薄湿,
這個官網(wǎng)有明確的文檔。
uniapp檢測網(wǎng)絡(luò)變化
獲取應(yīng)用的版本號
- 獲取應(yīng)用的版本號的不同
plus.runtime.version
plus.runtime.getProperty
說明:
plus.runtime.getProperty:從前端代碼的manifest.json中獲取version
plus.runtime.version:需要配置Android/iOS原生工程對應(yīng)參數(shù)
注意:由于HBuilder支持熱更新(APP增量更新)偷卧,而增量更新不依賴原生工程豺瘤,所以做APP更新升級的時候,獲取版本號最好從plus.runtime.getProperty獲取听诸。
4 事件監(jiān)聽和觸發(fā)
事件監(jiān)聽和觸發(fā)
-
uniapp事件監(jiān)聽和觸發(fā)
-
js事件監(jiān)聽和觸發(fā)
-
html5+事件監(jiān)聽和觸發(fā)
-
dcloud事件監(jiān)聽和觸發(fā)
uniapp監(jiān)聽Android手機右滑事件
參考:
參考鏈接如下包括Android/iOS滑動返回事件:
https://ask.dcloud.net.cn/question/101333
https://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewStyles
5 Storage存儲
html Storage
- html和vue通信方式:
(1)在html中使用如下方式獲茸蟆:
let progress = plus.storage.getItem('progresschange');
(2)在App.vue中使用如下設(shè)置:
uni.setStorageSync(key, data);
說明:這里是在cookie.js中封裝了上述方法,實際調(diào)用如下:
cookie.set('progresschange', res.progress);
(3)注意:在App.vue中使用如下設(shè)置晌梨,暫時拿不到值桥嗤,不知道為什么:
plus.storage.setItem('progresschange', res.progress);
說明:找到原因,通過對API的官方介紹仔蝌,發(fā)現(xiàn)這個API的value的類型必須為string泛领。而上面設(shè)置的為number類型。
plus.storage.setItem('progresschange', res.progress.toString());
uniapp獲取ios/android存儲數(shù)據(jù)
參考:
https://jingyan.baidu.com/article/046a7b3e7491d2f9c27fa996.htmluniapp本地數(shù)據(jù)庫_App/uni-app離線本地存儲方案
參考:
參考鏈接
6 JSON和Console
解析Object為JSON對象
- 可以使用如下來解析Object為JSON對象敛惊,并從對象里獲取data的值渊鞋。
var progressVar = JSON.parse(progress).data;
-uniapp toJSON
- JSON.stringify
Uni-App離線打包輸出Console.log信息
- 只需要修改 dcloud_control.xml 文件的<hbuilder>標(biāo)簽添加debug 和 syncDebug 如圖所示:
<hbuilder debug="true" syncDebug="true">
<apps>
<app appid="__UNI__XXXXX" appver=""/>
</apps>
</hbuilder>
ios修改control.xml文件中的同樣標(biāo)簽即可。
特別注意:
(1)調(diào)試的時候瞧挤,如果重新運行APP锡宋,可能需要卸載掉手機已有APP,然后再重新安裝特恬,不然可能代碼修改會失效员辩。
(2)正式打包的時候,這兩個要設(shè)置為false或者去掉鸵鸥,不然會導(dǎo)致熱更新/升級失效奠滑。參考:
https://blog.csdn.net/u010227042/article/details/115676438
uniapp轉(zhuǎn)對象為json字符串
- 對象轉(zhuǎn)字符串
var str = JSON.stringify(Obj);
obj 替換成你要轉(zhuǎn)的對象
- 字符串轉(zhuǎn)對象
var str1 = JSON.parse(str);
str 替換成你要轉(zhuǎn)的字符串
7 微信登錄
unipp(iOS)微信授權(quán)登錄跳轉(zhuǎn)到其他APP
問題:
手機同時安裝有自己公司開發(fā)的兩個應(yīng)用,其中一個APP通過微信授權(quán)登錄完成后會跳轉(zhuǎn)到另一個APP妒穴。-
排查:
(1)APP在配置微信登錄的時候宋税,只改了weixinoauth(官方文檔介紹這是HBuilder 3.2.0之前的配置),而沒有改weixin配置讼油。
(2)修改Universal Link杰赛。
(3)查看info.plist文件下 URL types 下的Item(比如A工程為Item 3),其中的URL Schemes還是配置的為B工程的參數(shù)矮台。
image.png
8 一鍵登錄
關(guān)于一鍵登錄
一鍵登錄乏屯,失敻薄:
2022-01-10 12:05:12.845339+0800 demo-app-ios[36551:13055048] <Weex>[log]WXBridgeContext.m:1310, jsLog: preLogin fail err: ---COMMA------BEGIN:JSON---{"errMsg":"preLogin:fail provider not find","errCode":0,"code":0}---END:JSON--- at assets/js/login.js:133 __LOG
參考:
https://baijiahao.baidu.com/s?id=1712308991464664814&wfr=spider&for=pc
https://blog.csdn.net/E86huang/article/details/107100073
https://ask.dcloud.net.cn/question/131159?notification_id-84803__rf-false__item_id-25486
- 一鍵登錄可以使用的日志判斷:
10:20:08.726 getProvider success res, [Object] {"errMsg":"getProvider:ok","service":"oauth","provider":["univerify","weixin","qq","sinaweibo","google","f...} at assets/js/login.js:110
說明:當(dāng)返回結(jié)果的provider有提供“univerify”即說明一鍵登錄可以使用。
- 預(yù)登錄失敵皆巍:
10:20:09.084 preLogin fail err: , [Object] {"errMsg":"preLogin:fail -20203預(yù)登錄失敗","errCode":30005,"code":30005,"appid":"pPyZWvH3Fa6PXba10aJ009","metad...} at assets/js/login.js:131
原因:一鍵登錄的庫導(dǎo)入的時候蛤迎,漏掉了aar后綴,導(dǎo)致沒有導(dǎo)入包內(nèi)含友。
implementation files('libs/oauth-univerify-release.aar')
注意:一鍵登錄需要插入SIM卡替裆,才能生效:
iOS的一鍵登錄,需要導(dǎo)入庫窘问,如下3個:
UniVerify.framework辆童、libGTCommonSDK-1.2.2.0.a、GeYanSdk.framework
9 阿里云云空間
阿里云云空間云函數(shù)創(chuàng)建
- 上傳部署惠赫,報錯:
11:39:02.828 [阿里云:]正在上傳云函數(shù)get-phone-number...
11:39:02.847 [阿里云:]云函數(shù)get-phone-number上傳失敗把鉴。失敗原因:請先選擇一個云服務(wù)空間。儿咱。
原因:由于本地HBuilder X登錄的是我自己的賬號纸镊,但是阿里云云空間申請的是另一個開發(fā)賬號,所以在阿里云云空間進(jìn)行關(guān)聯(lián)的時候就關(guān)聯(lián)不上概疆。
- 由于新的項目逗威,沒有加入,所以報錯:
11:46:10.856 [阿里云:demo-cloud]云函數(shù)get-phone-number上傳失敗岔冀。失敗原因:此應(yīng)用 DCloud APPID 為 __UNI__XXXXXX 凯旭,您不是這個應(yīng)用的項目成員。1使套、聯(lián)系這個應(yīng)用的所有者罐呼,請求加入項目成員(https://dev.dcloud.net.cn可設(shè)置項目成員);2侦高、重新在manifest.json中生成自己的APPID嫉柴。
原因:這個還是需要在另一個開發(fā)賬號的創(chuàng)建的工程上去創(chuàng)建云函數(shù)。目前本地創(chuàng)建的屬于我個人的項目奉呛,所以Dcloud appid不一致计螺。
- 云函數(shù),調(diào)試接口瞧壮,報錯:
[getPhoneNumber/ac141c151641282245358181067/39ms/ERROR] errCode: 1001 | errMsg: getPhoneNumber參數(shù)access_token值不可為空
Error: errCode: 1001 | errMsg: getPhoneNumber參數(shù)access_token值不可為空
at Tt (/tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:42161)
at exports.main (/tmp/function/__index.js:4:29)
at i (/tmp/function/index.js:1:2736)
at p (/tmp/function/index.js:1:3209)
at runUserFunction (/code/index.js:130:195499)
at (<anonymous>)
at _tickCallback (internal/process/next_tick.js:189:7)
參考:https://ask.dcloud.net.cn/question/125550
- 參考:
https://blog.csdn.net/wang_9909/article/details/115446039
https://ask.dcloud.net.cn/article/38708
https://cloud.tencent.com/developer/article/1801980
https://blog.csdn.net/li2635996169/article/details/115600060
10 uniapp和原生交互
requireNativePlugin
- uniapp和原生交互
前端代碼示例:
let info = {'name': 'abc', 'age': 12}
let nativeplugin = uni. requireNativePlugin('nativeplugin')
nativeplugin.nativeCall('haha', info, (res) => {
if (res) {
console.log('res:' + res)
}
}}
說明:前端調(diào)用非常方便登馒,代碼非常簡潔。
iOS
(1)定義協(xié)議類
NativeUniProxy.h
#import <Foundation/Foundation.h>
#import "UniPluginProtocol.h"
NS_ASSUME_NONNULL_BEGIN
@interface NativeUniProxy : NSObject<UniPluginProtocol>
@end
NS_ASSUME_NONNULL_END
NativeUniProxy.m
#import "NativeUniProxy.h"
@implementation NativeUniProxy
-(void)onCreateUniPlugin{
NSLog(@"TestPlugin 有需要初始化的邏輯可以放這里咆槽!");
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
NSLog(@"TestPlugin 有需要didFinishLaunchingWithOptions可以放這里陈轿!");
return YES;
}
@end
(2)定義UniModele類
NativeUniModule.h
#import <Foundation/Foundation.h>
#import "DCUniModule.h"
NS_ASSUME_NONNULL_BEGIN
@interface NativeUniModule : DCUniModule
@end
NS_ASSUME_NONNULL_END
NativeUniModule.m
#import "NativeUniModule.h"
@implementation NativeUniModule
UNI_EXPORT_METHOD(@selector(nativeCall:info:callback:))
- (void)nativeCall:(NSString *)params info:(NSDictionary *)info callback:(UniModuleKeepAliveCallback)callback
{
NSLog(@"nativeCall:%@, info:%@", params, info);
//other things
if (mapCallback) {
callback(@"result call mock", NO);
}
}
@end
說明:
1)callback
typedef void (^UniModuleKeepAliveCallback)(id result, BOOL keepAlive);
callback第一個參數(shù)為需要回調(diào)給前端的參數(shù);第二個參數(shù)表示是否保活麦射,如果設(shè)置為NO蛾娶,則回調(diào)調(diào)用一次即被銷毀,而設(shè)置為YES潜秋,則執(zhí)行回調(diào)后仍然繼續(xù)存在蛔琅,比如下載進(jìn)度回調(diào)時就需要多次調(diào)用callback。
2)協(xié)議類和UniModule類
如果沒有特殊情況下半等,協(xié)議類只需要設(shè)置一個即可。而UniModule類可以根據(jù)不同的功能做不同的自定義呐萨。
(3)配置Info.plist
說明:協(xié)議類和UniModule類都需要在這里配置杀饵。
Android
(1)繼承UniModule
package com.demo.apps.nativeSDK;
import android.app.Activity;
import android.util.Log;
import org.json.JSONObject;
import io.dcloud.feature.uniapp.annotation.UniJSMethod;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;
public class NativeUniModule extends UniModule {
private static final String TAG = "demo.app: ";
/**
* @param params
* @param jsCallback
*/
@UniJSMethod(uiThread = true)
public void nativeCall(String params, JSONObject info, UniJSCallback jsCallback) {
Log.d(TAG, "native ===> " + params);
if (mUniSDKInstance.getContext() instanceof Activity) {
Log.d(TAG, "native ===> can start ");
//other things
// com.alibaba.fastjson.JSONObject result = new com.alibaba.fastjson.JSONObject();
// result.put("type", "native result:mock data");
// jsCallback.invoke(result);
}
}
}
(2)callback
同iOS,也有兩個谬擦,一個是invoke切距,invokeAndKeepAlive(保活)惨远。
(3)配置dcloud_uniplugins.json
路徑為:app/sr/main/assets/apps/__UNI_XXXXX/www
{
"nativePlugins": [
{
"hooksClass": "",
"plugins": [
{
"type": "module",
"name": "nativeplugin",
"class": "com.demo.apps.nativeSDK.NativeUniModule"
},
{
"type": "module",
"name": "othernativeplugin",
"class": "com.demo.apps.nativeSDKOther.OtherNativeUniModule"
}
]
}
]
}
- 參考:
https://ask.dcloud.net.cn/article/35412
https://ask.dcloud.net.cn/article/35428
https://ask.dcloud.net.cn/article/35416
https://ask.dcloud.net.cn/article/35416
Native.js
Native.js技術(shù)谜悟,簡稱NJS,是一種將手機操作系統(tǒng)的原生對象轉(zhuǎn)義北秽,映射為JS對象葡幸,在JS里編寫原生代碼的技術(shù)。
說明:Native.js技術(shù)與插件方式相比贺氓,優(yōu)點在于不需要做額外配置蔚叨,直接通過plus提供的封裝接口來調(diào)用原生工程的API(包括系統(tǒng)的或者自定義的)。缺點在于它是直接在前端代碼里嵌套調(diào)用原生API辙培,導(dǎo)致代碼臃腫蔑水,調(diào)用繁瑣,不夠靈活扬蕊。示例:
let system = uni.getSystemInfoSync()
if (system.platform == 'android') {
let util = plus.android.importClass('com.test.demo.app.TestUtil')
if (util) {
util.login('haha')
}
} else if (system.platform == 'ios') {
let tool = plus.ios.importClass('TestTools')
if (tool) {
tool.setTestValue('haha')
}
}
說明:上面調(diào)用自定義類的時候搀别,兩者是有一些差別的,iOS是直接引入的類名尾抑,而Android是需要包名+類名歇父。
原生是否可以直接調(diào)用uniapp方法
- 參考:
https://blog.csdn.net/qq_38227017/article/details/122425864
https://blog.csdn.net/maimiho/article/details/107708593
plus5調(diào)用Android的自定義類方法
11 定位和地圖
uniapp獲取定位權(quán)限
uniapp地圖
如果前端代碼使用地圖時使用了nvue,則會有地圖不能顯示的問題:
從dcloud官方文檔可知:
開發(fā)者需要修改使用的地圖插件時再愈,需要修改dcloud_properties.xml文件的features節(jié)點下Maps節(jié)點value屬性的配置庶骄,高德地圖和百度地圖的配置只能保留一個
百度地圖暫時不支持 nvue map 標(biāo)簽API使用:
根據(jù)官方文檔可知,如果使用uni.getLocation方法践磅,百度地圖/高德地圖都可以单刁。
如果使用uni.chooseLocation方法,目前APP端只支持高德地圖。從百度地圖切到高德地圖:
1.app下build.gradle下添加百度/高德的appkey羔飞,并在dependency下切換百度/高德的implementation對應(yīng)的庫文件
2.修改dcloud_properties.xml文件的features節(jié)點下Maps節(jié)點value屬性的配置肺樟,高德地圖和百度地圖的配置只能保留一個
3.AndroidManifest.xml下配置百度/高德的權(quán)限以及對應(yīng)的配置項iOS:引入高德地圖時,同樣需要引入nvue相關(guān)庫
plus.maps API
uniapp通過經(jīng)緯度獲取地理位置
- 參考:
https://www.html5plus.org/doc/zh_cn/maps.html#plus.maps.Map.reverseGeocode
http://t.zoukankan.com/hinux-p-11021999.html
https://blog.csdn.net/weixin_44052462/article/details/105135519
騰訊地圖API
uniapp獲取定位失敗逻淌。
- assets/data目錄下dcloud_properties.xml文件么伯,features節(jié)點下添加:
<feature name="Maps" value="io.dcloud.js.map.JsMapPluginImpl"></feature>
Copy to clipboardErrorCopied
services節(jié)點下添加:
<service name="Maps" value="io.dcloud.js.map.MapInitImpl" />
- 參考:
https://nativesupport.dcloud.net.cn/AppDocs/usemodule/androidModuleConfig/map
https://blog.csdn.net/sansanyuner/article/details/105218265
uni.getLocation獲取位置信息失敗
百度定位失敗,日志信息:
D/baidu_location_service: baidu location service start1 ...20190617...24119
I/baidu_location_service: LocationAuthManager Authentication AUTHENTICATE_SUCC
D/baidu_location_service: baidu location service register ...
W/Settings: Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/baidu_location_service: baidu location service stop ...
D/baidu_location_service: baidu location service has stoped ...
直接使用HBuilderX跑真機卡儒,錯誤信息:
10:06:38.220 ---> <UPopup> at uni_modules/uview-ui/components/u-popup/u-popup.vue:1
10:06:38.243 <UPicker> at uni_modules/uview-ui/components/u-picker/u-picker.vue:1
10:06:38.266 <DatetimePicker> at uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue:1
10:06:38.289 <DatePicker> at components/uni-picker/uni-datePicker.vue:1
10:06:38.309 at marketing/crm/visit/comm/addVisit.vue:1
10:06:45.734 [JS Framework] Failed to execute the callback function:
10:06:45.758 TypeError: Cannot read property 'removeEventListener' of undefined
10:06:45.782 reportJSException >>>> exception function:__WEEX_CALL_JAVASCRIPT__, exception:JavaScript execute error!Uncaught TypeError: Cannot read property 'removeEventListener' of undefined
- 參考:
https://blog.csdn.net/weixin_43343144/article/details/98085487
https://blog.csdn.net/qq_33718648/article/details/113862439
12 文件處理
uni.chooseFile
uni.chooseFile問題
17:23:38.536 API `chooseFile` is not yet implemented __ERROR
參考:
https://ask.dcloud.net.cn/question/125325
uniapp的預(yù)覽文件ios不起作用
參考:
https://ask.dcloud.net.cn/question/116965
https://lequ7.com/guan-yu-uniapp-kua-ping-tai-wen-jian-zai-xian-yu-lan-jie-jue-fang-an-si-android-he-ios-yuan-sheng-cha-jian.html
https://www.cnblogs.com/lizhao123/p/11498948.html
uni.saveFile
- 如下為前端代碼調(diào)用uni.saveFile的日志:
日志中"savedFilePath"對應(yīng)的路徑為uniapp特有田柔,iOS沙盒中暫時找不到,不確定是不是uniap做了特殊的路徑映射骨望。
16:51:10.144 sy.app: downloadAndSaveFile download res:{"tempFilePath":"_doc/uniapp_temp_1649839860074/download/e18e6e9ee590525ec02179dfc6e0ebd1-Log07-10-22-15.txt","statusCode":200,"errMsg":"downloadFile:ok"} at utils/file.js:272
16:51:10.168 sy.app: downloadAndSaveFile save res:{"errMsg":"saveFile:ok","savedFilePath":"_doc/uniapp_save/16498398700410.txt"} at utils/file.js:278
- iOS中保存文件
報錯:
2022-04-14 01:21:53.003730+0800 demo-app-ios[8296:2412596] sy.app: saveFileToLocalByPath fail: filePth:https://cos.ap-shanghai.myqcloud.com/6126-shanghai-007-shared-05-1256635546/1dc9-1400655679/bc4a-apps_131268/a1b4a05dc5d4ffe1cf5ed0adadf6ebcb-fileuploadtext.txt, toPath:/var/mobile/Containers/Data/Application/4ED63A5D-4C7B-490A-8082-172574448E68/Library/Caches/SavedFiles/a1b4a05dc5d4ffe1cf5ed0adadf6ebcb-fileuploadtext.txt, error:Error Domain=NSCocoaErrorDomain Code=262 "未能打開文件“a1b4a05dc5d4ffe1cf5ed0adadf6ebcb-fileuploadtext.txt”硬爆,因為不支持URL類型https。" UserInfo={NSURL=https://cos.ap-shanghai.myqcloud.com/6126-shanghai-007-shared-05-1256635546/1dc9-1400655679/bc4a-apps_131268/a1b4a05dc5d4ffe1cf5ed0adadf6ebcb-fileuploadtext.txt}
參考:
https://www.thinbug.com/q/32770050
uni.openDocument在iOS上打不開文件
13 騰訊即時通訊IM
tim-js-sdk: 騰訊即時通信IM
參考:
https://wenku.baidu.com/view/e3127bfcbaf3f90f76c66137ee06eff9aef8496a.html
https://blog.csdn.net/qq_43551801/article/details/122634641
http://www.reibang.com/p/2e9220ba61d5官方文檔:
https://cloud.tencent.com/document/product/269/52962
https://cloud.tencent.com/document/product/269
https://web.sdk.qcloud.com/im/doc/zh-cn/tutorial-02-upgradeguideline.html
https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html#loginIM:報錯日志
15:07:38.694 TIM 15:07:38 GMT+0800 (CST).360:TIM.VERSION: 2.17.1
15:07:38.714 API `getFileSystemManager` is not yet implemented
15:07:38.875 TIM 15:07:38 GMT+0800 (CST).517:TIM.VERSION: 2.17.1
15:07:39.314 %c uView V2.0.30 %c https://www.uviewui.com/
15:07:39.359 , color: #ffffff; background: #3c9cff; padding:5px 0;, color: #3c9cff;background: #ffffff; padding:5px 0; at node_modules/uview-ui/libs/config/config.js:6
15:07:39.674 TIM 15:07:39 GMT+0800 (CST).329:TIM.create
15:07:39.717 TIM 15:07:39 GMT+0800 (CST).378:SocketHandler._connect isWorkerEnabled:false socketID:48710914 url:wss://wss.im.qcloud.com/info?sdkappid=1400655679&instanceid=aa2d78c302e1fd61a2adce0ccd921d55&random=0.5302842571595281&platform=15&host=android
15:07:39.805 TIM 15:07:39 GMT+0800 (CST).460:SDK instanceID:aa2d78c302e1fd61a2adce0ccd921d55 SDKAppID:1400655679 host:android oversea:false inBrowser:false inMiniApp:true workerAvailable:false UserAgent:
15:07:39.832 TIM 15:07:39 GMT+0800 (CST).463:TIM.create ok
15:07:39.870 ________ ______ __ __ __ __ ________ _______
15:07:39.892 | \| \| \ / \| \ _ | \| \| \
15:07:39.916 \$$$$$$$$ \$$$$$$| $$\ / $$| $$ / \ | $$| $$$$$$$$| $$$$$$$\
15:07:39.937 | $$ | $$ | $$$\ / $$$| $$/ $\| $$| $$__ | $$__/ $$
15:07:39.957 | $$ | $$ | $$$$\ $$$$| $$ $$$\ $$| $$ \ | $$ $$
15:07:39.979 | $$ | $$ | $$\$$ $$ $$| $$ $$\$$\$$| $$$$$ | $$$$$$$\
15:07:40.000 | $$ _| $$_ | $$ \$$$| $$| $$$$ \$$$$| $$_____ | $$__/ $$
15:07:40.023 | $$ | $$ \| $$ \$ | $$| $$$ \$$$| $$ \| $$ $$
15:07:40.046 \$$ \$$$$$$ \$$ \$$ \$$ \$$ \$$$$$$$$ \$$$$$$$
15:07:40.089 at node_modules/tim-wx-sdk/tim-wx-friendship.js:1
15:07:40.109 %cIM 智能客服擎鸠,隨時隨地解決您的問題 →_→ https://cloud.tencent.com/act/event/smarty-service?from=im-doc, color:#006eff at node_modules/tim-wx-sdk/tim-wx-friendship.js:1
15:07:40.133 %c從v2.11.2起缀磕,SDK 支持了 WebSocket,小程序需要添加受信域名劣光!升級指引: https://web.sdk.qcloud.com/im/doc/zh-cn/tutorial-02-upgradeguideline.html, color:#ff0000 at node_modules/tim-wx-sdk/tim-wx-friendship.js:1
15:07:40.180 參考以下文檔袜蚕,會更快解決問題哦!(#^.^#)
15:07:40.226 SDK 更新日志: https://cloud.tencent.com/document/product/269/38492
15:07:40.270 SDK 接口文檔: https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html
15:07:40.313 常見問題: https://web.sdk.qcloud.com/im/doc/zh-cn/tutorial-01-faq.html
15:07:40.362 反饋問題绢涡?戳我提 issue: https://github.com/tencentyun/TIMSDK/issues
15:07:40.403 如果您需要在生產(chǎn)環(huán)境關(guān)閉上面的日志牲剃,請 tim.setLogLevel(1)
15:07:40.426 at node_modules/tim-wx-sdk/tim-wx-friendship.js:1
15:07:40.446 TIM 15:07:39 GMT+0800 (CST).467:set level from 0 to 0
15:07:40.466 當(dāng)前是APP at api/message/imApi.js:35
15:07:40.779 TIM 15:07:40 GMT+0800 (CST).429:SocketHandler._onOpen cost 1092 ms. socketID:48710914
15:07:40.799 TIM 15:07:40 GMT+0800 (CST).434:SocketHandler._resend reConnectFlag:false promiseMap.size:0 simpleRequestMap.size:0
15:07:41.526 Unhandled promise rejection
15:07:41.629 定位問題-接口報錯信息error:, [Object] {"message":"request:ok","status":500,"response":{"data":{"timestamp":"2022-05-24 15:07:41","status":500,"e...} at utils/request.js:32
15:07:41.654 獲取系統(tǒng)IM模塊失敗 at store/modules/im.js:223
15:07:42.395 定位問題-接口報錯信息error:, [Object] {"message":"request:ok","status":500,"response":{"data":{"timestamp":"2022-05-24 15:07:42","status":500,"e...} at utils/request.js:32
15:07:42.396 IM_SDK 登錄失敗, [Object] {"timestamp":"2022-05-24 15:07:42","status":500,"error":"Internal Server Error","exception":"com.xxx.demo...} at store/modules/im.js:238
IM調(diào)試問題:
apps_131584 當(dāng)前使用的設(shè)備信息如下:
該 UserID 從未上報過證書ID 和設(shè)備 Token,請檢查雄可。
uniapp接入IM離線消息
14 其他
uniapp不彈toast
- 參考:
https://blog.csdn.net/qq_36904182/article/details/116228334
https://blog.csdn.net/qq_32958797/article/details/88993900
https://blog.csdn.net/wangyl1995/article/details/108119106?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&utm_relevant_index=3
uniapp navigator
- 參考:
https://uniapp.dcloud.io/component/navigator
http://www.hcoder.net/tutorials/info/id/1347/
https://www.cnblogs.com/ckfuture/p/14384042.html
https://uniapp.dcloud.io/component/navigation-bar
uni-list
- 這個功能菜單用uni-list做颠黎,參考:
https://hellouniapp.dcloud.net.cn/pages/extUI/list/list
uview
注意:這個輪子很好,很方便滞项,贊狭归。
uniapp配置tabBar沒有顯示
參考:
https://blog.csdn.net/wangzhenhuait/article/details/104309232
https://blog.csdn.net/qq_28004379/article/details/121160126?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ETopBlog-1.topblog&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ETopBlog-1.topblog
uni.hideTabBar無效
uniapp啟動頁面隱藏tabbar
uniapp 登錄頁隱藏tabbar
參考:
登錄頁隱藏
uni-simple-router
mac查看nodejs版本
uniapp設(shè)置Android狀態(tài)欄
參考:
https://blog.csdn.net/qq_46018418/article/details/122904950
http://www.reibang.com/p/6bdfdc90f89cuniapp設(shè)置狀態(tài)欄顏色
參考:
https://blog.csdn.net/qq_45018844/article/details/121267868
wgt安裝失敗
15:44:43.812 sy.shop: install fail, e:{"code":-1202,"message":"WGT安裝包中manifest.json文件不存在"} at utils/console-custom.js:3
原因:wgt即zip,只是后綴名改了一下文判。
這里wgt安裝失敗过椎,原因是,Jenkins打包時shell腳本壓縮文件夾時zip包內(nèi)部文件夾結(jié)構(gòu)不一樣戏仓。
HBuilder的zip內(nèi)部是直接文件分布疚宇,目前Jenkins打包時的zip內(nèi)部是先有www文件夾路徑,www內(nèi)部有文件赏殃。
處理:通過如下命令來處理文件夾壓縮
if [ -d "www"]; then
zip -q -r www.zip .
echo 'zip www.zip successful!'
else
echo 'zip www.zip failure'
fi
原生APP制作wgt包使用的是zip哪個命令
uni-app的快速上手里的cli命令
npm清理緩存
npm cache clean -f
npm cache clean --force
- 參考:
https://blog.csdn.net/qq_41664096/article/details/121796617
https://blog.csdn.net/m0_62030960/article/details/120737899
執(zhí)行:
npm WARN using --force Recommended protections disabled.
- 參考:
https://blog.csdn.net/weixin_46721287/article/details/122509279
http://www.reibang.com/p/b0814f3e497c
原因:版本太高導(dǎo)致
使用命令降低版本即可:
npm install npm@6.14.10 -g
當(dāng)前版本:
npm@8.1.1 /usr/local/lib/node_modules/npm
當(dāng)前環(huán)境無法運行“Vue3”版本的uni-app應(yīng)用敷待!
uniapp錄音
- 參考:
https://www.gxlsystem.com/qianduan-4114.html
https://www.php.cn/uni-app/465919.html
https://blog.csdn.net/weixin_44020340/article/details/122100100
uniapp播放音視頻
unipush和個推
lib.5plus.aar
參考:
https://ask.dcloud.net.cn/article/39119
uniapp配置VideoPlayer無反應(yīng)
15 問題處理
xcode編譯報錯:
error: write /Users/hh/Library/Developer/Xcode/DerivedData/app-demo-ios-dcdjysptjjflydaxwrnaypfthnac/Build/Intermediates.noindex/ArchiveIntermediates/app-demo-ios/InstallationBuildProductsLocation/Applications/app-demo-ios.app/Pandora/apps/__UNI__XXXXX/www/__uniappchooselocation.html: Bad address (in target 'app-demo-ios' from project 'app-demo-ios')
- 原因:Pandora/apps/__UNI__XXXXX/下除了www文件夾外,還放了一個zip包仁热,之前沒有遇到這個問題榜揖,剛刪掉就正常了。