把roles/index.uvue 像 users/detail.uvue那样 使用supa 和 store,现在的使用方式幼替换,interface 需要抽出来放到 admins/admintypes.uts并引入。 参考user-management的onResize处理大小屏的切换问题。 切换到小屏,card-view的display還是none 超出界面還是需要上下滾動的 https://gitee.com/xiangyuecn/AreaCity-JsSpider-StatsGov 【在线测试和预览】省市区乡镇四级行政区划数据:支持在线生成JSON、多级联动js; 【在线测试和预览】ECharts Map四级下钻在线测试和预览+代码生成:坐标边界范围在线测试和预览; 【转换工具】AreaCity-Geo格式转换工具软件:csv文件导入数据库,坐标、边界范围转换(支持转成sql、shp、geojson); 【查询工具】AreaCity-Query-Geometry:高性能的坐标数据、边界数据查询工具,Java开源程序、带http查询接口,内存占用低(1秒可查1万个以上坐标对应的城市信息)。 数据下载 emqx ctl admins add akoo Hexiaoniu1! node.js + fastify + postgres + kafka 在pages/sports的目录下创建老师和学生端的关于训练提升系统的页面,用严格的uni-app-x的android能运行的模式,使用supadb做aksupainstance完成数据交互部分。同时还需要兼顾 大屏和小屏的不同展现方式. 我们的i项目是uni-app-x,不是uni-app.目前不支持 uni-easyinput,uni-nav-bar,uni-data-select,uni-icons, uni-datetime-picker。easyinput用input 代替,uni-nav-bar先删除,uni-data-select用picker-view代替,uni-datetime-picker 用components/picker-date 或components/picker-time代替 supadb的使用方式是: // supadb 表格组件实例引用 const rolesdb = ref(null) if( rolesdb.value!=null) { const rolesdbloaddata = rolesdb.value!!.loadData; rolesdbloaddata({ clear: false }) } 要获取 後續數據用 emit('load', newValue) 獲取的數據; ## UTS-Android 兼容性开发规范 > 以下为 uni-app-x (UTS) Android 端开发常见注意事项与踩坑点,建议所有开发成员遵循: Uts需要注意的几点: 表单优先用form. 跟template交互的变量尽量用1维的变量 不要用foreach,不要用map,不要用safeget,只要utsjsonobject就好了 都用utsjsonobject 了,把safeget 这些必要性不大的函数都去掉,以utsjsonobject为核心 用for解析的数组,最好用Array .不要用简写[] uts android不支持picker,用picker-view,或者uni.showactionsheet.一维的优先用uni.showactionsheet. uts android不支持undefined uts 中的变量声明使用 let 和 const,不能使用 var。 uts 对判断只接受boolean类型,所以要用 !==null之类的来判断空 uts不支持 Intersection Type is not supported. uts 中,只适合转 type,不适合使用 interface。因为 interface 在 kotlin 和 swift 中另有不同。 for 循环里面的i要指定类型为Int ,如:for (let i:Int = 0; i < byteLen; i++) ||表示逻辑或,&&表示逻辑与,!表示逻辑非,??表示空值合并运算符(当左侧为null或undefined时返回右侧值) uts在 if里面只接受 boolean类型的值,不能是其他类型的值,否则会报错。 Index Signature is not supported uts不支持undefined类型,undefined类型的变量会被当做null处理。 uts android对map的支持不够好,用for这种方式来代替。 uts android 对类型要求比较严格,对属性的推断也比较严格,多重推断用as ...来确认类型, css只支持部分属性,不能使用复杂的选择器和伪类。 只支持display: flex; 不支持gap; 不支持 display:grid; 不支持 calc(); scroll-view 在 uni-app-x中不是用 scroll-y=true 。而是要用 direction="vertical" 不支持table,grid,grid-template-columns; property value `calc(33.33% - 10px)` is not supported for `min-width` (supported values are: `number`|`pixel`)​ ts的 为空则使用默认值的语法在uts中不能用 ||,要用 ?? 来代替,但不要直接全部替换,因为逻辑与还是 ||。 uts android不支持!在变量前面的判断空方式,要用 != null 来代替。 picker-view的事件 UniPickerViewChangeEvent css: [APP-ANDROID] 不支持伪类选择器 [APP-IOS] 不支持伪类选择器 [APP-ANDROID] 不支持的单位: 'vh' [APP-IOS] 不支持的单位: 'vh' css不支持 gap; WARNING: `backdrop-filter` is not a standard property name (may not be supported)​ ERROR: Selector `.login-button[disabled]` is not supported. uvue only support classname selector​ ERROR: property value `100%` is not supported for `min-height` (supported values are: `number`|`pixel`)​ [plugin:uni:app-uvue-css] ERROR: property value `all` is not supported for `transition-property` (supported values are: `css property`)​ 用 utils/utis 下的 UTSJSONObject 做类型转换 时间获取用uni_modules/lime-date-time-picker 在script里面或者uts里面要用 import { tt } from '@/utils/i18nfun.uts', uni-app-x的 android的setup模式下,对顺序有要求, 函数必须放在调用的函数之前,否则无法找到。 一般情况下,尽可能用强类型模式,uni_modules的情况下,尽量把type定义到interface里面。 style property `white-space` is only supported on `|