HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

翔一样!

4.76更新HBuilderx定位元素失效布局变紊乱
打包必须android/iOS一起打包,中途不能停止(sb设计)

4.76更新HBuilderx定位元素失效布局变紊乱
打包必须android/iOS一起打包,中途不能停止(sb设计)

自定义深色主题颜色

主题
{  
    "theme-custom.author": "",  
    "theme-custom.name": "",  
    "theme-custom.version": "",  
    "theme-custom.date": "2024-9-23",  
    "editor.colorScheme": "Monokai",  
    "workbench.colorCustomizations": {  
        "[Default]": {},  
        "[Monokai]": {  
            "button.background": "#268bd2",  
            "button.foreground": "#fff",  
            "button.hoverBackground": "#006280",  
            "console.background": "#002b36",  
            "editor.background": "#002b36",  
            "editor.caretLine": "#073642",  
            "editor.foldMarker.collapsed.background": "#33ffd6",  
            "editor.foldMarker.collapsed.foreground": "#66ffe0",  
            "editor.foldMarker.expanded.background": "#003847",  
            "editor.foldMarker.expanded.foreground": "#fff",  
            "editor.foreground": "#268bd2",  
            "editor.indentguide": "#009999",  
            "editor.indicator.matchtag": "#586e75",  
            "editor.indicator.sameword": "#268bd2",  
            "editor.linenumber": "#4dffdb",  
            "editor.selection": "#274642",  
            "editor.unactive_selection.background": "#002b36",  
            "editorGroup.border": "#002b37",  
            "editorGroupHeader.tabsBackground": "#002c39",  
            "editorSuggestWidget.background": "#00212b",  
            "editorSuggestWidget.border": "#454545",  
            "editorSuggestWidget.selectedBackground": "#005a6f",  
            "explorer.file.status.added": "#4e88f7",  
            "extensionButton.border": "#002b36",  
            "extensionButton.checkColor": "#ffffff",  
            "extensionButton.prominentBackground": "#00212b",  
            "extensionButton.prominentForeground": "#b3edff",  
            "extensionButton.prominentHoverBackground": "#004e66",  
            "focusBorder": "#00212b",  
            "imageview.background": "#005266",  
            "imageview.foreground": "#003d4d",  
            "input.background": "#003847",  
            "input.border": "#197777",  
            "input.foreground": "#fff",  
            "input.searchbar.foreground": "#197777",  
            "input.searchbar.foreground.notfinded": "#93a1a1",  
            "inputList.border": "#196e6c",  
            "inputList.foreground": "#0089b3",  
            "inputList.hoverBackground": "#003946",  
            "inputList.titleColor": "#0089b3",  
            "inputOption.activeBorder": "#41a863",  
            "inputValidation.infoBackground": "#00212b",  
            "list.activeSelectionBackground": "#003946",  
            "list.activeSelectionForeground": "#c0c0c0",  
            "list.foreground": "#e6fff5",  
            "list.hoverBackground": "#003946",  
            "list.inactiveSelectionBackground": "#ffffff",  
            "menu.background": "#00212b",  
            "menu.foreground": "#b3edff",  
            "menu.selectionBackground": "#004e66",  
            "menu.selectionForeground": "#fff",  
            "menubar.background": "#00212b",  
            "minimap.handle.background": "#005266",  
            "outlineBackground": "#00212b",  
            "pathnavigator.pathnode.hoverbackground": "#007599",  
            "scrollbarSlider.background": "#56858f",  
            "scrollbarSlider.hoverBackground": "#304a50",  
            "searchbar.quick_search_item.icon": "#003b4d",  
            "searchbar.quick_search_item.icon_selected": "#007599",  
            "settings.dropdownBackground": "#004052",  
            "settings.dropdownBorder": "#196e6c",  
            "settings.dropdownForeground": "#b6b6b6",  
            "settings.dropdownListBorder": "#47d147",  
            "settings.textInputBackground": "#003847",  
            "settings.textInputBorder": "#196e6c",  
            "settings.textInputDisableBackground": "#e6faff",  
            "sideBar.background": "#00212b",  
            "sideBar.border": "#002733",  
            "statusBar.background": "#00212b",  
            "statusBar.button.hoverbackground": "#1e3a43",  
            "statusBar.foreground": "#e6faff",  
            "statusBar.noFolderBackground": "#00212b",  
            "statusBar.noFolderForeground": "#b3edff",  
            "statusBarItem.hoverBackground": "#004e66",  
            "tab.activeBackground": "#002b37",  
            "tab.activeBorder": "#b3b3cc",  
            "tab.activeForeground": "#004052",  
            "tab.border": "#003847",  
            "tab.hoverBackground": "#002c39",  
            "tab.inactiveBackground": "#004052",  
            "tab.inactiveForeground": "#ccf4ff",  
            "tab.unfocusedActiveForeground": "#002b37",  
            "tab.unfocusedHoverBackground": "#002b37",  
            "tab.unfocusedInactiveForeground": "#002b37",  
            "terminal.background": "#002b36",  
            "titleBar.activeBackground": "#00212b",  
            "titleBar.activeForeground": "#e6faff",  
            "titleBar.border": "#00212b",  
            "titleBar.inactiveBackground": "#00212b",  
            "titleBar.inactiveForeground": "#e6faff",  
            "toolBar.background": "#002c39",  
            "toolBar.border": "#002c39",  
            "toolBar.hoverBackground": "#005a6f",  
            "window.activeBorder": "#00212b",  
            "window.inactiveBorder": "#00212b",  
            "windowTitleBar.activeBackground": "#00212b",  
            "windowTitleBar.activeForeground": "#e6faff"  
        }  
    },  
    "editor.tokenColorCustomizations": {  
        "[Default]": {},  
        "[Monokai]": {  
            "rules": [  
                {  
                    "scope": [  
                        "comment"  
                    ],  
                    "settings": {  
                        "foreground": "#75715"  
                    }  
                },  
                {  
                    "name": "String",  
                    "scope": "string",  
                    "settings": {  
                        "foreground": "#248C85"  
                    }  
                },  
                {  
                    "name": "String Other Link Description",  
                    "scope": "string.other.link.description.markdown",  
                    "settings": {  
                        "foreground": "#149098"  
                    }  
                },  
                {  
                    "name": "Template Definition",  
                    "scope": [  
                        "punctuation.definition.template-expression",  
                        "punctuation.section.embedded"  
                    ],  
                    "settings": {  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Tag name",  
                    "scope": "entity.name.tag",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Markup Headings",  
                    "scope": "markup.heading",  
                    "settings": {  
                        "foreground": "#93a1a1"  
                    }  
                },  
                {  
                    "name": "Markup Setext Header",  
                    "scope": "markup.heading.setext",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#93a1a1"  
                    }  
                },  
                {  
                    "name": "Class name",  
                    "scope": "entity.name.type, entity.name.class",  
                    "settings": {  
                        "fontStyle": "underline",  
                        "foreground": "#839496"  
                    }  
                },  
                {  
                    "name": "Inherited class",  
                    "scope": "entity.other.inherited-class",  
                    "settings": {  
                        "fontStyle": "italic underline",  
                        "foreground": "#839496"  
                    }  
                },  
                {  
                    "name": "Tag attribute",  
                    "scope": "entity.other.attribute-name",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#839496"  
                    }  
                },  
                {  
                    "name": "Function name",  
                    "scope": "entity.name.function",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#839496"  
                    }  
                },  
                {  
                    "name": "Invalid",  
                    "scope": "invalid",  
                    "settings": {  
                        "background": "#268bd2",  
                        "fontStyle": "",  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "diff.deleted",  
                    "scope": "markup.deleted",  
                    "settings": {  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Markup Quote",  
                    "scope": "markup.quote",  
                    "settings": {  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Storage",  
                    "scope": "storage",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Keyword",  
                    "scope": "keyword",  
                    "settings": {  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "scope": [  
                        "string"  
                    ],  
                    "settings": {  
                        "foreground": "#149798"  
                    }  
                }  
            ]  
        }  
    }  
}
继续阅读 »
{  
    "theme-custom.author": "",  
    "theme-custom.name": "",  
    "theme-custom.version": "",  
    "theme-custom.date": "2024-9-23",  
    "editor.colorScheme": "Monokai",  
    "workbench.colorCustomizations": {  
        "[Default]": {},  
        "[Monokai]": {  
            "button.background": "#268bd2",  
            "button.foreground": "#fff",  
            "button.hoverBackground": "#006280",  
            "console.background": "#002b36",  
            "editor.background": "#002b36",  
            "editor.caretLine": "#073642",  
            "editor.foldMarker.collapsed.background": "#33ffd6",  
            "editor.foldMarker.collapsed.foreground": "#66ffe0",  
            "editor.foldMarker.expanded.background": "#003847",  
            "editor.foldMarker.expanded.foreground": "#fff",  
            "editor.foreground": "#268bd2",  
            "editor.indentguide": "#009999",  
            "editor.indicator.matchtag": "#586e75",  
            "editor.indicator.sameword": "#268bd2",  
            "editor.linenumber": "#4dffdb",  
            "editor.selection": "#274642",  
            "editor.unactive_selection.background": "#002b36",  
            "editorGroup.border": "#002b37",  
            "editorGroupHeader.tabsBackground": "#002c39",  
            "editorSuggestWidget.background": "#00212b",  
            "editorSuggestWidget.border": "#454545",  
            "editorSuggestWidget.selectedBackground": "#005a6f",  
            "explorer.file.status.added": "#4e88f7",  
            "extensionButton.border": "#002b36",  
            "extensionButton.checkColor": "#ffffff",  
            "extensionButton.prominentBackground": "#00212b",  
            "extensionButton.prominentForeground": "#b3edff",  
            "extensionButton.prominentHoverBackground": "#004e66",  
            "focusBorder": "#00212b",  
            "imageview.background": "#005266",  
            "imageview.foreground": "#003d4d",  
            "input.background": "#003847",  
            "input.border": "#197777",  
            "input.foreground": "#fff",  
            "input.searchbar.foreground": "#197777",  
            "input.searchbar.foreground.notfinded": "#93a1a1",  
            "inputList.border": "#196e6c",  
            "inputList.foreground": "#0089b3",  
            "inputList.hoverBackground": "#003946",  
            "inputList.titleColor": "#0089b3",  
            "inputOption.activeBorder": "#41a863",  
            "inputValidation.infoBackground": "#00212b",  
            "list.activeSelectionBackground": "#003946",  
            "list.activeSelectionForeground": "#c0c0c0",  
            "list.foreground": "#e6fff5",  
            "list.hoverBackground": "#003946",  
            "list.inactiveSelectionBackground": "#ffffff",  
            "menu.background": "#00212b",  
            "menu.foreground": "#b3edff",  
            "menu.selectionBackground": "#004e66",  
            "menu.selectionForeground": "#fff",  
            "menubar.background": "#00212b",  
            "minimap.handle.background": "#005266",  
            "outlineBackground": "#00212b",  
            "pathnavigator.pathnode.hoverbackground": "#007599",  
            "scrollbarSlider.background": "#56858f",  
            "scrollbarSlider.hoverBackground": "#304a50",  
            "searchbar.quick_search_item.icon": "#003b4d",  
            "searchbar.quick_search_item.icon_selected": "#007599",  
            "settings.dropdownBackground": "#004052",  
            "settings.dropdownBorder": "#196e6c",  
            "settings.dropdownForeground": "#b6b6b6",  
            "settings.dropdownListBorder": "#47d147",  
            "settings.textInputBackground": "#003847",  
            "settings.textInputBorder": "#196e6c",  
            "settings.textInputDisableBackground": "#e6faff",  
            "sideBar.background": "#00212b",  
            "sideBar.border": "#002733",  
            "statusBar.background": "#00212b",  
            "statusBar.button.hoverbackground": "#1e3a43",  
            "statusBar.foreground": "#e6faff",  
            "statusBar.noFolderBackground": "#00212b",  
            "statusBar.noFolderForeground": "#b3edff",  
            "statusBarItem.hoverBackground": "#004e66",  
            "tab.activeBackground": "#002b37",  
            "tab.activeBorder": "#b3b3cc",  
            "tab.activeForeground": "#004052",  
            "tab.border": "#003847",  
            "tab.hoverBackground": "#002c39",  
            "tab.inactiveBackground": "#004052",  
            "tab.inactiveForeground": "#ccf4ff",  
            "tab.unfocusedActiveForeground": "#002b37",  
            "tab.unfocusedHoverBackground": "#002b37",  
            "tab.unfocusedInactiveForeground": "#002b37",  
            "terminal.background": "#002b36",  
            "titleBar.activeBackground": "#00212b",  
            "titleBar.activeForeground": "#e6faff",  
            "titleBar.border": "#00212b",  
            "titleBar.inactiveBackground": "#00212b",  
            "titleBar.inactiveForeground": "#e6faff",  
            "toolBar.background": "#002c39",  
            "toolBar.border": "#002c39",  
            "toolBar.hoverBackground": "#005a6f",  
            "window.activeBorder": "#00212b",  
            "window.inactiveBorder": "#00212b",  
            "windowTitleBar.activeBackground": "#00212b",  
            "windowTitleBar.activeForeground": "#e6faff"  
        }  
    },  
    "editor.tokenColorCustomizations": {  
        "[Default]": {},  
        "[Monokai]": {  
            "rules": [  
                {  
                    "scope": [  
                        "comment"  
                    ],  
                    "settings": {  
                        "foreground": "#75715"  
                    }  
                },  
                {  
                    "name": "String",  
                    "scope": "string",  
                    "settings": {  
                        "foreground": "#248C85"  
                    }  
                },  
                {  
                    "name": "String Other Link Description",  
                    "scope": "string.other.link.description.markdown",  
                    "settings": {  
                        "foreground": "#149098"  
                    }  
                },  
                {  
                    "name": "Template Definition",  
                    "scope": [  
                        "punctuation.definition.template-expression",  
                        "punctuation.section.embedded"  
                    ],  
                    "settings": {  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Tag name",  
                    "scope": "entity.name.tag",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Markup Headings",  
                    "scope": "markup.heading",  
                    "settings": {  
                        "foreground": "#93a1a1"  
                    }  
                },  
                {  
                    "name": "Markup Setext Header",  
                    "scope": "markup.heading.setext",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#93a1a1"  
                    }  
                },  
                {  
                    "name": "Class name",  
                    "scope": "entity.name.type, entity.name.class",  
                    "settings": {  
                        "fontStyle": "underline",  
                        "foreground": "#839496"  
                    }  
                },  
                {  
                    "name": "Inherited class",  
                    "scope": "entity.other.inherited-class",  
                    "settings": {  
                        "fontStyle": "italic underline",  
                        "foreground": "#839496"  
                    }  
                },  
                {  
                    "name": "Tag attribute",  
                    "scope": "entity.other.attribute-name",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#839496"  
                    }  
                },  
                {  
                    "name": "Function name",  
                    "scope": "entity.name.function",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#839496"  
                    }  
                },  
                {  
                    "name": "Invalid",  
                    "scope": "invalid",  
                    "settings": {  
                        "background": "#268bd2",  
                        "fontStyle": "",  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "diff.deleted",  
                    "scope": "markup.deleted",  
                    "settings": {  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Markup Quote",  
                    "scope": "markup.quote",  
                    "settings": {  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Storage",  
                    "scope": "storage",  
                    "settings": {  
                        "fontStyle": "",  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "name": "Keyword",  
                    "scope": "keyword",  
                    "settings": {  
                        "foreground": "#268bd2"  
                    }  
                },  
                {  
                    "scope": [  
                        "string"  
                    ],  
                    "settings": {  
                        "foreground": "#149798"  
                    }  
                }  
            ]  
        }  
    }  
}
收起阅读 »

生成可上架的Storyboard启动屏的最快方法

iOS打包

使用非原生框架开发IOS的APP,启动屏的Storyboard需要自定义,最新的版本已经不能使用图片作为启动屏,需要编写Storyboard的XML代码。

假如你不想了解Storyboard的XML语法,可以使用香蕉云编来在线生成Storyboard启动屏

https://www.yunedit.com/qidongping

它的使用方法是你上传一个正方形的logo图片,它就可以帮你生成一个Storyboard的启动屏zip文件。如下图所示:

然后打包的时候,启动屏参数选中这个zip的启动屏文件即可,如下图所示:

继续阅读 »

使用非原生框架开发IOS的APP,启动屏的Storyboard需要自定义,最新的版本已经不能使用图片作为启动屏,需要编写Storyboard的XML代码。

假如你不想了解Storyboard的XML语法,可以使用香蕉云编来在线生成Storyboard启动屏

https://www.yunedit.com/qidongping

它的使用方法是你上传一个正方形的logo图片,它就可以帮你生成一个Storyboard的启动屏zip文件。如下图所示:

然后打包的时候,启动屏参数选中这个zip的启动屏文件即可,如下图所示:

收起阅读 »

借助外部工具, 优化HBuilder X 编辑的快捷使用 --alt+鼠标左键

HBuilderX 快捷键

适用环境: window

工具: autohotkey;

网址: (https://www.autohotkey.com/)

比如有个非常脑残的设计 alt+鼠标左键跳转 而且无法修改这个快捷键, 这个不能忍,

只能借助外部工具实现 crlt+ 鼠标左键

下面是常用的几个快捷键分享:

  1. crlt+ 鼠标左键 : 跳转文件

  2. crlt+r : ios真机运行

  3. crlt+e: 安卓真机运行

  4. 输入l 回车/空格 : 直接输出console.log()

#Requires AutoHotkey v2.0  

; ^t::  
; {  
;     Send "My First Script"  
; }  
; ^t:: MsgBox "test"  

; OutputVar := InputBox("What is your first name?", "Question 1").Value  
; MsgBox "That's an awesome name, " OutputVar "."  

; ::yx::test@example.com  

GroupAdd "CODE", "ahk_exe Code.exe"    ;vscode环境  
GroupAdd "HB", "ahk_exe HBuilderX.exe" ;HB环境  

#HotIf WinActive("ahk_group CODE")  
; :*:l::console.log(){Left}  ; 直接触发了无需任何按键  
; :o:l::console.log(){Left}    ; o忽略后续输入触发的按键  

#HotIf  

#HotIf WinActive("ahk_group HB")  
^r:: Send "^r5"              ; 执行ios运行真机  
^e:: Send "^r4"              ; 执行andriod运行真机  
; :*:l::console.log(){Left}  ; 直接触发了无需任何按键  
:o:l::console.log(){Left}    ; o忽略后续输入触发的按键  

^LButton:: {  ; Ctrl+左键热键  
    SendPlay "{Ctrl Up}"  
    Sleep 100  
    Send "{Alt down}"      ; 持续按下Alt键 [6]()  
    Sleep 100              ; 等待100ms确保光标变成小手  
    Send "{Click Left}"          ; 模拟鼠标右键点击 [6]()  
    Sleep 100               ; 保持右键按下状态  
    Send "{Alt up}"        ; 释放Alt键  
}  

^Space:: { ;唤起云打包  
    Send "!u"         ; Alt+f 打开「发行」菜单  
    Sleep 100         ; 等待菜单展开  
    Send "p"          ; 发送「云打包」的快捷键字母(具体根据菜单定义)  
    ; ControlFocus "App打包"  
    Sleep 300  
    MouseMove 132, 430, 0  
    Click  
    Send "123456{Tab}"  
    Send 123456  

    ; ios 相关输入  
    ; Sleep 500  
    ; MouseMove 128, 136  ;148105  
    ; Click  

    ; Sleep 300  
    ; MouseMove 145, 370, 0  
    ; Click  
    ; Send 123456  
}  

#HotIf
继续阅读 »

适用环境: window

工具: autohotkey;

网址: (https://www.autohotkey.com/)

比如有个非常脑残的设计 alt+鼠标左键跳转 而且无法修改这个快捷键, 这个不能忍,

只能借助外部工具实现 crlt+ 鼠标左键

下面是常用的几个快捷键分享:

  1. crlt+ 鼠标左键 : 跳转文件

  2. crlt+r : ios真机运行

  3. crlt+e: 安卓真机运行

  4. 输入l 回车/空格 : 直接输出console.log()

#Requires AutoHotkey v2.0  

; ^t::  
; {  
;     Send "My First Script"  
; }  
; ^t:: MsgBox "test"  

; OutputVar := InputBox("What is your first name?", "Question 1").Value  
; MsgBox "That's an awesome name, " OutputVar "."  

; ::yx::test@example.com  

GroupAdd "CODE", "ahk_exe Code.exe"    ;vscode环境  
GroupAdd "HB", "ahk_exe HBuilderX.exe" ;HB环境  

#HotIf WinActive("ahk_group CODE")  
; :*:l::console.log(){Left}  ; 直接触发了无需任何按键  
; :o:l::console.log(){Left}    ; o忽略后续输入触发的按键  

#HotIf  

#HotIf WinActive("ahk_group HB")  
^r:: Send "^r5"              ; 执行ios运行真机  
^e:: Send "^r4"              ; 执行andriod运行真机  
; :*:l::console.log(){Left}  ; 直接触发了无需任何按键  
:o:l::console.log(){Left}    ; o忽略后续输入触发的按键  

^LButton:: {  ; Ctrl+左键热键  
    SendPlay "{Ctrl Up}"  
    Sleep 100  
    Send "{Alt down}"      ; 持续按下Alt键 [6]()  
    Sleep 100              ; 等待100ms确保光标变成小手  
    Send "{Click Left}"          ; 模拟鼠标右键点击 [6]()  
    Sleep 100               ; 保持右键按下状态  
    Send "{Alt up}"        ; 释放Alt键  
}  

^Space:: { ;唤起云打包  
    Send "!u"         ; Alt+f 打开「发行」菜单  
    Sleep 100         ; 等待菜单展开  
    Send "p"          ; 发送「云打包」的快捷键字母(具体根据菜单定义)  
    ; ControlFocus "App打包"  
    Sleep 300  
    MouseMove 132, 430, 0  
    Click  
    Send "123456{Tab}"  
    Send 123456  

    ; ios 相关输入  
    ; Sleep 500  
    ; MouseMove 128, 136  ;148105  
    ; Click  

    ; Sleep 300  
    ; MouseMove 145, 370, 0  
    ; Click  
    ; Send 123456  
}  

#HotIf
收起阅读 »

使用uniapp打包的APP查询公钥的方法

uniapp

现在APP上架,不管是原生应用也好,uniapp开发的应用也好,上架前都需要备案。

而备案的时候的一个很重要的技术参数,就是APP的公钥、MD5值和SHA1值这些参数需要填写。

无论是公钥、MD5值还是SHA1值这些信息其实都是可以通过打包的证书查询。

但是网上很多使用命令将证书的公钥查出来的方法,或者是使用java代码将公钥查出来,都是不能用的,因为通过这些方法查出来的只是原始格式的公钥,base64格式的公钥。并不是上架需要填写的格式。

这里,可以使用香蕉云编来在线查询公钥的值,上传证书即可获取。

IOS的公钥的查询工具(包含MD5和sha1值、sha256值的查询):
https://www.yunedit.com/iosmd5

安卓公钥的查询工具:
https://www.yunedit.com/androidmd5

继续阅读 »

现在APP上架,不管是原生应用也好,uniapp开发的应用也好,上架前都需要备案。

而备案的时候的一个很重要的技术参数,就是APP的公钥、MD5值和SHA1值这些参数需要填写。

无论是公钥、MD5值还是SHA1值这些信息其实都是可以通过打包的证书查询。

但是网上很多使用命令将证书的公钥查出来的方法,或者是使用java代码将公钥查出来,都是不能用的,因为通过这些方法查出来的只是原始格式的公钥,base64格式的公钥。并不是上架需要填写的格式。

这里,可以使用香蕉云编来在线查询公钥的值,上传证书即可获取。

IOS的公钥的查询工具(包含MD5和sha1值、sha256值的查询):
https://www.yunedit.com/iosmd5

安卓公钥的查询工具:
https://www.yunedit.com/androidmd5

收起阅读 »

同样的代码打包 这两天突然就提示 App超限打包余额不足

云端打包 App打包 云打包

同样的代码,突然就打不了包了

提示: App超限打包余额不足,当前可打包大小为 40 M,请清除项目下无用文件再重试;或登录开发者中心(https://dev.dcloud.net.cn),选择“App云打包增值服务”- “App大小超限充值”进行自助充值后,再提交打包。

请问一下 是怎么回事,怎么处理?

继续阅读 »

同样的代码,突然就打不了包了

提示: App超限打包余额不足,当前可打包大小为 40 M,请清除项目下无用文件再重试;或登录开发者中心(https://dev.dcloud.net.cn),选择“App云打包增值服务”- “App大小超限充值”进行自助充值后,再提交打包。

请问一下 是怎么回事,怎么处理?

收起阅读 »

大家的HBuilderX有这样的问题吗?——官方的Markdown语法帮助文档的文档结构图显示不完整

markdown

今天准备复习一下Markdown语法。
在Mac上打开HBuilderX的Markdown语法帮助文档,在打开文档结构图时,发现文档结构图显示的标题目录并不完整,好像从某个地方开始就不再显示了。
不知道各位的HBuilderX有没有这样的问题,还是个人电脑的问题。
无论如何,不弄清原因,今晚都是睡不香的,于是就从那个出现问题的地方开始排查,果真船到桥头自然直,一下子找到了原因。
原来是文档中,有个地方在插入单行代码时同行使用三对反引号,导致文档结构图显示不完整。

然后就去请教了一下温柔的桃子姐姐,回到文档折腾一番,找到了几个解决的方法,如下图所示,供有同样问题的bug友参考。
方法一、在三对反引号前加个序号

方法二、把三对反引号改成二对反引号

方法三、把三对反引号改成一对反引号

最后,结合查询资料和个人实践,总结一下,如下图所示。

  1. 插入单行代码时,应该使用一对反引号;
  2. 插入多行代码时,应该不同行使用三对反引号;

以上只是个人的一点看法,时间有限,不太周全,如有错漏,请不要批评但要指正~~~

继续阅读 »

今天准备复习一下Markdown语法。
在Mac上打开HBuilderX的Markdown语法帮助文档,在打开文档结构图时,发现文档结构图显示的标题目录并不完整,好像从某个地方开始就不再显示了。
不知道各位的HBuilderX有没有这样的问题,还是个人电脑的问题。
无论如何,不弄清原因,今晚都是睡不香的,于是就从那个出现问题的地方开始排查,果真船到桥头自然直,一下子找到了原因。
原来是文档中,有个地方在插入单行代码时同行使用三对反引号,导致文档结构图显示不完整。

然后就去请教了一下温柔的桃子姐姐,回到文档折腾一番,找到了几个解决的方法,如下图所示,供有同样问题的bug友参考。
方法一、在三对反引号前加个序号

方法二、把三对反引号改成二对反引号

方法三、把三对反引号改成一对反引号

最后,结合查询资料和个人实践,总结一下,如下图所示。

  1. 插入单行代码时,应该使用一对反引号;
  2. 插入多行代码时,应该不同行使用三对反引号;

以上只是个人的一点看法,时间有限,不太周全,如有错漏,请不要批评但要指正~~~

收起阅读 »

没有能力就老老实实二开VScode多好,hbuilder一坨什么东西????

HBuilder

没有能力就老老实实二开VScode多好,hbuilder一坨什么东西????

没有能力就老老实实二开VScode多好,hbuilder一坨什么东西????

win电脑发布(上传)ipa文件到appstore经验分享

Appstore上传

最近想发布ipa文件到appstore的时候,发现在app store填写资料的时候,需要xcode或其他mac电脑的软件来上传ipa文件,还需要多种尺寸的ios app的截屏。

这可是难为我们windows电脑的开发者了。

最后,我发现并不需要mac电脑也可以上架的,可以使用香蕉云编来实现。

下面是我上架appstore的经验分享:

先登录苹果开发者平台,点进去app store connect的app管理
新建一个app(假如你还没创建才需要创建),如下图,新建app的时候,套装ID这一项是最重要的,因为代表应用的ID,需要跟我们在hbuilderx填写的appId一模一样才行。

创建完后,你就可以见到app的列表界面有这个app了,如下:

点击app的名字,进去就开始上架了
其中进去第一个界面需要提供屏幕截屏,需要提供很多ios设备的截屏,你可以使用香蕉云编来合成这些截屏。

https://www.yunedit.com/jietu

然后在后面,还需要上传ipa到构建版本,如下图所示:

这里win电脑安装不了xcode这些ide,因此使用香蕉云编来上传:

https://www.yunedit.com/ipasend

进入香蕉云编,提供ipa和平台账号这些信息,就可以上传了:

继续阅读 »

最近想发布ipa文件到appstore的时候,发现在app store填写资料的时候,需要xcode或其他mac电脑的软件来上传ipa文件,还需要多种尺寸的ios app的截屏。

这可是难为我们windows电脑的开发者了。

最后,我发现并不需要mac电脑也可以上架的,可以使用香蕉云编来实现。

下面是我上架appstore的经验分享:

先登录苹果开发者平台,点进去app store connect的app管理
新建一个app(假如你还没创建才需要创建),如下图,新建app的时候,套装ID这一项是最重要的,因为代表应用的ID,需要跟我们在hbuilderx填写的appId一模一样才行。

创建完后,你就可以见到app的列表界面有这个app了,如下:

点击app的名字,进去就开始上架了
其中进去第一个界面需要提供屏幕截屏,需要提供很多ios设备的截屏,你可以使用香蕉云编来合成这些截屏。

https://www.yunedit.com/jietu

然后在后面,还需要上传ipa到构建版本,如下图所示:

这里win电脑安装不了xcode这些ide,因此使用香蕉云编来上传:

https://www.yunedit.com/ipasend

进入香蕉云编,提供ipa和平台账号这些信息,就可以上传了:

收起阅读 »

基于vue3.5+tauri2.0接入deepseek-v3实战桌面端ai系统

OpenAI vue3

deepseek-tauri2-chat:基于vue3.5+deepseek+tauri2+openai从0-1搭建跨平台客户端流式输出AI对话系统。集成 Tauri2 对接 DeepSeek-V3 聊天大模型。采用无边框圆角阴影窗口、浅色+暗黑主题、代码高亮、会话本地存储等功能。

基于uniapp对接deepseek-v3跨端ai模板【h5+小程序+app端】
原创vue3.5+deepseek+arco-design网页web版流式输出对话模板
vue3+vite6+vant4实战mobile版流式ai聊天会话

使用技术

  • 编码工具:vscode
  • 前端框架:vite^6.3.5+vue^3.5.15+vue-router^4.5.1
  • 大模型框架:DeepSeek-V3-0324 + OpenAI
  • 跨平台框架:tauri^2.5.0
  • 组件库:arco-design^2.57.0 (字节桌面端组件库)
  • 状态管理:pinia^3.0.3
  • 本地缓存:pinia-plugin-persistedstate^4.3.0
  • markdown插件:markdown-it

项目结构目录

tauri2-vue3-winseek电脑端ai对话系统已经同步到我的原创作品集。

Tauri2+DeepSeek+Vue3+Arco电脑端AI流式聊天对话系统

热文推荐

vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

作者:xiaoyan2017
链接: https://www.cnblogs.com/xiaoyan2017/p/18932240
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

继续阅读 »

deepseek-tauri2-chat:基于vue3.5+deepseek+tauri2+openai从0-1搭建跨平台客户端流式输出AI对话系统。集成 Tauri2 对接 DeepSeek-V3 聊天大模型。采用无边框圆角阴影窗口、浅色+暗黑主题、代码高亮、会话本地存储等功能。

基于uniapp对接deepseek-v3跨端ai模板【h5+小程序+app端】
原创vue3.5+deepseek+arco-design网页web版流式输出对话模板
vue3+vite6+vant4实战mobile版流式ai聊天会话

使用技术

  • 编码工具:vscode
  • 前端框架:vite^6.3.5+vue^3.5.15+vue-router^4.5.1
  • 大模型框架:DeepSeek-V3-0324 + OpenAI
  • 跨平台框架:tauri^2.5.0
  • 组件库:arco-design^2.57.0 (字节桌面端组件库)
  • 状态管理:pinia^3.0.3
  • 本地缓存:pinia-plugin-persistedstate^4.3.0
  • markdown插件:markdown-it

项目结构目录

tauri2-vue3-winseek电脑端ai对话系统已经同步到我的原创作品集。

Tauri2+DeepSeek+Vue3+Arco电脑端AI流式聊天对话系统

热文推荐

vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

作者:xiaoyan2017
链接: https://www.cnblogs.com/xiaoyan2017/p/18932240
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

收起阅读 »

别用HBuilder X

HBuilderX

最垃圾的软件没有之一,国产垃圾乐色软件运行不了你妈啊傻逼软件最恶心人了开发这个软件的程序员就是家里死完了

最垃圾的软件没有之一,国产垃圾乐色软件运行不了你妈啊傻逼软件最恶心人了开发这个软件的程序员就是家里死完了