• 工作记录2


    1. 要实现y轴超出部分滚动的效果,可以这样写

    1. <div style="max-height: 384px; overflow-y: auto;">
    2. </div>

    2. 当后端接口还没好的时候,可以自己模拟一下接口返回的数据

    1. export const getCommodityDetail = (id) =>
    2. Promise.resolve({
    3. id: '11111',
    4. name: 'xiongxinyu',
    5. age: 18
    6. })

    3. 标签可能会只有父级标签,也有可能会有父级标签和子级标签(子级标签可能有一个或多个),因为存在父级标签和子级标签的区别,所以操作上就会有所不同,这一点可以通过接口返回的层级数据来判断,如果record.parentId==0,说明它是父级,那么就让这一行多一个“新增子项”的操作。

    1. <template #action="{ record }">
    2. <TableAction :action="getActions(record)" />
    3. </template>
    4. function getActions(record) {
    5. let actions = [
    6. {
    7. label: '编辑',
    8. onClick: handleEdit.bind(null,record),
    9. }
    10. {
    11. label: '删除',
    12. popConfrim:{
    13. title:'是否确认删除',
    14. confirm: handleDelete.bind(null, record),
    15. }
    16. }
    17. ]
    18. if(record.parentId == '0') {
    19. actions.unshift({
    20. label: '新增子项',
    21. onClick: handleAddSub.bind(null,record)
    22. })
    23. }
    24. return actions;
    25. }

    4. 展开或折叠树形表格

    展开全部

    折叠全部

    1. setup(){
    2. const expandedRowKeys = ref<string>([]);
    3. const [registerTable, { expandAll, collapseAll, reload}] = useTable({
    4. isTreeTable: true,
    5. expandedRowKeys: expandedRowKeys.value,
    6. onExpand: (expande, record) => {
    7. if(expande){
    8. if(!expandedRowKeys.value.includes(record.id)){
    9. expandedRowKeys.value.push(record.id);
    10. }
    11. }else{
    12. let index = expandedRowKeys.value.indexOf(record.id);
    13. expandedRowKeys.value.splice(index,1);
    14. }
    15. }
    16. })
    17. }

    5. 利用微信schema从app跳转到小程序

    本来是可以前端自己去生成schemaUrl的,但是生成的链接有时效性,然后最新的那种明文码它好多设备不支持,所以最后决定让后端生成。前端把想要到时候在小程序页面拿到的参数在此时传递给后端,后端返回schemaUrl。

    1. const res = await getwxScheme(channelId,projectId);
    2. Linking.openURL(res)

    因为生成这个链接的时候后端是拿了我们传的参数去生成的,所以返回的链接的信息里其实是携带了这些参数的,那么我们在用这个链接跳转到小程序的某个页面的时候,就可以在这个页面拿到这个参数了,就正常在onLoad里面的option拿就行。

    1. onLoad(option){
    2. console.log(option.projectId,option.channelId);
    3. }

    5. 联系在线客服

    首先通过调用接口获取机构在机构端对客服的一些配置,可以选择配置客服的方式(有h5和js客服),选择配置h5客服的话,就必须得填写客服链接,选择配置js客服的话,就必须得填写JS客服代码,如果获取到接口返回的信息表示机构配置的是h5客服,那就直接用window.opend打开当时填的客服链接即可,但如果是js客服的话,就可以调用螳螂客服的一些api来实现了。

    1. const openChatModal = async () => {
    2. if(customerSet.customerType == 1){
    3. window.open(customerSet.customerLink, "_blank");
    4. return;
    5. }else{
    6. chartCode();
    7. }
    8. }
    9. const chartCode = () => {
    10. if(window.mantis && window.mantis.requestChat) {
    11. window.mantis.requestChat();
    12. }else {
    13. const scriptDom = stringToDom(customerSet.customerCode);
    14. document.head.appendChild(scriptDom);
    15. // 设置轮询,避免查不到
    16. let num = 0;
    17. let timerId = setInterval(() => {
    18. num++;
    19. // 轮询10s没有初始化关闭
    20. if(num >20){
    21. clearInterval(timerId);
    22. }
    23. // 获取到requestChat
    24. if(window.mantis && window.mantis.requestChat) {
    25. window.mantis.requestChat();
    26. clearInterval(timerId);
    27. }
    28. },500);
    29. }
    30. }
    31. const stringToDOM = (str:string) => {
    32. if(str.includes("script")){
    33. var parser = new DOMParser();
    34. // 使用DOMParser的parseFromString方法来转换字符串到DOM
    35. var doc = parser.parseFromString(str,"text/html");
    36. // 获取转换后的DOM对象
    37. var dom: any = doc.body.firstChild || doc.head.firstChild;
    38. const script1:any = document.createElement("script");
    39. script1.src = dom.src;
    40. return script1;
    41. }else {
    42. const script1:any = document.createElement("script");
    43. script1.src = str;
    44. return script1;
    45. }
    46. }

  • 相关阅读:
    SpringBoot学习笔记(2)——B站动力节点
    脑部神经系统结构模式图,大脑的神经结构示意图
    xinput1_3.dll丢失怎么修复win10_有什么好的修复方法推荐?
    【C语言刷LeetCode】729. 我的日程安排表 I(M)
    Java实现微信支付功能
    HTML使用canvas绘制海报(网络图片)
    深入浅出Spring(27)
    hotstuff共识算法总结
    大前端进阶:vue
    《警世贤文》摘抄:处人篇、受恩篇、宽人篇、听劝篇、劝善篇(多读书、多看报、少吃零食多睡觉)
  • 原文地址:https://blog.csdn.net/m0_66706006/article/details/139773789