api雲編譯提示域名
A. APICloud 社區ios編譯失敗 怎麼辦
最近公司有使用APICloud發開的需求,需要我這邊提供一些模塊包得封裝。因為沒有也是剛接觸APICloud,所以也就在看官方文檔 。下面講一講我再使用過程中得一點點東西。 首先,下載官方SDK,下載最新版本的模塊開發SDK,找到裡面的MolesDevProject_iOS.zip,這裡麵包含MoleDemo、MolesDevProject和說明文件。MoleDemo是一個官方的模塊包封裝和靜態庫生成的工程。MolesDevProject則是可以讓我們自己調試的工程。 模塊類實現 2.1. 新建模塊類 新建一個UZMoleDemo類,繼承於UZMole類,其中UZMole類為模塊的基類。模塊開發過程中文件命名時提倡加前綴,以避免和其它模塊沖突。 2.2. 模塊生命周期 當前端js中調用模塊方法時,模塊首先會被初始化,引擎會調用其 - (id)initWithUZWebView:(UZWebView *)webView 方法; 當模塊所在的頁面被銷毀時,引擎會調用其 - (void)dispose 方法。 2.3. 啟動方法 如果模塊需要在應用啟動的時候就執行一些操作,那麼首先得在mole.json裡面配置launchClassMethod,例如配置的方法為launch,然後在模塊裡面實現該方法,當應用啟動時該方法就會被執行。 + (void)launch{ //在mole.json裡面配置的launchClassMethod,必須為類方法,引擎會在應用啟動時調用配置的方法,模塊可以在其中做一些初始化操作;下面代碼為注冊一個實現了UIApplicationDelegate協議方法的對象,該對象中方法就會在需要的時候被調用,通過此方式可以實現第三方應用回調url解析、推送等常用功能 //UZApphandler 基礎Object基類 可以做一些需要AppDelegate 實現的初始化 如初始化推送的AppKey等等 // UZAppHandler *appHandler = [[UZAppHandler alloc] init]; // [theApp addAppHandle:appHandler]; } 2.4. 方法調用 實現 - (void)showAlert:(NSDictionary *)paramDict 方法,用於顯示一個對話框,該方法需要在mole.json裡面配置,然後在前端js裡面才可以調用該方法。 如果前端調用該方法時傳入了一個function,那麼在這里可以通過cbId欄位獲取該function對應的id,然後在需要的時候把數據通過該function回調給js。 - (void)showAlert:(NSDictionary *)paramDict { _cbId = [paramDict integerValueForKey:@"cbId" defaultValue:-1]; NSString *message = [paramDict stringValueForKey:@"msg" defaultValue:nil]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:message delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil]; [alert show]; } 2.5. 回調 我們在這里實現UIAlertViewDelegate中的 - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 方法,將用戶點擊的按鈕index回調給js端,代碼如下: - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { if (_cbId >= 0) { NSDictionary *ret = @{@"index":@(buttonIndex)}; [self sendResultEventWithCallbackId:_cbId dataDict:ret errDict:nil doDelete:YES]; } } 當然,也可以定義自己的方法method,同時要修改mole.json的配置 注意不要[+]以及引號的英 漢。{ "name":"moleDemo",//模塊包名一致 "class":"UZMoleDemo",//模塊類名 "methods":["showAlert","method"],//自己定義的方法名 "launchClassMethod":"launch"//是否執行launc類方法 } 找到widget目錄下html目錄裡面的mole-con.html,我們在這裡面調用showAlert等方法,如下 var param = { msg:"Hello App!" }; var demo = api.require('moleDemo');//模塊包名稱 (mole.json 這里 模塊包名稱 三者要一致) demo.showAlert(param, callBack);//傳參數調用方法 和回調 function callBack(ret, err){ var msg; if (ret.index == 0){ msg = "點擊了第一個按鈕"; } else { msg = "點擊了第二個按鈕"; } api.toast({ msg:msg }); } 調試好了之後,把添加 修改的文件 加入MoleDemo的靜態庫工程(也可以自己創建),去掉沒用的,選擇iOS device編譯,復制靜態庫文件。 創建文件夾名稱和模塊包一致,裡面在創建target文件夾,把靜態庫文件粘貼進來,加入用到了第三方的Framework和bundle束也放進來。 target同級目錄粘貼mole.json文件,返回壓縮成zip文件. 獲取在apicloud創建的應用的Id 修改widget下config.xml 頂部的id,復制壓縮widget文件。在apicloud控制台,轉到該應用,選擇代碼部分,上傳widget.zip 跳轉模塊中自定義模塊上傳模塊包,名稱必須和模塊包名稱一致。保存 編譯,如果沒有意外,你就能掃二維碼 下載安裝你的應用到手機了。 這里默認的時apicloud提供的證書,加入要改自己的就看證書欄目,都有教程的。Mark!
B. Cloudflare無法添加任何域名,都提示請輸入有效的域!
這個是之前已經添加過域名了,在網頁的頂部最左邊可以看到自己的域名,點擊進去後,就可以按照提示認證後,就可以使用cdn保護功能了。
C. apicloud,經常更換伺服器和域名,安卓客戶端怎麼更新
你們伺服器裡面肯定有下載的路徑吧?把安裝包在apicloud下載好後丟進伺服器。設置好路徑在APIcloud裡面有個版本功能。把路徑拷上去保存之後,安卓蘋果手機都可以提示自動更新了。記得修改安裝包的命名。
D. 如何微信api域名的ip
微信JS介面安全域名填寫ip地址時
如果填寫http://123.123.123.123/ 通過微信訪問時會提示invalid url domain
改成123.123.123.123就可以了
「API域名IP即qyapi.weixin.qq.com的解析地址,由開發者調用企業微信側的接入IP。
如果企業需要做防火牆配置,那麼可以通過這個介面獲取到所有相關的IP段。
IP段有變更可能,當IP段變更時,新舊IP段會同時保留一段時間。建議企業每天定時拉取IP段,更新防火牆設置,避免因IP段變更導致網路不通。」
E. 域名API介面問題
有其它的成品 你可以去參考一下的 .